1.1 - премахнат csx модул
2.0 - Един голям Update на плъгина, благодарности на Flicker
nice_headshot_bonus_hp 10 - Дава по 10 кръв с убийство на HeadShot.
nice_knife_bonus_money 2000 - Дава 2000 Money при убийство с Knife.
nice_knife_bonus_hp 15 - Дава 15 Health при убийство с Knife
nice_grenade_bonus_money 1500 - Дава 1500 Money при убийство с Grenade
nice_grenade_bonus_hp 10 - Дава 10 Health при убийство с Grenade
nice_bonus_vip_only 0 - Дава всички бонуси само за админите (зависи от стойноста)
0 - прави бонусите достъпни за всички в сървъра
1 - прави бонусите достъпни само за хора с флаг "e" (за slay)
nice_messages 2 - Показва съобщение при убийство (Зависи от каква стойност изкате)
0 - изключва съобщенията
1 - прави съобщенията цветни в чата
2 - прави съобщенията в HUD - централно, над мерника на играча, в случайни цветове
nice_sounds 1 - Пуска различни звуци при убийства (зависи от стойноста)
0 - изключва звуците
1 - включва звуците само за убиеца и жертвата
2 - включва звуците за всички в сървъра!
Тази версия включва някои подобрения като:
- Замяна на използването на `ColorMessage` с `set_dhudmessage` за повече опции за персонализиране на дисплея на съобщението.
- Добавена е поддръжка за убийства, извършени с различни видове гранати, не само хегранати.
- Добавен номер на версия за плъгина.
- Подобрена четимост на кода.
- Кодът е по-организиран и лесен за разбиране.
- По-добро използване на константи и променливи.
Code: Select all
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <dhudmessage>
#define RandomNum random_num(0, 255)
#define vip ADMIN_SLAY
new soundHS[64] = "misc/nice_sounds/headshot.wav"
new soundKnife[64] = "misc/nice_sounds/knife.wav"
new soundGrenade[64] = "misc/nice_sounds/grenade.wav"
new nHead_Bonus_CvarMoney, KnifeBonusCvarMoney, GrenadeBonusCvarMoney
new HeadBonusCvarHP, KnifeBonusCvarHP, GrenadeBonusCvarHP
new VipOnly
new Messages, Sounds
new check
public plugin_precache()
{
precache_sound(soundHS)
precache_sound(soundKnife)
precache_sound(soundGrenade)
}
public plugin_init()
{
register_plugin("Kill Bonuses", "3.0", "1MP4C7")
register_event("DeathMsg", "Death", "a")
nHead_Bonus_CvarMoney = register_cvar("nice_headshot_bonus_money", "1000")
HeadBonusCvarHP = register_cvar("nice_headshot_bonus_hp", "10")
KnifeBonusCvarMoney = register_cvar("nice_knife_bonus_money", "2000")
KnifeBonusCvarHP = register_cvar("nice_knife_bonus_hp", "15")
GrenadeBonusCvarMoney = register_cvar("nice_grenade_bonus_money", "1500")
GrenadeBonusCvarHP = register_cvar("nice_grenade_bonus_hp", "10")
VipOnly = register_cvar("nice_bonus_vip_only", "0")
Messages = register_cvar("nice_messages", "2")
Sounds = register_cvar("nice_sounds", "1")
}
public Death()
{
new killer = read_data(1)
new victim = read_data(2)
new hs = read_data(3)
new bonusHSMoney = get_pcvar_num(nHead_Bonus_CvarMoney)
new bonusHSHP = get_pcvar_num(HeadBonusCvarHP)
new bonusKnifeMoney = get_pcvar_num(KnifeBonusCvarMoney)
new bonusKnifeHP = get_pcvar_num(KnifeBonusCvarHP)
new bonusGrenadeMoney = get_pcvar_num(GrenadeBonusCvarMoney)
new bonusGrenadeHP = get_pcvar_num(GrenadeBonusCvarHP)
new money = cs_get_user_money(killer)
new health = get_user_health(killer)
new weapon[4]
read_data( 4, weapon, charsmax(weapon ) )
new NameKiller[32]
get_user_name(killer, NameKiller, 31)
new NameVictim[32]
get_user_name(victim, NameVictim, 31)
if(get_pcvar_num(VipOnly))
check = vip
else
check = ADMIN_ALL
if(get_user_flags(killer) & check)
{
if(hs)
{
cs_set_user_money(killer, money + bonusHSMoney)
set_user_health(killer, health + bonusHSHP)
if(get_pcvar_num(Messages) == 1)
{
ColorMessage(victim, "%s ti razcepi tikvata!", NameKiller)
ColorMessage(killer, "Ti razcepi tikvata na %s i poluchi %dHP kakto i %d$", NameVictim, bonusHSHP, bonusHSMoney)
}
else if(get_pcvar_num(Messages) == 2)
{
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameKiller)
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, " razcepi tikvata na ")
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameVictim)
}
if(get_pcvar_num(Sounds))
client_cmd(killer, "spk %s", soundHS)
}
if(equali(weapon, "knife"))
{
cs_set_user_money(killer, money + bonusKnifeMoney)
set_user_health(killer, health + bonusKnifeHP)
if(get_pcvar_num(Messages) == 1)
{
ColorMessage(victim, "%s ti napravi kamikadze!", NameKiller)
ColorMessage(killer, "Ti hvurli kamikadze na %s i poluchi %dHP kakto i %d$", NameVictim, bonusKnifeHP, bonusKnifeMoney)
}
else if(get_pcvar_num(Messages) == 2)
{
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameKiller)
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, " hvurli kamikadze na ")
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameVictim)
}
if(get_pcvar_num(Sounds))
client_cmd(killer, "spk %s", soundKnife)
}
if(equali(weapon, "hegrenade") || equali(weapon, "flashbang") || equali(weapon, "smokegrenade"))
{
cs_set_user_money(killer, money + bonusGrenadeMoney)
set_user_health(killer, health + bonusGrenadeHP)
if(get_pcvar_num(Messages) == 1)
{
ColorMessage(victim, "%s hvurli granata!", NameKiller)
ColorMessage(killer, "Ti hvurli granata na %s i poluchi %dHP kakto i %d$", NameVictim, bonusGrenadeHP, bonusGrenadeMoney)
}
else if(get_pcvar_num(Messages) == 2)
{
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameKiller)
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, " hvurli granata na ")
set_dhudmessage(RandomNum, RandomNum, RandomNum, -1, 0.05, 0.5, 0.05, 0.5, 3.0, NameVictim)
}
if(get_pcvar_num(Sounds))
client_cmd(killer, "spk %s", soundGrenade)
}
}
}