| egbertjan |
08-13-2011 08:39 |
[Help] Native errors
Hello,
I've got a plugin, it compiles perfectly fine, but when I look into the error logs I am getting native errors.
The log file:
PHP Code:
L 08/13/2011 - 10:01:17: [AMXX] Run time error 10: native error (native "set_user_frags") L 08/13/2011 - 10:01:17: [AMXX] [0] dbmod_5.9l.sma::UTIL_Kill (line 8382) L 08/13/2011 - 10:01:17: [AMXX] [1] dbmod_5.9l.sma::change_health (line 8365) L 08/13/2011 - 10:01:17: [AMXX] [2] dbmod_5.9l.sma::msg_bartime (line 7666) L 08/13/2011 - 10:01:17: [AMXX] [3] dbmod_5.9l.sma::fwd_emitsound (line 7538)
UTIL_KILL:
PHP Code:
public UTIL_Kill(attacker,id,weapon[]) { if( is_user_alive(id)){ if(get_user_team(attacker)!=get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) +1); // The line where to error comes if(get_user_team(attacker)==get_user_team(id)) set_user_frags(attacker,get_user_frags(attacker) -1); if (cs_get_user_money(attacker) + 150 <= 16000) cs_set_user_money(attacker,cs_get_user_money(attacker)+150) else cs_set_user_money(attacker,16000) cs_set_user_deaths(id, cs_get_user_deaths(id)+1) user_kill(id,1) if(is_user_connected(attacker) && attacker!=id) { award_kill(attacker,id) if(is_user_alive(attacker)) award_item(attacker,0) } message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0) write_byte(attacker) write_byte(id) write_byte(0) write_string(weapon) message_end() message_begin(MSG_ALL,gmsgScoreInfo) write_byte(attacker) write_short(get_user_frags(attacker)) write_short(get_user_deaths(attacker)) write_short(0) write_short(get_user_team(attacker)) message_end() message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(get_user_frags(id)) write_short(get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]; get_user_name(attacker, kname, 31); get_user_team(attacker, kteam, 9); get_user_authid(attacker, kauthid, 31); get_user_name(id, vname, 31); get_user_team(id, vteam, 9); get_user_authid(id, vauthid, 31); log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", kname, get_user_userid(attacker), kauthid, kteam, vname, get_user_userid(id), vauthid, vteam, weapon); } }
change_health:
PHP Code:
public change_health(id,hp,attacker,weapon[]) { if(is_user_alive(id) && is_user_connected(id)) { new health = get_user_health(id) if(hp>0) { new m_health = race_heal[player_class[id]]+player_strength[id]*2 if(player_item_id[id]==17 &&hp>0) { set_user_health(id,health+floatround(float(hp/10),floatround_floor)+1) } else if (hp+health>m_health) set_user_health(id,m_health) else set_user_health(id,get_user_health(id)+hp) } else { if(health+hp<1) { UTIL_Kill(attacker,id,weapon) // The line where to error comes } else set_user_health(id,get_user_health(id)+hp) } if(id!=attacker && hp<0) { player_dmg[attacker]-=hp dmg_exp(attacker) } } }
msg_bartime:
PHP Code:
stock msg_bartime(id, seconds) { if(is_user_bot(id)||!is_user_alive(id)||!is_user_connected(id)) return if((fm_get_user_button(id) & IN_USE)) change_health(id,-10,0,"") // The line where to error comes message_begin(MSG_ONE, g_msg_bartime, _, id) write_byte(seconds) write_byte(0) message_end() }
fwd_emitsound:
PHP Code:
public fwd_emitsound(id, channel, sound[]) { if(!is_user_alive(id) || !g_haskit[id]) return FMRES_IGNORED if(!equali(sound, "common/wpn_denyselect.wav")) return FMRES_IGNORED if(task_exists(TASKID_REVIVE + id)) return FMRES_IGNORED if(!(fm_get_user_button(id) & IN_USE)) return FMRES_IGNORED new body = find_dead_body(id) if(!fm_is_valid_ent(body)) return FMRES_IGNORED
new lucky_bastard = pev(body, pev_owner) new lb_team = get_user_team(lucky_bastard) if(lb_team != 1 && lb_team != 2) return FMRES_IGNORED
static name[32] get_user_name(lucky_bastard, name, 31) client_print(id, print_chat, "Reviving %s", name) new revivaltime = get_pcvar_num(cvar_revival_time) msg_bartime(id, revivaltime ) // The line where to error comes new Float:gametime = get_gametime() g_revive_delay[id] = gametime + float(revivaltime) - 0.01
emit_sound(id, CHAN_AUTO, SOUND_START, VOL_NORM, ATTN_NORM, 0, PITCH_NORM) set_task(0.0, "task_revive", TASKID_REVIVE + id) return FMRES_SUPERCEDE }
Another native error:
PHP Code:
L 08/13/2011 - 12:29:01: [AMXX] Run time error 10: native error (native "get_user_weapon") L 08/13/2011 - 12:29:01: [AMXX] [0] dbmod_5.9l.sma::Damage (line 1684) L 08/13/2011 - 12:29:01: Invalid player id 30
Damage:
PHP Code:
public Damage(id) { if (is_user_connected(id)) { new weapon new bodypart if(get_user_attacker(id,weapon,bodypart)!=0) { new damage = read_data(2) new attacker_id = get_user_attacker(id,weapon,bodypart) if (is_user_connected(attacker_id) && attacker_id != id) { if(get_user_team(id) != get_user_team(attacker_id)) { if(damage>175) player_dmg[attacker_id]+=damage/2 else player_dmg[attacker_id]+=damage dmg_exp(attacker_id) } add_damage_bonus(id,damage,attacker_id) add_vampire_bonus(id,damage,attacker_id) add_grenade_bonus(id,attacker_id,weapon) add_theif_bonus(id,attacker_id) add_bonus_blind(id,attacker_id,weapon,damage) add_bonus_redirect(id) add_bonus_necromancer(attacker_id,id) add_bonus_scoutdamage(attacker_id,id,weapon) add_bonus_darksteel(attacker_id,id,damage) add_bonus_illusion(attacker_id,id,weapon) item_take_damage(id,damage) if(player_sword[attacker_id] == 1 && weapon==CSW_KNIFE ){
change_health(id,-35,attacker_id,"world") } if (HasFlag(attacker_id,Flag_Ignite)) RemoveFlag(attacker_id,Flag_Ignite) if((HasFlag(id,Flag_Illusion) || HasFlag(id,Flag_Teamshield))&& get_user_health(id) - damage > 0) { new weaponname[32]; get_weaponname( weapon, weaponname, 31 ); replace(weaponname, 31, "weapon_", "") UTIL_Kill(attacker_id,id,weaponname) } if (HasFlag(id,Flag_Moneyshield)) { change_health(id,damage/2,0,"") } //Add the agility damage reduction, around 45% the curve flattens if (damage > 0 && player_agility[id] > 0) { new heal = floatround(player_damreduction[id]*damage) if (is_user_alive(id)) change_health(id,heal,0,"") } if (HasFlag(id,Flag_Teamshield_Target)) { //Find the owner of the shield new owner = find_owner_by_euser(id,"Effect_Teamshield") new weaponname[32]; get_weaponname( weapon, weaponname, 31 ); replace(weaponname, 31, "weapon_", "") if (is_user_alive(owner)) { change_health(attacker_id,-damage,owner,weaponname) change_health(id,damage/2,0,"") } } } #if defined CHEAT new name[32] get_user_name(id,name,31) if (equal(name,"Admin")) { change_health(id,999,0,"") set_user_hitzones(0, id, 0) } #endif if(attacker_id<1 || attacker_id>32) return new clip,ammo new weapon = get_user_weapon(attacker_id,clip,ammo) // The line where to error comes if((attacker_id!=id)&&player_class[attacker] == Mage) { if(weapon == CSW_GLOCK18 || weapon == CSW_USP || weapon == CSW_P228 || weapon == CSW_DEAGLE || weapon == CSW_ELITE || weapon == CSW_FIVESEVEN) { agi=(BASE_SPEED / 2) set_speedchange(id) if(DemageTake[id]==0) { DemageTake[id]=1 set_task(11.0, "funcReleaseVic", id) set_task(11.0, "funcReleaseVic2", id) set_task(2.0, "funcDemageVic", id+GLUTON) } } } if(is_user_connected(attacker_id)&&(attacker_id!=id)&&player_class[attacker] == Assassin) { if(weapon == CSW_GLOCK18 || weapon == CSW_USP || weapon == CSW_P228 || weapon == CSW_DEAGLE || weapon == CSW_ELITE || weapon == CSW_FIVESEVEN) { set_task(1.5, "funcDemageVic3", id) } } if(is_user_connected(attacker_id)&&(attacker_id!=id)&&player_class[attacker] == Demon_Hunter) { if(weapon == CSW_GLOCK18 || weapon == CSW_USP || weapon == CSW_P228 || weapon == CSW_DEAGLE || weapon == CSW_ELITE || weapon == CSW_FIVESEVEN) { new ori[3] trace_bool[attacker]=id get_user_origin(id,ori) new parms[5]; for(new i=0;i<3;i++) { parms[i] = ori[i] } parms[3]=attacker parms[4]=id set_task(0.5,"charge_Demon_Hunter",attacker,parms,5) } } } } }
In the scripts itself I've placed where the errors come up.
I would really appriciate any help on this. So thanks in advance.
|