Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для ]x[vBeat
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.11.2013
    Сообщений
    4
    Репутация:
    0 ±

    Как сделать пикап?

    как сделать пикап что бы шлагбаум у АШ открывался по гудку?

  2. #2
    Аватар для Nike_Frost
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.11.2013
    Сообщений
    6
    Репутация:
    0 ±
    зачем пикап?можно чтоб по сигналу открывался

  3. #3
    Аватар для TWIX
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.10.2013
    Сообщений
    100
    Репутация:
    41 ±
    Для начала, нам нужно объявить константу объекта и одну переменную, относительно который будет считаться поворот по оси:

    PHP код:
    new Shlak[1], rotating = -90
    Создаём объект:

    PHP код:
    Shlak[0] = CreateObject(2920свои координаты , -60.00.00.0); 
    Напишем небольшую команду для открытия шлагбаума:


    PHP код:
    if(strcmp(cmdtext"/avtoshcola"true) == 0)
    {
        
    SetTimer("OpenAh"500); // таймер, который будет поворачивать шлагбаум
        
    return 1;

    Теперь самое важное: управляющие таймеры. Начнём с того, который будет открывать шлагбаум:
    Код:
    PHP код:
    forward OpeAh();
    public 
    OpenAh()
    {
        new 
    Float:RotXFloat:RotYFloat:RotZ// объявим переменные, в которые будут записаны углы поворота по осям
        
    GetObjectRot(Object[0], RotXRotYRotZ); // получаем уголы поворота шлагбаума по осям и записываем их в объявленные переменные
        
    SetObjectRot(Object[0], RotX 1.0RotYRotZ); // устанавливаем угол поворота побольше (по оси X должен вертеться шлагбаум, чтобы открываться и закрываться)
        
    if(rotating 0// т.к. базовый поворот -90, то поворот открытого - 0, а следовательно пишем такое условие
        
    {
            
    rotating += 1// если ещё призакрыт, то поворачиваем
            
    SetTimer("OpenAh"500); // запускаем таймер снова для повтора поворота
        
    }
        else
        {
            
    SetTimer("CloseAh"50000); // если открыт полностью - запускаем таймер, который через 5 секунд начнёт закрывать шлагбаум
        
    }
        return 
    1;

    Будет закрывать шлагбаум:

    PHP код:
    forward CloseAh();
    public 
    CloseAh()
    {
        if(
    rotating > -90// если шлагбаум ещё не закрыт
        
    {
            new 
    Float:RotXFloat:RotYFloat:RotZ;
            
    GetObjectRot(Object[0], RotXRotYRotZ);
            
    SetObjectRot(Object[0], RotX 1.0RotYRotZ);
            
    rotating -= 1// уменьшаем поворот
            
    SetTimer("CloseAh"500); // повторно запускаем таймер закрытия
        
    }
        return 
    1;

    Теперь в OnPlayerKeyStateChange:

    PHP код:
    if (newkeys == KEY_WALK || newkeys == KEY_CROUCH && IsPlayerInAnyVehicle(playerid)) OnPlayerCommandText(playerid,"/avtoshcola"); 
    Впринципе всё!
    Уважаю данных Людей:

    1. Osetin(Хороший Администратор)
    2.Daniel_Cortez(Классный скриптер)
    3.Londlem(Офигенный скриптер)
    4.#Carleone(Просто хороший человек)

  4. Пользователь сказал cпасибо:
    QspeaKTV (12.01.2014)
  5. #4
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    closed

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •