• Страница 1 из 1
  • 1
Модератор форума: [east_side]_trane, drifter-dron, valych, admin  
[Урок] Использование динамических зон (Streamer)
adminДата: Воскресенье, 18.09.2011, 18:44:00 | Сообщение # 1

Группа: Администраторы
Сообщений: 3869
В данном уроке пойдет разговор об использование динамических зон с помощью плагина Streamer.
В чем же плюсы? А в том, что куда более удобно использовать динамические зоны, чем создавать таймер и проверять каждого игрока на определенную позицию. А минусы...Вроде бы их нет.

Ну что ж начнем.

В Streamer'е есть несколько видов динамических зон: круг, прямоугольник, сфера и куб. Круг и прямоугольник создаются только по двум осям: x и y. Следовательно, динамическая зона этих типов является огромным невидимым столбом, устремляющимся ввысь. Одним словом, высоты у таких зон нет. А вот сфера и куб имеют высоту, что намного удобней.

Разберем функции по их созданию.

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.

Каждая из данных функций возвращает ID динамической зоны, следовательно, их можно присоединить к переменным.
Code
new zone51;

public OnGameModeInit()
{
     zone51 = CreateDynamicCube(-13.0555,1702.1824, 15.0,405.9110, 2071.6646, 850.0, 0, 0, -1); // виртуальный мир - 0, интерьер - 0, для всех игроков
     return 1;

Callback'и.

Для динамических зон есть два callback'a: OnPlayerEnterDynamicArea(playerid, areaid) и OnPlayerLeaveDynamicArea(playerid, areaid) - вхождение и покидание динамической зоны. Areaid - это ID динамической зоны. Как его определить, написано выше.
Примеры простого использования:
Code
new zone51;

public OnGameModeInit()
{
     zone51 = CreateDynamicCube(-13.0555,1702.1824, 15.0,405.9110, 2071.6646, 850.0, 0, 0, -1); // виртуальный мир - 0, интерьер - 0, для всех игроков
     return 1;
}

public OnPlayerEnterDynamicArea(playerid, areaid)
{
     if(areaid == zone 51) SendClientMessage(playerid,-1,"Покиньте охряняемую зону. Иначе будет открыт огонь.");
     return 1;
}

public OnPlayerLeaveDynamicArea(playerid, areaid)
{
     if(areaid == zone51) SendClientMessage(playerid,-1,"Благодарим за понимание.");
     return 1;
}

Другие функции:
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(); - подсчет количества динамических зон.
Внимание! К игрокам и машинам можно прикрепить только зоны с типом круг и сфера.

Автор урока: SDraw
Автор плагина: Incognito
Ссылка на скачивание плагина: samp-pawno.ru
Некоторые данные взяты с Forum.Sa-mp.Com.


zm-jail.ru

Разработка сайта samp-pawno.ru


 
СообщениеВ данном уроке пойдет разговор об использование динамических зон с помощью плагина Streamer.
В чем же плюсы? А в том, что куда более удобно использовать динамические зоны, чем создавать таймер и проверять каждого игрока на определенную позицию. А минусы...Вроде бы их нет.

Ну что ж начнем.

В Streamer'е есть несколько видов динамических зон: круг, прямоугольник, сфера и куб. Круг и прямоугольник создаются только по двум осям: x и y. Следовательно, динамическая зона этих типов является огромным невидимым столбом, устремляющимся ввысь. Одним словом, высоты у таких зон нет. А вот сфера и куб имеют высоту, что намного удобней.

Разберем функции по их созданию.

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.

Каждая из данных функций возвращает ID динамической зоны, следовательно, их можно присоединить к переменным.
Code
new zone51;

public OnGameModeInit()
{
     zone51 = CreateDynamicCube(-13.0555,1702.1824, 15.0,405.9110, 2071.6646, 850.0, 0, 0, -1); // виртуальный мир - 0, интерьер - 0, для всех игроков
     return 1;

Callback'и.

Для динамических зон есть два callback'a: OnPlayerEnterDynamicArea(playerid, areaid) и OnPlayerLeaveDynamicArea(playerid, areaid) - вхождение и покидание динамической зоны. Areaid - это ID динамической зоны. Как его определить, написано выше.
Примеры простого использования:
Code
new zone51;

public OnGameModeInit()
{
     zone51 = CreateDynamicCube(-13.0555,1702.1824, 15.0,405.9110, 2071.6646, 850.0, 0, 0, -1); // виртуальный мир - 0, интерьер - 0, для всех игроков
     return 1;
}

public OnPlayerEnterDynamicArea(playerid, areaid)
{
     if(areaid == zone 51) SendClientMessage(playerid,-1,"Покиньте охряняемую зону. Иначе будет открыт огонь.");
     return 1;
}

public OnPlayerLeaveDynamicArea(playerid, areaid)
{
     if(areaid == zone51) SendClientMessage(playerid,-1,"Благодарим за понимание.");
     return 1;
}

Другие функции:
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(); - подсчет количества динамических зон.
Внимание! К игрокам и машинам можно прикрепить только зоны с типом круг и сфера.

Автор урока: SDraw
Автор плагина: Incognito
Ссылка на скачивание плагина: samp-pawno.ru
Некоторые данные взяты с Forum.Sa-mp.Com.

Автор - admin
Дата добавления - 18.09.2011 в 18:44:00
  • Страница 1 из 1
  • 1
Поиск:
Загрузка страницы, займет меньше минуты...
Загрузка...

Статистика Форума
Последнии темы Читаемые темы Лучшие пользователи Новые пользователи
Система телефонов поломалась
Не в себе
фильм скалайн
Трансформеры 3
форсаж 6
Ищу [FS]Для админок на сервер
нужны координаты карты для отметки зон...
Помогите найти мод
pawno урок автоматические ворота
обращение к скриптерам.
Вопросы по скриптингу
Ваши ошибки при компиляции GM/FS

Вопросы по скриптингу

(1081)

Считаем до 1000

(274)

Ваши ошибки при компиляция gm

(260)

Набор в команду

(80)

Ваши ошибки при компиляции GM/FS

(71)

вопроосы по скриптингу от 22.04.2013

(64)

Баннеробмен

(64)

несколько команд на samp 0.3 c

(64)

Оценки сайта samp-pawno.ru

(55)

Заказ хостинга

(51)

Набор в команду(форум)

(45)

Урок №61 по созданию системы авто для GodFather

(45)

admin

(3869)

[east_side]_trane

(443)

TWiX

(316)

valych

(501)

drifter-dron

(477)

danik_rok

(317)

Dimka_71rus

(360)

Drifter96

(300)

MaNb9K

(220)

[MTA]MaPeR5518

(181)

Dima_Tkach

(107)

Nik_Ull

(184)

system32xzxz

(Четверг 09:25:24)

torbin169

(Суббота 23:09:29)

kuchuk_00

(Суббота 17:10:14)

artem_boyko_3

(Суббота 15:57:37)

greggelbak

(Среда 18:29:37)

vladisvlavs

(Среда 13:51:57)

add02102002

(Понедельник 22:37:15)

Диман221

(Понедельник 18:12:45)

almas051004

(Воскресенье 11:05:32)

megasuccessms

(Суббота 14:15:36)

nawe

(Пятница 22:25:23)

swoysb

(Пятница 14:55:29)

Вверх
03:26:48
ОбновитьСмайлыУправление мини-чатом
ЧАТ-PAWNO
2010-2025

vkontakte :samp-pawno.ru: