Одна модель на сервере csdm ffa

Сообщения
3
Реакции
0
Доброго времени суток как говорится ,помогите найти плагин который делает только одну модель противника на сервере с ffa, то есть когда играешь за кт у тебя все тт модели и наоборот .
 
Сообщения
1,539
Реакции
2,318
Помог
39 раз(а)
fl0wer, это будет уже следующий шаг в раздел проблем или сразу платных услуг
 
Сообщения
1,661
Реакции
1,486
Помог
24 раз(а)
Алексеич, круто, но модельки же не работают?
 
Сообщения
203
Реакции
324
Помог
3 раз(а)
Tranquillity, а еще клиенту плохо будет, падение FPS на 40-50% из-за аттача моделей таким образом
27 Янв 2020
fl0wer, если память не изменяет, то в cl_minmodels 1 с таким плагином будет так раз такое поведение, которое описал автор темы
 
Сообщения
1,661
Реакции
1,486
Помог
24 раз(а)
Код:
#pragma semicolon 1

#include <amxmodx>
#include <reapi>

new const ENEMY_MODEL[][] = { "arctic", "guerilla", "leet", "terror" };

new g_msgTeamInfo;

public plugin_init()
{
    register_plugin("FFA Enemy Models", "1.0", "fl0wer");
}

public plugin_precache()
{
    for (new i = 0; i < sizeof(ENEMY_MODEL); i++)
        precache_model(fmt("models/player/%s/%s.mdl", ENEMY_MODEL[i], ENEMY_MODEL[i]));
}

public plugin_cfg()
{
    if (!get_cvar_num("mp_freeforall"))
    {
        set_fail_state("Cvar ^"mp_freeforall^" is disabled");
        return;
    }

    g_msgTeamInfo = get_user_msgid("TeamInfo");

    register_message(get_user_msgid("StatusValue"), "@MSG_StatusValue");
    register_message(g_msgTeamInfo, "@MSG_TeamInfo");

    RegisterHookChain(RG_CBasePlayer_Spawn, "@CBasePlayer__Spawn_Post", true);
}

@MSG_StatusValue(id, dest, player)
{
    if (get_msg_arg_int(1) != 1)
        return;

    set_msg_arg_int(2, ARG_SHORT, 2);
}

@MSG_TeamInfo(id, dest, player)
{
    new teamName[2];
    get_msg_arg_string(2, teamName, charsmax(teamName));

    if (!(teamName[0] == 'T' || teamName[0] == 'C'))
        return PLUGIN_CONTINUE;

    new playerId = get_msg_arg_int(1);

    if (dest == MSG_ONE)
        SendTeamInfo(player, playerId, player == playerId ? "CT" : "TERRORIST");
    else
    {
        new TeamName:teamNum;

        for (new i = 1; i <= MaxClients; i++)
        {
            if (!is_user_connected(i))
                continue;

            teamNum = get_member(i, m_iTeam);

            if (!(teamNum == TEAM_TERRORIST || teamNum == TEAM_CT))
                continue;

            SendTeamInfo(i, playerId, i == playerId ? "CT" : "TERRORIST");
        }
    }

    return PLUGIN_HANDLED;
}

@CBasePlayer__Spawn_Post(id)
{
    if (!is_user_alive(id))
        return;

    rg_set_user_model(id, ENEMY_MODEL[random_num(0, sizeof(ENEMY_MODEL) - 1)]);
}

SendTeamInfo(player, playerId, teamName[])
{
    message_begin(MSG_ONE, g_msgTeamInfo, _, player);
    write_byte(playerId);
    write_string(teamName);
    message_end();
}
Попробуйте протестировать.
 

Вложения

Последнее редактирование:

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу