Авто подъем моста в Южном (или с помощью команды)

В теме 4 сообщения

Постоянный

Всем привет! Вот вам готовая система для авто подъема моста по времени или с использованием команд

Вырезал с мода ONLY RP. Вставлял в Душевный все отлично работает! От себя добавил шлагбаумы. При подъеме моста они опускаются при спуске моста открываются все просто! Также можете установить скорость под себя но я этого не делал.

Итак начнем:

 

Ко всем переменным new добавляем:

Спойлер

new Most[6];// двери ворота мосты
new SMost[1];//Статус двери ворота мосты

Далее ищем

forward MinuteTimer();
public MinuteTimer()

Спойлер

//----------------------------------- Мост -------------------------------------
    if(hour >= 12 && minute == 20 || hour >= 14 && minute == 20 || hour >= 16 && minute == 20 || hour >= 18 && minute == 20 || hour >= 20 && minute == 20 || hour >= 22 && minute == 20 || hour <= 8 && minute == 20)
    {
        SendClientMessageToAll(0x00D3F6AA, "< Новости Нижегородской области >");
        SendClientMessageToAll(0xFFCC00FF, "- Мост {ffd51c}города Южный{FFFFFF} разводится");
        SendClientMessageToAll(0x00D3F6AA, "< Мост опустится через 5 минут >");

        MoveObject(Most[0],2747.34448242,-1142.90002441,22.6000002, 0.1, 55.00000000,0.00000000,180.00000000);//первая половина моста
        MoveObject(Most[1],2747.30004883,-1262.00000000,22.6000002, 0.1, 55.00000000,0.00000000,0.00000000 );//вторая половина моста
        MoveObject(Most[2],2754.46, -1375.65, 23.36, 0.1, 0.00, -90.00, 0.00 );//шлагбаум 1
        MoveObject(Most[3],2739.83, -1375.61, 23.36, 0.1, 0.00, 90.00, 0.00 );//шлагбаум 2
        MoveObject(Most[4],2754.46, -1033.28, 23.36, 0.1, 0.00, -90.00, 0.00 );//шлагбаум 3
        MoveObject(Most[5],2739.83, -1033.28, 23.36, 0.1, 0.00, 90.00, 0.00 );//шлагбаум 4
        SMost[0] = 1;
        BridgeTimer = 300;//время сколько мост будет открыт (5 минут)
    }
//------------------------------------------------------------------------------

Далее ищем в моде

forward SecTimer();
public SecTimer()

и добавляем:

Спойлер

//----------------------------------  Мост  ------------------------------------
     if(BridgeTimer > 0)
    {
        BridgeTimer--;
        if(BridgeTimer == 1) BridgeOff();
    }
//------------------------------------------------------------------------------

Добавляем сами объекты (мосты и шлагбаумы)

Спойлер

    Most[0] = CreateObject(2168,2747.34448242,-1142.90002441,21.60000038,0.00000000,0.00000000,180.00000000); //object(partition) (2)
    Most[1] = CreateObject(2168,2747.30004883,-1262.00000000,21.60000038,0.00000000,0.00000000,0.00000000); //object(partition) (4)

    Most[2] = CreateObject(968, 2754.46, -1375.65, 23.36, 0.00, -20.00, 0.00);//шлагбаум на мосту
    Most[3] = CreateObject(968, 2739.83, -1375.61, 23.36, 0.00, 20.00, 0.00);//шлагбаум на мосту
    Most[4] = CreateObject(968, 2754.46, -1033.28, 23.36, 0.00, -20.00, 0.00);//шлагбаум на мосту
    Most[5] = CreateObject(968, 2739.83, -1033.28, 23.36, 0.00, 20.00, 0.00);//шлагбаум на мосту

Спойлер

stock BridgeOff()
{
    SendClientMessageToAll(0x00D3F6AA, "< Новости Нижегородской области >");
    SendClientMessageToAll(0xFFCC00FF, "- Мост {0ee33e}города Южный{FFFFFF} сводится");
    SendClientMessageToAll(0xFFCC00FF, "- Шлагбаумы {0ee33e}на мосте г.Южный{FFFFFF} открываются");
    SendClientMessageToAll(0xFFCC00FF, "- Водители! {0ee33e}Ожидайте 10 сек.{FFFFFF} и движение откроется");

    MoveObject(Most[0],2747.34448242, -1142.90002441, 21.60000038, 0.1, 0.00000000, 0.00000000, 180.00000000 );
    MoveObject(Most[1],2747.30004883, -1262.00000000, 21.60000038, 0.1, 0.00000000,0.00000000,0.00000000 );
    MoveObject(Most[2],2754.46, -1375.65, 23.36, 0.1, 0.00, -20.00, 0.00 );
    MoveObject(Most[3],2739.83, -1375.61, 23.36, 0.1, 0.00, 20.00, 0.00 );
    MoveObject(Most[4],2754.46, -1033.28, 23.36, 0.1, 0.00, -20.00, 0.00 );
    MoveObject(Most[5], 2739.83, -1033.28, 23.36, 0.1, 0.00, 20.00, 0.00 );
    SMost[0] = 0;
    return 1;
}

Команда для администрации

Спойлер

