Posts: 138
Threads: 4
Joined: Aug 2012
Reputation:
0
Arkadaşlar bende zp_extra_SLG diye bir plugin var.Bu pluginde mermi sayısını sınırlı(5 mermi,0 şarjör) gibi ve damage ayarınının değiştirilebilir olmasını istiyorum elimde sadece .sma dosyası var.Editleyebilirseniz çok güzel olur.
[HTML]#include <amxmodx>
#include <zombieplague>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
/* [ZP] Extra Item : Sniper Laser Gun [SLG] ! By xLeoNNN. (san antonio,chile)
this is my second plugin, the Sniper Laser Gun [SLG] is a weapon awp with efects,laser,
Credits :
meTaLiCroSS : for code of damage of "gauss"
Mr.Death : how to create the effects and use the "Temp Entity"
*/
new g_ibuy
new bullets[33]
new hotflarex, laserb, thunder
new bool:g_lasergun[33]
new g_iMaxPlayers
const q_pPlayer = 41
new Shakes
const Second = ( 1<<10 )
new cvar_particles_dead, cvar_bullet_efect, cvar_thunder, cvar_oneround
new g_currentweapon[33]
new V_LASERGUN[] = "models/zombie_plague/v_sniper_laser_gun.mdl"
new P_LASERGUN[] = "models/zombie_plague/p_sniper_laser_gun.mdl"
new W_LASERGUN[] = "models/zombie_plague/w_sniper_laser_gun.mdl"
new const LaserSound[] = "weapons/electro4.wav"
public plugin_init()
{
register_plugin("[ZP] Extra Item: Sniper Laser Gun", "1.0", "x[L]eoNNN")
g_ibuy = zp_register_extra_item("Sniper Laser Gun", 40, ZP_TEAM_HUMAN)
Shakes = get_user_msgid( "ScreenShake" )
register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0")
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_AWP_PrimaryAttack_Post", 1)
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
register_forward(FM_SetModel, "fw_SetModel")
cvar_particles_dead = register_cvar("zp_slg_particles", "1")
cvar_bullet_efect = register_cvar("zp_slg_bullet", "1")
cvar_thunder = register_cvar("zp_slg_thunder", "1")
cvar_oneround = register_cvar("zp_slg_oneround", "1")
}
public plugin_precache()
{
hotflarex = precache_model("sprites/flare6.spr")
laserb = precache_model("sprites/laserbeam.spr")
thunder = precache_model("sprites/zbeam1.spr")
precache_model(V_LASERGUN)
precache_model(P_LASERGUN)
precache_model(W_LASERGUN)
precache_sound(LaserSound)
}
public zp_extra_item_selected(id, itemid)
{
if (itemid ==g_ibuy)
{
g_lasergun[id] = true
give_item (id, "weapon_awp")
cs_set_user_bpammo(id, CSW_AWP, 20)
client_print(id, print_center, "[ZP] Sniper Laser Gun ON! Killed All Zombies!")
}
if(g_lasergun[id] && user_has_weapon(id, CSW_AWP))
{
client_print(id, print_chat, "/g[ZP]/y You Already Have Sniper Laser Gun!")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 40)
return;
}
}
public zp_user_infected_post(infected, infector)
{
if (g_lasergun[infected])
{
g_lasergun[infected] = false
}
}
public event_round_start()
{
for (new i = 1; i <= g_iMaxPlayers; i++)
{
if (!is_user_connected(i))
continue
if (g_lasergun)
{
g_lasergun = false
}
}
}
public client_putinserver(id)
{
g_lasergun[id] = false
}
public client_disconnect(id)
{
g_lasergun[id] = false
}
public make_tracer(id)
{
if(get_pcvar_num(cvar_bullet_efect))
{
if(g_lasergun[id] && g_currentweapon[id])
{
new clip,ammo
new wpnid = get_user_weapon(id,clip,ammo)
new pteam[16]
get_user_team(id, pteam, 15)
if ((bullets[id] > clip) && (wpnid == CSW_AWP))
{
new laser1[3], laser2[3]
get_user_origin(id, laser1, 1)
get_user_origin(id, laser2, 4)
message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
write_byte (1)
write_short(id | 0x1000)
write_coord (laser2[0])
write_coord (laser2[1])
write_coord (laser2[2])
write_short( laserb )
write_byte(1)
write_byte(5)
write_byte(1)
write_byte(80)
write_byte(20)
write_byte(0)
write_byte(52)
write_byte(255)
write_byte(255)
write_byte(150)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_DLIGHT)
write_coord(laser1[0])
write_coord(laser1[1])
write_coord(laser1[2])
write_byte(13)
write_byte(254)
write_byte(0)
write_byte(0)
write_byte(100)
write_byte(10)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPRITETRAIL)
write_coord(laser1[0])
write_coord(laser1[1])
write_coord(laser1[2])
write_coord(laser1[0])
write_coord(laser1[1])
write_coord(laser1[2])
write_short(hotflarex)
write_byte(5)
write_byte(1)
write_byte(3)
write_byte(34)
write_byte(43)
message_end()
emit_sound(id, CHAN_AUTO, LaserSound, VOL_NORM, ATTN_NORM , 0, PITCH_NORM)
}
bullets[id] = clip
}
}
}
public Event_CurWeapon(id)
{
g_currentweapon[id] = read_data(2)
if(!g_lasergun[id] || g_currentweapon[id] != CSW_AWP)
return PLUGIN_CONTINUE
entity_set_string(id, EV_SZ_viewmodel, V_LASERGUN)
entity_set_string(id, EV_SZ_weaponmodel, P_LASERGUN)
return PLUGIN_CONTINUE
}
public fw_SetModel(entity, model[])
{
if(!is_valid_ent(entity))
return FMRES_IGNORED
if(!equali(model, "models/w_awp.mdl"))
return FMRES_IGNORED;
new ads = entity_get_edict(entity, EV_ENT_owner)
new className[33]
entity_get_string(entity, EV_SZ_classname, className, 32)
if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
{
if(g_lasergun[ads])
{
entity_set_model(entity, W_LASERGUN)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker)
return HAM_IGNORED
if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP)
{
static Float:originF[3]
pev(victim, pev_origin, originF)
new plrWeapId, plrClip, plrAmmo
plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo)
if (plrWeapId == CSW_AWP)
SetHamParamFloat(4, damage += get_user_health(victim))
client_print(attacker, print_center, "Enemy Electrocuted!")
if(get_pcvar_num(cvar_particles_dead))
dead_efect(originF)
}
if(zp_get_user_nemesis(victim))
{
client_print(attacker, print_center, "Nemesis is Inmune")
}
return PLUGIN_HANDLED;
}
dead_efect(const Float:originF[3])
{
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_PARTICLEBURST)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+10)
write_short(250)
write_byte(70)
write_byte(55)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_PARTICLEBURST)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+10)
write_short(250)
write_byte(70)
write_byte(55)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_PARTICLEBURST)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+10)
write_short(250)
write_byte(83)
write_byte(55)
message_end()
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_IMPLOSION)
engfunc(EngFunc_WriteCoord, originF[0])
engfunc(EngFunc_WriteCoord, originF[1])
engfunc(EngFunc_WriteCoord, originF[2]+10)
write_byte(random_num(100, 300))
write_byte(20)
write_byte(3)
message_end()
}
public fw_AWP_PrimaryAttack_Post(awp)
{
if(get_pcvar_num(cvar_thunder))
{
static id
id = get_pdata_cbase(awp, q_pPlayer, 4)
if(is_user_connected(id) && g_lasergun[id])
{
new iEndOrigin[3]
get_user_origin(id, iEndOrigin, 3)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin)
write_byte(TE_EXPLOSION)
write_coord(iEndOrigin[0])
write_coord(iEndOrigin[1])
write_coord(iEndOrigin[2] +10)
write_short(thunder)
write_byte(90)
write_byte(60)
write_byte(TE_EXPLFLAG_NONE)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin)
write_byte(TE_EXPLOSION)
write_coord(iEndOrigin[0])
write_coord(iEndOrigin[1])
write_coord(iEndOrigin[2]+20)
write_short(thunder)
write_byte(60)
write_byte(20)
write_byte(TE_EXPLFLAG_NONE)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin)
write_byte(TE_EXPLOSION)
write_coord(iEndOrigin[0])
write_coord(iEndOrigin[1])
write_coord(iEndOrigin[2] +30)
write_short(thunder)
write_byte(60)
write_byte(20)
write_byte(TE_EXPLFLAG_NONE)
message_end()
message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin)
write_byte(TE_BEAMCYLINDER)
write_coord(iEndOrigin[0])
write_coord(iEndOrigin[1])
write_coord(iEndOrigin[2])
write_coord(iEndOrigin[0])
write_coord(iEndOrigin[1])
write_coord(iEndOrigin[2]+200)
write_short(hotflarex)
write_byte(0)
write_byte(1)
write_byte(6)
write_byte(8)
write_byte(1)
write_byte(255)
write_byte(255)
write_byte(192)
write_byte(128)
write_byte(5)
message_end()
message_begin( MSG_ONE_UNRELIABLE, Shakes, _, id )
write_short( Second*5 )
write_short( Second*5 )
write_short( Second*5 )
message_end( )
}
}
}
public fw_PlayerSpawn_Post(id)
{
if(get_pcvar_num(cvar_oneround))
{
if(g_lasergun[id])
{
g_lasergun[id] = false
ham_strip_weapon(id, "weapon_awp")
}
}
}
stock ham_strip_weapon(id, weapon[])
{
if(!equal(weapon,"weapon_",7))
return 0
new idd = get_weaponid(weapon)
if(!idd) return 0
new wEnt
while((wEnt = find_ent_by_class(wEnt, weapon)) && entity_get_edict(wEnt, EV_ENT_owner) != id) {}
if(!wEnt) return 0
if(get_user_weapon(id) == idd)
ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt))
return 0
ExecuteHamB(Ham_Item_Kill, wEnt)
entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) & ~(1<<idd))
return 1
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par }
*/
[/HTML][/i]
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
04-01-13, 22:30
(This post was last modified: 06-04-13, 14:43 by akcaliberkk.)
PHP Code: #include <amxmodx> #include <zombieplague> #include <fun> #include <cstrike> #include <engine> #include <hamsandwich> #include <fakemeta>
/* [ZP] Extra Item : Sniper Laser Gun [SLG] ! By xLeoNNN. (san antonio,chile) this is my second plugin, the Sniper Laser Gun [SLG] is a weapon awp with efects,laser, Credits : meTaLiCroSS : for code of damage of "gauss" Mr.Death : how to create the effects and use the "Temp Entity" */ new g_ibuy new cvar_limit,cvar_damage; new used[33]; new bullets[33] new hotflarex, laserb, thunder new bool:g_lasergun[33] new g_iMaxPlayers const q_pPlayer = 41 new Shakes const Second = ( 1<<10 ) new cvar_particles_dead, cvar_bullet_efect, cvar_thunder, cvar_oneround new g_currentweapon[33]
new V_LASERGUN[] = "models/zombie_plague/v_sniper_laser_gun.mdl" new P_LASERGUN[] = "models/zombie_plague/p_sniper_laser_gun.mdl" new W_LASERGUN[] = "models/zombie_plague/w_sniper_laser_gun.mdl" new const LaserSound[] = "weapons/electro4.wav"
public plugin_init() { register_plugin("[ZP] Extra Item: Sniper Laser Gun", "1.0", "x[L]eoNNN") g_ibuy = zp_register_extra_item("Sniper Laser Gun", 40, ZP_TEAM_HUMAN) Shakes = get_user_msgid( "ScreenShake" ) register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") register_event("CurWeapon", "Event_CurWeapon", "be","1=1") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_AWP_PrimaryAttack_Post", 1) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) register_forward(FM_SetModel, "fw_SetModel") cvar_particles_dead = register_cvar("zp_slg_particles", "1") cvar_bullet_efect = register_cvar("zp_slg_bullet", "1") cvar_thunder = register_cvar("zp_slg_thunder", "1") cvar_oneround = register_cvar("zp_slg_oneround", "1") cvar_damage = register_cvar("zp_slg_damage","1000.0") cvar_limit = register_cvar("zp_slg_limit","8") }
public plugin_precache() { hotflarex = precache_model("sprites/flare6.spr") laserb = precache_model("sprites/laserbeam.spr") thunder = precache_model("sprites/zbeam1.spr") precache_model(V_LASERGUN) precache_model(P_LASERGUN) precache_model(W_LASERGUN) precache_sound(LaserSound) }
public zp_extra_item_selected(id, itemid) { if (itemid ==g_ibuy) { g_lasergun[id] = true give_item (id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 20) client_print(id, print_center, "[ZP] Sniper Laser Gun ON! Killed All Zombies!") } if(g_lasergun[id] && user_has_weapon(id, CSW_AWP)) { client_print(id, print_chat, "/g[ZP]/y You Already Have Sniper Laser Gun!") zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 40) return; } }
public zp_user_infected_post(infected, infector) { if (g_lasergun[infected]) { g_lasergun[infected] = false } }
public event_round_start() { for (new i = 1; i <= g_iMaxPlayers; i++) { if (!is_user_connected(i)) continue if (g_lasergun[i]) { g_lasergun = false } used = 0; } }
public client_putinserver(id) { used[id] = 0; g_lasergun[id] = false }
public client_disconnect(id) { g_lasergun[id] = false }
public make_tracer(id) { if(get_pcvar_num(cvar_bullet_efect)) { if(g_lasergun[id] && g_currentweapon[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16] get_user_team(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_AWP)) { new laser1[3], laser2[3] get_user_origin(id, laser1, 1) get_user_origin(id, laser2, 4) message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (1) write_short(id | 0x1000) write_coord (laser2[0]) write_coord (laser2[1]) write_coord (laser2[2]) write_short( laserb ) write_byte(1) write_byte(5) write_byte(1) write_byte(80) write_byte(20) write_byte(0) write_byte(52) write_byte(255) write_byte(255) write_byte(150) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_DLIGHT) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_byte(13) write_byte(254) write_byte(0) write_byte(0) write_byte(100) write_byte(10) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_SPRITETRAIL) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_short(hotflarex) write_byte(5) write_byte(1) write_byte(3) write_byte(34) write_byte(43) message_end() emit_sound(id, CHAN_AUTO, LaserSound, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) } bullets[id] = clip } } }
public Event_CurWeapon(id) { g_currentweapon[id] = read_data(2) if(!g_lasergun[id] || g_currentweapon[id] != CSW_AWP) return PLUGIN_CONTINUE entity_set_string(id, EV_SZ_viewmodel, V_LASERGUN) entity_set_string(id, EV_SZ_weaponmodel, P_LASERGUN) return PLUGIN_CONTINUE }
public fw_SetModel(entity, model[]) { if(!is_valid_ent(entity)) return FMRES_IGNORED if(!equali(model, "models/w_awp.mdl")) return FMRES_IGNORED; new ads = entity_get_edict(entity, EV_ENT_owner) new className[33] entity_get_string(entity, EV_SZ_classname, className, 32) if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade")) { if(g_lasergun[ads]) { entity_set_model(entity, W_LASERGUN) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits) { if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker) return HAM_IGNORED if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP) { static Float:originF[3] pev(victim, pev_origin, originF) new plrWeapId, plrClip, plrAmmo plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo) if (plrWeapId == CSW_AWP) SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage)) client_print(attacker, print_center, "Enemy Electrocuted!") if(get_pcvar_num(cvar_particles_dead)) dead_efect(originF) } if(zp_get_user_nemesis(victim)) { client_print(attacker, print_center, "Nemesis is Inmune") } return PLUGIN_HANDLED; }
dead_efect(const Float:originF[3]) { engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(83) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_IMPLOSION) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_byte(random_num(100, 300)) write_byte(20) write_byte(3) message_end() }
public fw_AWP_PrimaryAttack_Post(awp) { static id id = get_pdata_cbase(awp, q_pPlayer, 4) if(used[id] >= get_pcvar_num(cvar_limit)) { client_print(id,print_chat,"Bu Silahi Kullanma Limitiniz Doldu !") return HAM_IGNORED } used[id]++; if(get_pcvar_num(cvar_thunder)) { if(is_user_connected(id) && g_lasergun[id]) { new iEndOrigin[3] get_user_origin(id, iEndOrigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +10) write_short(thunder) write_byte(90) write_byte(60) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+20) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +30) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_BEAMCYLINDER) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+200) write_short(hotflarex) write_byte(0) write_byte(1) write_byte(6) write_byte(8) write_byte(1) write_byte(255) write_byte(255) write_byte(192) write_byte(128) write_byte(5) message_end() message_begin( MSG_ONE_UNRELIABLE, Shakes, _, id ) write_short( Second*5 ) write_short( Second*5 ) write_short( Second*5 ) message_end( ) } } }
public fw_PlayerSpawn_Post(id) { if(get_pcvar_num(cvar_oneround)) { if(g_lasergun[id]) { g_lasergun[id] = false ham_strip_weapon(id, "weapon_awp") } } }
stock ham_strip_weapon(id, weapon[]) { if(!equal(weapon,"weapon_",7)) return 0 new idd = get_weaponid(weapon) if(!idd) return 0 new wEnt while((wEnt = find_ent_by_class(wEnt, weapon)) && entity_get_edict(wEnt, EV_ENT_owner) != id) {} if(!wEnt) return 0 if(get_user_weapon(id) == idd) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt); if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0 ExecuteHamB(Ham_Item_Kill, wEnt) entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) & ~(1<<idd)) return 1 } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par } */
Denemeye fırsatım olmadı. Bir dene bak. Amxx istersen ekte.[/i][/i][/i]
Posts: 138
Threads: 4
Joined: Aug 2012
Reputation:
0
Sanırsam yapabileceğinin en iyisi bu.Ben xDclan zombie serverında görmüştüm böyle bir plugin.8 Mermisi vardı zombilere tek atıyordu 8 mermi sonra silahı atmak zorunda kalıyordun.Eğer elinden gelen bu kadarsa buda olur?
---------- Alttaki Mesaj Zamani 20:56 ---------- Önceki Mesaj Zamani 20:40 ----------
Bu plugin sanırsam buglu daha sonra uğraşabilirsen çok iyi olur.Çünkü şöyle bir sorun var
bu itemi alırken ammo gitmiyor, başka item aldığımda ise ammo gideceğine ammo geliyor.
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
nomaxx dateline='' Wrote: Sanırsam yapabileceğinin en iyisi bu.Ben xDclan zombie serverında görmüştüm böyle bir plugin.8 Mermisi vardı zombilere tek atıyordu 8 mermi sonra silahı atmak zorunda kalıyordun.Eğer elinden gelen bu kadarsa buda olur?
---------- Alttaki Mesaj Zamani 20:56 ---------- Önceki Mesaj Zamani 20:40 ----------
Bu plugin sanırsam buglu daha sonra uğraşabilirsen çok iyi olur.Çünkü şöyle bir sorun var
bu itemi alırken ammo gitmiyor, başka item aldığımda ise ammo gideceğine ammo geliyor.
Yapabileceğimin en iyisi bu değil. Senin isteğin doğrultusunda yaptığım bu. Silahın otomatik atılmasını isteseydiniz onu da yapardım fakat istemediniz. Biz de kahin değiliz.
Plugini ben yapmadım ama bu itemin diğer itemleri etkilediğini sanmıyorum.
Posts: 138
Threads: 4
Joined: Aug 2012
Reputation:
0
Ben size tam olarak isteğimi şöyle açıklayayım.
Ammo miktarı ayarlanabilir olsun,
Silahın mermisi bitince silah otomatik olarak kaybolsun,
cvar komutlarıyla;
mermi sayısı ve damage miktarı ayarlansın.
Benim isteklerim bunlar fakat şimdi denerken farkettim ki bu itemi aldığımda ne ammo gidiyor ne ammo geliyor, başka item aldığımda ise sadece ammo geliyor..
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
Quote:Ammo miktarı ayarlanabilir olsun,
Silahın mermisi bitince silah otomatik olarak kaybolsun,
bunlar yapılır fakat bug kısmı için bir şey diyemem. Pluginde sorun yok.
Bu itemi almaya çalıştığında ne yazıyor peki ?
Posts: 138
Threads: 4
Joined: Aug 2012
Reputation:
0
Silahı aldığımda sol altta (say) kısmında:/g[ZP]/y You Already Have Sniper Laser Gun!
Ekranın ortasında ise: [ZP]Sniper Laser Gun ON! Killed All Zombies!
yazıyor ve Bu silah elime iken item aldığımda ammo geliyor, silahı atıyorum tekrar item aldığımda ammom gidiyor.Bu silahı aldığımda ammom sabit kalıyor.
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
05-01-13, 00:02
(This post was last modified: 06-04-13, 14:43 by akcaliberkk.)
PHP Code: #include <amxmodx> #include <zombieplague> #include <fun> #include <cstrike> #include <engine> #include <hamsandwich> #include <fakemeta>
/* [ZP] Extra Item : Sniper Laser Gun [SLG] ! By xLeoNNN. (san antonio,chile) this is my second plugin, the Sniper Laser Gun [SLG] is a weapon awp with efects,laser, Credits : meTaLiCroSS : for code of damage of "gauss" Mr.Death : how to create the effects and use the "Temp Entity" */ new g_ibuy new cvar_limit,cvar_damage; new used[33]; new bullets[33] new hotflarex, laserb, thunder new bool:g_lasergun[33] new g_iMaxPlayers const q_pPlayer = 41 new Shakes const Second = ( 1<<10 ) new cvar_particles_dead, cvar_bullet_efect, cvar_thunder, cvar_oneround new g_currentweapon[33]
new V_LASERGUN[] = "models/zombie_plague/v_sniper_laser_gun.mdl" new P_LASERGUN[] = "models/zombie_plague/p_sniper_laser_gun.mdl" new W_LASERGUN[] = "models/zombie_plague/w_sniper_laser_gun.mdl" new const LaserSound[] = "weapons/electro4.wav"
public plugin_init() { register_plugin("[ZP] Extra Item: Sniper Laser Gun", "1.0", "x[L]eoNNN") g_ibuy = zp_register_extra_item("Sniper Laser Gun", 40, ZP_TEAM_HUMAN) Shakes = get_user_msgid( "ScreenShake" ) register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") register_event("CurWeapon", "Event_CurWeapon", "be","1=1") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_AWP_PrimaryAttack_Post", 1) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) register_forward(FM_SetModel, "fw_SetModel") cvar_particles_dead = register_cvar("zp_slg_particles", "1") cvar_bullet_efect = register_cvar("zp_slg_bullet", "1") cvar_thunder = register_cvar("zp_slg_thunder", "1") cvar_oneround = register_cvar("zp_slg_oneround", "1") cvar_damage = register_cvar("zp_slg_damage","1000.0") cvar_limit = register_cvar("zp_slg_limit","8") }
public plugin_precache() { hotflarex = precache_model("sprites/flare6.spr") laserb = precache_model("sprites/laserbeam.spr") thunder = precache_model("sprites/zbeam1.spr") precache_model(V_LASERGUN) precache_model(P_LASERGUN) precache_model(W_LASERGUN) precache_sound(LaserSound) }
public zp_extra_item_selected(id, itemid) { if (itemid ==g_ibuy) { if(g_lasergun[id] && user_has_weapon(id, CSW_AWP)) { client_print(id, print_chat, "/g[ZP]/y You Already Have Sniper Laser Gun!") zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 40) } else { g_lasergun[id] = true give_item (id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 20) client_print(id, print_center, "[ZP] Sniper Laser Gun ON! Killed All Zombies!") } } }
public zp_user_infected_post(infected, infector) { if (g_lasergun[infected]) { g_lasergun[infected] = false } }
public event_round_start() { for (new i = 1; i <= g_iMaxPlayers; i++) { if (!is_user_connected(i)) continue if (g_lasergun[i]) { g_lasergun = false } used = 0; } }
public client_putinserver(id) { used[id] = 0; g_lasergun[id] = false }
public client_disconnect(id) { g_lasergun[id] = false }
public make_tracer(id) { if(get_pcvar_num(cvar_bullet_efect)) { if(g_lasergun[id] && g_currentweapon[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16] get_user_team(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_AWP)) { new laser1[3], laser2[3] get_user_origin(id, laser1, 1) get_user_origin(id, laser2, 4) message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (1) write_short(id | 0x1000) write_coord (laser2[0]) write_coord (laser2[1]) write_coord (laser2[2]) write_short( laserb ) write_byte(1) write_byte(5) write_byte(1) write_byte(80) write_byte(20) write_byte(0) write_byte(52) write_byte(255) write_byte(255) write_byte(150) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_DLIGHT) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_byte(13) write_byte(254) write_byte(0) write_byte(0) write_byte(100) write_byte(10) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_SPRITETRAIL) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_short(hotflarex) write_byte(5) write_byte(1) write_byte(3) write_byte(34) write_byte(43) message_end() emit_sound(id, CHAN_AUTO, LaserSound, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) } bullets[id] = clip } } }
public Event_CurWeapon(id) { g_currentweapon[id] = read_data(2) if(!g_lasergun[id] || g_currentweapon[id] != CSW_AWP) return PLUGIN_CONTINUE entity_set_string(id, EV_SZ_viewmodel, V_LASERGUN) entity_set_string(id, EV_SZ_weaponmodel, P_LASERGUN) return PLUGIN_CONTINUE }
public fw_SetModel(entity, model[]) { if(!is_valid_ent(entity)) return FMRES_IGNORED if(!equali(model, "models/w_awp.mdl")) return FMRES_IGNORED; new ads = entity_get_edict(entity, EV_ENT_owner) new className[33] entity_get_string(entity, EV_SZ_classname, className, 32) if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade")) { if(g_lasergun[ads]) { entity_set_model(entity, W_LASERGUN) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits) { if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker) return HAM_IGNORED if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP) { static Float:originF[3] pev(victim, pev_origin, originF) new plrWeapId, plrClip, plrAmmo plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo) if (plrWeapId == CSW_AWP) SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage)) client_print(attacker, print_center, "Enemy Electrocuted!") if(get_pcvar_num(cvar_particles_dead)) dead_efect(originF) } if(zp_get_user_nemesis(victim)) { client_print(attacker, print_center, "Nemesis is Inmune") } return PLUGIN_HANDLED; }
dead_efect(const Float:originF[3]) { engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(83) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_IMPLOSION) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_byte(random_num(100, 300)) write_byte(20) write_byte(3) message_end() }
public fw_AWP_PrimaryAttack_Post(awp) { static id id = get_pdata_cbase(awp, q_pPlayer, 4) if(used[id] >= get_pcvar_num(cvar_limit)) { client_print(id,print_chat,"Bu Silahi Kullanma Limitiniz Doldu !") return HAM_IGNORED } used[id]++; if(get_pcvar_num(cvar_thunder)) { if(is_user_connected(id) && g_lasergun[id]) { new iEndOrigin[3] get_user_origin(id, iEndOrigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +10) write_short(thunder) write_byte(90) write_byte(60) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+20) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +30) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_BEAMCYLINDER) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+200) write_short(hotflarex) write_byte(0) write_byte(1) write_byte(6) write_byte(8) write_byte(1) write_byte(255) write_byte(255) write_byte(192) write_byte(128) write_byte(5) message_end() message_begin( MSG_ONE_UNRELIABLE, Shakes, _, id ) write_short( Second*5 ) write_short( Second*5 ) write_short( Second*5 ) message_end( ) } } }
public fw_PlayerSpawn_Post(id) { if(get_pcvar_num(cvar_oneround)) { if(g_lasergun[id]) { g_lasergun[id] = false ham_strip_weapon(id, "weapon_awp") } } }
stock ham_strip_weapon(id, weapon[]) { if(!equal(weapon,"weapon_",7)) return 0 new idd = get_weaponid(weapon) if(!idd) return 0 new wEnt while((wEnt = find_ent_by_class(wEnt, weapon)) && entity_get_edict(wEnt, EV_ENT_owner) != id) {} if(!wEnt) return 0 if(get_user_weapon(id) == idd) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt); if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0 ExecuteHamB(Ham_Item_Kill, wEnt) entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) & ~(1<<idd)) return 1 }
Bunu deneyin. Düzelttim sanırım.[/i][/i][/i]
Posts: 138
Threads: 4
Joined: Aug 2012
Reputation:
0
evet oldu eğer sorun olmazsa 8 mermili(şarjörsüz) ve mermi bitince silahın kaybolmasını ayarlayabilirmisin.
Çok teşekkür ediyorum ellerine sağlık
Posts: 2,027
Threads: 43
Joined: Jun 2012
Reputation:
0
05-01-13, 00:20
(This post was last modified: 06-04-13, 14:43 by akcaliberkk.)
PHP Code: #include <amxmodx> #include <zombieplague> #include <fun> #include <cstrike> #include <engine> #include <hamsandwich> #include <fakemeta>
/* [ZP] Extra Item : Sniper Laser Gun [SLG] ! By xLeoNNN. (san antonio,chile) this is my second plugin, the Sniper Laser Gun [SLG] is a weapon awp with efects,laser, Credits : meTaLiCroSS : for code of damage of "gauss" Mr.Death : how to create the effects and use the "Temp Entity" */ new g_ibuy new cvar_limit,cvar_damage; new used[33]; new bullets[33] new hotflarex, laserb, thunder new bool:g_lasergun[33] new g_iMaxPlayers const q_pPlayer = 41 new Shakes const Second = ( 1<<10 ) new cvar_particles_dead, cvar_bullet_efect, cvar_thunder, cvar_oneround,cvar_zpammo; new g_currentweapon[33]
new V_LASERGUN[] = "models/zombie_plague/v_sniper_laser_gun.mdl" new P_LASERGUN[] = "models/zombie_plague/p_sniper_laser_gun.mdl" new W_LASERGUN[] = "models/zombie_plague/w_sniper_laser_gun.mdl" new const LaserSound[] = "weapons/electro4.wav"
public plugin_init() { register_plugin("[ZP] Extra Item: Sniper Laser Gun", "1.0", "x[L]eoNNN") Shakes = get_user_msgid( "ScreenShake" ) register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") register_event("CurWeapon", "Event_CurWeapon", "be","1=1") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_awp", "fw_AWP_PrimaryAttack_Post", 1) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) register_forward(FM_SetModel, "fw_SetModel") cvar_particles_dead = register_cvar("zp_slg_particles", "1") cvar_bullet_efect = register_cvar("zp_slg_bullet", "1") cvar_thunder = register_cvar("zp_slg_thunder", "1") cvar_oneround = register_cvar("zp_slg_oneround", "1") cvar_damage = register_cvar("zp_slg_damage","1000.0") cvar_limit = register_cvar("zp_slg_limit","8") cvar_zpammo = register_cvar("zp_slg_ammo","40") g_ibuy = zp_register_extra_item("Sniper Laser Gun", get_pcvar_num(cvar_zpammo), ZP_TEAM_HUMAN) }
public plugin_precache() { hotflarex = precache_model("sprites/flare6.spr") laserb = precache_model("sprites/laserbeam.spr") thunder = precache_model("sprites/zbeam1.spr") precache_model(V_LASERGUN) precache_model(P_LASERGUN) precache_model(W_LASERGUN) precache_sound(LaserSound) }
public zp_extra_item_selected(id, itemid) { if (itemid ==g_ibuy) { if(g_lasergun[id] && user_has_weapon(id, CSW_AWP)) { client_print(id, print_chat, "/g[ZP]/y You Already Have Sniper Laser Gun!") zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 40) } else { g_lasergun[id] = true give_item (id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, 20) client_print(id, print_center, "[ZP] Sniper Laser Gun ON! Killed All Zombies!") } } }
public zp_user_infected_post(infected, infector) { if (g_lasergun[infected]) { g_lasergun[infected] = false } }
public event_round_start() { for (new i = 1; i <= g_iMaxPlayers; i++) { if (!is_user_connected(i)) continue if (g_lasergun[i]) { g_lasergun = false } used = 0; } }
public client_putinserver(id) { used[id] = 0; g_lasergun[id] = false }
public client_disconnect(id) { g_lasergun[id] = false }
public make_tracer(id) { if(get_pcvar_num(cvar_bullet_efect)) { if(g_lasergun[id] && g_currentweapon[id]) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16] get_user_team(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_AWP)) { new laser1[3], laser2[3] get_user_origin(id, laser1, 1) get_user_origin(id, laser2, 4) message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (1) write_short(id | 0x1000) write_coord (laser2[0]) write_coord (laser2[1]) write_coord (laser2[2]) write_short( laserb ) write_byte(1) write_byte(5) write_byte(1) write_byte(80) write_byte(20) write_byte(0) write_byte(52) write_byte(255) write_byte(255) write_byte(150) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_DLIGHT) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_byte(13) write_byte(254) write_byte(0) write_byte(0) write_byte(100) write_byte(10) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_SPRITETRAIL) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_coord(laser1[0]) write_coord(laser1[1]) write_coord(laser1[2]) write_short(hotflarex) write_byte(5) write_byte(1) write_byte(3) write_byte(34) write_byte(43) message_end() emit_sound(id, CHAN_AUTO, LaserSound, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) } bullets[id] = clip } } }
public Event_CurWeapon(id) { g_currentweapon[id] = read_data(2) if(!g_lasergun[id] || g_currentweapon[id] != CSW_AWP) return PLUGIN_CONTINUE entity_set_string(id, EV_SZ_viewmodel, V_LASERGUN) entity_set_string(id, EV_SZ_weaponmodel, P_LASERGUN) return PLUGIN_CONTINUE }
public fw_SetModel(entity, model[]) { if(!is_valid_ent(entity)) return FMRES_IGNORED if(!equali(model, "models/w_awp.mdl")) return FMRES_IGNORED; new ads = entity_get_edict(entity, EV_ENT_owner) new className[33] entity_get_string(entity, EV_SZ_classname, className, 32) if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade")) { if(g_lasergun[ads]) { entity_set_model(entity, W_LASERGUN) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_bits) { if(!is_user_connected(attacker) || !is_user_connected(victim) || zp_get_user_nemesis(victim) || attacker == victim || !attacker) return HAM_IGNORED if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_AWP) { static Float:originF[3] pev(victim, pev_origin, originF) new plrWeapId, plrClip, plrAmmo plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo) if (plrWeapId == CSW_AWP) SetHamParamFloat(4, damage * get_pcvar_float(cvar_damage)) client_print(attacker, print_center, "Enemy Electrocuted!") if(get_pcvar_num(cvar_particles_dead)) dead_efect(originF) } if(zp_get_user_nemesis(victim)) { client_print(attacker, print_center, "Nemesis is Inmune") } return PLUGIN_HANDLED; }
dead_efect(const Float:originF[3]) { engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(70) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_PARTICLEBURST) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_short(250) write_byte(83) write_byte(55) message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0) write_byte(TE_IMPLOSION) engfunc(EngFunc_WriteCoord, originF[0]) engfunc(EngFunc_WriteCoord, originF[1]) engfunc(EngFunc_WriteCoord, originF[2]+10) write_byte(random_num(100, 300)) write_byte(20) write_byte(3) message_end() }
public fw_AWP_PrimaryAttack_Post(awp) { static id id = get_pdata_cbase(awp, q_pPlayer, 4) if(used[id] >= get_pcvar_num(cvar_limit)) { client_print(id,print_chat,"Bu Silahi Kullanma Limitiniz Doldu !") g_lasergun[id] = false ham_strip_weapon(id, "weapon_awp") return HAM_IGNORED } used[id]++; if(get_pcvar_num(cvar_thunder)) { if(is_user_connected(id) && g_lasergun[id]) { new iEndOrigin[3] get_user_origin(id, iEndOrigin, 3) message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +10) write_short(thunder) write_byte(90) write_byte(60) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+20) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_EXPLOSION) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2] +30) write_short(thunder) write_byte(60) write_byte(20) write_byte(TE_EXPLFLAG_NONE) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_BEAMCYLINDER) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]) write_coord(iEndOrigin[0]) write_coord(iEndOrigin[1]) write_coord(iEndOrigin[2]+200) write_short(hotflarex) write_byte(0) write_byte(1) write_byte(6) write_byte(8) write_byte(1) write_byte(255) write_byte(255) write_byte(192) write_byte(128) write_byte(5) message_end() message_begin( MSG_ONE_UNRELIABLE, Shakes, _, id ) write_short( Second*5 ) write_short( Second*5 ) write_short( Second*5 ) message_end( ) } } }
public fw_PlayerSpawn_Post(id) { if(get_pcvar_num(cvar_oneround)) { if(g_lasergun[id]) { g_lasergun[id] = false ham_strip_weapon(id, "weapon_awp") } } }
stock ham_strip_weapon(id, weapon[]) { if(!equal(weapon,"weapon_",7)) return 0 new idd = get_weaponid(weapon) if(!idd) return 0 new wEnt while((wEnt = find_ent_by_class(wEnt, weapon)) && entity_get_edict(wEnt, EV_ENT_owner) != id) {} if(!wEnt) return 0 if(get_user_weapon(id) == idd) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt); if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0 ExecuteHamB(Ham_Item_Kill, wEnt) entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) & ~(1<<idd)) return 1 }
Cvarlar:
zp_slg_limit "8" // Maksimum kullanılabilecek kurşun sayısı.
zp_slg_ammo "40" // Silahın fiyatı
zp_slg_damage "1000.0" // Zarar katsayısı
Kursun bittiğinde silahın yok olması eklendi.[/i][/i][/i]
|