Привет всем.
Урок простой, я думаю все поймут.
Ворота закрываются после определенного времени!
И так начнем!
Добавляем ко всем new:new gategroove; // Вы можете сделать по своему,я делал для groove !
new gatetimeract; // это переменная для таймера…(если вам автоматическое закрытие не нужно не пишите эту строку)
Добавляем ко всем forward:
forward gateactClose(playerid) // В конце это будет пабликом закрытых ворот
Идём в public OnGameModeInit и добавляем:
gategroove = CreateObject(980, 1810.90 -1893.91, 15.2,0.0,0.0,90);//Мои ворота к грув (980 == ид объекта,1810.90 -1893.91, 15.2 == Y,X,Z координаты и 0.0,0.0,90 == rY,rX,rZ – угол поворота.)
И так мы создали ворота как объект, теперь нам нужно чтобы они двигались!
Пишем в public OnPlayerCommandText(playerid, cmdtext[]) команду:
if(!strcmp(cmdtext, "/gate", true)) // сама команда для открытия ворот
{
if(PlayerInfo[playerid][pLeader] == 15 | | PlayerInfo[playerid][pMember] == 15)// проверка на фракцию, банду. В моем случае это грув их ид банды == 15
{
if (PlayerToPoint(15, playerid,1823.19,-1861.68,15.025))
{
MoveObject(gategroove, 1810.90,-1887.3,15.2, 2);//Двигаем ворота на позицию открытых ворот
SetTimer("gateactClose", 10000, 0);//Создадим таймер что ворота закрылись автоматически
SendClientMessage(playerid, COLOR_RED," Ворота открылись. Он будет закрыт через 10 секунд.");
}
else
{
SendClientMessage(playerid, COLOR_RED," Ты слишком далеко.");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Вы не из Groove street.");
return 1;
}
Далее ставим это в конец самого мода (то есть создаём новый паблик):
Код:
public gateactClose (playerid)
{
MoveObject(gategroove, 1810.90 -1893.91, 15.2, 2); // возвращаем ворота на прежние координаты
KillTimer(gatetimeract);
return 1;
}
Вот и все, ворота готовы.
Последнее редактирование модератором: