AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Entity out of range (-1) ... entity_get_int (https://forums.alliedmods.net/showthread.php?t=282038)

KaLoIaN 04-27-2016 09:01

Entity out of range (-1) ... entity_get_int
 
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 }
*/ 


siriusmd99 04-27-2016 09:04

Re: Entity out of range (-1) ... entity_get_int
 
if(!pev_valid(ent)) return 1;

KaLoIaN 04-27-2016 09:43

Re: Entity out of range (-1) ... entity_get_int
 
Quote:

Originally Posted by siriusmd99 (Post 2414615)
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 }
*/ 


Black Rose 04-27-2016 13:56

Re: Entity out of range (-1) ... entity_get_int
 
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; }

KaLoIaN 04-28-2016 17:24

Re: Entity out of range (-1) ... entity_get_int
 
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.


All times are GMT -4. The time now is 18:39.

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