PDA

Просмотр полной версии : [Вопрос] Как ограничить координаты передвижения ?



Геннадий Акимов
20.05.2016, 17:06
Как ограничить координаты передвижения ?

То есть если ты пытаешься покинуть город San-Fiero чтобы тебя Kick ();

gangzone.ini
20.05.2016, 17:15
new zona;
public OnGameModInit

zona = CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid, interiorid, playerid);
public OnPlayerLeaveDynamicArea


if(areaid == zona)
{
SendClientMessage(playerid, -1, "Вы покинули город San-Fierro");
Kick(playerid);
return true;
}



CreateDynamicCircle(Float:x, Float:y, Float:size, worldid, interiorid, playerid); - создание зоны в виде круга. Для нее понадобятся только x и y координата, а также размер радиуса у данной зоны.

CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid, interiorid, playerid); - создание зоны в виде прямоугольника. Для данной зоны Вам потребуется узнать координаты противоположенных углов.

CreateDynamicSphere(Float:x, Float:y, Float:z, Float:size, worldid, interiorid, playerid); - создание зоны в виде сферы. Для данной зоны потребуется высота по оси Z и радиус сферы, которую Вы хотите создать.

CreateDynamicCube(Float:minx, Float:miny, Float:minz, Float:maxx, Float:maxy, Float:maxz, worldid, interiorid, playerid); - создание зоны в виде куба (параллелепипеда). Для этого уже потребуется минимальная и максимальная высота по оси Z.


DestroyDynamicArea(areaid); - уничтожение динамической зоны.
IsValidDynamicArea(areaid); - проверка за существование динамической зоны с данным ID.
TogglePlayerDynamicArea(playerid, areaid, toggle); - скрытие динамической зоны для игрока.
TogglePlayerAllDynamicAreas(playerid, toggle); - скрытие всех динамических зон для игрока.
IsPlayerInDynamicArea(playerid, areaid); - проверка на нахождение игрока в динамической зоне с определенным ID.
AttachDynamicAreaToPlayer(areaid, playerid); - прикрепление динамической зоны с определенным ID к игроку.
AttachDynamicAreaToVehicle(areaid, vehicleid); - прикрепление динамической зоны с определенным ID к машине.
DestroyAllDynamicAreas(); - уничтожение всех динамических зон.
CountDynamicAreas(); - подсчет количества динамических зон.
Внимание! К игрокам и машинам можно прикрепить только зоны с типом круг и сфера.

TheMallard
20.05.2016, 21:04
А если без стримера?

gangzone.ini
21.05.2016, 00:53
А если без стримера?

При помощи GangZoneCreate & "PlayerToKvadrat"

TheMallard
21.05.2016, 08:36
https://pp.vk.me/c627422/v627422855/2ede0/SUyeOzoa7Ds.jpg