
В этой статье я расскажу вам
как сделать на своем ZP 4.3 сервере получение награды за убийство Немезиды (Nemesis) или выжившего (Survivor)
Приступим!
Регистрируем квары:
new cvar_reward_killnemesis , cvar_reward_killsurvivor
Далее ищем:
public plugin_init()
и добавляем под ним:
cvar_reward_killnemesis = register_cvar("zp_kill_nemesis_reward", "100")
cvar_reward_killsurvivor = register_cvar("zp_kill_survivor_reward", "100")
затем ищем:
public fw_PlayerKilled_Post(victim, attacker, shouldgib)
и после:
selfkill = (victim == attacker || !is_user_valid_connected(attacker)) ? true : false
добавляем следующий код :
if (g_zombie[attacker] && !g_nemesis[attacker])
{
if(g_survivor[victim])
{
native_set_user_ammopacks(attacker, g_ammopacks[attacker] + get_pcvar_num(cvar_reward_killsurv))
g_ammopacks[attacker] += get_pcvar_num(cvar_reward_killsurv)
zp_colored_print(attacker, "^x04[ZP]^x01 %L", attacker, "KILL_SURV", g_playername[attacker], get_pcvar_num(cvar_reward_killsurv))
}
}
if (!g_zombie[attacker] && !g_survivor[attacker])
{
if(!g_nemesis[victim])
{
native_set_user_ammopacks(attacker, g_ammopacks[attacker] + get_pcvar_num(cvar_reward_killnem))
g_ammopacks[attacker] += get_pcvar_num(cvar_reward_killnem)
zp_colored_print(attacker, "^x04[ZP]^x01 %L", attacker, "KILL_NEM", g_playername[attacker], get_pcvar_num(cvar_reward_killnem))
}
}
Должно получиться примерно так:
public fw_PlayerKilled_Post(victim, attacker, shouldgib)
{
// Last Zombie Check
fnCheckLastZombie()
// Determine whether the player killed himself
static selfkill
selfkill = (victim == attacker || !is_user_valid_connected(attacker)) ? true : false
if (g_zombie[attacker] && !g_nemesis[attacker])
{
if(g_survivor[victim])
{
native_set_user_ammo_packs(attacker, g_ammopacks[attacker] + get_pcvar_num(cvar_reward_killsurv))
g_ammopacks[attacker] += get_pcvar_num(cvar_reward_killsurv)
zp_colored_print(attacker, "^x04[ZP]^x01 %L", attacker, "KILL_SURV", g_playername[attacker], get_pcvar_num(cvar_reward_killsurv))
}
}
if (!g_zombie[attacker] && !g_survivor[attacker])
{
if(!g_nemesis[victim])
{
native_set_user_ammo_packs(attacker, g_ammopacks[attacker] + get_pcvar_num(cvar_reward_killnem))
g_ammopacks[attacker] += get_pcvar_num(cvar_reward_killnem)
zp_colored_print(attacker, "^x04[ZP]^x01 %L", attacker, "KILL_NEM", g_playername[attacker], get_pcvar_num(cvar_reward_killnem))
}
}
if (get_pcvar_num(cvar_deathmatch))
{
if (selfkill && !get_pcvar_num(cvar_respawnonsuicide))
return;
if ((g_zombie[victim] && !g_nemesis[victim] && !get_pcvar_num(cvar_respawnzomb)) || (!g_zombie[victim] && !g_survivor[victim] && !get_pcvar_num(cvar_respawnhum)) || (g_nemesis[victim] && !get_pcvar_num(cvar_respawnnem)) || (g_survivor[victim] && !get_pcvar_num(cvar_respawnsurv)))
return;
set_task(get_pcvar_float(cvar_spawndelay), "respawn_player_task", victim+TASK_SPAWN)
}
}
в zombieplague.cfg добавляем строки:
zp_kill_survivor_reward 100
zp_kill_nemesis_reward 100
в zombieplague.txt (lang) добавляем строки:
KILL_SURV = Игрок %s получает 110 аммо за убийство Выжевшего!
KILL_NEM = Игрок %s получает 120 аммо за убийство Босса!
Готово!
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.