/* Silver Bullets */
damage_faktor = register_cvar("zp_silver_bullets_damage_factor", "5.0")
g_silver_bullets_cost = register_cvar("zp_silver_bullets_cost", "40")I cena sie zmieniła, lecz obrazenia nie... proszę tutaj daje cały plugin i proszę o pomoc ;(
/*
[ZP] Extra Item : Silver Bullets
( ability for Humans )
by Fry! & SnoW
Description :
When You will buy these Silver Bullets ammos will be different and will be able
to do screen shake as well, You will create more damage to victim (can change by cvar).
Cvars :
- Silver Bullets
zp_silver_bullets_damage_factor "1.5" - How much damage bullets will do.
zp_silver_bullets_cost "13" - How much Silver Bullets will cost.
Credits :
SnoW - for his Silver bullets plugin! <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/wink.gif' class='bbc_emoticon' alt=';)' />
Changelog :
08/01/2009 - v1.0 - First release
*/
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
#define PLUGIN "[ZP] Extra Item : Magic Bullets"
#define VERSION "1.0.3"
#define AUTHOR "Fry! & SnoW"
#define LAST 0
#define FULL 1
new m_spriteTexture
new damage_factor
new fov_value, shake_value
new has_sbullets[33], last_bullet[33]
new g_item_name1[] = "Silver Bullets"
new g_itemid_silverb, g_silver_bullets_cost
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("zp_extra_magic_bullets",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
fov_value = get_user_msgid("SetFOV")
shake_value = get_user_msgid ("ScreenShake")
/* Silver Bullets */
damage_factor = register_cvar("zp_silver_bullets_damage_factor", "5.0")
g_silver_bullets_cost = register_cvar("zp_silver_bullets_cost", "40")
g_itemid_silverb = zp_register_extra_item(g_item_name1, get_pcvar_num(g_silver_bullets_cost), ZP_TEAM_HUMAN)
register_forward(FM_PlayerPreThink, "PreThink")
RegisterHam(Ham_TakeDamage, "player", "Damage")
RegisterHam(Ham_Spawn, "player", "Spawn", 1)
}
public plugin_precache()
{
m_spriteTexture = precache_model("sprites/dot.spr")
}
public PreThink(id)
{
if(!is_user_alive(id))
return FMRES_IGNORED
new weapon, clip, ammo
weapon = get_user_weapon(id,clip,ammo)
if(~pev(id, pev_button) & IN_ATTACK || weapon == 13 || clip == 0 || clip == last_bullet[id])
return FMRES_IGNORED
last_bullet[id] = clip
if(has_sbullets[id])
bullet_effect(id, 0)
return FMRES_IGNORED
}
public zp_extra_item_selected(player, itemid)
{
if(itemid == g_itemid_silverb)
{
new ammo_packs = zp_get_user_ammo_packs(player);
new price = get_pcvar_num(g_silver_bullets_cost);
if(ammo_packs > price)
{
zp_set_user_ammo_packs(player, ammo_packs - price)
has_sbullets[player] = 1
client_print(player, print_chat, "[ZP] You just bought Silver Bullets. Just reload and go!")
}
else
client_print(player, print_chat, "[ZP] You don't have enough ammo packs to buy Silver Bullets.");
}
}
public Damage(id, inflictor, attacker, Float:damage, Damage_d)
{
if(~Damage_d & DMG_BULLET)
if(0 < attacker < 33 && has_sbullets[attacker])
{
SetHamParamFloat(4, damage * get_pcvar_float(damage_factor))
fov_shake(id)
}
return HAM_HANDLED
}
public Spawn(id)
{
if(is_user_alive(id))
has_sbullets[id] = 0
return HAM_HANDLED
}
public bullet_effect(id, num)
{
new k_origin[3]
new v_origin[3]
get_user_origin(id,k_origin, 1)
get_user_origin(id,v_origin, 4)
message_begin(MSG_ONE, SVC_TEMPENTITY,{0,0,0}, id)
write_byte(0)
write_coord(k_origin[0])
write_coord(k_origin[1])
write_coord(k_origin[2]) //origins ->
write_coord(v_origin[0])
write_coord(v_origin[1])
write_coord(v_origin[2]) //origins <-
write_short( m_spriteTexture )
write_byte(1) // framestart
write_byte(1) // framerate
write_byte(1) // life in 0.1's
write_byte(5) // width
write_byte(0) // noise
write_byte(255) // r, g, b
write_byte(255) // r, g, b
write_byte(255) // r, g, b
write_byte(100) // brightness
write_byte(0) // speed
message_end()
}
public fov_shake(id)
{
message_begin(MSG_ONE, fov_value, {0,0,0}, id)
write_byte(fov_value + 4)
message_end()
message_begin( MSG_ONE, shake_value, { 0, 0, 0 }, id)
write_short(1<<14)
write_short(1<<12)
write_short(1<<14)
message_end()
set_task(0.4, "un_fov", id)
}
public un_fov(id)
{
message_begin(MSG_ONE, fov_value, {0,0,0}, id)
write_byte(fov_value)
message_end()
}
2. A jak sie nie da to mógłby ktoś przerobić plugin w załączniku, że nie ma srebrnej amunicji tylko jest sama Zatruta.


Dodatki SourceMod



Temat jest zamknięty
zp_extra_magic_bullets.amxx









