PDA

View Full Version : parameter error


edgaras85
06-23-2010, 12:27
L 06/23/2010 - 18:53:50: [AMXX] Run time error 25: parameter error
L 06/23/2010 - 18:53:50: [AMXX] [0] zp_zclass_boomer.sma::do_victim (line 222)
L 06/23/2010 - 18:53:50: [AMXX] [1] zp_zclass_boomer.sma::boomer_death (line 146)

public boomer_death() {
new attacker = read_data(1)
new victim = read_data(2)
if(lamuerteexplosiva[victim]) {
static victim_name[33]
static attacker_name[33]
get_user_name(victim, victim_name, sizeof victim_name -1)
get_user_name(attacker, attacker_name, sizeof attacker_name -1)
new Float:origin[3], origin2[3]
entity_get_vector(victim,EV_VEC_origin,origin )
origin2[0] = floatround(origin[0])
origin2[1] = floatround(origin[1])
origin2[2] = floatround(origin[2])
for (new id2; id2 <= g_maxplayers; id2++)
{
if (zp_get_user_zombie_class(id2) == g_zclass_boomer && zp_get_user_zombie(id2) && !zp_get_user_nemesis(id2))
{
emit_sound(victim, CHAN_WEAPON, "weapons/mortarhit.wav", 1.0, 0.5, 0, PITCH_NORM)
emit_sound(victim, CHAN_VOICE, "weapons/mortarhit.wav", 1.0, 0.5, 0, PITCH_NORM)

for (new e = 1; e < 8; e++) {
// Random Explosion 8 Times
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SPRITE)
write_coord(origin2[0] + random_num(-60,60))
write_coord(origin2[1] + random_num(-60,60))
write_coord(origin2[2] +128)
write_short(spr_zerogxplode)
write_byte(random_num(30,65))
write_byte(255)
message_end()

}
for (new e = 1; e < 3; e++) {
// Random Smoke 3 Times
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_SMOKE)
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2] + 256)
write_short(spr_smoke_steam1)
write_byte(random_num(80,150))
write_byte(random_num(5,10))
message_end()
}

// Create the burn decal
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_GUNSHOTDECAL)
write_coord(origin2[0])
write_coord(origin2[1])
write_coord(origin2[2])
write_short(0)
write_byte(random_num(46,48)) // decal
message_end()
new Max_Damage = get_pcvar_num(cvar_max_damage)
new Damage_Radius = get_pcvar_num(cvar_damage_radius)
new PlayerPos[3], Distance, Damage
for (new i = 1; i < 32; i++) {
if (is_user_alive(i) == 1) {
get_user_origin(i, PlayerPos)
Distance = get_distance(PlayerPos, origin2)
if (Distance <= Damage_Radius) { // Screenshake Radius

message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0}, i) // Shake Screen
write_short(1<<14)
write_short(1<<14)
write_short(1<<14)
message_end()
Damage = Max_Damage - floatround(floatmul(float(Max_Damage), floatdiv(float(Distance), float(Damage_Radius))))
//if(!zp_get_user_zombie(id2) && !zp_get_user_nemesis(id2))
do_victim(i,victim,Damage,0)
}

}

}
}
}
lamuerteexplosiva[victim] = false
}
}
public do_victim (victim,attacker,Damage,team_kill) {
new namek[32],namev[32],authida[35],authidv[35],teama[32],teamv[32]
get_user_name(victim,namev,31)
get_user_name(attacker,namek,31)
get_user_authid(victim,authidv,34)
get_user_authid(attacker,authida,34)
get_user_team(victim,teamv,31)
get_user_team(attacker,teama,31)
if(Damage >= get_user_health(victim)) {
if(get_cvar_num("mp_logdetail") == 3) {

log_message("^"%s<%d><%s><%s>^" attacked ^"%s<%d><%s><%s>^" with ^"bomber^" (hit ^"chest^") (Damage ^"%d^") (health ^"0^")",
namek,get_user_userid(attacker),authida,teama ,namev,get_user_userid(victim),authidv,teamv, Damage)

}
client_print(attacker,print_chat,"%L%s",LANG_PLAYER, "KILLED",namev)
client_print(victim,print_chat,"%L%s",LANG_PLAYER, "KILLED2",namek)
if(team_kill == 0) {

set_user_frags(attacker,get_user_frags(attack er) + 1 )

}

set_msg_block(gmsgDeathMsg,BLOCK_ONCE)
set_msg_block(gmsgScoreInfo,BLOCK_ONCE)
user_kill(victim,1)
replace_dm(attacker,victim,0)
log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"bomber^"",
namek,get_user_userid(attacker),authida,teama ,namev,get_user_userid(victim),authidv,teamv)
if (Damage > 100) {

new iOrigin[3]
get_user_origin(victim,iOrigin)
set_user_rendering(victim,kRenderFxNone,0,0,0 ,kRenderTransAlpha,0)
fx_gib_explode(iOrigin,3)
fx_blood_large(iOrigin,5)
fx_blood_small(iOrigin,15)
iOrigin[2] = iOrigin[2] - 20
set_user_origin(victim,iOrigin)
}

}
else {
set_user_health(victim,get_user_health(victim ) - Damage )
if(get_cvar_num("mp_logdetail") == 3) {

log_message("^"%s<%d><%s><%s>^" attacked ^"%s<%d><%s><%s>^" with ^"bomber^" (hit ^"chest^") (Damage ^"%d^") (health ^"%d^")",
namek,get_user_userid(attacker),authida,teama ,namev,get_user_userid(victim),authidv,teamv, Damage,get_user_health(victim))

}
client_print(attacker,print_chat,"%L",LANG_PLAYER,"DAMAGED",namev)
client_print(victim,print_chat,"%L",LANG_PLAYER,"DAMAGED2",namek)
}

}
I thik error if boomer does damage more than on one Human