Raised This Month: $ Target: $400
 0% 

Run time error 10: native error (native "pev")


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
danonix
Senior Member
Join Date: Dec 2012
Old 02-10-2013 , 14:49   Run time error 10: native error (native "pev")
Reply With Quote #1

Hello guys, I have got a problem, in logs I have got all time an error. It uses Paintballmod by Rul4

Code:
L 02/10/2013 - 18:00:26: [AMXX] Run time error 10: native error (native "pev")
L 02/10/2013 - 18:00:26: [AMXX]    [0] paintballnade1.sma::fw_think (line 94)
L 02/10/2013 - 18:03:47: [FAKEMETA] Invalid entity
L 02/10/2013 - 18:03:47: [AMXX] Displaying debug trace (plugin "paintballnade.amxx")
Here is SMA. What's wrong? Can someone explain me and how repair it?
Code:
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "R Paintball Nade"
#define VERSION "1.5"
#define AUTHOR "Rul4 - WhooKid"

new pbnade, pbsnade, radius, MaxPlayers, blood1, blood2, smoke[6];

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR);
    
    set_cvar_string("rpaintballnade", VERSION)

    if (get_pcvar_num(pbnade)||get_pcvar_num(pbsnade))
    {
        register_event("CurWeapon", "ev_curweapon", "be");
        register_forward(FM_SetModel, "fw_setmodel");
        register_forward(FM_Think, "fw_think");

        radius = register_cvar("pbnade_radius", "150");
        
        MaxPlayers = get_maxplayers();
    }
}

public plugin_precache()
{
    pbnade = register_cvar("amx_pbnade", "1");
    pbsnade = register_cvar("amx_pbsnade", "0");
    register_cvar("rpaintballnade", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED);
    
    if (get_pcvar_num(pbnade))
    {
        precache_model("models/p_pbnade.mdl");
        precache_model("models/v_pbnade.mdl");
        precache_model("models/w_pbnade.mdl");
        blood1 = precache_model("sprites/blood.spr");
        blood2 = precache_model("sprites/bloodspray.spr");
    }
    
    if (get_pcvar_num(pbsnade))
    {
        precache_model("models/v_pbsnade.mdl");
        precache_model("models/w_pbsnade.mdl");
        smoke[0] = precache_model("sprites/gas_puff_01b.spr");
        smoke[1] = precache_model("sprites/gas_puff_01r.spr");
        smoke[2] = precache_model("sprites/gas_puff_01g.spr");
        smoke[3] = precache_model("sprites/gas_puff_01y.spr");
        smoke[4] = precache_model("sprites/gas_puff_01m.spr");
        smoke[5] = precache_model("sprites/gas_puff_01o.spr");
    }
}

public ev_curweapon(id)
{
    new model[35];
    pev(id, pev_viewmodel2, model, 34);
    if (equali(model, "models/v_hegrenade.mdl") && (get_pcvar_num(pbnade)))
    {
        set_pev(id, pev_viewmodel2, "models/v_pbnade.mdl");
        set_pev(id, pev_weaponmodel2, "models/p_pbnade.mdl");
    }
    
    if (equali(model, "models/v_smokegrenade.mdl") && (get_pcvar_num(pbsnade)))
    {
        set_pev(id, pev_viewmodel2, "models/v_pbsnade.mdl");
        //set_pev(id, pev_weaponmodel2, "models/p_pbnade.mdl");
    }
}

public fw_setmodel(ent, model[]) 
{
    if (equali(model, "models/w_hegrenade.mdl") && (get_pcvar_num(pbnade))) 
    {
        engfunc(EngFunc_SetModel, ent, "models/w_pbnade.mdl");
        return FMRES_SUPERCEDE;
    }
    
    if (equali(model, "models/w_smokegrenade.mdl") && (get_pcvar_num(pbsnade))) 
    {
        engfunc(EngFunc_SetModel, ent, "models/w_pbsnade.mdl");
        return FMRES_SUPERCEDE;
    }

    return FMRES_IGNORED;
}

public fw_think(ent)
{
    new model[25];
    pev(ent, pev_model, model, 24);

    if (!equali(model, "models/w_pbnade.mdl") && !equali(model, "models/w_pbsnade.mdl"))
        return FMRES_IGNORED;

    if (equali(model, "models/w_pbnade.mdl"))
        set_task(1.6, "act_explode", ent);
    else
        set_task(2.0, "act_smoke", ent);
    
    return FMRES_SUPERCEDE;
}

public act_explode(ent)
{
    if (!pev_valid(ent))
        return;

    new origin[3], Float:forigin[3], colors[4], owner = pev(ent, pev_owner), user_team = get_user_team(owner);

    colors = (user_team == 1) ? { 255, 0, 247, 70} : { 0, 255, 208, 30};
    pev(ent, pev_origin, forigin);
    FVecIVec(forigin, origin);

    new id, Float:distance = float(get_pcvar_num(radius)), Float:porigin[3];

    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_BLOODSPRITE);
    write_coord(origin[0]);
    write_coord(origin[1]);
    write_coord(origin[2] + 20);
    write_short(blood2);
    write_short(blood1);
    write_byte(colors[2]);
    write_byte(30);
    message_end();
    
    while (id++ < MaxPlayers)
        if (is_user_alive(id))
        {
            if (user_team != get_user_team(id) || owner == id)
            {
                pev(id, pev_origin, porigin);
                if (get_distance_f(forigin, porigin) <= distance)
                    if (fm_is_visible(ent, id))
                        ExecuteHam(Ham_TakeDamage, id, ent, owner, (id != owner) ? 100.0 : 300.0, 0);
            }
        }
        
    emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);

    engfunc(EngFunc_RemoveEntity, ent);
}

public act_smoke(ent)
{

    emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
    act_fumes(ent)
    
}
public act_fumes(ent)
{
    if (!pev_valid(ent))
        return;
        
    new origin[3], Float:forigin[3];

    pev(ent, pev_origin, forigin);
    FVecIVec(forigin, origin);
    
//#define TE_FIREFIELD            123        // makes a field of fire.
// coord (origin)
// short (radius) (fire is made in a square around origin. -radius, -radius to radius, radius)
// short (modelindex)
// byte (count)
// byte (flags)
// byte (duration (in seconds) * 10) (will be randomized a bit)

    new select = random(6)

    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_FIREFIELD);
    write_coord(origin[0]);
    write_coord(origin[1]);
    write_coord(origin[2] + 50);
    write_short(100)
    write_short(smoke[select]);
    write_byte(100)        
    write_byte(TEFIRE_FLAG_ALPHA)//(TEFIRE_FLAG_SOMEFLOAT | TEFIRE_FLAG_ALPHA)        
    write_byte(1000)        
    message_end();

    message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
    write_byte(TE_FIREFIELD);
    write_coord(origin[0]);
    write_coord(origin[1]);
    write_coord(origin[2] + 50);
    write_short(150)
    write_short(smoke[select]);
    write_byte(10)        
    write_byte(TEFIRE_FLAG_ALLFLOAT | TEFIRE_FLAG_ALPHA )        
    write_byte(1000)        
    message_end();

    engfunc(EngFunc_RemoveEntity, ent);
}

stock bool:fm_is_visible(ent, target)
{
    if (pev_valid(ent) && pev_valid(target))
    {
        new Float:start[3], Float:view_ofs[3], Float:point[3];
        pev(ent, pev_origin, start);
        pev(ent, pev_view_ofs, view_ofs);
        pev(target, pev_origin, point);
        start[0] += view_ofs[0];
        start[1] += view_ofs[1];
        start[2] += view_ofs[2];
        engfunc(EngFunc_TraceLine, start, point, 1, ent, 0);
        new Float:fraction;
        get_tr2(0, TR_flFraction, fraction);
        if (fraction == 1.0)
            return true;
    }
    return false;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
danonix is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 02-13-2013 , 01:18   Re: Run time error 10: native error (native "pev")
Reply With Quote #2

Notice what all the other functions have that also use pev().
__________________
fysiks is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 02-13-2013 , 01:50   Re: Run time error 10: native error (native "pev")
Reply With Quote #3

PHP Code:
public fw_think(ent)
{
    if (!
pev_valid(ent))
        return; 
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
Scopce
Junior Member
Join Date: Oct 2011
Location: ALLD
Old 07-18-2013 , 07:39   Re: Run time error 10: native error (native "pev")
Reply With Quote #4

And me i got thise problem how can i solve?
there is problem

Code:
07/18/2013 - 14:15:19: [AMXX] Displaying debug trace (plugin "8zombie.amxx")
07/18/2013 - 14:15:19: [AMXX] Run time error 10: native error (native "pev")
07/18/2013 - 14:15:19: [AMXX] [0] 8zombie.sma::fwd_touch (line 106)
And there is plugins

Code:
/*
Wallclimb v1.0f by Python1320
Plagued Version 0.22 by Dabbi

Allows Poison Zombie to Climb Walls in Zombie Plague [3.62]

CVARS:	zp_wallclimb 0 = Off / 1 = Hold USE / 2 = Hold JUMP and DUCK  (Default 1)
	zp_wallclimb_nemesis 0 = Disable wallclimb during nemesis round. / 1 = Enable (Default 1)
	zp_wallclimb_survivor 0 = Disable wallclimb during survivor round. / 1 = Enable (Default 0)
	
Changes:
	0.22
		Made the function wallclimb return a value.
		Put plugin version to a cvar.
	0.21
		Added cvars to enable disable wallclimb durin survivor/nemesis round
	0.2
		Added cvar to enable / disable Walllclimb Plugin
	0.1
		First release.
*/

#include <amxmodx>
// #include <engine>
#include <fakemeta>

#include <cstrike>
#include <zombieplague.inc>
#include <zombiexp>

//#include <fakemeta_util>
#define STR_T           33

// Stuff taken from fakemeta_util
#define fm_get_user_button(%1) pev(%1, pev_button)	
/* stock fm_get_user_button(index)
	return pev(index, pev_button) */

#define fm_get_entity_flags(%1) pev(%1, pev_flags)
/* stock fm_get_entity_flags(index)
	return pev(index, pev_flags) */

stock fm_set_user_velocity(entity, const Float:vector[3]) {
	set_pev(entity, pev_velocity, vector);

	return 1;
}
//End of stuff from fakemeta_util
//new STR_T[32]
new bool:g_WallClimb[33]
new Float:g_wallorigin[32][3]
new cvar_zp_wallclimb, cvar_zp_wallclimb_nemesis, cvar_zp_wallclimb_survivor
new g_zclass_climb

// Climb Zombie Atributes
new const zclass_name[] = { "Climb Zombie" } // name
new const zclass_info[] = { "Can climb on walls" } // description
new const zclass_model[] = { "alien3" } // model
new const zclass_clawmodel[] = { "alienclaws.mdl" } // claw model
const zclass_health = 6800*2 // health
const zclass_speed = 750 // speed
const Float:zclass_gravity = 0.5 // gravity
const Float:zclass_knockback = 1.1 // knockback
const zclass_level = 8 // level required to use

public plugin_init() 
{
	register_plugin("[ZP] Wallclimb ", "1.0", "WallClimb by Python1320/Cheap_Suit, Plagued by Dabbi")
	register_forward(FM_Touch, 		"fwd_touch")
	register_forward(FM_PlayerPreThink, 	"fwd_playerprethink")
	//register_forward(FM_PlayerPostThink, 	"fwd_playerpostthink")
	register_event("DeathMsg","EventDeathMsg","a")
	//register_cvar("zp_wallclimb_version", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY)
	cvar_zp_wallclimb = register_cvar("zp_wallclimb", "1")
	cvar_zp_wallclimb_survivor = register_cvar("zp_wallclimb_survivor", "0")
	cvar_zp_wallclimb_nemesis = register_cvar("zp_wallclimb_nemesis", "1")
	
}

public plugin_precache()
{
	g_zclass_climb = zpxp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback,zclass_level)
}

public EventDeathMsg()	
{
	new id = read_data(2)
	g_WallClimb[id] = true
	return PLUGIN_HANDLED
}

public client_connect(id) {
	g_WallClimb[id] = true	
}

public fwd_touch(id, world)
{
	if(!is_user_alive(id) || !g_WallClimb[id] || !pev_valid(id))
		return FMRES_IGNORED

	new player = STR_T
	if (!player)
		return FMRES_IGNORED
		
	new classname[STR_T]
	pev(world, pev_classname, classname, (STR_T))
	
	if(equal(classname, "worldspawn") || equal(classname, "func_wall") || equal(classname, "func_breakable"))
		pev(id, pev_origin, g_wallorigin[id])

	return FMRES_IGNORED
}

public wallclimb(id, button)
{
	static Float:origin[3]
	pev(id, pev_origin, origin)

	if(get_distance_f(origin, g_wallorigin[id]) > 25.0)
		return FMRES_IGNORED  // if not near wall
	
	if(fm_get_entity_flags(id) & FL_ONGROUND)
		return FMRES_IGNORED
		
	if(button & IN_FORWARD)
	{
		static Float:velocity[3]
		velocity_by_aim(id, 120, velocity)
		fm_set_user_velocity(id, velocity)
	}
	else if(button & IN_BACK)
	{
		static Float:velocity[3]
		velocity_by_aim(id, -120, velocity)
		fm_set_user_velocity(id, velocity)
	}
	return FMRES_IGNORED
}	

public fwd_playerprethink(id) 
{
	if(!g_WallClimb[id] || !zp_get_user_zombie(id)) 
		return FMRES_IGNORED
		
	if(zp_is_survivor_round() && get_pcvar_num(cvar_zp_wallclimb_survivor) == 0)
		return FMRES_IGNORED
		
	if(zp_is_nemesis_round() && get_pcvar_num(cvar_zp_wallclimb_nemesis) == 0)
		return FMRES_IGNORED
	
	new button = fm_get_user_button(id)
	
	if((get_pcvar_num(cvar_zp_wallclimb) == 1) && (button & IN_USE) && (zp_get_user_zombie_class(id) == g_zclass_climb)) //Use button = climb
	wallclimb(id, button)
	else if((get_pcvar_num(cvar_zp_wallclimb) == 2) && (button & IN_JUMP) && button & IN_DUCK && (zp_get_user_zombie_class(id) == g_zclass_climb)) //Jump + Duck = climb
	wallclimb(id, button)

	return FMRES_IGNORED
}
Scopce is offline
Send a message via Yahoo to Scopce
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 20:31.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode