10
апр
2025

[ZP] Награда за убийство немезиды    

Категория: CS 1.6: Статьи, Автор: alawz, Просмотров: 29


В этой статье я расскажу вам

как сделать на своем 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 аммо за убийство Босса!

Готово!



0

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.



Комментарии


Добавление комментария
Ваше Имя:
Ваш E-Mail:
Новый проект аниме блоги на недре

0
Код:
Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: