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

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

mr_sasha087
Постоянный

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

Вырезал с мода 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 пользователей онлайн

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

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

    • Korochansky
      От Korochansky
      Я рад объявить о выпуске первой публичной версии современной IDE с открытым исходным кодом под лицензией GPLv3 для разработки open.mp и SA-MP, которая отличается интеграцией с SAMPCTL, управлением зависимостями и встроенной поддержкой Git.
       
      Особенности:
      • Разработано специально для open.mp и SA-MP разработки.
      • Встроенная интеграция с SAMPCTL для создания, запуска и управления проектами.
      • Менеджер зависимостей для удобной установки и обновления серверных пакетов и компонентов.
      • Встроенная поддержка Git с индикаторами состояния репозитория и историей коммитов.
      • Маркеры истории изменений для отслеживания измененных и сохраненных строк.
      • Автоматическое сопоставление и выделение скобок
      • Предварительный просмотр цвета для значений RGBA и HEX прямо в редакторе.
      • Интеграция инструмента выбора цвета для быстрой вставки цветов в код Pawn.
      • Режим 'Разделенный редактор кода' для одновременной работы с несколькими файлами.
      • Дерево проекта, оптимизированное для крупных проектов.
      • Интегрированные панели вывода результатов сборки и консоли сервера.
      • Автоматический мониторинг и обновление файлов проектов.
      • Портативная версия (установка не требуется).
       
      В репозитории: https://github.com/daniilkorochansky/spawn
    • Margiela
      От Margiela
      устал от vs code + он часто конфликтует с маками, конкретно с версией M3(как у меня).
      имеются ли аналоги pawno на mac?