Я хочу представить вашему вниманию систему пикапов-порталов.
С помощью системы можно с легкостью создавать пикапы Вход-Выход с возможностью телепортироваться в виртуальные миры и интерьеры.
Функция:
Разбор:PHP код:
CreatePortal(Float:X, Float:Y, Float:Z, Float:A, Int, Virt, Float:ToX, Float:ToY, Float:ToZ, Float:ToA, ToInt, ToVirt, Key = -1)
X - Координата X входа.
Y - Координата Y входа.
Z - Координата Z входа.
A - Координата Angle входа. (угол поворота игрока)
Int - Интерьер входа.
Virt - Виртуальный мир входа.
ToX - Координата X выхода.
ToY - Координата Y выхода.
ToZ - Координата Z выхода.
ToA - Координата Angle выхода. (угол поворота игрока)
ToInt - Интерьер выхода.
ToVirt - Виртуальный мир выхода.
Key - ID Клавиши при нажатии которой игрок пройдет через портал. (Если параметр не указан игрок пройдет через портал без нажатия клавиши)
Функция возвращает ID портала.
CallBack:
Разбор:PHP код:
forward OnPlayerPortal(playerid, portalid, side);
playerid - ID игрока.
portalid - ID портала.
side - Действие. 0 - Выход, 1 - Вход.
В public OnPlayerPortal можно выполнять действия после телепортации.
Пример использования:
PHP код:
new Portal[2];
public OnGameModeInit()
{
Portal[0] = CreatePortal(-2026.6503,-102.0512,35.1641,359.2226, 0, 0, -2027.1029, -103.8649, 1035.1719, 123.1587, 3, 10); //Двор Автошколы SF - Автошкола SF
Portal[1] = CreatePortal(-2029.7428, -119.6036, 1035.1719, 1.7291, 3, 10, -2029.8539, -120.5209, 35.1693, 171.8475, 0, 0); //Автошкола SF - Автодром автошколы SF
return 1;
}
public OnPlayerPortal(playerid, portalid, side)
{
if(portalid == Portal[0] && side == 1) SendClientMessage(playerid, 0xFFFF00AA, "Вы зашли в автошколу.");
if(portalid == Portal[0] && side == 0) SendClientMessage(playerid, 0xFFFF00AA, "Вы вы вышли из автошколы.");
if(portalid == Portal[1] && side == 1) SendClientMessage(playerid, 0xFFFF00AA, "Вы вы вышли на автодром.");
if(portalid == Portal[1] && side == 0) SendClientMessage(playerid, 0xFFFF00AA, "Вы зашли в автошколу с автодром.");
return 1;
}
!Примечание: Функцию CreatePortal можно использовать в любой части мода/скрипта, но я рекомендую создавать порталы при инициализации мода/скрипта, то есть в пабликах OnGameModInit или OnFilterScriptInit
Ссылка: http://pastebin.com/Gd0zGaj7
Автор: _[Bupyc]_