и берем координаты в "Show code".
Код: Выделить всё
CreateObject(19870, 1587.68164, -1637.91089, 14.28296, 0.00000, 0.00000, 0.00000);
Где:
19870 - ID объекта.
1587.68164, -1637.91089, 14.28296 - координаты x, y, z. (открытых ворот)
0.00000, 0.00000, 0.00000 - поворот x, y, z.
Теперь делаем координаты закрытых ворот:
Код: Выделить всё
CreateObject(19870, 1592.30505, -1638.12512, 14.28296, 0.00000, 0.00000, 0.00000);
Далее переходим в pawno.
Создаём переменную куда мы сохраним 'номер' объекта.
Код: Выделить всё
new number;
Создаём forward
Код: Выделить всё
forward numberclose();
Для public
Код: Выделить всё
public numberclose()
в котором мы закроем ворота.
Теперь ищем public OnGameModeInit и добавляем туда:
Код: Выделить всё
number = CreateObject(19870, 1587.68164, -1637.91089, 14.28296, 0.00000, 0.00000, 0.00000);
Далее создадим команду для открытия ворот. В public OnPlayerCommandText:
Код: Выделить всё
else if(strcmp(cmdtext, "/numberopen", true) == 0) // команда
{
if(PlayerInfo[playerid][pMember] != 1) return SendClientMessage(playerid, -1, "Вы не сотрудник LSPD!"); // проверка на то состоит игрок ли в фракции номер 1( в половине модом это ЛСПД
MoveObject(gate,1592.30505, -1638.12512, 14.28296, 2.2); // gate - переменная | 1592.30505, -1638.12512, 14.28296 - коорды закрытых ворот | 2.2 - скорость открытия ворот
SendClientMessage(playerid, -1, "Ворота закроются через 10 секунд!"); // сообщение игроку
SetTimer("numberclose", 10000, 0); // "numberclose" - наш forward в "" | 10000 - 10 секунд(время через которое запустим паблик с закрытием ворот) | 0 - будет и таймер повторятся(1 - да но не советую)
return 1;
}
В конец мода добавим паблик 'numberclose':
Код: Выделить всё
public gateclose()
{
MoveObject(gate, 1587.68164, -1637.91089, 14.28296, 2.2); // gate - переменная | 1587.68164, -1637.91089, 14.28296 - коорды открытых ворот | 2.2 - скорость.
return 1;
}
А теперь мы сделаем данную команду на кнопку. В public OnPlayerKeyStateChange:
Код: Выделить всё
if(newkey == KEY_CROUCH) OnPlayerCommandText(playerid, "/numberopen"); // newkey == KEY_CROUCH - если кнопка *сесть* (в машине - сигнал). | OnPlayerCommandText(..) - вызов команды от имени игрока