punkochel
17.11.2020, 16:34
PrivateArea.inc
PrivateArea.inc - это библиотека, которая позволяет создавать приватные зоны на сервере в SA:MP.
Как это работает: Когда игрок пытается зайти в приватную зону, его откидывает обратно.
Ограничения:
Для работы с данной библиотекой необходимо иметь streamer (https://github.com/samp-incognito/samp-streamer-plugin/releases) и foreach (https://github.com/karimcambridge/samp-foreach/releases).
Создавать можно только зоны с типом Sphere (сфера).
Константы:
MAX_PRIVATE_AREA - Максимальное количество созданных приватных зон (по умолчанию 50);
PRIVATE_AREA_NONE - Приватной зоны не существует;
PRIVATE_AREA_FULL_LIMIT - Превышен лимит создания приватных зон.
Функции:
public OnPlayerTriedEnterPrivateArea(playerid, areaid);
CreatePrivateArea(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, priority = 0);
DestroyPrivateArea(areaid);
DenyEntryToPrivateArea(areaid, playerid = -1);
AllowEntryToPrivateArea(areaid, playerid = -1);
IsPlayerAddInPrivateArea(playerid, areaid);
Описание функций:
OnPlayerTriedEnterPrivateArea - Автовызываемая функция, которая вызывается когда игрок пытается войти в приватную зону.
Параметры:
playerid - ID игрока;
areaid - ID динамической зоны.
CreatePrivateArea - Создает приватную зону на сервере.
Возвращаемые значения:
ID динамической зоны в случае успеха;
PRIVATE_AREA_FULL_LIMIT - если превышен лимит создания приватных зон.
Параметры:
x, y, z - координаты зоны;
size - размер зоны;
worldid - виртуальный мир (по умолчанию -1);
interiorid - интерьер (по умолчанию -1);
playerid - укажите Id игрока, если необходимо создать зону только для него (по умолчанию -1);
priority - установить приоритет загрузки зоны (по умолчанию 0).
DestroyPrivateArea - Уничтожает приватную зону с сервера.
Возвращаемые значения:
1 - если приватная зона была успешно удалена;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
DenyEntryToPrivateArea - Запрещает игроку входить в приватную зону.
Возвращаемые значения:
1 - в случае успеха;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
playerid - ID игрока которому нужно запретить вход (по умолчанию -1 (запрещает входим всем)).
AllowEntryToPrivateArea - Разрешает игроку входить в приватную зону.
Возвращаемые значения:
1 - в случае успеха;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
playerid - ID игрока которому нужно разрешить вход (по умолчанию -1 (разрешает входим всем)).
IsPlayerAddInPrivateArea - Проверяет добавлен ли игрок в приватную зону.
Возвращаемые значения:
1 - если игрок добавлен в приватную зону;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1, либо игрок не добавлен в приватную зону;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
playerid - ID игрока;
areaid - ID динамической зоны.
Пример использования:
new PrivateArea;
public OnGameModeInit() {
PrivateArea = CreatePrivateArea(0.0, 0.0, 0.0, 100.0);
DenyEntryToPrivateArea(PrivateArea);
return 1;
}
public OnPlayerTriedEnterPrivateArea(playerid, areaid) {
if(areaid == PrivateArea)
SendClientMessage(playerid, -1, !"Запретная территория. Вход запрещен!");
return 1;
}
Version 1.1 (17.11.2020):
- Добавлена функция IsPlayerAddInPrivateArea(playerid, areaid);
Version 1.2 (17.11.2020):
- Исправлена ошибка при записи координат, когда игрок находится в автомобиле;
Автор статьи и библиотеки: punkochel (https://pro-pawn.ru/member.php?9227-punkochel)
Скачать Include : GitHub (https://github.com/punkochel/PrivateArea.inc)
*Примечание: Данная версия инклуда содержит в себе функции, логика работы которых будет пересмотрена в ближайшее время. Вы можете его использовать, но выход новых версий возможно заставит вас изменить некоторые параметры.
*Исключительно для pro-pawn.ru
Копирование данной статьи на других ресурсах без разрешения автора или Daniel_Cortez (https://pro-pawn.ru/member.php?100-Daniel_Cortez) запрещено!
PrivateArea.inc - это библиотека, которая позволяет создавать приватные зоны на сервере в SA:MP.
Как это работает: Когда игрок пытается зайти в приватную зону, его откидывает обратно.
Ограничения:
Для работы с данной библиотекой необходимо иметь streamer (https://github.com/samp-incognito/samp-streamer-plugin/releases) и foreach (https://github.com/karimcambridge/samp-foreach/releases).
Создавать можно только зоны с типом Sphere (сфера).
Константы:
MAX_PRIVATE_AREA - Максимальное количество созданных приватных зон (по умолчанию 50);
PRIVATE_AREA_NONE - Приватной зоны не существует;
PRIVATE_AREA_FULL_LIMIT - Превышен лимит создания приватных зон.
Функции:
public OnPlayerTriedEnterPrivateArea(playerid, areaid);
CreatePrivateArea(Float:x, Float:y, Float:z, Float:size, worldid = -1, interiorid = -1, playerid = -1, priority = 0);
DestroyPrivateArea(areaid);
DenyEntryToPrivateArea(areaid, playerid = -1);
AllowEntryToPrivateArea(areaid, playerid = -1);
IsPlayerAddInPrivateArea(playerid, areaid);
Описание функций:
OnPlayerTriedEnterPrivateArea - Автовызываемая функция, которая вызывается когда игрок пытается войти в приватную зону.
Параметры:
playerid - ID игрока;
areaid - ID динамической зоны.
CreatePrivateArea - Создает приватную зону на сервере.
Возвращаемые значения:
ID динамической зоны в случае успеха;
PRIVATE_AREA_FULL_LIMIT - если превышен лимит создания приватных зон.
Параметры:
x, y, z - координаты зоны;
size - размер зоны;
worldid - виртуальный мир (по умолчанию -1);
interiorid - интерьер (по умолчанию -1);
playerid - укажите Id игрока, если необходимо создать зону только для него (по умолчанию -1);
priority - установить приоритет загрузки зоны (по умолчанию 0).
DestroyPrivateArea - Уничтожает приватную зону с сервера.
Возвращаемые значения:
1 - если приватная зона была успешно удалена;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
DenyEntryToPrivateArea - Запрещает игроку входить в приватную зону.
Возвращаемые значения:
1 - в случае успеха;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
playerid - ID игрока которому нужно запретить вход (по умолчанию -1 (запрещает входим всем)).
AllowEntryToPrivateArea - Разрешает игроку входить в приватную зону.
Возвращаемые значения:
1 - в случае успеха;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
areaid - ID динамической зоны;
playerid - ID игрока которому нужно разрешить вход (по умолчанию -1 (разрешает входим всем)).
IsPlayerAddInPrivateArea - Проверяет добавлен ли игрок в приватную зону.
Возвращаемые значения:
1 - если игрок добавлен в приватную зону;
0 - если ID игрока меньше 0 или больше MAX_PLAYERS-1, либо игрок не добавлен в приватную зону;
PRIVATE_AREA_NONE - если приватной зоны не существует.
Параметры:
playerid - ID игрока;
areaid - ID динамической зоны.
Пример использования:
new PrivateArea;
public OnGameModeInit() {
PrivateArea = CreatePrivateArea(0.0, 0.0, 0.0, 100.0);
DenyEntryToPrivateArea(PrivateArea);
return 1;
}
public OnPlayerTriedEnterPrivateArea(playerid, areaid) {
if(areaid == PrivateArea)
SendClientMessage(playerid, -1, !"Запретная территория. Вход запрещен!");
return 1;
}
Version 1.1 (17.11.2020):
- Добавлена функция IsPlayerAddInPrivateArea(playerid, areaid);
Version 1.2 (17.11.2020):
- Исправлена ошибка при записи координат, когда игрок находится в автомобиле;
Автор статьи и библиотеки: punkochel (https://pro-pawn.ru/member.php?9227-punkochel)
Скачать Include : GitHub (https://github.com/punkochel/PrivateArea.inc)
*Примечание: Данная версия инклуда содержит в себе функции, логика работы которых будет пересмотрена в ближайшее время. Вы можете его использовать, но выход новых версий возможно заставит вас изменить некоторые параметры.
*Исключительно для pro-pawn.ru
Копирование данной статьи на других ресурсах без разрешения автора или Daniel_Cortez (https://pro-pawn.ru/member.php?100-Daniel_Cortez) запрещено!