Raised This Month: $32 Target: $400
 8% 

Railcannon not compiling :(


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
KhaledAwesome
Member
Join Date: Jul 2013
Old 06-13-2018 , 23:54   Railcannon not compiling :(
Reply With Quote #1

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <fun>

#define PLUGIN "[CSO] Rail Cannon (2014)"
#define VERSION "1.0"
#define AUTHOR "Dias"

#define DAMAGE 61 // 161 for Zombie

#define CLIP 24
#define BPAMMO 40

#define SPEED 1.25
#define RELOAD_TIME 2.5

#define CHARGE_AMMO 15
#define TIME_ACTIVATE 10
#define TIME_USAGE 7

#define MODEL_V "models/v_railcannon.mdl"
#define MODEL_P "models/p_railcannon.mdl"
#define MODEL_W "models/w_railcannon.mdl"

new const WeaponSounds[10][] = 
{
    
"weapons/railcanon-1.wav",
    
"weapons/railcanon-2.wav",
    
"weapons/railcanon_chage1.wav",
    
"weapons/railcanon_chage1_start.wav",
    
"weapons/railcanon_chage2.wav",
    
"weapons/railcanon_chage3.wav",
    
"weapons/railcanon_chage3_loop.wav",
    
"weapons/railcanon_clipin.wav",
    
"weapons/railcanon_clipout.wav",
    
"weapons/railcanon_draw.wav"
}

new const 
WeaponResources[3][] = 
{
    
"sprites/weapon_railcannon.txt",
    
"sprites/640hud13_2.spr",
    
"sprites/640hud112_2.spr"
}

enum
{
    
ANIM_IDLE 0,
    
ANIM_IDLE_CHARGE1,
    
ANIM_IDLE_CHARGE2,
    
ANIM_IDLE_CHARGE3,
    
ANIM_SHOOT1,
    
ANIM_SHOOT2,
    
ANIM_RELOAD,
    
ANIM_DRAW
}

enum
{
    
STATE_NORMAL 0,
    
STATE_CHARGE1,
    
STATE_CHARGE2,
    
STATE_CHARGE3,
    
STATE_CHARGE3_LOOP
}

#define CSW_RAILCANNON CSW_XM1014
#define weapon_railcannon "weapon_xm1014"

#define WEAPON_SECRETCODE 2792014
#define OLD_W_MODEL "models/w_xm1014.mdl"
#define OLD_EVENT "events/xm1014.sc"
#define ANIM_EXT "shotgun"

// MACROS
#define Get_BitVar(%1,%2) (%1 & (1 << (%2 & 31)))
#define Set_BitVar(%1,%2) %1 |= (1 << (%2 & 31))
#define UnSet_BitVar(%1,%2) %1 &= ~(1 << (%2 & 31))

// Main Vars
new g_Had_RCg_OldWeapon[33], g_WeaponState[33]
new 
g_HamBotg_MsgWeaponListg_MsgCurWeapong_MsgAmmoXg_Event_RCg_SmokePuff_Idm_spriteTexture

// Safety
new g_IsConnectedg_IsAliveg_PlayerWeapon[33]

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
Register_SafetyFunc()
    
    
register_event("CurWeapon""Event_CurWeapon""be""1=1")
    
    
register_forward(FM_SetModel"fw_SetModel")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)    
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent")    
    
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack")
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack")        
    
    
RegisterHam(Ham_Item_Deployweapon_railcannon"fw_Item_Deploy_Post"1)    
    
RegisterHam(Ham_Item_AddToPlayerweapon_railcannon"fw_Item_AddToPlayer_Post"1)
    
RegisterHam(Ham_Weapon_WeaponIdleweapon_railcannon"fw_Weapon_WeaponIdle_Post"1)
    
RegisterHam(Ham_Item_PostFrameweapon_railcannon"fw_Item_PostFrame")
    
RegisterHam(Ham_Weapon_Reloadweapon_railcannon"fw_Weapon_Reload_Post"1)
    
    
// Cache
    
g_MsgWeaponList get_user_msgid("WeaponList")
    
g_MsgCurWeapon get_user_msgid("CurWeapon")
    
g_MsgAmmoX get_user_msgid("AmmoX")
    
    
// CMD
    
register_clcmd("weapon_railcannon""Hook_Weapon")
    
register_clcmd("say /get""Get_RailCannon")
}

