как сделать пикап что бы шлагбаум у АШ открывался по гудку?
как сделать пикап что бы шлагбаум у АШ открывался по гудку?
зачем пикап?можно чтоб по сигналу открывался
Для начала, нам нужно объявить константу объекта и одну переменную, относительно который будет считаться поворот по оси:
Создаём объект:PHP код:
new Shlak[1], rotating = -90;
Напишем небольшую команду для открытия шлагбаума:PHP код:
Shlak[0] = CreateObject(2920, свои координаты , -60.0, 0.0, 0.0);
Теперь самое важное: управляющие таймеры. Начнём с того, который будет открывать шлагбаум:PHP код:
if(strcmp(cmdtext, "/avtoshcola", true) == 0)
{
SetTimer("OpenAh", 50, 0); // таймер, который будет поворачивать шлагбаум
return 1;
}
Код:
Будет закрывать шлагбаум:PHP код:
forward OpeAh();
public OpenAh()
{
new Float:RotX, Float:RotY, Float:RotZ; // объявим переменные, в которые будут записаны углы поворота по осям
GetObjectRot(Object[0], RotX, RotY, RotZ); // получаем уголы поворота шлагбаума по осям и записываем их в объявленные переменные
SetObjectRot(Object[0], RotX + 1.0, RotY, RotZ); // устанавливаем угол поворота побольше (по оси X должен вертеться шлагбаум, чтобы открываться и закрываться)
if(rotating < 0) // т.к. базовый поворот -90, то поворот открытого - 0, а следовательно пишем такое условие
{
rotating += 1; // если ещё призакрыт, то поворачиваем
SetTimer("OpenAh", 50, 0); // запускаем таймер снова для повтора поворота
}
else
{
SetTimer("CloseAh", 5000, 0); // если открыт полностью - запускаем таймер, который через 5 секунд начнёт закрывать шлагбаум
}
return 1;
}
Теперь в OnPlayerKeyStateChange:PHP код:
forward CloseAh();
public CloseAh()
{
if(rotating > -90) // если шлагбаум ещё не закрыт
{
new Float:RotX, Float:RotY, Float:RotZ;
GetObjectRot(Object[0], RotX, RotY, RotZ);
SetObjectRot(Object[0], RotX - 1.0, RotY, RotZ);
rotating -= 1; // уменьшаем поворот
SetTimer("CloseAh", 50, 0); // повторно запускаем таймер закрытия
}
return 1;
}
Впринципе всё!PHP код:
if (newkeys == KEY_WALK || newkeys == KEY_CROUCH && IsPlayerInAnyVehicle(playerid)) OnPlayerCommandText(playerid,"/avtoshcola");
Уважаю данных Людей:
1. Osetin(Хороший Администратор)
2.Daniel_Cortez(Классный скриптер)
3.Londlem(Офигенный скриптер)
4.#Carleone(Просто хороший человек)
QspeaKTV (12.01.2014)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)