Поиск Авторестарт после N колва побед

Статус
Новые ответы в этой теме размещать нельзя.

D1esel

Пользователь
Регистрация
12 Июн 2017
Сообщения
11
Симпатии
0
Пол
Мужской
#1
Доброго времени суток.
Ищу плагин, который сможет делать рестарт в случае если одна из команд раньше чем другая набрала N количество побед (к примеру 50)
 

hooligan***

Пользователь
Регистрация
9 Июн 2017
Сообщения
355
Симпатии
101
Пол
Мужской
#2
Посмотри все параметры в файле server.cfg
 

FIELD LINE

Администратор
Регистрация
11 Июн 2017
Сообщения
55
Симпатии
45
Пол
Мужской
#4
Именно рестарт? Или запуск голосования на смену карты?
 

D1esel

Пользователь
Регистрация
12 Июн 2017
Сообщения
11
Симпатии
0
Пол
Мужской
#6
georgeml,
подскажите плз, как сделать changelevel de_dust2 или restart (имеется ввиду не sv_restart)
аналогично скрипту выше, после 50 побед одной из команд
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
578
Симпатии
185
Пол
Мужской
VKcom
e1337ace
#7
georgeml,
подскажите плз, как сделать changelevel de_dust2 или restart (имеется ввиду не sv_restart)
аналогично скрипту выше, после 50 побед одной из команд
наверно так)
Код:
#if AMXX_VERSION_NUM < 183
    #define engine_changelevel(%0) server_cmd("changelevel %s", %0)
#endif

engine_changelevel("de_dust2_2x2")
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
578
Симпатии
185
Пол
Мужской
VKcom
e1337ace
#9
C++:
#include <amxmodx>

public plugin_init()
{
    register_event("TeamScore", "EventTeamScore", "a", "2=50"); //50 - кол-во побед
}

public EventTeamScore()
{
    set_cvar_float("sv_restart", 3.0);
}
а как сделать тоже самое но рестарт после N количества побед одной из команд??
 

StockX

Разработчик
Регистрация
8 Июн 2017
Сообщения
162
Симпатии
122
Пол
Мужской
#10
а как сделать тоже самое но рестарт после N количества побед одной из команд??
C:
#include <amxmodx>
#include <reapi>

#define WIN_FOR_CT 10
#define WIN_FOR_TE 10

new win_ct_num;
new win_te_num;

public plugin_init()
{
    RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Post", 1);
}

public RG_RoundEnd_Post(WinStatus:status)
{
    switch(status)
    {
        case WINSTATUS_CTS: win_ct_num++;
        case WINSTATUS_TERRORISTS: win_te_num++;
    }

    if(win_ct_num >= WIN_FOR_CT)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }

    if(win_te_num >= WIN_FOR_TE)
    {
        win_te_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
578
Симпатии
185
Пол
Мужской
VKcom
e1337ace
#11
C:
#include <amxmodx>
#include <reapi>

#define WIN_FOR_CT 10
#define WIN_FOR_TE 10

new win_ct_num;
new win_te_num;

public plugin_init()
{
    RegisterHookChain(RG_RoundEnd, "RG_RoundEnd_Post", 1);
}

public RG_RoundEnd_Post(WinStatus:status)
{
    switch(status)
    {
        case WINSTATUS_CTS: win_ct_num++;
        case WINSTATUS_TERRORISTS: win_te_num++;
    }

    if(win_ct_num >= WIN_FOR_CT)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }

    if(win_te_num >= WIN_FOR_TE)
    {
        win_te_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}
огонь но мне бы без re! типа под все платформы)
 

StockX

Разработчик
Регистрация
8 Июн 2017
Сообщения
162
Симпатии
122
Пол
Мужской
#13
огонь но мне бы без re! типа под все платформы)
C:
#include <amxmodx>

#define WIN_FOR_CT 10
#define WIN_FOR_TE 10

new win_ct_num;
new win_te_num;

public plugin_init()
{
    register_logevent("LogEvent_CT_Win", 6, "3=CTs_Win");
    register_logevent("LogEvent_TE_Win" , 6, "3=Terrorists_Win");
}

public LogEvent_CT_Win()
{
    win_ct_num++;

    if(win_ct_num >= WIN_FOR_CT)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}

public LogEvent_TE_Win()
{
    win_te_num++;

    if(win_te_num >= WIN_FOR_TE)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}
