ПредишенСледващото

Този урок ще говорим за използването на динамични зони, използващи Дълго плъгин.
Какви са предимствата? И това е много по-удобно да се използва динамична зона, можете да създадете таймер и да се провери всеки играч в определена позиция. А минуси. Изглежда, че те не са.

В Streamer'e има няколко вида динамична зони кръг. правоъгълник. сфера и куб. Кръгът и правоъгълник са създадени само на две оси: х и у. Следователно тези видове динамичен площ е огромна невидима полюс, са по-нависоко. С една дума, на височината в тези области не го правят. Но сферата и куба има височина, която е много по-удобно.

Нека разгледаме функцията, за да ги създаде.

CreateDynamicCircle (Поплавък: х, поплавък: Y, флоат: размер, worldid, interiorid, playerid); - създаване на зона във формата на кръг. За това е необходимо само х и у координира, както и размерът на радиуса в тази област.
CreateDynamicRectangle (Поплавък: кокетка, флоат: miny, поплавък: Maxx, флоат: Maxy, worldid, interiorid, playerid); - създаване на зона под формата на правоъгълник. За тази зона, ще трябва да се знае координатите на ъглите на противоположности.
CreateDynamicSphere (Поплавък: х, флоат: Y, поплавък: Z, флоат: размер, worldid, interiorid, playerid); - създаване на зона във формата на сфера. За необходимата височина на зона по Z-ос и радиуса на сферата, която искате да създадете.
CreateDynamicCube (Поплавък: кокетка, флоат: miny, флоат: Minz, флоат: Maxx, флоат: Maxy, флоат: maxz, worldid, interiorid, playerid); - създаване на зона на куб (паралелепипед). За да направите това, трябва да има минимална и максимална височина на оста Z.

Всяка една от тези функции връща DSA ID следователно, те могат да бъдат приложени към променливите.

обществен OnGameModeInit ()
zone51 = CreateDynamicCube (- 13,0555 1702,1824 15,0 405,9110 2071,6646 850,0 0. 0. - 1 ......); // виртуален свят - 0, интериор - 0, за всички играчи
върне 1;

За динамичните области, има два callback'a: OnPlayerEnterDynamicArea (playerid, areaid) и OnPlayerLeaveDynamicArea (playerid, areaid) - влизането и напускането на DSA. Areaid - ID е динамична област. Как да го определят, е написано по-горе.

Примери за прости употреба:

обществен OnGameModeInit ()
zone51 = CreateDynamicCube (- 13,0555 1702,1824 15,0 405,9110 2071,6646 850,0 0. 0. - 1 ......); // виртуален свят - 0, интериор - 0, за всички играчи
върне 1;
>

обществен OnPlayerEnterDynamicArea (playerid. areaid)
ако (areaid == zone51) SendClientMessage (playerid, - 1. "Оставете ohryanyaemuyu зона В противен случай ще бъде уволнен ..");
върне 1;
>

обществен OnPlayerLeaveDynamicArea (playerid. areaid)
ако (areaid == zone51) SendClientMessage (playerid, - 1. "Благодаря ви за разбирането.");
върне 1;
>

  • DestroyDynamicArea (areaid); - динамичен зона унищожаване.
  • IsValidDynamicArea (areaid); - проверка на наличието на динамичен район с това ID.
  • TogglePlayerDynamicArea (playerid, areaid, превключване); - скриване на динамични зони за играча.
  • TogglePlayerAllDynamicAreas (playerid, превключване); - скриване на всички динамични зони за играча.
  • IsPlayerInDynamicArea (playerid, areaid); - проверка за намиране на играчи в динамична зона с конкретно име.
  • AttachDynamicAreaToPlayer (areaid, playerid); - поставяне на динамична зона със специфичен ID на играча.
  • AttachDynamicAreaToVehicle (areaid, vehicleid); - поставяне на динамична зона със специфичен ID към колата.
  • DestroyAllDynamicAreas (); - унищожаването на всички динамични зони.
  • CountDynamicAreas (); - преброяване на броя на динамични зони.

Внимание! За играчите и машините може да бъде свързана само с вида на площ кръг и сфера.

Обичам те mxIni Mysql

Използване на динамични зони (знаменца) - Основи

Подкрепете проекта - споделете линка, благодаря!