mr_sasha087

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

В теме 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();
        }
    }

}
 

 

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


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

@Demid А вы его правильно вставили?

@Demid скиньте скрин в моде. вы кажется неправильно вставили

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


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

У меня нету forward Minute

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо
    • Aleksey98
      От Aleksey98
      Необходим человек: который сможет написать систему тюнинга!
      как на крупных проектах типа: Arizona и Radmir
      И еще требуется Мапперы на новый топовый проект!
      Связь : https://vk.com/id289498732