Суббота в 11:56
Да-да, я просто быстренько накидал
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
504
Симпатии
245
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#14
Анатолий, отлавливай мессагу "SendAudio" и там в ней лови terwin и ctwin, ну или "TextMsg" и в нем #Terrorists_Win и #CTs_Win. Или по отдельности через регистер евент:
Код:
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
578
Симпатии
185
Пол
Мужской
VKcom
e1337ace
#16
Анатолий, отлавливай мессагу "SendAudio" и там в ней лови terwin и ctwin, ну или "TextMsg" и в нем #Terrorists_Win и #CTs_Win. Или по отдельности через регистер евент:
Код:
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
я просто тестил это
Код:
#include <amxmodx>

#define MAX_WINS 10        // Максимальное количество побед той или иной команды
#define EXEC_CMD "amx_rtv"    // Команда, посылаемая серверу для запуска голосования за следующую карту

public plugin_init()
{
    register_plugin("VoteMap After Round Limit", "1.0", "neygomon")
    register_event("TextMsg", "eTerroristWin", "a", "2=#Terrorists_Win")
    register_event("TextMsg", "eCtWin", "a", "2=#CTs_Win")
}

public eTerroristWin()
    Counter(1)

public eCtWin()
    Counter(2)

Counter(team)
{
    static num[3]
    if(++num[team] == MAX_WINS)
        server_cmd("%s", EXEC_CMD)
}
за место server_cmd("%s", EXEC_CMD) я сделал свап команд но чет криво пашет) эт же ваня)) я у него не видел ниодного плагина без бага! либо -раунд либо +раунд почему то здесь получается)
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
504
Симпатии
245
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#17
georgeml, ничем, все, что выше было предложено, включая твой вариант - стандартное вроде, или не так, никаких новых велосипедов, просто были приведены примеры разной реализации.
P.S.
Код:
        register_event("TeamScore", "Terrorists_Score", "a", "1=TERRORIST")
        register_event("TeamScore", "Cts_Score", "a", "1=CT")
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
578
Симпатии
185
Пол
Мужской
VKcom
e1337ace
#19
georgeml, перестань вести себя как быдло. мы то знаем что ты знаешь слишком "много" (!бесполезного)
как пример)
Код:
Залепить остаток времени випки под gamecms api.
В gamecms_stocks.inl нужно сделать

stock StIsEqualFlags(flags1[], flags2[])
{
    new iFlagsBit = read_flags(flags1);
    return (iFlagsBit & read_flags(flags2)/* == iFlagsBit*/);
}

Его код)

    else
    {
        iLen = formatex( szMenu, charsmax(szMenu), "\y%L\R%L^n", LANG_SERVER,"WEAPONS_MENU", LANG_SERVER,"ROUND")
       
        new szDate[32];
        cmsapi_service_timeleft(id, szDate, charsmax(szDate), g_szFlagAccess);
       
        if (equali(szDate, "0000", 4))  
            format(szDate, 31, "Никогда :)");
       
        iLen += formatex( szMenu[iLen], charsmax(szMenu) - iLen, "Дата окончания ВИП: \w%s^t^n", szDate);
    }
C:
#include <amxmodx>

#define WIN_FOR_CT 10
#define WIN_FOR_TE 10

new win_ct_num;
new win_te_num;

public plugin_init()
{
    register_logevent("LogEvent_CT_Win", 6, "3=CTs_Win");
    register_logevent("LogEvent_TE_Win" , 6, "3=Terrorists_Win");
}

public LogEvent_CT_Win()
{
    win_ct_num++;

    if(win_ct_num >= WIN_FOR_CT)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}

public LogEvent_TE_Win()
{
    win_te_num++;

    if(win_te_num >= WIN_FOR_TE)
    {
        win_ct_num = win_te_num = 0;
        set_cvar_float("sv_restart", 3.0);
    }
}
Суббота в 11:56

Да-да, я просто быстренько накидал
ОФФ ТОП!
Я конечно же не скриптер а дно) учусь типа еще) много чего не знаю! но чем этот варик отличается от RE?? не кодом а скорость работы плагина неизменна?? я думаю что погрешность в 000001 типа сек) не больше) тогда смысл делать изи плагин на RE? когда кроссплатформенность лучше же) и удобнее!) ну эт лично мое мнение и не более того! если я не прав то растолкуйте!) мне лично интересно и полезно знать) хотя бы для своего развития)
 

d3m37r4

Постоялец
Регистрация
8 Июн 2017
Сообщения
504
Симпатии
245
Пол
Мужской
VKcom
id109544387
Telegram
@dmitry_isakow
#20
Анатолий, кому с каким бубном удобней плясать, тот с тем и пляшет. Ничего критичного в использовании разных вариантов нет. Супер мегаоптимизаций нигде не получишь.
 
Статус
Новые ответы в этой теме размещать нельзя.