[CS 1.6] Как сделать проверку на флаг для зомби класса?

Ðак ÑделаÑÑ Ð¿ÑовеÑÐºÑ Ð½Ð° Ñлаг Ð´Ð»Ñ Ð·Ð¾Ð¼Ð±Ð¸ клаÑÑа?

Статья о том как можно сделать любой зомби класс VIP, то есть поставить проверку на флаг доступа!

1. Ищем функцию "zp_register_zombie_class" в исходнике зомби класса. Это должно выглядеть так:
public plugin_precache() 
{ 
    g_zclass_crow = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) 
     
}
2. Добавляем данный код:
public zp_user_infected_pre(id) { 
    if(!(get_user_flags(id) & ADMIN_LEVEL_H)) { 
        if (zp_get_user_next_class(id) == g_zclass_crow) { 
            zp_set_user_zombie_class(id, 0) 
            client_print(id, print_center, "Your selected class in only for *VIP* members") 
            client_print(id, print_chat, "Your selected class in only for *VIP* members. Changed to default zombie class.") 
        }     
    } 
}  
3. g_zclass_crow должна быть той же переменной что и в пункте 1..
(if(zp_get_user_zombie_class(id) == g_zclass_crow)

ADMIN_LEVEL_H это стандартный t флаг в users.ini. Он используется в большинстве плагинов для ВИПки. Вы можете поставить любой флаг который вы хотите.
Если вы хотите сделать класс для админа напишите это: ADMIN_IMMUNITY


Комментариев 1
  1. Keks1k
    • 0
    Кривой код :/ 4 ошибки
    Правильный код: + сток в конце плагина
    public zp_user_infected_pre(id)
    {
    if(!(get_user_flags(id) & ADMIN_LEVEL_H))
    {
    if(zp_get_user_next_class(id) == g_Ваш зомби класс)
    {
    zp_set_user_zombie_class(id, 0)
    ChatColor(id, "!y[!teamZP!y] !yДанный класс для !gПРИВИЛЕГИИ")
    }
    }
    }

    stock ChatColor(const id, const input[], any:...)
    {
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)

    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color

    if (id) players[0] = id; else get_players(players, count, "ch")
    {
    for (new i = 0; i < count; i++)
    {
    if (is_user_connected(players[i]))
    {
    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
    write_byte(players[i]);
    write_string(msg);
    message_end();
    }
    }
    }
    }


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Добро пожаловать на CS-DEV.RU!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт