|
BANNED
Join Date: Dec 2011
Location: de_inferno en Julieta
|

07-26-2013
, 23:20
[AYUDA] Explica damage de un Arma
|
#1
|
Hola buenas...
Quisiera saber como mie... puedo hacer que el damage se multiplique, he intentado todo lo que he visto y todos los links que me han dicho para resolverlo, hasta probe con una AK-47 Golden, la coloque y la instale y resulto que todo funcionaba, excepto el Damage, simplemente disparo y no hace el doble, triple, o cuadruple de daño que dice :z
Porfavor alguien que sea amable en hacerlo y porfavor que me explique! Porque no resulta :c
PHP Code:
#include <amxmodx> #include <amxmisc> #include <fun> #include <HamSandWich> #include <engine> #include <fakemeta>
#define PLUGIN "AWP Laser" #define VERSION "1.0" #define AUTHOR "xLeoNNN"
new hotflarex, sprite_beam, thunder new bool:g_lasergun[33] new g_iMaxPlayers const q_pPlayer = 41 const Second = ( 1<<10 ) new g_currentweapon[33] new cvar_particles_dead, cvar_dmg_watergun
new const LaserSound[] = "weapons/electro4.wav"
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /usp", "ComprarAWP") 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_usp", "fw_AWP_PrimaryAttack_Post", 1) RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) cvar_particles_dead = register_cvar("zp_slg_particles", "1") cvar_dmg_watergun = register_cvar("zp_watergun_dmg", "8.00") }
public plugin_precache() { hotflarex = precache_model("sprites/flare6.spr") sprite_beam = precache_model("sprites/laserbeam.spr") thunder = precache_model("sprites/zbeam1.spr") precache_sound(LaserSound) } public event_round_start() { for (new i = 1; i <= g_iMaxPlayers; i++) { if (!is_user_connected(i)) continue if (g_lasergun[i]) { g_lasergun[i] = false } } }
public client_putinserver(id) { g_lasergun[id] = false }
public client_disconnect(id) { g_lasergun[id] = false }
public ComprarAWP(id) { if ( !is_user_alive(id) ) { client_print(id,print_chat, "[AMXX] Para Comprar la USP laser, Debes estar Vivo.") return PLUGIN_HANDLED } give_item(id, "weapon_usp") g_lasergun[id] = true return PLUGIN_HANDLED }
public make_tracer(id) { 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 (wpnid == CSW_USP) { 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( sprite_beam ) write_byte(1) write_byte(5) write_byte(1) write_byte(80) write_byte(20) write_byte(0) write_byte(52) write_byte(92) //r write_byte(173) //g write_byte(20) //b 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(laser2[0]) write_coord(laser2[1]) write_coord(laser2[2]) write_short(hotflarex) write_byte(80) 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) } } }
public Event_CurWeapon(id) { g_currentweapon[id] = read_data(2) if(!g_lasergun[id] || g_currentweapon[id] != CSW_USP) return PLUGIN_CONTINUE return PLUGIN_CONTINUE }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if (g_lasergun[attacker] && g_currentweapon[attacker] == CSW_USP) { static Float:originF[3] pev(victim, pev_origin, originF) new plrWeapId, plrClip, plrAmmo plrWeapId = get_user_weapon(attacker, plrClip, plrAmmo) if (victim != attacker && is_user_connected(attacker)) { if (plrWeapId == CSW_USP) { if(g_lasergun[attacker]) SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg_watergun)) } } if(get_pcvar_num(cvar_particles_dead)) dead_efect(originF) } return HAM_IGNORED }
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(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() // TE_IMPLOSION: partículas que se reunen en un punto determinado message_begin(MSG_BROADCAST, SVC_TEMPENTITY, iEndOrigin) write_byte(TE_IMPLOSION) // TE id write_coord(iEndOrigin[0]) // x write_coord(iEndOrigin[1]) // y write_coord(iEndOrigin[2]) // z write_byte(130) // radius write_byte(180) // count write_byte(12) // duration message_end() } }
public fw_PlayerSpawn_Post(id) { if(g_lasergun[id]) { g_lasergun[id] = false ham_strip_weapon(id, "weapon_usp") } }
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 }
Gracias
Hasta luego gente de AM
Last edited by StorM20; 07-26-2013 at 23:21.
|
|