public 
plugin_precache()
{
    
precache_model(MODEL_V)
    
precache_model(MODEL_P)
    
precache_model(MODEL_W)
    
    for(new 
0sizeof(WeaponSounds); i++)
        
precache_sound(WeaponSounds[i])
    for(new 
0sizeof(WeaponResources); i++)
    {
        if(!
iprecache_generic(WeaponResources[i])
        else 
precache_model(WeaponResources[i])
    }
    
    
register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1)    
    
    
m_spriteTexture precache_model("sprites/laserbeam.spr")
    
g_SmokePuff_Id engfunc(EngFunc_PrecacheModel"sprites/wall_puff1.spr")    
}

public 
fw_PrecacheEvent_Post(type, const name[])
{
    if(
equal(OLD_EVENTname))
        
g_Event_RC get_orig_retval()
}

public 
client_putinserver(id)
{
    
Safety_Connected(id)
    
    if(!
g_HamBot && is_user_bot(id))
    {
        
g_HamBot 1
        set_task
(0.1"Do_Register_HamBot"id)
    }
}

public 
Do_Register_HamBot(id
{
    
Register_SafetyFuncBot(id)
    
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack")
}

public 
client_disconnect(id)
{
    
Safety_Disconnected(id)
}

public 
Get_RailCannon(id)
{
    
Remove_RailCannon(id)
    
    
Set_BitVar(g_Had_RCid)
    
g_WeaponState[id] = STATE_NORMAL
    
    give_item
(idweapon_railcannon)
    
cs_set_user_bpammo(idCSW_RAILCANNONBPAMMO)
    
    static 
EntEnt fm_get_user_weapon_entity(idCSW_RAILCANNON)
    if(
pev_valid(Ent)) cs_set_weapon_ammo(EntCLIP)
    
    
engfunc(EngFunc_MessageBeginMSG_ONE_UNRELIABLEg_MsgCurWeapon, {000}, id)
    
write_byte(1)
    
write_byte(CSW_RAILCANNON)
    
write_byte(CLIP)
    
message_end()
}

public 
Remove_RailCannon(id)
{
    
UnSet_BitVar(g_Had_RCid)
}

public 
Hook_Weapon(id)
{
    
engclient_cmd(idweapon_railcannon)
    return 
PLUGIN_HANDLED
}

public 
Event_CurWeapon(id)
{
    if(!
is_alive(id))
        return
    
    static 
CSWIDCSWID read_data(2)

    if((
CSWID == CSW_RAILCANNON && g_OldWeapon[id] == CSW_RAILCANNON) && Get_BitVar(g_Had_RCid)) 
    {
        static 
EntEnt fm_get_user_weapon_entity(idCSW_RAILCANNON)
        if(
pev_valid(Ent)) 
        {
            
set_pdata_float(Ent46get_pdata_float(Ent464) * SPEED4)
            
set_pdata_float(Ent47get_pdata_float(Ent464) * SPEED4)
        }
    }
    
    
g_OldWeapon[id] = CSWID
}


public 
fw_SetModel(entitymodel[])
{
    if(!
pev_valid(entity))
        return 
FMRES_IGNORED
    
    
static Classname[64]
    
pev(entitypev_classnameClassnamesizeof(Classname))
    
    if(!
equal(Classname"weaponbox"))
        return 
FMRES_IGNORED
    
    
static id
    id 
pev(entitypev_owner)
    
    if(
equal(modelOLD_W_MODEL))
    {
        static 
weapon
        weapon 
fm_get_user_weapon_entity(entityCSW_RAILCANNON)
        
        if(!
pev_valid(weapon))
            return 
FMRES_IGNORED
        
        
if(Get_BitVar(g_Had_RCid))
        {
            
set_pev(weaponpev_impulseWEAPON_SECRETCODE)
            
engfunc(EngFunc_SetModelentityMODEL_W)
            
            
Remove_RailCannon(id)
            
            return 
FMRES_SUPERCEDE
        
}
    }

    return 
FMRES_IGNORED;
}

public 
fw_CmdStart(iduc_handleseed)
{
    if(!
is_alive(id))
        return
    if(
get_player_weapon(id) != CSW_RAILCANNON || !Get_BitVar(g_Had_RCid))
        return
        
    static 
NewButtonNewButton get_uc(uc_handleUC_Buttons)
    static 
OldButtonOldButton pev(idpev_oldbuttons)
    
    static 
EntEnt fm_get_user_weapon_entity(idCSW_RAILCANNON)
    static 
Float:flNextAttackflNextAttack get_pdata_float(id835)
    static 
AmmoAmmo cs_get_weapon_ammo(Ent)
    if(!
pev_valid(Ent)) return
    
    if(
NewButton IN_ATTACK2)
    {
        if(
flNextAttack 0.0) return
        switch(
g_WeaponState[id])
        {
            case 
STATE_NORMAL
            {
                if(
Ammo <= 0) return
                
                
set_pdata_float(id830.55)
                
g_WeaponState[id] = STATE_CHARGE1
            
}
            case 
STATE_CHARGE1:
            {
                if(
Ammo 0)
                {
                    
Set_WeaponAnim(idANIM_IDLE_CHARGE1)
                    
g_WeaponState[id] = STATE_CHARGE2

                    cs_set_weapon_ammo
(EntAmmo 1)
                    
PlaySound(idWeaponSounds[2])
                }
                
                
set_pdata_float(id830.55)
                
PlaySound(idWeaponSounds[3])
            }
            case 
STATE_CHARGE2:
            {
                if(
Ammo 0)
                {
                    
Set_WeaponAnim(idANIM_IDLE_CHARGE2)
                    
g_WeaponState[id] = STATE_CHARGE3
                    
                    cs_set_weapon_ammo
(EntAmmo 1)
                    
PlaySound(idWeaponSounds[4])
                }
                
                
set_pdata_float(id830.55)
            }
            case 
STATE_CHARGE3:
            {
                if(
Ammo 0)
                {
                    
Set_WeaponAnim(idANIM_IDLE_CHARGE3)
                    
g_WeaponState[id] = STATE_CHARGE3_LOOP
                    
                    cs_set_weapon_ammo
(EntAmmo 1)
                    
PlaySound(idWeaponSounds[5])
                }
                
                
set_pdata_float(id830.55)
                
PlaySound(idWeaponSounds[3])
            }
            case 
STATE_CHARGE3_LOOP:
            {
                
Set_WeaponAnim(idANIM_IDLE_CHARGE3)
                
g_WeaponState[id] = STATE_CHARGE3_LOOP
                
                set_pdata_float
(id831.05)
                
PlaySound(idWeaponSounds[3])
            }
        }
    } else {
        if(
OldButton IN_ATTACK2)
        {
            if(
g_WeaponState[id] >= STATE_CHARGE2)
            {
                
cs_set_weapon_ammo(EntAmmo 1)
                
ExecuteHamB(Ham_Weapon_PrimaryAttackEnt)
            }
            
            
g_WeaponState[id] = STATE_NORMAL
        
}
    }
    
    if(
NewButton IN_RELOAD) {
        
NewButton &= ~IN_RELOAD
        set_uc
(uc_handleUC_ButtonsNewButton)
        
        if(
flNextAttack 0.0 || g_WeaponState[id] != STATE_NORMAL) return
        
        static 
fInReloadfInReload get_pdata_int(Ent544)
        if(
fInReload || cs_get_weapon_ammo(Ent) >= CLIP)
        {
            switch(
g_WeaponState[id])
            {
                case 
STATE_NORMALSet_WeaponAnim(idANIM_IDLE)
                case 
STATE_CHARGE1Set_WeaponAnim(idANIM_IDLE_CHARGE1)
                case 
STATE_CHARGE2Set_WeaponAnim(idANIM_IDLE_CHARGE2)
                case 
STATE_CHARGE3Set_WeaponAnim(idANIM_IDLE_CHARGE3)
            }
            return
        }
        
        
fw_Weapon_Reload_Post(Ent)
    }
}

public 
fw_UpdateClientData_Post(idsendweaponscd_handle)
{
    if(!
is_alive(id))
        return 
FMRES_IGNORED    
    
if(get_player_weapon(id) == CSW_RAILCANNON && Get_BitVar(g_Had_RCid))
        
set_cd(cd_handleCD_flNextAttackget_gametime() + 0.001
    
    return 
FMRES_HANDLED
}

public 
fw_PlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if (!
is_connected(invoker))
        return 
FMRES_IGNORED        
    
if(get_player_weapon(invoker) == CSW_RAILCANNON && Get_BitVar(g_Had_RCinvoker) && eventid == g_Event_RC)
    {
        
engfunc(EngFunc_PlaybackEventflags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)    

        
Set_WeaponAnim(invokerANIM_SHOOT1)
        
emit_sound(invokerCHAN_WEAPONWeaponSounds[0], 1.0ATTN_NORM0PITCH_LOW)    

        return 
FMRES_SUPERCEDE
    
}
    
    return 
FMRES_HANDLED
}

public 
fw_TraceAttack(EntAttackerFloat:DamageFloat:Dir[3], ptrDamageType)
{
    if(!
is_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_player_weapon(Attacker) != CSW_RAILCANNON || !Get_BitVar(g_Had_RCAttacker))
        return 
HAM_IGNORED
        
    
static Float:TargetOrigin[3], Float:MyOrigin[3], Float:Result[3]
        
    switch(
g_WeaponState[Attacker])
    {
        case 
STATE_NORMAL..STATE_CHARGE1// Shoot Normal
        
{
            static 
Float:flEnd[3], Float:vecPlane[3]
    
            
get_tr2(ptrTR_vecEndPosflEnd)
            
get_tr2(ptrTR_vecPlaneNormalvecPlane)        
            
            if(!
is_connected(Ent))
            {
                
make_bullet(AttackerflEnd)
                
fake_smoke(Attackerptr)
            }
            
            
SetHamParamFloat(3float(DAMAGE) / 6.0)
        }
        case 
STATE_CHARGE2// Shoot Charge 1
        
{
            
get_position(Attacker30.08.0, -5.0MyOrigin)
            
            
get_position(Attacker4096.0random_float(-100.0100.0), random_float(-100.0100.0), TargetOrigin)
            
Get_EndOrigin(MyOriginTargetOriginResultAttacker)
            
            
set_tr2(ptrTR_vecEndPosResult)
            
            if(!
is_connected(Ent))
            {
                
make_bullet(AttackerResult)
                
fake_smoke(Attackerptr)
            }
        
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_BEAMPOINTS)
            
write_coord_f(MyOrigin[0]) 
            
write_coord_f(MyOrigin[1]) 
            
write_coord_f(MyOrigin[2]) 
            
write_coord_f(Result[0]) 
            
write_coord_f(Result[1]) 
            
write_coord_f(Result[2]) 
            
write_short(m_spriteTexture)
            
write_byte(0// framerate
            
write_byte(0// framerate
            
write_byte(15// life
            
write_byte(7)  // width
            
write_byte(0)   // noise
            
write_byte(255)   // r, g, b
            
write_byte(75)   // r, g, b
            
write_byte(0)   // r, g, b
            
write_byte(255)    // brightness
            
write_byte(0)        // speed 
            
message_end()
            
            
SetHamParamFloat(3float(DAMAGE) / 4.0)
        }
        case 
STATE_CHARGE3// Shoot Charge 2
        
{
            
get_position(Attacker30.08.0, -5.0MyOrigin)
            
            
get_position(Attacker4096.0random_float(-50.050.0), random_float(-50.050.0), TargetOrigin)
            
Get_EndOrigin(MyOriginTargetOriginResultAttacker)
            
            
set_tr2(ptrTR_vecEndPosResult)
            
            if(!
is_connected(Ent))
            {
                
make_bullet(AttackerTargetOrigin)
                
fake_smoke(Attackerptr)
            }
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_BEAMPOINTS)
            
write_coord_f(MyOrigin[0]) 
            
write_coord_f(MyOrigin[1]) 
            
write_coord_f(MyOrigin[2]) 
            
write_coord_f(Result[0]) 
            
write_coord_f(Result[1]) 
            
write_coord_f(Result[2]) 
            
write_short(m_spriteTexture)
            
write_byte(0// framerate
            
write_byte(0// framerate
            
write_byte(15// life
            
write_byte(7)  // width
            
write_byte(0)   // noise
            
write_byte(255)   // r, g, b
            
write_byte(75)   // r, g, b
            
write_byte(0)   // r, g, b
            
write_byte(255)    // brightness
            
write_byte(0)        // speed 
            
message_end()
            
            
SetHamParamFloat(3float(DAMAGE) / 3.0)
        }
        case 
STATE_CHARGE3_LOOP// Shoot Charge 3
        
{
            
get_position(Attacker30.08.0, -5.0MyOrigin)
            
            
get_position(Attacker4096.0random_float(-10.010.0), random_float(-10.010.0), TargetOrigin)
            
Get_EndOrigin(MyOriginTargetOriginResultAttacker)
            
            
set_tr2(ptrTR_vecEndPosResult)
            
            if(!
is_connected(Ent))
            {
                
make_bullet(AttackerTargetOrigin)
                
fake_smoke(Attackerptr)
            }
            
            
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
            
write_byte(TE_BEAMPOINTS)
            
write_coord_f(MyOrigin[0]) 
            
write_coord_f(MyOrigin[1]) 
            
write_coord_f(MyOrigin[2]) 
            
write_coord_f(Result[0]) 
            
write_coord_f(Result[1]) 
            
write_coord_f(Result[2]) 
            
write_short(m_spriteTexture)
            
write_byte(0// framerate
            
write_byte(0// framerate
            
write_byte(15// life
            
write_byte(7)  // width
            
write_byte(0)   // noise
            
write_byte(255)   // r, g, b
            
write_byte(75)   // r, g, b
            
write_byte(0)   // r, g, b
            
write_byte(255)    // brightness
            
write_byte(0)        // speed 
            
message_end()
            
            
SetHamParamFloat(3float(DAMAGE) / 1.5)
        }
    }

    return 
HAM_HANDLED    
}

public 
fw_Item_Deploy_Post(Ent)
{
    if(
pev_valid(Ent) != 2)
        return
    static 
IdId get_pdata_cbase(Ent414)
    if(
get_pdata_cbase(Id373) != Ent)
        return
    if(!
Get_BitVar(g_Had_RCId))
        return

    
set_pev(Idpev_viewmodel2MODEL_V)
    
set_pev(Idpev_weaponmodel2MODEL_P)
    
    
Set_WeaponAnim(IdANIM_DRAW)
    
    
// Reverse
    
static Ammo
    
switch(g_WeaponState[Id])
    {
        case 
STATE_NORMALAmmo 0
        
case STATE_CHARGE1Ammo 0
        
case STATE_CHARGE2Ammo 1
        
case STATE_CHARGE3Ammo 2
        
case STATE_CHARGE3_LOOPAmmo 3
    
}
    
    
g_WeaponState[Id] = STATE_NORMAL
    cs_set_weapon_ammo
(Entcs_get_weapon_ammo(Ent) + Ammo)
    
    
set_pdata_string(Id, (492) * 4ANIM_EXT, -20)
}

public 
fw_Item_AddToPlayer_Post(entid)
{
    if(
pev(entpev_impulse) == WEAPON_SECRETCODE)
    {
        
Set_BitVar(g_Had_RCid)
        
set_pev(entpev_impulse0)
    }            
    
    
message_begin(MSG_ONE_UNRELIABLEg_MsgWeaponList_id)
    
write_string(Get_BitVar(g_Had_RCid) ? "weapon_railcannon" weapon_railcannon)
    
write_byte(5)
    
write_byte(32)
    
write_byte(-1)
    
write_byte(-1)
    
write_byte(0)
    
write_byte(12)
    
write_byte(CSW_RAILCANNON)
    
write_byte(0)
    
message_end()
}

public 
fw_Weapon_WeaponIdle_Post(iEnt)
{
    if(
pev_valid(iEnt) != 2)
        return 
    static 
idid get_pdata_cbase(iEnt414)
    if(
get_pdata_cbase(id373) != iEnt)
        return
    if(!
Get_BitVar(g_Had_RCid))
        return
    
    static 
SpecialReloadSpecialReload get_pdata_int(iEnt554)
    if(!
SpecialReload && get_pdata_float(iEnt484) <= 0.25)
    {
        switch(
g_WeaponState[id])
        {
            case 
STATE_NORMALSet_WeaponAnim(idANIM_IDLE)
            case 
STATE_CHARGE1Set_WeaponAnim(idANIM_IDLE_CHARGE1)
            case 
STATE_CHARGE2Set_WeaponAnim(idANIM_IDLE_CHARGE2)
            case 
STATE_CHARGE3Set_WeaponAnim(idANIM_IDLE_CHARGE3)
        }
        
        
set_pdata_float(iEnt4820.04)
    }    
}

public 
fw_Item_PostFrame(iEnt)
{
    if(
pev_valid(iEnt) != 2)
        return 
    static 
idid get_pdata_cbase(iEnt414)
    if(
get_pdata_cbase(id373) != iEnt)
        return
    if(!
Get_BitVar(g_Had_RCid))
        return

    static 
iBpAmmo iBpAmmo get_pdata_int(id3815)
    static 
iClip iClip get_pdata_int(iEnt514)
    static 
iMaxClip iMaxClip CLIP

    
if(get_pdata_int(iEnt544) && get_pdata_float(id835) <= 0.0)
    {
        static 
jmin(iMaxClip iClipiBpAmmo)
        
set_pdata_int(iEnt51iClip j4)
        
set_pdata_int(id381iBpAmmo-j5)
        
        
set_pdata_int(iEnt5404)
        if(
iBpAmmo CLIPcs_set_weapon_ammo(iEntmin(iBpAmmoCLIP))
        else 
cs_set_weapon_ammo(iEntiClip iBpAmmo)
    
        
// Update the fucking ammo hud
        
message_begin(MSG_ONE_UNRELIABLEg_MsgCurWeapon_id)
        
write_byte(1)
        
write_byte(CSW_RAILCANNON)
        
write_byte(CLIP)
        
message_end()
        
        
message_begin(MSG_ONE_UNRELIABLEg_MsgAmmoX_id)
        
write_byte(3)
        
write_byte(cs_get_user_bpammo(idCSW_RAILCANNON))
        
message_end()
    
        return
    }
}

public 
fw_Weapon_Reload_Post(iEnt)
{
    if(
pev_valid(iEnt) != 2)
        return 
    static 
idid get_pdata_cbase(iEnt414)
    if(
get_pdata_cbase(id373) != iEnt)
        return
    if(!
Get_BitVar(g_Had_RCid))
        return

    static 
CurBpAmmoCurBpAmmo cs_get_user_bpammo(idCSW_RAILCANNON)
    if(
CurBpAmmo  <= 0)
        return

    
set_pdata_int(iEnt5504)
    
set_pdata_float(id83RELOAD_TIME5)
    
set_pdata_float(iEnt48RELOAD_TIME 0.54)
    
set_pdata_float(iEnt46RELOAD_TIME 0.254)
    
set_pdata_float(iEnt47RELOAD_TIME 0.254)
    
set_pdata_int(iEnt5414)
    
    
Set_WeaponAnim(idANIM_RELOAD)
}

public 
Get_EndOrigin(Float:Start[3], Float:End[3], Float:Result[3], IgnoreEnt)
{
    static 
TraceID
    engfunc
(EngFunc_TraceLineStartEndDONT_IGNORE_MONSTERSIgnoreEntTraceID)
    
    
get_tr2(TraceIDTR_vecEndPosResult)
}

stock Set_WeaponAnim(idanim)
{
    
set_pev(idpev_weaponanimanim)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, {000}, id)
    
write_byte(anim)
    
write_byte(pev(idpev_body))
    
message_end()
}

stock Set_Weapon_Idle(idWeaponId ,Float:TimeIdle)
{
    static 
entwpnentwpn fm_get_user_weapon_entity(idWeaponId)
    if(!
pev_valid(entwpn)) 
        return
        
    
set_pdata_float(entwpn46TimeIdle4)
    
set_pdata_float(entwpn47TimeIdle4)
    
set_pdata_float(entwpn48TimeIdle 0.54)
}

stock Set_Player_NextAttack(idFloat:NextTimeset_pdata_float(id83NextTime5)
stock make_bullet(idFloat:Origin[3])
{
    
// Find target
    
new decal random_num(4145)
    const 
loop_time 2
    
    
static BodyTarget
    get_user_aiming
(idTargetBody999999)
    
    if(
is_user_connected(Target))
        return
    
    for(new 
0loop_timei++)
    {
        
// Put decal on "world" (a wall)
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_WORLDDECAL)
        
engfunc(EngFunc_WriteCoordOrigin[0])
        
engfunc(EngFunc_WriteCoordOrigin[1])
        
engfunc(EngFunc_WriteCoordOrigin[2])
        
write_byte(decal)
        
message_end()
        
        
// Show sparcles
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_GUNSHOTDECAL)
        
engfunc(EngFunc_WriteCoordOrigin[0])
        
engfunc(EngFunc_WriteCoordOrigin[1])
        
engfunc(EngFunc_WriteCoordOrigin[2])
        
write_short(id)
        
write_byte(decal)
        
message_end()
    }
}

stock fake_smoke(idtrace_result)
{
    static 
Float:vecSrc[3], Float:vecEnd[3], TE_FLAG
    
    get_weapon_attachment
(idvecSrc)
    
global_get(glb_v_forwardvecEnd)
    
    
xs_vec_mul_scalar(vecEnd8192.0vecEnd)
    
xs_vec_add(vecSrcvecEndvecEnd)

    
get_tr2(trace_resultTR_vecEndPosvecSrc)
    
get_tr2(trace_resultTR_vecPlaneNormalvecEnd)
    
    
xs_vec_mul_scalar(vecEnd2.5vecEnd)
    
xs_vec_add(vecSrcvecEndvecEnd)
    
    
TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
    TE_FLAG 
|= TE_EXPLFLAG_NOSOUND
    TE_FLAG 
|= TE_EXPLFLAG_NOPARTICLES
    
    engfunc
(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYvecEnd0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordvecEnd[0])
    
engfunc(EngFunc_WriteCoordvecEnd[1])
    
engfunc(EngFunc_WriteCoordvecEnd[2] - 10.0)
    
write_short(g_SmokePuff_Id)
    
write_byte(2)
    
write_byte(50)
    
write_byte(TE_FLAG)
    
message_end()
}

stock get_weapon_attachment(idFloat:output[3], Float:fDis 40.0)

    new 
Float:vfEnd[3], viEnd[3
    
get_user_origin(idviEnd3)  
    
IVecFVec(viEndvfEnd
    
    new 
Float:fOrigin[3], Float:fAngle[3]
    
    
pev(idpev_originfOrigin
    
pev(idpev_view_ofsfAngle)
    
    
xs_vec_add(fOriginfAnglefOrigin
    
    new 
Float:fAttack[3]
    
    
xs_vec_sub(vfEndfOriginfAttack)
    
xs_vec_sub(vfEndfOriginfAttack
    
    new 
Float:fRate
    
    fRate 
fDis vector_length(fAttack)
    
xs_vec_mul_scalar(fAttackfRatefAttack)
    
    
xs_vec_add(fOriginfAttackoutput)
}

stock get_position(entFloat:forwFloat:rightFloat:upFloat:vStart[])
{
    static 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
    
    
pev(entpev_originvOrigin)
    
pev(entpev_view_ofs,vUp//for player
    
xs_vec_add(vOrigin,vUp,vOrigin)
    
pev(entpev_v_anglevAngle// if normal entity ,use pev_angles
    
    
angle_vector(vAngle,ANGLEVECTOR_FORWARD,vForward//or use EngFunc_AngleVectors
    
angle_vector(vAngle,ANGLEVECTOR_RIGHT,vRight)
    
angle_vector(vAngle,ANGLEVECTOR_UP,vUp)
    
    
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 PlaySound(id, const sound[])
{
    if(
equal(sound[strlen(sound)-4], ".mp3")) client_cmd(id"mp3 play ^"sound/%s^""sound)
    else 
client_cmd(id"spk ^"%s^""sound)
}

/* ===============================
------------- SAFETY -------------
=================================*/
public Register_SafetyFunc()
{
    
register_event("CurWeapon""Safety_CurWeapon""be""1=1")
    
    
RegisterHam(Ham_Spawn"player""fw_Safety_Spawn_Post"1)
    
RegisterHam(Ham_Killed"player""fw_Safety_Killed_Post"1)
}

public 
Register_SafetyFuncBot(id)
{
    
RegisterHamFromEntity(Ham_Spawnid"fw_Safety_Spawn_Post"1)
    
RegisterHamFromEntity(Ham_Killedid"fw_Safety_Killed_Post"1)
}

public 
Safety_Connected(id)
{
    
Set_BitVar(g_IsConnectedid)
    
UnSet_BitVar(g_IsAliveid)
    
    
g_PlayerWeapon[id] = 0
}

public 
Safety_Disconnected(id)
{
    
UnSet_BitVar(g_IsConnectedid)
    
UnSet_BitVar(g_IsAliveid)
    
    
g_PlayerWeapon[id] = 0
}

public 
Safety_CurWeapon(id)
{
    if(!
is_alive(id))
        return
        
    static 
CSWCSW read_data(2)
    if(
g_PlayerWeapon[id] != CSWg_PlayerWeapon[id] = CSW
}

public 
fw_Safety_Spawn_Post(id)
{
    if(!
is_user_alive(id))
        return
        
    
Set_BitVar(g_IsAliveid)
}

public 
fw_Safety_Killed_Post(id)
{
    
UnSet_BitVar(g_IsAliveid)
}

public 
is_alive(id)
{
    if(!(
<= id <= 32))
        return 
0
    
if(!Get_BitVar(g_IsConnectedid))
        return 
0
    
if(!Get_BitVar(g_IsAliveid)) 
        return 
0
        
    
return 1
}

public 
is_connected(id)
{
    if(!(
<= id <= 32))
        return 
0
    
if(!Get_BitVar(g_IsConnectedid))
        return 
0
    
    
return 1
}

public 
get_player_weapon(id)
{
    if(!
is_alive(id))
        return 
0
    
    
return g_PlayerWeapon[id]
}

/* ===============================
--------- End of SAFETY ----------
=================================*/ 
Image of error :
Attached Thumbnails
Click image for larger version

Name:	errorerror.png
Views:	107
Size:	52.1 KB
ID:	170114  
KhaledAwesome is offline
 



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 01:51.


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