Skill Elo

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

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Можно ли добавить в формулу победу и проигрыш команды?
Если команда выиграла раунд то давать + к скиллу если нет то - к скиллу.
Код:
new Float:delta = 1.0 / (1.0 + floatpower(10.0, (UserData[killer][Skill] - UserData[victim][Skill]) / 100.0))
UserData[killer][Skill] += (UserData[killer][kills] < 100) ? (delta * 2.0) : (delta * 1.5)
UserData[victim][Skill] -= (UserData[victim][kills] < 100) ? (delta * 2.0) : (delta * 1.5)
 
Последнее редактирование:

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Удалить! реализовал.
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.598
Симпатии
570
Пол
Мужской
Анатолий, каким способом?
так как описали?
 

Анатолий

Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
686
Симпатии
196
Пол
Мужской
ВКонтакте
e1337ace
Анатолий, каким способом?
так как описали?
ну типа так) тесты провел вроде норм пашет.
Код:
#define TEAM_WINS_SKILL 0.50         // +/- К скиллу если команда выйграла или проиграла раунд. (Закомментируйте если не требуется)
#if defined TEAM_WINS_SKILL
#define MIN_TEAM_PLAYERS 2         // Минимальное количество игроков (За T и CT) для работы функции.
#endif

public plugin_init()
{
#if defined TEAM_WINS_SKILL
    register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
    register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
#endif
}

#if defined TEAM_WINS_SKILL
public t_win()
{
    static id
    if (get_players_t() & get_players_ct() >= MIN_TEAM_PLAYERS)
    {
        for (id = 1; id <= 32; id ++)
        {
            if (get_bit(g_Connected, id))
            {
                switch(get_user_team(id))
                {
                    case 1:
                    {
                        UserData[id][Skill] += TEAM_WINS_SKILL * 3
                    }
                    case 2:
                    {
                        UserData[id][Skill] -= TEAM_WINS_SKILL * 3
                    }
                }
            }
        }
    }
}

public ct_win()
{
    static id
    if (get_players_ct() & get_players_t() >= MIN_TEAM_PLAYERS)
    {
        for (id = 1; id <= 32; id ++)
        {
            if (get_bit(g_Connected, id))
            {
                switch(get_user_team(id))
                {
                    case 1:
                    {
                        UserData[id][Skill] -= TEAM_WINS_SKILL * 3
                    }
                    case 2:
                    {
                        UserData[id][Skill] += TEAM_WINS_SKILL * 3
                    }
                }
            }
        }
    }
}

public get_players_t()
{
    static id, num
    for (id = 1; id <= 32; id ++)
    {
        if (get_user_team(id) == 1)
            num ++
    }
    return num
}

public get_players_ct()
{
    static id, num
    for (id = 1; id <= 32; id ++)
    {
        if (get_user_team(id) == 2)
            num ++
    }
    return num
}
#endif
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу