В данной статье описан самый просто способ, как сделать выдачу зомби класса по уровню, или как сделать выбор зомби классов через LVL систему.
1. В самое начала исходника вставляем натив:
native ils_get_user_level(id)
2. Теперь нам нужно найти ID нашего зомби классы, для этого находи функцию:
public plugin_precache()
и обычно первая переменная это ID нашего класса (например)
![]()
В моем случаи g_zclass_smoker, у вас он будет другой, запоминаем его и едем дальше!
3.Создаем функцию и вставляем ее ниже public plugin_precache:
public zp_user_infected_pre(id)
{
if(!(ils_get_user_level(id) > 29))
{
if(zp_get_user_next_class(id) == g_zclass_smoker)
{
zp_set_user_zombie_class(id, 0)
}
}
}
1.1 Где красным, это ID вашего зомби класса, Вам нужно данную переменную заменить на свой ID который мы получили в пункте номер 2.
1.2 Где зеленым, Отчет по уровню идет с 0, делаем выводы, если хотите что бы класс выдавался с 30 уровня, указываете в функции 29.
1.3 Где оранжевым, это натив в нашей лвл системе, если вы использовать свою LVL систему, то меняйте на свои нативы!
4.Готово
(Bonus) Так-же если вы хотите отправлять сообщение клиенту в чат, то можете использовать данный код:
public zp_user_infected_pre(id)
{
if(!(zp_level(id) > 14))
{
if(zp_get_user_next_class(id) == g_zclass_smoker)
{
zp_set_user_zombie_class(id, 0)
ChatColor(id, "!y(!teamZP!y) !yДанный зомби класс доступен - !gс 15 уровня!")
}
}
}
Сток:
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();
}
}
}
}