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 пользователей онлайн

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

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

    • gooding
      От gooding


      Скачать файл PAR RP | Доработанный мод Cruela RP | Без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)  
    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
      Основа данного мода: Cruela RP
       
       

    • Max Luilchack
      От Max Luilchack
      Нужен человек который сможет сделать примерную карту Украины для сервера crmp mobile. Если есть желающие пишите в дс: lamarlml
    • Yashich
      От Yashich
      Возникла проблема, не работает команда /giverank Что здесь может работать не так? Заранее спасибо за ответ)
      Вот строки кода связанные с этой командой (мод Аризона)
       
      CMD:giverank(playerid, params[]) {     if(PI[playerid][pMember]<=0)return 0;     if(PI[playerid][pRank] < 9 && PI[playerid][pLeader] == 0) return SCM(playerid, COLOR_RED, !"Отказано в доступе!");     if(sscanf(params,"ud",params[0],params[1])) return SCM(playerid, COLOR_RED, !"Используйте: /giverank [id] [rank]");     if(!ProxDetectorS(8.0, playerid, params[0])) return SCM(playerid, COLOR_GREY, !"Вы должны находиться рядом с игроком!");     if(PI[params[0]][pLeader] > 0 ) return SCM(playerid, COLOR_RED, !"Вы не можете изменять ранг лидеру");     if(params[1] < 1) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(Clother[params[0]]!=-1)return 0;     if(GetPlayerVirtualWorld(playerid)!=GetPlayerVirtualWorld(params[0]))return 0;     if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, !"Игрок не найден");     if(PI[playerid][pRank] <= PI[params[0]][pRank]) return SCM(playerid, COLOR_GREY, !"Вы не можете повысить/понизить этого игрока");     if(PI[playerid][pRank] == 9 && params[1] > 8) return SCM(playerid, COLOR_RED, !"Нельзя выдать ранг больше 8");     if(params[1] > 9) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(PI[params[0]][pMember] != PI[playerid][pMember]) return SCM(playerid, COLOR_GREY, !"Игрок находиться в другой организации!");     str_1[0] = EOS;     f(str_1,100,"Лидер %s %s до %i ранга",PN(playerid),PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),params[1]);     SCM(params[0],COLOR_LIGHTBLUE,str_1);     f(str_1,100,"Вы %sи игрока %s до %i ранга",PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),PN(params[0]),params[1]);     SCM(playerid,COLOR_LIGHTBLUE,str_1);     PI[params[0]][pRank] = params[1];     UpdatePlayerDataInt(params[0], "Rank", params[1]);     if(PI[params[0]][pSex] == 2) if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],GOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     else if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],MOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     return 1; }