Witam czy jest ktoś wstanie przerobić mi ten plugin pod ten system?
http://amxx.pl/topic...em-ammo-packow/
#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", "1.5") g_silver_bullets_cost = register_cvar("zp_silver_bullets_cost", "13") 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() }