Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Allow round finish

, Помогите переделать плагин ...
Статус пользователя x@kep
сообщение 26.6.2011, 13:48
Сообщение #1


Стаж: 15 лет

Сообщений: 80
Благодарностей: 43
Полезность: 414

Здравствуйте. Помогите, пожалуйста, немного модифицировать данный плагин (источник):

Код
/* Allow Round Finish
About:
This plugin allows the last round to be finnished even if the timelimit has expired

Credits:
Ops in #AMXmod @ Quakenet for alot of help ( + AssKicR & CheesyPeteza )
*/

#include <amxmodx>

new g_IsLastRound = 0
new g_OldTimelimit=0

#define TASK_ID_CHECKFORMAPEND 241
#define TASK_ID_DELAYMAPCHANGE 242

public plugin_init()
{
    register_plugin("Allow round finish", "1.0.2" ,"EKS")
    
    register_event("SendAudio","Event_EndRound","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
    set_task(15.0,"Task_MapEnd",TASK_ID_CHECKFORMAPEND,_,_,"d",1)
}

public Task_MapEnd()
{
    if(get_playersnum())
    {
        g_IsLastRound = 1
        g_OldTimelimit = get_cvar_num("mp_timelimit")
        //log_amx("g_OldTimelimit: %d",g_OldTimelimit)
        server_cmd("mp_timelimit 0")
        client_print(0,print_chat,"Timelimit has expired, mapchange will happen after this round")
    }
}
public Event_EndRound()
{
    if(g_IsLastRound == 1)
    {
        client_print(0,print_chat,"Round is over, changing map in 5 seconds")
        set_task(5.0,"Task_DelayMapEnd",TASK_ID_DELAYMAPCHANGE,_,_,"a",1) // We delay the end of the map with a few sec, so the last guys death is viewable
    }
}
public server_changelevel(map[])
{
    if(g_IsLastRound == 1)
        Task_DelayMapEnd()
}
public Task_DelayMapEnd()
{
    remove_task(TASK_ID_DELAYMAPCHANGE)
    g_IsLastRound = 0
    if(get_cvar_num("mp_timelimit") == 0)
        server_cmd("mp_timelimit %d",g_OldTimelimit)
}


На сервере всё время крутится одна единственная карта (de_dust2 only сервер), и хочется, чтобы вместо смены карты на ту же самую были просто 3 рестарта (и при этом оставалась возможность доиграть последний раунд). И, если это возможно, то вместо сообщения в чате, вылезало hud сообщение, что это последний раунд, после него будет рестарт. Ну и в идеале сделать реальную смену карты после 10 таких смен через рестарты, чтобы сервер не сходил с ума от 4 часов игры без смен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: