Raised This Month: $ Target: $400
 0% 

Entity out of range (-1) ... entity_get_int


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
KaLoIaN
Senior Member
Join Date: Feb 2013
Old 04-27-2016 , 09:01   Entity out of range (-1) ... entity_get_int
Reply With Quote #1

Yesterday I put an other plugin and this one started giving me this error and some parts of the plugin just does not work:

L 04/27/2016 - 15:56:16: [ENGINE] Entity out of range (-1)
L 04/27/2016 - 15:56:16: [AMXX] Displaying debug trace (plugin "iamrpg7.amxx")
L 04/27/2016 - 15:56:16: [AMXX] Run time error 10: native error (native "entity_get_int")
L 04/27/2016 - 15:56:16: [AMXX] [0] iamrpg7.sma::fw_SetModel (line 385)

PHP Code:
#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <xs>
#include <zombieplague>

#define CustomItem(%0) (entity_get_int(%0, EV_INT_impulse) == WEAPON_SPECIAL_KEY)
#define get_bit(%1,%2) ((%1 & (1 << (%2 & 31))) ? true : false)
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define reset_bit(%1,%2) %1 &= ~(1 << (%2 & 31))
#define IsConnected(%0) (1<=%0<=g_MaxPlayers && get_bit(g_connect, %0))

#define m_rgpPlayerItems_CWeaponBox 34
#define m_pPlayer 41
#define m_pNext 42
#define m_flNextPrimaryAttack 46
#define m_iShell 57
#define m_flNextAttack 83
#define m_flEjectBrass 111
#define m_rpgPlayerItems 367
#define m_rpgPlayerItems0 368
#define m_pActiveItem 373
#define m_fInReload 54
#define m_szAnimExtention 492

#define WEAPON_SPECIAL_KEY 1
#define WEAPON_BASE_ENT "weapon_ak47"
#define WEAPON_SPRITE_NAME "weapon_rpg7"
#define WEAPON_BASE_CSW CSW_AK47
#define WEAPON_EVENT "events/ak47.sc"
#define WEAPON_ANIM_TEXT "rpg7"
#define WEAPON_ROCKET_CLASS "rpg7_rocket"

#define WEAPON_SHOOT_DELAY 1.0
#define WEAPON_RECOIL 9.5
#define WEAPON_CLIP 1
#define WEAPON_AMMO 90
#define WEAPON_RELOAD_TIME 2.1
#define WEAPON_DRAW_DELAY 1.1

#define EXPLODE_DAMAGE 350.0
#define EXPLODE_RADIUS 200.0

#define WEAPON_MODEL_VIEW "models/ruzmcs/v_vip_rpg7.mdl"
#define WEAPON_MODEL_PLAYER "models/ruzmcs/p_vip_rpg7.mdl"
#define WEAPON_MODEL_WORLD "models/ruzmcs/w_vip_rpg7.mdl"
#define WEAPON_MODEL_ROCKET "models/ruzmcs/s_vip_rpg7.mdl"
#define WEAPON_SOUND_SHOOT "weapons/rpg7_shoot.wav"
#define WEAPON_SPRITE_MUZZLEFLASH "sprites/smokepuff.spr"

#define SOUND_ONE "player/pl_snow1.wav"
#define SOUND_TWO "player/pl_snow2.wav"
#define SOUND_THREE "player/pl_snow3.wav"
#define SOUND_FOUR "player/pl_snow4.wav"


#define ROCKET_EXPLOSION "sprites/fexplo.spr"
#define ROCKET_EXPLOSION_SMALL "sprites/eexplo.spr"
#define ROCKET_PUFF "sprites/effects/rainsplash.spr"

new const WEAPON_SOUNDS[][] = {
    
"weapons/rpg7_reload.wav",
    
"debris/wood1.wav",
    
"debris/wood2.wav",
    
"debris/wood3.wav",
    
"player/pl_swim1.wav",
    
"player/pl_swim2.wav",
    
"player/pl_swim3.wav",
    
"player/pl_swim4.wav",
    
"weapons/grenade_hit1.wav",
    
"weapons/grenade_hit2.wav",
    
"weapons/grenade_hit3.wav",
    
"player/pl_metal1.wav",
    
"player/pl_metal2.wav",
    
"player/pl_metal3.wav",
    
"player/pl_metal4.wav",
    
"common/wpn_select.wav",
    
"player/pl_wade4.wav",
    
"player/pl_wade3.wav",
    
"player/pl_wade2.wav",
    
"player/pl_wade1.wav",
    
"player/pl_ladder1.wav",
    
"player/pl_ladder2.wav",
    
"player/pl_ladder3.wav",
    
"player/pl_ladder4.wav",
    
"weapons/dryfire_rifle.wav",
    
"debris/glass1.wav",
    
"debris/glass2.wav",
    
"debris/glass3.wav",
    
"common/bodysplat.wav",
    
"weapons/rpg7_draw.wav"
}
new const 
WEAPON_SPITES[][] = {
    
"sprites/zombie_plague/640hud7.spr",
    
"sprites/zombie_plague/640hud118.spr"
}

new 
g_connectg_MaxPlayerssExplosExploSmallg_eventsMuzzleFlashg_fw_indexg_smoke_idg_itemid_rpg7g_mode[33];

public 
plugin_init() {
    
register_plugin("[Zombie Plague] Weapon: RPG-7""0.7""PlaneShfit1231 / Batcon");
    
RegisterHam(Ham_Item_DeployWEAPON_BASE_ENT"fw_Item_Deploy_Post"1);
    
RegisterHam(Ham_Item_HolsterWEAPON_BASE_ENT"fw_Item_Holster_Post"1);
    
RegisterHam(Ham_Weapon_ReloadWEAPON_BASE_ENT"fw_Weapon_Reload_Post"1);
    
RegisterHam(Ham_Weapon_PrimaryAttackWEAPON_BASE_ENT"fw_Weapon_PrimaryAttack");
    
RegisterHam(Ham_Item_AddToPlayerWEAPON_BASE_ENT"fw_Item_AddToPlayer_Post"1);
    
RegisterHam(Ham_Item_PostFrameWEAPON_BASE_ENT"fw_Item_PostFrame");
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"hostage_entity""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_wall""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_door""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_plat""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_rotating""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_Spawn"weaponbox""fw_Spawn_Weaponbox_Post"1);
    
unregister_forward(FM_PrecacheEventg_fw_index1);
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1);
    
register_forward(FM_SetModel"fw_SetModel");
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent");
    
register_touch(WEAPON_ROCKET_CLASS"*""fw_RocketTouch");
    
register_think(WEAPON_ROCKET_CLASS"fw_RocketThink" )
    
g_MaxPlayers get_maxplayers();
    
state WeaponBox_Disabled;
    
register_clcmd(WEAPON_SPRITE_NAME"hook_weapon");
    
//g_itemid_rpg7 = zp_register_extra_item("RPG-7", 0, ZP_TEAM_HUMAN);
}
public 
plugin_natives ()
{
register_native("zp_give_rpg7""give_rpg7"1)
}
public 
plugin_precache() {
    static 
buffer[64], i;
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_VIEW);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_PLAYER);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_WORLD);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_ROCKET);
    
engfunc(EngFunc_PrecacheSoundWEAPON_SOUND_SHOOT);
    
engfunc(EngFunc_PrecacheSoundSOUND_ONE);
    
engfunc(EngFunc_PrecacheSoundSOUND_TWO);
    
engfunc(EngFunc_PrecacheSoundSOUND_THREE);
    
engfunc(EngFunc_PrecacheSoundSOUND_FOUR);
    for(
0sizeof WEAPON_SOUNDS;i++) engfunc(EngFunc_PrecacheSoundWEAPON_SOUNDS[i]);
    for(
0sizeof WEAPON_SPITES;i++) engfunc(EngFunc_PrecacheGenericWEAPON_SPITES[i]);
    
format(buffercharsmax(buffer), "sprites/%s.txt"WEAPON_SPRITE_NAME);
    
engfunc(EngFunc_PrecacheGenericbuffer);
    
sExplo engfunc(EngFunc_PrecacheModelROCKET_EXPLOSION);
    
sExploSmall engfunc(EngFunc_PrecacheModelROCKET_EXPLOSION_SMALL);
    
sMuzzleFlash engfunc(EngFunc_PrecacheModelWEAPON_SPRITE_MUZZLEFLASH);
    
g_smoke_id engfunc(EngFunc_PrecacheModelROCKET_PUFF)
    
g_fw_index register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1);
}
public 
client_putinserver(id) {
    
set_bit(g_connectid);
    
g_mode[id] = 0;
}
public 
client_disconnect(id) {
    
reset_bit(g_connectid);
    
g_mode[id] = 0;
}
public 
hook_weapon(id) {
    
engclient_cmd(idWEAPON_BASE_ENT);
}
public 
zp_extra_item_selected(iditemid) {
    if(
itemid == g_itemid_rpg7give_rpg7(id);
}
public 
give_rpg7(id) {
    
UTIL_DropWeapon(id1);
    if(!
give_weapon(id)) return;
    
emit_sound(idCHAN_ITEM"items/gunpickup2.wav"VOL_NORMATTN_NORM0PITCH_NORM);
    
g_mode[id] = 0;
    static 
amountamount GetAmmoDifference(idWEAPON_BASE_CSWWEAPON_AMMO)
    if(
amount) {
        
AmmoPickup_Icon(id4WEAPON_CLIPamount);
        
cs_set_user_bpammo(idWEAPON_BASE_CSWWEAPON_AMMO);
    }
}
public 
give_weapon(id) {
    new 
ent create_entity(WEAPON_BASE_ENT);
    if(!
is_valid_ent(ent)) return false;
    
entity_set_int(entEV_INT_spawnflagsSF_NORESPAWN);
    
entity_set_int(entEV_INT_impulseWEAPON_SPECIAL_KEY);
    
ExecuteHam(Ham_Spawnent);
    
cs_set_weapon_ammo(entWEAPON_CLIP);
    if(!
ExecuteHamB(Ham_AddPlayerItemident)) {
        
entity_set_int(entEV_INT_flagsFL_KILLME);
        return 
true;
    }
    
ExecuteHamB(Ham_Item_AttachToPlayerentid);
    return 
true;
}
public 
fw_Item_PostFrame(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    if(
get_pdata_int(entm_fInReload4)) {
        static 
clipclip cs_get_weapon_ammo(ent);
        static 
ammoammo cs_get_user_bpammo(idWEAPON_BASE_CSW);
        static 
jmin(WEAPON_CLIP clipammo); 
        
cs_set_weapon_ammo(entclip+j);
        
cs_set_user_bpammo(idWEAPON_BASE_CSWammo-j);
        
set_pdata_int(entm_fInReload04);
    } 
    if(!
g_mode[id] && get_pdata_float(idm_flNextAttack5) <= 0.0 && get_user_button(id) & IN_ATTACK2) {
             
UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 11);
        
set_pdata_float(idm_flNextAttack0.55);
        
set_pdata_int(id36365);
             
g_mode[id] = 1
    }
    else if(
g_mode[id] && get_pdata_float(idm_flNextAttack5) <= 0.0 && get_user_button(id) & IN_ATTACK2) {
        
UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 10 12);
        
set_pdata_float(idm_flNextAttack0.55);
             
g_mode[id] = 0
    }
    if(
g_mode[id] && pev(idpev_weaponanim) == 0UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 1:);
    if(!
g_mode[id]) set_pdata_int(id36390);
    return 
HAM_IGNORED;
}
public 
fw_Item_Deploy_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
entity_set_string(idEV_SZ_viewmodelWEAPON_MODEL_VIEW);
    
entity_set_string(idEV_SZ_weaponmodelWEAPON_MODEL_PLAYER);
    if(
cs_get_weapon_ammo(ent) == 1UTIL_PlayWeaponAnimation(id7);
    else 
UTIL_PlayWeaponAnimation(id8);
    
g_mode[id] = 0;
    
set_pdata_string(idm_szAnimExtention 4WEAPON_ANIM_TEXT, -20)
    
set_pdata_float(idm_flNextAttackWEAPON_DRAW_DELAY5);
    
message_begin(MSG_ONEget_user_msgid("HideWeapon"), {0,0,0}, id);
    
write_byte(1<<6);
    
message_end();
    return 
HAM_IGNORED;
}
public 
fw_Item_Holster_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
message_begin(MSG_ONEget_user_msgid("HideWeapon"), {0,0,0}, id);
    
write_byte(0);
    
message_end();
    return 
HAM_IGNORED;
}
public 
fw_Weapon_Reload_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
clipclip cs_get_weapon_ammo(ent);
    static 
idid get_pdata_cbase(entm_pPlayer4);
    if(
cs_get_user_bpammo(idWEAPON_BASE_CSW) <= || clip >= WEAPON_CLIP) return HAM_SUPERCEDE;
    
UTIL_PlayWeaponAnimation(id6);
    
g_mode[id] = 0;
    
set_pdata_float(get_pdata_cbase(entm_pPlayer4), m_flNextAttackWEAPON_RELOAD_TIME5);
    return 
HAM_IGNORED;
}
public 
fw_Weapon_PrimaryAttack(ent) {
    if(!
CustomItem(ent) || !cs_get_weapon_ammo(ent)) return HAM_IGNORED;
    
ExecuteHam(Ham_Weapon_PrimaryAttackent);
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
emit_sound(idCHAN_WEAPONWEAPON_SOUND_SHOOTVOL_NORMATTN_NORM0PITCH_NORM);
    
UTIL_PlayWeaponAnimation(idg_mode[id] ? 4);
    
set_pdata_float(entm_flNextPrimaryAttackWEAPON_SHOOT_DELAY4);
    static 
Float:Punchangle[3]; entity_get_vector(idEV_VEC_punchanglePunchangle);
    
xs_vec_mul_scalar(PunchangleWEAPON_RECOILPunchangle);
    
entity_set_vector(idEV_VEC_punchanglePunchangle);
    
UTIL_MakeMuzzle(id)
    
fw_Weapon_MakeRocket(id)
    
g_mode[id] = 0;
    return 
HAM_SUPERCEDE;
}
public 
fw_Weapon_MakeRocket(id) {
    static 
Float:StartOrigin[3], Float:TargetOrigin[3], Float:angles[3], Float:angles_fix[3];
    if(!
g_mode[id]) get_position(id30.08.0, -8.0StartOrigin);
    else 
get_position(id30.01.0, -15.0StartOrigin);
    
pev(id,pev_v_angle,angles);
    static 
EntEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"));
    if(!
pev_valid(Ent)) return;
    
angles_fix[0] = 360.0 angles[0];
    
angles_fix[1] = angles[1];
    
angles_fix[2] = angles[2];
    
set_pev(Entpev_movetypeMOVETYPE_TOSS);
    
set_pev(Entpev_ownerid);
    
entity_set_string(EntEV_SZ_classnameWEAPON_ROCKET_CLASS);
    
engfunc(EngFunc_SetModelEntWEAPON_MODEL_ROCKET);
    
set_pev(Entpev_mins,{ -0.1, -0.1, -0.1 });
    
set_pev(Entpev_maxs,{ 0.10.10.1 });
    
set_pev(Entpev_originStartOrigin);
    
set_pev(Entpev_anglesangles_fix);
    
set_pev(Entpev_gravityg_mode[id] ? 0.01 : -0.4);
    
set_pev(Entpev_solidSOLID_BBOX);
    
set_pev(Entpev_frame0.0);
    
set_pev(Entpev_nextthinkget_gametime() + 0.2)
    static 
Float:Velocity[3];
    
fm_get_aim_origin(idTargetOrigin);
    
get_speed_vector(StartOriginTargetOrigin1500.0Velocity);
    
set_pev(Entpev_velocityVelocity);
}
public 
fw_RocketThink(ent) {
    if(!
pev_valid(ent)) return;
    new 
Float:Origin[3];
    
pev(entpev_originOrigin)
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordOrigin[0]);
    
engfunc(EngFunc_WriteCoordOrigin[1]);
    
engfunc(EngFunc_WriteCoordOrigin[2]-10);
    
write_short(g_smoke_id);
    
write_byte(2);
    
write_byte(40);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND TE_EXPLFLAG_NODLIGHTS);
    
message_end();
    
set_pev(entpev_nextthinkget_gametime() + 0.07)
}
public 
fw_RocketTouch(EntId) {
    if(!
pev_valid(Ent)) return;
    static 
classnameptd[32]; pev(Idpev_classnameclassnameptd31);
    if (
equali(classnameptd"func_breakable")) ExecuteHamB(Ham_TakeDamageId00300.0DMG_GENERIC);
    new 
Float:originZ[3], Float:originX[3];
    
pev(Entpev_originoriginX);
    
entity_get_vector(EntEV_VEC_originoriginZ);
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginX0);
    
write_byte(TE_WORLDDECAL);
    
engfunc(EngFunc_WriteCoordoriginZ[0]);
    
engfunc(EngFunc_WriteCoordoriginZ[1]);
    
engfunc(EngFunc_WriteCoordoriginZ[2]);
    
write_byte(engfunc(EngFunc_DecalIndex,"{scorch3"));
    
message_end();
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordoriginZ[0]);
    
engfunc(EngFunc_WriteCoordoriginZ[1]);
    
engfunc(EngFunc_WriteCoordoriginZ[2] + 50);
    
write_short(sExplo);
    
write_byte(25);
    
write_byte(30);
    
write_byte(0);
    
message_end();
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordoriginX[0]);
    
engfunc(EngFunc_WriteCoordoriginX[1] + 50);
    
engfunc(EngFunc_WriteCoordoriginX[2] + 80);
    
write_short(sExploSmall);
    
write_byte(25);
    
write_byte(30);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND);
    
message_end();
    
fw_DamageRocket(Ent);
    
remove_entity(Ent);
}
public 
fw_DamageRocket(Ent) {
    static 
OwnerOwner pev(Entpev_owner);
    static 
Attacker;
    if(!
is_user_alive(Owner)) {
        
Attacker 0;
        return;
    } 
    else {
        
Attacker Owner;
    }
    for(new 
0g_MaxPlayersi++) {
        if(!
is_user_alive(i)) continue;
        if(
entity_range(iEnt) > EXPLODE_RADIUS) continue;
        if(!
zp_get_user_zombie(i)) continue;
        
ExecuteHamB(Ham_TakeDamagei0AttackerEXPLODE_DAMAGEDMG_BULLET);
    }
}
public 
fw_Item_AddToPlayer_Post(entid) {
    switch(
entity_get_int(entEV_INT_impulse)) {
        case 
0UTIL_Weaponlist(idWEAPON_BASE_ENT29001WEAPON_BASE_CSW0);
        case 
WEAPON_SPECIAL_KEYUTIL_Weaponlist(idWEAPON_SPRITE_NAME2WEAPON_AMMO01WEAPON_BASE_CSW0);
    }
}
public 
fw_TraceAttack(entityattackerFloat:damage) {
         if(!
IsConnected(attacker) || !CustomItem(get_pdata_cbase(attackerm_pActiveItem5))) return HAM_IGNORED;
         return 
HAM_SUPERCEDE;
}
public 
fw_TraceAttack_Post(entityattackerFloat:damageFloat:fDir[3], ptrdamagetype) {
         if(!
CustomItem(get_pdata_cbase(attackerm_pActiveItem5))) return HAM_IGNORED;
         return 
HAM_SUPERCEDE;
}
public 
fw_Spawn_Weaponbox_Post(ent) {
    if(
is_valid_ent(ent))
        
state (is_valid_ent(entity_get_edict(entEV_ENT_owner))) WeaponBox_Enabled;
}
public 
fw_UpdateClientData_Post(idSendWeaponsCD_Handle) {
        if(!
is_user_alive(id) || !CustomItem(get_pdata_cbase(idm_pActiveItem5))) return FMRES_IGNORED;
        
set_cd(CD_HandleCD_flNextAttack999999.0);
        return 
FMRES_HANDLED;
}
public 
fw_SetModel(entity) <WeaponBox_Enabled> {
    
state WeaponBox_Disabled;
    if(!
is_valid_ent(entity)) return FMRES_IGNORED;
    static 
i;
    for(
06i++) {
        static 
itemitem get_pdata_cbase(entitym_rgpPlayerItems_CWeaponBox i4);
        if(!
is_user_alive(item)) //////////////
        
return PLUGIN_HANDLED//////////////
        
if(is_valid_ent(item) && CustomItem(item)) {
            
entity_set_model(entityWEAPON_MODEL_WORLD);
            return 
FMRES_SUPERCEDE;
        }
    }
    return 
FMRES_IGNORED;
}
public 
fw_SetModel() <WeaponBox_Disabled> {
    return 
FMRES_IGNORED;
}
public 
fw_PrecacheEvent_Post(typename[]) {
    if(
equal(WEAPON_EVENTname)) {
        
g_event get_orig_retval();
        return 
FMRES_HANDLED;
    }
    return 
FMRES_IGNORED;
}
public 
fw_PlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:iangles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2) {
    if(
eventid != g_event || !IsConnected(invoker) || !CustomItem(get_pdata_cbase(invokerm_pActiveItem5))) return FMRES_IGNORED;
    return 
FMRES_SUPERCEDE;
}
public 
UTIL_MakeMuzzle(id) {
    static 
Float:Origin[3];
    if(!
g_mode[id]) get_position(id30.08.0, -15.0Origin);
    else 
get_position(id30.01.0, -15.0Origin);
    
engfunc(EngFunc_MessageBeginMSG_ONE_UNRELIABLESVC_TEMPENTITYOriginid);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordOrigin[0]);
    
engfunc(EngFunc_WriteCoordOrigin[1]);
    
engfunc(EngFunc_WriteCoordOrigin[2]);
    
write_short(sMuzzleFlash)
    
write_byte(9);
    
write_byte(20);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND TE_EXPLFLAG_NODLIGHTS);
    
message_end();
}
stock GetEntityTouchDirect(entFloat:target[3], speed) {
    static 
Float:vec[3];
    
aim_at_origin(ent,target,vec);
    
engfunc(EngFunc_MakeVectorsvec);
    
global_get(glb_v_forwardvec);
    
vec[0] *= speed;
    
vec[1] *= speed;
    
vec[2] *= speed 0.1;
    
set_pev(entpev_velocityvec);
    new 
Float:angle[3];
    
aim_at_origin(enttargetangle);
    
angle[0] = 0.0;
    
entity_set_vector(entEV_VEC_anglesangle);
}
stock get_position(id,Float:forwFloat:rightFloat:upFloat:vStart[]) {
    static 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3];
    
pev(idpev_originvOrigin);
    
pev(idpev_view_ofsvUp);
    
xs_vec_add(vOriginvUpvOrigin);
    
pev(idpev_v_anglevAngle);
    
angle_vector(vAngleANGLEVECTOR_FORWARDvForward);
    
angle_vector(vAngleANGLEVECTOR_RIGHTvRight);
    
angle_vector(vAngleANGLEVECTOR_UPvUp);
    
vStart[0] = vOrigin[0] + vForward[0] * forw vRight[0] * right vUp[0] * up;
    
vStart[1] = vOrigin[1] + vForward[1] * forw vRight[1] * right vUp[1] * up;
    
vStart[2] = vOrigin[2] + vForward[2] * forw vRight[2] * right vUp[2] * up;
}
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speedFloat:new_velocity[3]) {
    
new_velocity[0] = origin2[0] - origin1[0];
    
new_velocity[1] = origin2[1] - origin1[1];
    
new_velocity[2] = origin2[2] - origin1[2];
    static 
Float:numnum floatsqroot(speed speed / (new_velocity[0] * new_velocity[0] + new_velocity[1] * new_velocity[1] + new_velocity[2] * new_velocity[2]));
    
new_velocity[0] *= num;
    
new_velocity[1] *= num;
    
new_velocity[2] *= num;
    return 
1;
}
stock UTIL_PlayWeaponAnimation(idSequence) {
    
entity_set_int(idEV_INT_weaponanimSequence);
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id);
    
write_byte(Sequence);
    
write_byte(0);
    
message_end();
}
stock UTIL_DropWeapon(idslot) {
        if(!(
<= slot <= 2)) return 0;
        static 
iCountiCount 0;
        static 
iEntityiEntity get_pdata_cbase(id, (m_rpgPlayerItems slot), 5);
        if(
iEntity 0) {
               static 
iNext;
               static 
szWeaponName[32];
               do{
                       
iNext get_pdata_cbase(iEntitym_pNext4);
                       if(
get_weaponname(cs_get_weapon_id(iEntity), szWeaponNamecharsmax(szWeaponName))) {  
                               
engclient_cmd(id"drop"szWeaponName);
                               
iCount++;
               }
               } while(( 
iEntity iNext) > 0);
    }
        return 
iCount;
}
stock UTIL_Weaponlist(idweaponlist[], intint2int3int4int5int6) {
    static 
msg_WeaponList; if(!msg_WeaponListmsg_WeaponList get_user_msgid("WeaponList");
    
message_begin(MSG_ONEmsg_WeaponList_id);
    
write_string(weaponlist);
    
write_byte(int);
    
write_byte(int2);
    
write_byte(-1);
    
write_byte(-1);
    
write_byte(int3);
    
write_byte(int4);
    
write_byte(int5);
    
write_byte(int6);
    
message_end();
}
stock UTIL_AmmoPickup(idAmmoIDAmount) {
    static 
msg_AmmoPickup; if(!msg_AmmoPickupmsg_AmmoPickup get_user_msgid("AmmoPickup");
    
message_begin(MSG_ONE_UNRELIABLEmsg_AmmoPickup_id);
    
write_byte(AmmoID);
    
write_byte(Amount);
    
message_end();
}
stock AmmoPickup_Icon(idAmmoIDClipAmount) {
    static 
icountcount floatround(Amount*1.0/Clipfloatround_floor);
    static 
AmountAmmoAmountAmmo 0;
    for(
i=0;i<count;i++) {
        
UTIL_AmmoPickup(idAmmoIDClip);
        
AmountAmmo+=Clip;
    }
    static 
RestAmmoRestAmmo Amount-AmountAmmo;
    if(
RestAmmoUTIL_AmmoPickup(idAmmoIDRestAmmo);
}
stock GetAmmoDifference(idcswamount) {
    static 
ammoammo cs_get_user_bpammo(idcsw);
    if(
ammo >= amount) return 0;
    return 
amount-ammo;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/ 
KaLoIaN is offline
siriusmd99
Veteran Member
Join Date: Oct 2013
Location: Republic of Moldova
Old 04-27-2016 , 09:04   Re: Entity out of range (-1) ... entity_get_int
Reply With Quote #2

if(!pev_valid(ent)) return 1;
siriusmd99 is offline
KaLoIaN
Senior Member
Join Date: Feb 2013
Old 04-27-2016 , 09:43   Re: Entity out of range (-1) ... entity_get_int
Reply With Quote #3

Quote:
Originally Posted by siriusmd99 View Post
if(!pev_valid(ent)) return 1;
Again the same error

PHP Code:
#include <amxmodx>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <xs>
#include <zombieplague>

#define CustomItem(%0) (entity_get_int(%0, EV_INT_impulse) == WEAPON_SPECIAL_KEY)
#define get_bit(%1,%2) ((%1 & (1 << (%2 & 31))) ? true : false)
#define set_bit(%1,%2) %1 |= (1 << (%2 & 31))
#define reset_bit(%1,%2) %1 &= ~(1 << (%2 & 31))
#define IsConnected(%0) (1<=%0<=g_MaxPlayers && get_bit(g_connect, %0))

#define m_rgpPlayerItems_CWeaponBox 34
#define m_pPlayer 41
#define m_pNext 42
#define m_flNextPrimaryAttack 46
#define m_iShell 57
#define m_flNextAttack 83
#define m_flEjectBrass 111
#define m_rpgPlayerItems 367
#define m_rpgPlayerItems0 368
#define m_pActiveItem 373
#define m_fInReload 54
#define m_szAnimExtention 492

#define WEAPON_SPECIAL_KEY 1
#define WEAPON_BASE_ENT "weapon_ak47"
#define WEAPON_SPRITE_NAME "weapon_rpg7"
#define WEAPON_BASE_CSW CSW_AK47
#define WEAPON_EVENT "events/ak47.sc"
#define WEAPON_ANIM_TEXT "rpg7"
#define WEAPON_ROCKET_CLASS "rpg7_rocket"

#define WEAPON_SHOOT_DELAY 1.0
#define WEAPON_RECOIL 9.5
#define WEAPON_CLIP 1
#define WEAPON_AMMO 90
#define WEAPON_RELOAD_TIME 2.1
#define WEAPON_DRAW_DELAY 1.1

#define EXPLODE_DAMAGE 350.0
#define EXPLODE_RADIUS 200.0

#define WEAPON_MODEL_VIEW "models/ruzmcs/v_vip_rpg7.mdl"
#define WEAPON_MODEL_PLAYER "models/ruzmcs/p_vip_rpg7.mdl"
#define WEAPON_MODEL_WORLD "models/ruzmcs/w_vip_rpg7.mdl"
#define WEAPON_MODEL_ROCKET "models/ruzmcs/s_vip_rpg7.mdl"
#define WEAPON_SOUND_SHOOT "weapons/rpg7_shoot.wav"
#define WEAPON_SPRITE_MUZZLEFLASH "sprites/smokepuff.spr"

#define SOUND_ONE "player/pl_snow1.wav"
#define SOUND_TWO "player/pl_snow2.wav"
#define SOUND_THREE "player/pl_snow3.wav"
#define SOUND_FOUR "player/pl_snow4.wav"


#define ROCKET_EXPLOSION "sprites/fexplo.spr"
#define ROCKET_EXPLOSION_SMALL "sprites/eexplo.spr"
#define ROCKET_PUFF "sprites/effects/rainsplash.spr"

new const WEAPON_SOUNDS[][] = {
    
"weapons/rpg7_reload.wav",
    
"debris/wood1.wav",
    
"debris/wood2.wav",
    
"debris/wood3.wav",
    
"player/pl_swim1.wav",
    
"player/pl_swim2.wav",
    
"player/pl_swim3.wav",
    
"player/pl_swim4.wav",
    
"weapons/grenade_hit1.wav",
    
"weapons/grenade_hit2.wav",
    
"weapons/grenade_hit3.wav",
    
"player/pl_metal1.wav",
    
"player/pl_metal2.wav",
    
"player/pl_metal3.wav",
    
"player/pl_metal4.wav",
    
"common/wpn_select.wav",
    
"player/pl_wade4.wav",
    
"player/pl_wade3.wav",
    
"player/pl_wade2.wav",
    
"player/pl_wade1.wav",
    
"player/pl_ladder1.wav",
    
"player/pl_ladder2.wav",
    
"player/pl_ladder3.wav",
    
"player/pl_ladder4.wav",
    
"weapons/dryfire_rifle.wav",
    
"debris/glass1.wav",
    
"debris/glass2.wav",
    
"debris/glass3.wav",
    
"common/bodysplat.wav",
    
"weapons/rpg7_draw.wav"
}
new const 
WEAPON_SPITES[][] = {
    
"sprites/zombie_plague/640hud7.spr",
    
"sprites/zombie_plague/640hud118.spr"
}

new 
g_connectg_MaxPlayerssExplosExploSmallg_eventsMuzzleFlashg_fw_indexg_smoke_idg_itemid_rpg7g_mode[33];

public 
plugin_init() {
    
register_plugin("[Zombie Plague] Weapon: RPG-7""0.7""PlaneShfit1231 / Batcon");
    
RegisterHam(Ham_Item_DeployWEAPON_BASE_ENT"fw_Item_Deploy_Post"1);
    
RegisterHam(Ham_Item_HolsterWEAPON_BASE_ENT"fw_Item_Holster_Post"1);
    
RegisterHam(Ham_Weapon_ReloadWEAPON_BASE_ENT"fw_Weapon_Reload_Post"1);
    
RegisterHam(Ham_Weapon_PrimaryAttackWEAPON_BASE_ENT"fw_Weapon_PrimaryAttack");
    
RegisterHam(Ham_Item_AddToPlayerWEAPON_BASE_ENT"fw_Item_AddToPlayer_Post"1);
    
RegisterHam(Ham_Item_PostFrameWEAPON_BASE_ENT"fw_Item_PostFrame");
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"hostage_entity""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack");
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_wall""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_door""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_plat""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"func_rotating""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack_Post"1);
    
RegisterHam(Ham_Spawn"weaponbox""fw_Spawn_Weaponbox_Post"1);
    
unregister_forward(FM_PrecacheEventg_fw_index1);
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1);
    
register_forward(FM_SetModel"fw_SetModel");
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent");
    
register_touch(WEAPON_ROCKET_CLASS"*""fw_RocketTouch");
    
register_think(WEAPON_ROCKET_CLASS"fw_RocketThink" )
    
g_MaxPlayers get_maxplayers();
    
state WeaponBox_Disabled;
    
register_clcmd(WEAPON_SPRITE_NAME"hook_weapon");
    
//g_itemid_rpg7 = zp_register_extra_item("RPG-7", 0, ZP_TEAM_HUMAN);
}
public 
plugin_natives ()
{
register_native("zp_give_rpg7""give_rpg7"1)
}
public 
plugin_precache() {
    static 
buffer[64], i;
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_VIEW);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_PLAYER);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_WORLD);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_ROCKET);
    
engfunc(EngFunc_PrecacheSoundWEAPON_SOUND_SHOOT);
    
engfunc(EngFunc_PrecacheSoundSOUND_ONE);
    
engfunc(EngFunc_PrecacheSoundSOUND_TWO);
    
engfunc(EngFunc_PrecacheSoundSOUND_THREE);
    
engfunc(EngFunc_PrecacheSoundSOUND_FOUR);
    for(
0sizeof WEAPON_SOUNDS;i++) engfunc(EngFunc_PrecacheSoundWEAPON_SOUNDS[i]);
    for(
0sizeof WEAPON_SPITES;i++) engfunc(EngFunc_PrecacheGenericWEAPON_SPITES[i]);
    
format(buffercharsmax(buffer), "sprites/%s.txt"WEAPON_SPRITE_NAME);
    
engfunc(EngFunc_PrecacheGenericbuffer);
    
sExplo engfunc(EngFunc_PrecacheModelROCKET_EXPLOSION);
    
sExploSmall engfunc(EngFunc_PrecacheModelROCKET_EXPLOSION_SMALL);
    
sMuzzleFlash engfunc(EngFunc_PrecacheModelWEAPON_SPRITE_MUZZLEFLASH);
    
g_smoke_id engfunc(EngFunc_PrecacheModelROCKET_PUFF)
    
g_fw_index register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1);
}
public 
client_putinserver(id) {
    
set_bit(g_connectid);
    
g_mode[id] = 0;
}
public 
client_disconnect(id) {
    
reset_bit(g_connectid);
    
g_mode[id] = 0;
}
public 
hook_weapon(id) {
    
engclient_cmd(idWEAPON_BASE_ENT);
}
public 
zp_extra_item_selected(iditemid) {
    if(
itemid == g_itemid_rpg7give_rpg7(id);
}
public 
give_rpg7(id) {
    
UTIL_DropWeapon(id1);
    if(!
give_weapon(id)) return;
    
emit_sound(idCHAN_ITEM"items/gunpickup2.wav"VOL_NORMATTN_NORM0PITCH_NORM);
    
g_mode[id] = 0;
    static 
amountamount GetAmmoDifference(idWEAPON_BASE_CSWWEAPON_AMMO)
    if(
amount) {
        
AmmoPickup_Icon(id4WEAPON_CLIPamount);
        
cs_set_user_bpammo(idWEAPON_BASE_CSWWEAPON_AMMO);
    }
}
public 
give_weapon(id) {
    new 
ent create_entity(WEAPON_BASE_ENT);
    if(!
is_valid_ent(ent)) return false;
    
entity_set_int(entEV_INT_spawnflagsSF_NORESPAWN);
    
entity_set_int(entEV_INT_impulseWEAPON_SPECIAL_KEY);
    
ExecuteHam(Ham_Spawnent);
    
cs_set_weapon_ammo(entWEAPON_CLIP);
    if(!
ExecuteHamB(Ham_AddPlayerItemident)) {
        
entity_set_int(entEV_INT_flagsFL_KILLME);
        return 
true;
    }
    
ExecuteHamB(Ham_Item_AttachToPlayerentid);
    return 
true;
}
public 
fw_Item_PostFrame(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    if(
get_pdata_int(entm_fInReload4)) {
        static 
clipclip cs_get_weapon_ammo(ent);
        static 
ammoammo cs_get_user_bpammo(idWEAPON_BASE_CSW);
        static 
jmin(WEAPON_CLIP clipammo); 
        
cs_set_weapon_ammo(entclip+j);
        
cs_set_user_bpammo(idWEAPON_BASE_CSWammo-j);
        
set_pdata_int(entm_fInReload04);
    } 
    if(!
g_mode[id] && get_pdata_float(idm_flNextAttack5) <= 0.0 && get_user_button(id) & IN_ATTACK2) {
             
UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 11);
        
set_pdata_float(idm_flNextAttack0.55);
        
set_pdata_int(id36365);
             
g_mode[id] = 1
    }
    else if(
g_mode[id] && get_pdata_float(idm_flNextAttack5) <= 0.0 && get_user_button(id) & IN_ATTACK2) {
        
UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 10 12);
        
set_pdata_float(idm_flNextAttack0.55);
             
g_mode[id] = 0
    }
    if(
g_mode[id] && pev(idpev_weaponanim) == 0UTIL_PlayWeaponAnimation(idcs_get_weapon_ammo(ent) == 1:);
    if(!
g_mode[id]) set_pdata_int(id36390);
    return 
HAM_IGNORED;
}
public 
fw_Item_Deploy_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
entity_set_string(idEV_SZ_viewmodelWEAPON_MODEL_VIEW);
    
entity_set_string(idEV_SZ_weaponmodelWEAPON_MODEL_PLAYER);
    if(
cs_get_weapon_ammo(ent) == 1UTIL_PlayWeaponAnimation(id7);
    else 
UTIL_PlayWeaponAnimation(id8);
    
g_mode[id] = 0;
    
set_pdata_string(idm_szAnimExtention 4WEAPON_ANIM_TEXT, -20)
    
set_pdata_float(idm_flNextAttackWEAPON_DRAW_DELAY5);
    
message_begin(MSG_ONEget_user_msgid("HideWeapon"), {0,0,0}, id);
    
write_byte(1<<6);
    
message_end();
    return 
HAM_IGNORED;
}
public 
fw_Item_Holster_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
message_begin(MSG_ONEget_user_msgid("HideWeapon"), {0,0,0}, id);
    
write_byte(0);
    
message_end();
    return 
HAM_IGNORED;
}
public 
fw_Weapon_Reload_Post(ent) {
    if(!
CustomItem(ent)) return HAM_IGNORED;
    static 
clipclip cs_get_weapon_ammo(ent);
    static 
idid get_pdata_cbase(entm_pPlayer4);
    if(
cs_get_user_bpammo(idWEAPON_BASE_CSW) <= || clip >= WEAPON_CLIP) return HAM_SUPERCEDE;
    
UTIL_PlayWeaponAnimation(id6);
    
g_mode[id] = 0;
    
set_pdata_float(get_pdata_cbase(entm_pPlayer4), m_flNextAttackWEAPON_RELOAD_TIME5);
    return 
HAM_IGNORED;
}
public 
fw_Weapon_PrimaryAttack(ent) {
    if(!
CustomItem(ent) || !cs_get_weapon_ammo(ent)) return HAM_IGNORED;
    
ExecuteHam(Ham_Weapon_PrimaryAttackent);
    static 
idid get_pdata_cbase(entm_pPlayer4);
    
emit_sound(idCHAN_WEAPONWEAPON_SOUND_SHOOTVOL_NORMATTN_NORM0PITCH_NORM);
    
UTIL_PlayWeaponAnimation(idg_mode[id] ? 4);
    
set_pdata_float(entm_flNextPrimaryAttackWEAPON_SHOOT_DELAY4);
    static 
Float:Punchangle[3]; entity_get_vector(idEV_VEC_punchanglePunchangle);
    
xs_vec_mul_scalar(PunchangleWEAPON_RECOILPunchangle);
    
entity_set_vector(idEV_VEC_punchanglePunchangle);
    
UTIL_MakeMuzzle(id)
    
fw_Weapon_MakeRocket(id)
    
g_mode[id] = 0;
    return 
HAM_SUPERCEDE;
}
public 
fw_Weapon_MakeRocket(id) {
    static 
Float:StartOrigin[3], Float:TargetOrigin[3], Float:angles[3], Float:angles_fix[3];
    if(!
g_mode[id]) get_position(id30.08.0, -8.0StartOrigin);
    else 
get_position(id30.01.0, -15.0StartOrigin);
    
pev(id,pev_v_angle,angles);
    static 
EntEnt engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"));
    if(!
pev_valid(Ent)) return;
    
angles_fix[0] = 360.0 angles[0];
    
angles_fix[1] = angles[1];
    
angles_fix[2] = angles[2];
    
set_pev(Entpev_movetypeMOVETYPE_TOSS);
    
set_pev(Entpev_ownerid);
    
entity_set_string(EntEV_SZ_classnameWEAPON_ROCKET_CLASS);
    
engfunc(EngFunc_SetModelEntWEAPON_MODEL_ROCKET);
    
set_pev(Entpev_mins,{ -0.1, -0.1, -0.1 });
    
set_pev(Entpev_maxs,{ 0.10.10.1 });
    
set_pev(Entpev_originStartOrigin);
    
set_pev(Entpev_anglesangles_fix);
    
set_pev(Entpev_gravityg_mode[id] ? 0.01 : -0.4);
    
set_pev(Entpev_solidSOLID_BBOX);
    
set_pev(Entpev_frame0.0);
    
set_pev(Entpev_nextthinkget_gametime() + 0.2)
    static 
Float:Velocity[3];
    
fm_get_aim_origin(idTargetOrigin);
    
get_speed_vector(StartOriginTargetOrigin1500.0Velocity);
    
set_pev(Entpev_velocityVelocity);
}
public 
fw_RocketThink(ent) {
    if(!
pev_valid(ent)) return;
    new 
Float:Origin[3];
    
pev(entpev_originOrigin)
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordOrigin[0]);
    
engfunc(EngFunc_WriteCoordOrigin[1]);
    
engfunc(EngFunc_WriteCoordOrigin[2]-10);
    
write_short(g_smoke_id);
    
write_byte(2);
    
write_byte(40);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND TE_EXPLFLAG_NODLIGHTS);
    
message_end();
    
set_pev(entpev_nextthinkget_gametime() + 0.07)
}
public 
fw_RocketTouch(EntId) {
    if(!
pev_valid(Ent)) return;
    static 
classnameptd[32]; pev(Idpev_classnameclassnameptd31);
    if (
equali(classnameptd"func_breakable")) ExecuteHamB(Ham_TakeDamageId00300.0DMG_GENERIC);
    new 
Float:originZ[3], Float:originX[3];
    
pev(Entpev_originoriginX);
    
entity_get_vector(EntEV_VEC_originoriginZ);
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYoriginX0);
    
write_byte(TE_WORLDDECAL);
    
engfunc(EngFunc_WriteCoordoriginZ[0]);
    
engfunc(EngFunc_WriteCoordoriginZ[1]);
    
engfunc(EngFunc_WriteCoordoriginZ[2]);
    
write_byte(engfunc(EngFunc_DecalIndex,"{scorch3"));
    
message_end();
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordoriginZ[0]);
    
engfunc(EngFunc_WriteCoordoriginZ[1]);
    
engfunc(EngFunc_WriteCoordoriginZ[2] + 50);
    
write_short(sExplo);
    
write_byte(25);
    
write_byte(30);
    
write_byte(0);
    
message_end();
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordoriginX[0]);
    
engfunc(EngFunc_WriteCoordoriginX[1] + 50);
    
engfunc(EngFunc_WriteCoordoriginX[2] + 80);
    
write_short(sExploSmall);
    
write_byte(25);
    
write_byte(30);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND);
    
message_end();
    
fw_DamageRocket(Ent);
    
remove_entity(Ent);
}
public 
fw_DamageRocket(Ent) {
    static 
OwnerOwner pev(Entpev_owner);
    static 
Attacker;
    if(!
is_user_alive(Owner)) {
        
Attacker 0;
        return;
    } 
    else {
        
Attacker Owner;
    }
    for(new 
0g_MaxPlayersi++) {
        if(!
is_user_alive(i)) continue;
        if(
entity_range(iEnt) > EXPLODE_RADIUS) continue;
        if(!
zp_get_user_zombie(i)) continue;
        
ExecuteHamB(Ham_TakeDamagei0AttackerEXPLODE_DAMAGEDMG_BULLET);
    }
}
public 
fw_Item_AddToPlayer_Post(entid) {
    switch(
entity_get_int(entEV_INT_impulse)) {
        case 
0UTIL_Weaponlist(idWEAPON_BASE_ENT29001WEAPON_BASE_CSW0);
        case 
WEAPON_SPECIAL_KEYUTIL_Weaponlist(idWEAPON_SPRITE_NAME2WEAPON_AMMO01WEAPON_BASE_CSW0);
    }
}
public 
fw_TraceAttack(entityattackerFloat:damage) {
         if(!
IsConnected(attacker) || !CustomItem(get_pdata_cbase(attackerm_pActiveItem5))) return HAM_IGNORED;
         return 
HAM_SUPERCEDE;
}
public 
fw_TraceAttack_Post(entityattackerFloat:damageFloat:fDir[3], ptrdamagetype) {
         if(!
CustomItem(get_pdata_cbase(attackerm_pActiveItem5))) return HAM_IGNORED;
         return 
HAM_SUPERCEDE;
}
public 
fw_Spawn_Weaponbox_Post(ent) {
    if(
is_valid_ent(ent))
        
state (is_valid_ent(entity_get_edict(entEV_ENT_owner))) WeaponBox_Enabled;
}
public 
fw_UpdateClientData_Post(idSendWeaponsCD_Handle) {
        if(!
is_user_alive(id) || !CustomItem(get_pdata_cbase(idm_pActiveItem5))) return FMRES_IGNORED;
        
set_cd(CD_HandleCD_flNextAttack999999.0);
        return 
FMRES_HANDLED;
}
public 
fw_SetModel(entity) <WeaponBox_Enabled> {
    
state WeaponBox_Disabled;
    
//if(!is_valid_ent(entity)) return FMRES_IGNORED;
    
if(!pev_valid(entity)) return 1;
    static 
i;
    for(
06i++) {
        static 
itemitem get_pdata_cbase(entitym_rgpPlayerItems_CWeaponBox i4);
        if(!
is_user_alive(item)) //////////////
        
return PLUGIN_HANDLED//////////////
        
if(is_valid_ent(item) && CustomItem(item)) {
            
entity_set_model(entityWEAPON_MODEL_WORLD);
            return 
FMRES_SUPERCEDE;
        }
    }
    return 
FMRES_IGNORED;
}
public 
fw_SetModel() <WeaponBox_Disabled> {
    return 
FMRES_IGNORED;
}
public 
fw_PrecacheEvent_Post(typename[]) {
    if(
equal(WEAPON_EVENTname)) {
        
g_event get_orig_retval();
        return 
FMRES_HANDLED;
    }
    return 
FMRES_IGNORED;
}
public 
fw_PlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:iangles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2) {
    if(
eventid != g_event || !IsConnected(invoker) || !CustomItem(get_pdata_cbase(invokerm_pActiveItem5))) return FMRES_IGNORED;
    return 
FMRES_SUPERCEDE;
}
public 
UTIL_MakeMuzzle(id) {
    static 
Float:Origin[3];
    if(!
g_mode[id]) get_position(id30.08.0, -15.0Origin);
    else 
get_position(id30.01.0, -15.0Origin);
    
engfunc(EngFunc_MessageBeginMSG_ONE_UNRELIABLESVC_TEMPENTITYOriginid);
    
write_byte(TE_EXPLOSION);
    
engfunc(EngFunc_WriteCoordOrigin[0]);
    
engfunc(EngFunc_WriteCoordOrigin[1]);
    
engfunc(EngFunc_WriteCoordOrigin[2]);
    
write_short(sMuzzleFlash)
    
write_byte(9);
    
write_byte(20);
    
write_byte(TE_EXPLFLAG_NOPARTICLES TE_EXPLFLAG_NOSOUND TE_EXPLFLAG_NODLIGHTS);
    
message_end();
}
stock GetEntityTouchDirect(entFloat:target[3], speed) {
    static 
Float:vec[3];
    
aim_at_origin(ent,target,vec);
    
engfunc(EngFunc_MakeVectorsvec);
    
global_get(glb_v_forwardvec);
    
vec[0] *= speed;
    
vec[1] *= speed;
    
vec[2] *= speed 0.1;
    
set_pev(entpev_velocityvec);
    new 
Float:angle[3];
    
aim_at_origin(enttargetangle);
    
angle[0] = 0.0;
    
entity_set_vector(entEV_VEC_anglesangle);
}
stock get_position(id,Float:forwFloat:rightFloat:upFloat:vStart[]) {
    static 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3];
    
pev(idpev_originvOrigin);
    
pev(idpev_view_ofsvUp);
    
xs_vec_add(vOriginvUpvOrigin);
    
pev(idpev_v_anglevAngle);
    
angle_vector(vAngleANGLEVECTOR_FORWARDvForward);
    
angle_vector(vAngleANGLEVECTOR_RIGHTvRight);
    
angle_vector(vAngleANGLEVECTOR_UPvUp);
    
vStart[0] = vOrigin[0] + vForward[0] * forw vRight[0] * right vUp[0] * up;
    
vStart[1] = vOrigin[1] + vForward[1] * forw vRight[1] * right vUp[1] * up;
    
vStart[2] = vOrigin[2] + vForward[2] * forw vRight[2] * right vUp[2] * up;
}
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speedFloat:new_velocity[3]) {
    
new_velocity[0] = origin2[0] - origin1[0];
    
new_velocity[1] = origin2[1] - origin1[1];
    
new_velocity[2] = origin2[2] - origin1[2];
    static 
Float:numnum floatsqroot(speed speed / (new_velocity[0] * new_velocity[0] + new_velocity[1] * new_velocity[1] + new_velocity[2] * new_velocity[2]));
    
new_velocity[0] *= num;
    
new_velocity[1] *= num;
    
new_velocity[2] *= num;
    return 
1;
}
stock UTIL_PlayWeaponAnimation(idSequence) {
    
entity_set_int(idEV_INT_weaponanimSequence);
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id);
    
write_byte(Sequence);
    
write_byte(0);
    
message_end();
}
stock UTIL_DropWeapon(idslot) {
        if(!(
<= slot <= 2)) return 0;
        static 
iCountiCount 0;
        static 
iEntityiEntity get_pdata_cbase(id, (m_rpgPlayerItems slot), 5);
        if(
iEntity 0) {
               static 
iNext;
               static 
szWeaponName[32];
               do{
                       
iNext get_pdata_cbase(iEntitym_pNext4);
                       if(
get_weaponname(cs_get_weapon_id(iEntity), szWeaponNamecharsmax(szWeaponName))) {  
                               
engclient_cmd(id"drop"szWeaponName);
                               
iCount++;
               }
               } while(( 
iEntity iNext) > 0);
    }
        return 
iCount;
}
stock UTIL_Weaponlist(idweaponlist[], intint2int3int4int5int6) {
    static 
msg_WeaponList; if(!msg_WeaponListmsg_WeaponList get_user_msgid("WeaponList");
    
message_begin(MSG_ONEmsg_WeaponList_id);
    
write_string(weaponlist);
    
write_byte(int);
    
write_byte(int2);
    
write_byte(-1);
    
write_byte(-1);
    
write_byte(int3);
    
write_byte(int4);
    
write_byte(int5);
    
write_byte(int6);
    
message_end();
}
stock UTIL_AmmoPickup(idAmmoIDAmount) {
    static 
msg_AmmoPickup; if(!msg_AmmoPickupmsg_AmmoPickup get_user_msgid("AmmoPickup");
    
message_begin(MSG_ONE_UNRELIABLEmsg_AmmoPickup_id);
    
write_byte(AmmoID);
    
write_byte(Amount);
    
message_end();
}
stock AmmoPickup_Icon(idAmmoIDClipAmount) {
    static 
icountcount floatround(Amount*1.0/Clipfloatround_floor);
    static 
AmountAmmoAmountAmmo 0;
    for(
i=0;i<count;i++) {
        
UTIL_AmmoPickup(idAmmoIDClip);
        
AmountAmmo+=Clip;
    }
    static 
RestAmmoRestAmmo Amount-AmountAmmo;
    if(
RestAmmoUTIL_AmmoPickup(idAmmoIDRestAmmo);
}
stock GetAmmoDifference(idcswamount) {
    static 
ammoammo cs_get_user_bpammo(idcsw);
    if(
ammo >= amount) return 0;
    return 
amount-ammo;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/ 
KaLoIaN is offline
Black Rose
Veteran Member
Join Date: Feb 2011
Location: Stockholm, Sweden
Old 04-27-2016 , 13:56   Re: Entity out of range (-1) ... entity_get_int
Reply With Quote #4

As far as I can see, that error is impossible with the code inside fw_SetModel. Did you manipulate the error display? Why?

is_valid_ent(item) && CustomItem(item)

The first part prevents the error, the second part causes it.



This is where the problem is:
Code:
public fw_UpdateClientData_Post(id, SendWeapons, CD_Handle) {         if(!is_user_alive(id) || !CustomItem(get_pdata_cbase(id, m_pActiveItem, 5))) return FMRES_IGNORED;         set_cd(CD_Handle, CD_flNextAttack, 999999.0);         return FMRES_HANDLED; }
->
Code:
public fw_UpdateClientData_Post(id, SendWeapons, CD_Handle) {         if(!is_user_alive(id))             return FMRES_IGNORED;         static sItem;         sItem = get_pdata_cbase(id, m_pActiveItem, 5);         if(!is_valid_ent(sItem) || !CustomItem(sItem))             return FMRES_IGNORED         set_cd(CD_Handle, CD_flNextAttack, 999999.0);         return FMRES_HANDLED; }
__________________

Last edited by Black Rose; 04-30-2016 at 07:02.
Black Rose is offline
KaLoIaN
Senior Member
Join Date: Feb 2013
Old 04-28-2016 , 17:24   Re: Entity out of range (-1) ... entity_get_int
Reply With Quote #5

Lol I did not manipulated anything... That I was also interested in why the line was 385 there is nothing bad there ... however It worked, thank you.
KaLoIaN is offline
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 18:39.


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