Статус темы:
Закрыта.
  1. Andrey777 Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    262
    Симпатии:
    36
    Пол:
    Мужской
    Skype:
    Andrey777best
    Такая проблема, когда играет 2х2 или 3х3 короче мало людей, бывает что само по себе запускается в середине карты авторестарт, когда много людей все норм..запускается именно плагин, посреди экран пишет авторестарт через 30 сек... Никто с таким не сталкивался?
    Код:
    #include <amxmodx>
    new g_Seconds
    new g_SecondsCvar
    public plugin_init() {
        register_plugin("Auto Game Restart with Countdown Timer", "1.0", "AbeX")
        register_event("TextMsg", "game_commencing", "a", "2=#Game_Commencing")
        g_SecondsCvar = register_cvar("autorr_time","30.0")
        new mapname[32]
        get_mapname(mapname, charsmax(mapname))
          
        if(equali(mapname,"35",2) || equali(mapname,"aim_",4) || equali(mapname,"awp_",4))
        {
            pause("ad")
            return
        }
    }
    public game_commencing() {
        if (task_exists(41170))
            remove_task(41170)
        g_Seconds = floatround(get_pcvar_float(g_SecondsCvar))
        new param[32]
        set_task(1.0,"count_rr",41170,param,31,"b",0)   
    }
    public count_rr() {   
        g_Seconds--;
        set_hudmessage(192, 255, 62, -1.0, 0.4, 0, 6.0, 1.0)
        show_hudmessage(0, "Автоматический рестарт через %d секунд",g_Seconds)   
        if (g_Seconds == 0) {
            server_cmd("sv_restartround 1")   
            nChatPrint(0, "^1[^4Сервер|18+|^1]  ^3приятной игры!")
            remove_task(41170)
        }
    }
    stock nChatPrint(const id, const input[], any:...)
    {
         new nCount = 1, nNum[32]
         
         static nMsgs[191]
         
         vformat(nMsgs, 190, input, 3)
         
         replace_all(nMsgs, 190, "!g", "^4")
         replace_all(nMsgs, 190, "!n", "^1")
         replace_all(nMsgs, 190, "!t", "^3")
         
         if(id) nNum[0] = id; else get_players(nNum, nCount, "ch")
         {
             for(new i = 0; i < nCount; i++)
            {
                if(is_user_connected(nNum[i]))
                {
                    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, nNum[i])
                    
                    write_byte(nNum[i])
                    
                    write_string(nMsgs)
                    
                    message_end()
                }
            }
        }
    }
     
  2. Andrey777 Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    262
    Симпатии:
    36
    Пол:
    Мужской
    Skype:
    Andrey777best
    Можете так сделать? отловить начало раунда, и проверку, если раунд первый, то делаем авторр, иначе ничего не делаем.
    По сути, добавить условие, булевую переменную и обычную, и заменить событие на старт раунда
     
  3. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    не пойдет?
     

    Вложения:

    • auto_rr.sma
      Размер файла:
      1 КБ
      Просмотров:
      9
  4. Andrey777 Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    262
    Симпатии:
    36
    Пол:
    Мужской
    Skype:
    Andrey777best
    Попробую, а можешь добавить nChatPrint
     
  5. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    Andrey777, лениво.
    сам добавь, пример есть у тебя)
     
Статус темы:
Закрыта.