cmd:most(playerid)
{
    if(admin_ban_time[playerid] > 0) return SendClientMessage(playerid, -1, "Ваши админ-действия на сервере заблокированы!");
    if(PI[playerid][pAdmin] < 7) return 1;//ставите свою проверку если у вас другая вместо PI может быть p_info, PlayerInfo и тд. И ставите свой уровень       необходимой админки для использования команды
    switch(SMost[0])
    {
    case 0:
        {
            MoveObject(Most[0],2747.34448242,-1142.90002441,22.6000002, 0.1, 55.00000000,0.00000000,180.00000000);
            MoveObject(Most[1],2747.30004883,-1262.00000000,22.6000002, 0.1, 55.00000000,0.00000000,0.00000000 );
            MoveObject(Most[2],2754.46, -1375.65, 23.36, 0.1, 0.00, -90.00, 0.00 );
            MoveObject(Most[3],2739.83, -1375.61, 23.36, 0.1, 0.00, 90.00, 0.00 );
            MoveObject(Most[4],2754.46, -1033.28, 23.36, 0.1, 0.00, -90.00, 0.00 );
            MoveObject(Most[5], 2739.83, -1033.28, 23.36, 0.1, 0.00, 90.00, 0.00 );
            SMost[0] = 1;
        }
    case 1:
        {
            MoveObject(Most[0],2747.34448242, -1142.90002441, 21.60000038, 0.1, 0.00000000, 0.00000000, 180.00000000 );
            MoveObject(Most[1],2747.30004883, -1262.00000000, 21.60000038, 0.1, 0.00000000,0.00000000,0.00000000 );
            MoveObject(Most[2],2754.46, -1375.65, 23.36, 0.1, 0.00, -20.00, 0.00 );
            MoveObject(Most[3],2739.83, -1375.61, 23.36, 0.1, 0.00, 20.00, 0.00 );
            MoveObject(Most[4],2754.46, -1033.28, 23.36, 0.1, 0.00, -20.00, 0.00 );
            MoveObject(Most[5], 2739.83, -1033.28, 23.36, 0.1, 0.00, 20.00, 0.00 );
            SMost[0] = 0;
        }
    }
    return 1;
}

Пока что маппинга возле шлагбаумов нет :)) Но их можно убрать!

Всем спасибо за урок если у вас возникли проблемы пишите отвечу! Если я допустил ошибку пишите исправлю!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня не получилось, где код if(Bredgetimer) там у меня ошибки вылезают вот компилятор:

SRP.pwn(3766) : warning 225: unreachable code
SRP.pwn(3767) : error 029: invalid expression, assumed zero
SRP.pwn(3767) : warning 215: expression has no effect
SRP.pwn(3767) : error 001: expected token: ";", but found ")"
SRP.pwn(3767) : error 029: invalid expression, assumed zero
SRP.pwn(3767) : fatal error 107: too many error messages on one line

Помогите пожалуйста, вот строка:

    new h,m,s;
    gettime(h,m,s);
    if(m == 0 && s >= 11 && s <= 16) PAYDAY = 0;
       if(m == 0 && s >= 0 && s <= 10 && PAYDAY == 0)
       {
           PAYDAY = 1;
           SetWorldTime(h);
           PayDay();
       }
    return 1;
     {
          if(BridgeTimer > 0)
          {
        BridgeTimer--;
        if(BridgeTimer == 1) BridgeOff();
        }
    }

}
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От xDetik
      Приветствую.
      Сделал небольшой островок на некотором расстоянии от карты Сан-Андреса, хотел поставить там пикап, добавил пикап в мод, и после того как приехал на остров, пикап не видно. Но если на этом же пикапе поменять координаты на те, которые находятся на карте Сан-Андреса, то он становится виден. В чем может быть проблема?
    • От Daf
      Здравствуйте, знатоки Pawn. У меня возникла такая проблема, сейчас попробую расписать ее подробно:
      Я решил добавить в игру Real cars. Всё сделал правильно: подключил инклуд, знаю принцип добавление реал кара. Захожу в игру и вижу машину. Добавляю вторую — она тоже есть. Добавляю третью — снова всё нормально. Но когда я пытаюсь добавить четвёртую, игра крашится при входе.
      Не важно, какой ид авто я ставлю, менял модельки, переделал всё, но проблема остаётся. Думаю, вы сможете подсказать, как её решить.
      Include - m_custom_sync 1.0.0
      CreateVehicleVEx(npoType, npoId, modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay = 180, addsiren = 0, tc_veh = 0) {     new vehicle, custom_id = -1;     if(!(400 <= modelid <= 20000))     {         custom_id = GetSlotVehicleModelSync(modelid);         if(custom_id == -1) return print("daf top");         modelid = customVehModels[custom_id][ModelID];     } #include <m_custom-sync> #define M_CUSTOM_CustomForPlayers 1 #define M_CUSTOM_CustomForActors 1 #define M_CUSTOM_CustomForVehicles 1 public OnGameModeInit() {     AddVehicleSyncModel(560, 12500); // беха     AddVehicleSyncModel(560, 12600); // порш     AddVehicleSyncModel(579, 12700); // хамер     AddVehicleSyncModel(560, 19929); // чирик