AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   convert zp extra item to Non zp but i have a problem (https://forums.alliedmods.net/showthread.php?t=312225)

parsa210 11-22-2018 04:05

convert zp extra item to Non zp but i have a problem
 
PHP Code:


#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <xs>
#include <fun>

#define PLUGIN "[CSO] Vulcanus-5"
#define VERSION "1.0"
#define AUTHOR "Dias 'Pendragon' Leon"

#define DAMAGE 35 // 70 for zombie
#define CLIP 40
#define BPAMMO 200
#define SPEED 0.15

#define TIME_RELOAD 3.0
#define RADIUS_DETECT 2048.0

#define CSW_VULCANUS5 CSW_AUG
#define weapon_vulcanus5 "weapon_aug"

#define MODEL_V "models/v_vulcanus5.mdl"
#define MODEL_P "models/p_vulcanus5.mdl"
#define MODEL_W "models/w_vulcanus5.mdl"
#define MODEL_SA "models/v_VULCANUS5_SightA.mdl"
#define MODEL_SB "models/v_VULCANUS5_SightB.mdl"
#define MODEL_WOLD "models/w_aug.mdl"

#define VULCANUS5_COST 0

new const WeaponSounds[7][] =
{
    
"weapons/vulcanus5-1.wav",
    
"weapons/vulcanus5_target_start.wav",
    
"weapons/vulcanus5_target_on.wav",
    
"weapons/vulcanus5_target_loop.wav",
    
"weapons/vulcanus5_boltpull.wav",
    
"weapons/vulcanus5_clipin.wav",
    
"weapons/vulcanus5_clipout.wav"
}

enum
{
    
ANIME_IDLE 0,
    
ANIME_RELOAD,
    
ANIME_DRAW,
    
ANIME_SHOOT1,
    
ANIME_SHOOT2,
    
ANIME_SHOOT3
}

enum
{
    
STATE_NONE 0,
    
STATE_LOCKING1,
    
STATE_LOCKING2,
    
STATE_LOCKED
}

// Bits
#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)));

new g_Had_Vulcanus5Float:g_LoopTime[33], g_Clip[33], g_Zoom[33], g_GunState[33], MyTarget[33]
new 
g_TargetHudg_Event_Vulcanus5g_ShellIdg_SmokePuff_SprId

// Safety
new g_HamBot
new g_IsConnectedg_IsAliveg_PlayerWeapon[33]

new 
g_item_vulcanus5

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    

    
    
Register_SafetyFunc()
    
    
register_event("DeathMsg""IHateChineseGovernment""a")
    
register_event("CurWeapon""ILoveCSOnAnime""be""1=1")
    
    
// Forward
    
register_forward(FM_UpdateClientData"TokyoJapan"1)
    
register_forward(FM_PlaybackEvent"RepublicOfVietnam")
    
register_forward(FM_SetModel"VictoriqueGosick")    
    
register_forward(FM_AddToFullPack"KimiGaSukiDakara"1)
    
    
// Ham
    
RegisterHam(Ham_Item_Deployweapon_vulcanus5"Suigitou"1)    
    
RegisterHam(Ham_Item_AddToPlayerweapon_vulcanus5"Shinku"1)
    
RegisterHam(Ham_Weapon_WeaponIdleweapon_vulcanus5"Suiseiseki"1)
    
RegisterHam(Ham_Item_PostFrameweapon_vulcanus5"SaigonVietnam")    
    
RegisterHam(Ham_Weapon_Reloadweapon_vulcanus5"HanoiVietnam")
    
RegisterHam(Ham_Weapon_Reloadweapon_vulcanus5"HanoiVietnam_Post"1)    

    
RegisterHam(Ham_TraceAttack"worldspawn""NoCommunist")
    
RegisterHam(Ham_TraceAttack"player""ThisIsCapitalistVietnam")
    
    
g_TargetHud CreateHudSyncObj(16)
    
    
register_clcmd("say /get""Get_Vulcanus5")
}

public 
plugin_precache()
{
    
precache_model(MODEL_V)
    
precache_model(MODEL_P)
    
precache_model(MODEL_W)
    
precache_model(MODEL_SA)
    
precache_model(MODEL_SB)
    
    for(new 
0sizeof(WeaponSounds); i++)
        
precache_sound(WeaponSounds[i])
        
    
g_ShellId precache_model("models/rshell_big.mdl")
    
g_SmokePuff_SprId precache_model("sprites/wall_puff1.spr")
    
    
register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1)
}

public 
fw_PrecacheEvent_Post(type, const name[])
{
    if(
equal("events/aug.sc"name)) g_Event_Vulcanus5 get_orig_retval()        
}

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

public 
Register_HamBot(id
{
    
Register_SafetyFuncBot(id)
    
RegisterHamFromEntity(Ham_TraceAttackid"ThisIsCapitalistVietnam")
}

public 
client_disconnect(idSafety_Disconnected(id)

public 
Get_Vulcanus5(id)
{
    
Set_BitVar(g_Had_Vulcanus5id)
    
give_item(idweapon_vulcanus5)
    
    
g_Zoom[id] = 1
    g_GunState
[id] = 0
    
    
static GunGun fm_get_user_weapon_entity(idCSW_VULCANUS5)
    if(
pev_valid(Gun)) cs_set_weapon_ammo(GunCLIP)
    
    
cs_set_user_bpammo(idCSW_VULCANUS5BPAMMO)
}

public 
Remove_Vulcanus(id)
{
    
UnSet_BitVar(g_Had_Vulcanus5id)
    
    
g_Zoom[id] = 0
    g_GunState
[id] = 0
}
public 
zp_extra_item_selected(iditemid){
    if (
itemid == g_item_vulcanus5)
    {
        
Get_Vulcanus5(id)
    }
}
public 
client_PostThink(id)
{
    if(!
is_alive(id))
        return
    if(
get_player_weapon(id) != CSW_VULCANUS5 || !Get_BitVar(g_Had_Vulcanus5id))
        return
    if(
g_Zoom[id] != 4)
        return
        
    static 
Float:TimeTime get_gametime()
    if(
Time 0.5 g_LoopTime[id])
    {
        static 
VictimVictim = -1
        
static Float:Origin[3]; pev(idpev_originOrigin)
        static 
Float:CloserCloser 4980.0
        
static Float:Target[3], TargetIDTargetID 0
        
static Float:XY[2]
    
        while((
Victim find_ent_in_sphere(VictimOriginRADIUS_DETECT)) != 0)
        {
            if(
Victim == id)
                continue
            if(!
is_alive(Victim))
                continue
            if(
cs_get_user_team(id) == cs_get_user_team(Victim))
                continue
            
pev(Victimpev_originTarget)
            if(!
is_in_viewcone(idTarget))
                continue
            if(!
get_can_see(OriginTarget))
                continue
            if(
entity_range(idVictim) >= Closer)
                continue
                
            
TargetID Victim
        
}

        if(
is_alive(TargetID))
        {
            
pev(TargetIDpev_originTarget)
            
Suigintou_Transformation(idTargetXY)
            
            if(
Is_InScope(XY[0], XY[1]))
            {
                switch(
g_GunState[id])
                {
                    case 
STATE_NONE:
                    {
                        
MyTarget[id] = 0
                        
                        
static WeaponURL[64]; pev(idpev_viewmodel2WeaponURL63)
                        if(!
equal(WeaponURLMODEL_SA)) set_pev(idpev_viewmodel2MODEL_SA)
                        
                        
set_hudmessage(0170255XY[0], XY[1], 00.50.5)
                        
ShowSyncHudMsg(idg_TargetHud"[X]")
                        
                        
emit_sound(idCHAN_ITEMWeaponSounds[1], VOL_NORMATTN_NORM0PITCH_NORM)
                        
g_GunState[id] = STATE_LOCKING1
                    
}
                    case 
STATE_LOCKING1:
                    {
                        
MyTarget[id] = 0
                        
                        set_hudmessage
(0170255XY[0], XY[1], 00.50.5)
                        
ShowSyncHudMsg(idg_TargetHud"[X]")
                        
                        
emit_sound(idCHAN_ITEMWeaponSounds[1], VOL_NORMATTN_NORM0PITCH_NORM)
                        
g_GunState[id] = STATE_LOCKING2
                    
}
                    case 
STATE_LOCKING2:
                    {
                        
MyTarget[id] = 0
                        
                        set_hudmessage
(0170255XY[0], XY[1], 00.50.5)
                        
ShowSyncHudMsg(idg_TargetHud"[X]")
                        
                        
emit_sound(idCHAN_ITEMWeaponSounds[1], VOL_NORMATTN_NORM0PITCH_NORM)    
                        
g_GunState[id] = STATE_LOCKED
                    
}    
                    case 
STATE_LOCKED:
                    {
                        
MyTarget[id] = TargetID
                        
                        
static WeaponURL[64]; pev(idpev_viewmodel2WeaponURL63)
                        if(!
equal(WeaponURLMODEL_SB)) set_pev(idpev_viewmodel2MODEL_SB)
                        
                        
emit_sound(idCHAN_ITEMWeaponSounds[2], VOL_NORMATTN_NORM0PITCH_NORM)
                    }
                }
            } else {
                
g_GunState[id] = STATE_NONE
                
                
static WeaponURL[64]; pev(idpev_viewmodel2WeaponURL63)
                if(!
equal(WeaponURLMODEL_SA)) set_pev(idpev_viewmodel2MODEL_SA)
                        
            }
        } else {
            
g_GunState[id] = STATE_NONE
                
            
static WeaponURL[64]; pev(idpev_viewmodel2WeaponURL63)
            if(!
equal(WeaponURLMODEL_SA)) set_pev(idpev_viewmodel2MODEL_SA)
        }
        
        
g_LoopTime[id] = Time
    
}    
}

public 
Is_InScope(Float:XFloat:Y)
{
    static 
Float:TotalXFloat:TotalY
    TotalX 
0.5; if(TotalX 0TotalX = -TotalX
    TotalY 
0.5; if(TotalY 0TotalY = -TotalY
    
    
if(TotalX 0.35 || TotalY 0.35) return 0
    
return 1
}

public 
IHateChineseGovernment()
{
    static 
AttackerAttacker read_data(1)
    
    if(
is_connected(Attacker) && get_user_weapon(Attacker) == CSW_VULCANUS5)
    {
        
g_GunState[Attacker] = 0
        MyTarget
[Attacker] = 0
    
}
}

public 
ILoveCSOnAnime(id)
{
    static 
CSWCSW read_data(2)
    if(
CSW != CSW_VULCANUS5)
        return
    if(!
Get_BitVar(g_Had_Vulcanus5id))    
        return

    if(
g_Zoom[id] != cs_get_user_zoom(id))
    {    
        
g_Zoom[id] = cs_get_user_zoom(id)
        switch(
g_Zoom[id])
        {
            case 
1
            {
                
g_GunState[id] = 1
                MyTarget
[id] = 0
                set_pev
(idpev_viewmodel2MODEL_V)
            }
            case 
4
            {
                
g_GunState[id] = 1
                MyTarget
[id] = 0
                SetFov
(id90)
                
set_pev(idpev_viewmodel2MODEL_SA)
            }
        }
    }
    
    static 
EntEnt fm_get_user_weapon_entity(idCSW_VULCANUS5)
    if(!
pev_valid(Ent)) return
    
    
set_pdata_float(Ent46SPEED4)
    
set_pdata_float(Ent47SPEED4)
}

public 
SetFov(idnum)
{
    static 
MSG; if(!MSGMSG get_user_msgid("SetFOV")
    
    
message_begin(MSG_ONE_UNRELIABLEMSG, {0,0,0}, id)
    
write_byte(num)
    
message_end()
}

public 
TokyoJapan(idsendweaponscd_handle)
{
    if(!
is_alive(id))
        return 
FMRES_IGNORED    
    
if(get_player_weapon(id) == CSW_VULCANUS5 && Get_BitVar(g_Had_Vulcanus5id))
        
set_cd(cd_handleCD_flNextAttackget_gametime() + 0.001
    
    return 
FMRES_HANDLED
}

public 
RepublicOfVietnam(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if (!
is_connected(invoker))
        return 
FMRES_IGNORED    
    
if(get_player_weapon(invoker) != CSW_VULCANUS5 || !Get_BitVar(g_Had_Vulcanus5invoker))
        return 
FMRES_IGNORED
    
if(eventid != g_Event_Vulcanus5)
        return 
FMRES_IGNORED
    
    engfunc
(EngFunc_PlaybackEventflags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)

    
Set_WeaponAnim(invokerANIME_SHOOT1)
    
emit_sound(invokerCHAN_WEAPONWeaponSounds[0], 1.00.4094 random_num(015))
    if(
g_Zoom[invoker] == 1Eject_Shell(invokerg_ShellId0.01)
    
    return 
FMRES_SUPERCEDE
}

public 
VictoriqueGosick(entitymodel[])
{
    if(!
pev_valid(entity))
        return 
FMRES_IGNORED
    
    
static Classname[32]
    
pev(entitypev_classnameClassnamesizeof(Classname))
    
    if(!
equal(Classname"weaponbox"))
        return 
FMRES_IGNORED
    
    
static iOwner
    iOwner 
pev(entitypev_owner)
    
    if(
equal(modelMODEL_WOLD))
    {
        static 
weaponweapon find_ent_by_owner(-1weapon_vulcanus5entity)
        
        if(!
pev_valid(weapon))
            return 
FMRES_IGNORED;
        
        if(
Get_BitVar(g_Had_Vulcanus5iOwner))
        {
            
set_pev(weaponpev_impulse2782015)
            
engfunc(EngFunc_SetModelentityMODEL_W)
        
            
Remove_Vulcanus(iOwner)
            
            return 
FMRES_SUPERCEDE
        
}
    }

    return 
FMRES_IGNORED;
}

public 
KimiGaSukiDakara(eseenthosthostflagsplayerpSet)
{
    if(!
player)
        return 
FMRES_IGNORED
    
if(!is_alive(host) || !is_alive(MyTarget[host]) || MyTarget[host] != ent)
        return 
FMRES_IGNORED
    
if(get_player_weapon(host) != CSW_VULCANUS5 || !Get_BitVar(g_Had_Vulcanus5host))
        return 
FMRES_IGNORED
        
    
static Color[3]
    if(
g_GunState[host] != STATE_LOCKEDColor = {0170255}
    else 
Color = {25512742}
    
    
set_es(esES_RenderFxkRenderFxGlowShell)
    
set_es(esES_RenderModekRenderNormal)
    
set_es(esES_RenderColorColor)
    
set_es(esES_RenderAmt16)
    
    return 
FMRES_HANDLED
}

public 
Suigitou(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_Vulcanus5Id))
        return
    
    
set_pev(Idpev_viewmodel2MODEL_V)
    
set_pev(Idpev_weaponmodel2MODEL_P)
    
    
Set_WeaponAnim(IdANIME_DRAW)
    
MyTarget[Id] = 0
}

public 
Shinku(Entid)
{
    if(!
pev_valid(Ent))
        return 
HAM_IGNORED
        
    
if(pev(Entpev_impulse) == 2782015)
    {
        
Set_BitVar(g_Had_Vulcanus5id)
        
set_pev(Entpev_impulse0)
    }
    
    return 
HAM_HANDLED    
}

public 
SaigonVietnam(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Vulcanus5id))
        return 
HAM_IGNORED    
    
    
static Float:flNextAttackflNextAttack get_pdata_float(id835)
    static 
bpammobpammo cs_get_user_bpammo(idCSW_VULCANUS5)
    
    static 
iClipiClip get_pdata_int(ent514)
    static 
fInReloadfInReload get_pdata_int(ent544)
    
    if(
fInReload && flNextAttack <= 0.0)
    {
        static 
temp1
        temp1 
min(CLIP iClipbpammo)

        
set_pdata_int(ent51iClip temp14)
        
cs_set_user_bpammo(idCSW_VULCANUS5bpammo temp1)        
        
        
set_pdata_int(ent5404)
        
        
fInReload 0
    
}        
    
    return 
HAM_IGNORED
}

public 
HanoiVietnam(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Vulcanus5id))
        return 
HAM_IGNORED    

    g_Clip
[id] = -1
        
    
static BPAmmoBPAmmo cs_get_user_bpammo(idCSW_VULCANUS5)
    static 
iClipiClip get_pdata_int(ent514)
        
    if(
BPAmmo <= 0)
        return 
HAM_SUPERCEDE
    
if(iClip >= CLIP)
        return 
HAM_SUPERCEDE        
            
    g_Clip
[id] = iClip    
    
    
return HAM_HANDLED
}

public 
HanoiVietnam_Post(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Vulcanus5id))
        return 
HAM_IGNORED    
    
    
if((get_pdata_int(ent544) == 1))
    { 
// Reload
        
if(g_Clip[id] == -1)
            return 
HAM_IGNORED
        
        set_pdata_int
(ent51g_Clip[id], 4)
        
Set_WeaponAnim(idANIME_RELOAD)
        
        
Set_PlayerNextAttack(idTIME_RELOAD)
        
MyTarget[id] = 0
    
}
    
    return 
HAM_HANDLED
}

public 
SuiseisekiiEnt )
{
    if(
pev_valid(iEnt) != 2)
        return
    static 
IdId get_pdata_cbase(iEnt414)
    if(
get_pdata_cbase(Id373) != iEnt)
        return
    if(!
Get_BitVar(g_Had_Vulcanus5Id))
        return
        
    
//if(get_pdata_float(iEnt, 48, 4) <= 0.25)
    //{
        //Set_WeaponAnim(Id, g_Ammo[Id] > 0 ? ANIME_IDLE : ANIME_IDLE_EMPTY)
        //set_pdata_float(iEnt, 48, 20.0, 4)
    //}    
}

public 
NoCommunist(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_player_weapon(Attacker) != CSW_VULCANUS5 || !Get_BitVar(g_Had_Vulcanus5Attacker))
        return 
HAM_IGNORED
        
    
static Float:flEnd[3], Float:vecPlane[3]
        
    
get_tr2(PtrTR_vecEndPosflEnd)
    
get_tr2(PtrTR_vecPlaneNormalvecPlane)    
    
    static 
IDID MyTarget[Attacker]
            
    if(
is_alive(ID))
    {
        static 
Float:Origin[3]; pev(IDpev_originOrigin)
        
        
set_tr2(PtrTR_vecEndPosOrigin)
        
set_tr2(PtrTR_pHitID)
        
        
ExecuteHamB(Ham_TraceAttackIDAttackerDamageDirectionPtrDamageBits)
        return 
HAM_SUPERCEDE
    
} else {        
        
Make_BulletHole(AttackerflEndDamage)
        
Make_BulletSmoke(AttackerPtr)
    
        
SetHamParamFloat(3float(DAMAGE))
    }
    
    return 
HAM_HANDLED
}

public 
ThisIsCapitalistVietnam(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_player_weapon(Attacker) != CSW_VULCANUS5 || !Get_BitVar(g_Had_Vulcanus5Attacker))
        return 
HAM_IGNORED

    
static IDID MyTarget[Attacker]
    if(
is_alive(ID) && Victim != ID)
    {
        static 
Float:Origin[3]; pev(IDpev_originOrigin)
        
        
set_tr2(PtrTR_vecEndPosOrigin)
        
set_tr2(PtrTR_pHitID)
        
        
ExecuteHamB(Ham_TraceAttackIDAttackerDamageDirectionPtrDamageBits)
        return 
HAM_SUPERCEDE
    
}
    
    
SetHamParamFloat(3float(DAMAGE))
    
    return 
HAM_HANDLED
}

stock get_can_see(Float:ent_origin[3], Float:target_origin[3])
{
    static 
Float:hit_origin[3]
    
trace_line(-1ent_origintarget_originhit_origin)                        

    if(!
vector_distance(hit_origintarget_origin)) 
        return 
1

    
return 0
}

stock Suigintou_Transformation(ent, const Float:origin[3], Float:hudpos[2])
{
    static 
Float:origin2[3]
    
origin2[0] = origin[0]
    
origin2[1] = origin[1]
    
origin2[2] = origin[2]

    static 
Float:ent_origin[3]

    
pev(ent,pev_origin,ent_origin)

    static 
Float:ent_angles[3]

    
pev(ent,pev_v_angle,ent_angles)

    
origin2[0] -= ent_origin[0]
    
origin2[1] -= ent_origin[1]
    
origin2[2] -= ent_origin[2]

    static 
Float:v_length
    v_length 
vector_length(origin2)

    static 
Float:aim_vector[3]
    
aim_vector[0] = origin2[0] / v_length
    aim_vector
[1] = origin2[1] / v_length
    aim_vector
[2] = origin2[2] / v_length

    
static Float:new_angles[3]
    
vector_to_angle(aim_vector,new_angles)

    
new_angles[0] *= -1

    
if(new_angles[1]>180.0new_angles[1] -= 360.0
    
if(new_angles[1]<-180.0new_angles[1] += 360.0
    
if(new_angles[1]==180.0 || new_angles[1]==-180.0new_angles[1]=-179.999999

    
if(new_angles[0]>180.0new_angles[0] -= 360.0
    
if(new_angles[0]<-180.0new_angles[0] += 360.0
    
if(new_angles[0]==90.0new_angles[0]=89.999999
    
else if(new_angles[0]==-90.0new_angles[0]=-89.999999

    
static Float:fov
    pev
(ent,pev_fov,fov)

    if(!
fov)
        
fov 90.0

    
if(floatabs(ent_angles[0] - new_angles[0]) <= fov/&& floatabs((180.0 floatabs(ent_angles[1])) - (180.0 floatabs(new_angles[1]))) <= fov/2)
    {
        
hudpos[1] = - ( ( (ent_angles[0] - new_angles[0]) + fov/) / fov )
        
hudpos[0] = ( (ent_angles[1] - new_angles[1]) + fov/) / fov
    
}
    else
        return 
0;

    return 
1;
}

/* ===============================
------------- 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_connected(id)
{
    if(!(
<= id <= 32))
        return 
0
    
if(!Get_BitVar(g_IsConnectedid))
        return 
0

    
return 1
}

public 
is_alive(id)
{
    if(!
is_connected(id))
        return 
0
    
if(!Get_BitVar(g_IsAliveid))
        return 
0
        
    
return 1
}

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


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 Make_BulletHole(idFloat:Origin[3], Float:Damage)
{
    
// Find target
    
static DecalDecal random_num(4145)
    static 
LoopTime
    
    if(
Damage 100.0LoopTime 2
    
else LoopTime 1
    
    
for(new 0LoopTimei++)
    {
        
// 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 Make_BulletSmoke(idTrResult)
{
    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(TrResultTR_vecEndPosvecSrc)
    
get_tr2(TrResultTR_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_SprId)
    
write_byte(2)
    
write_byte(50)
    
write_byte(TE_FLAG)
    
message_end()
}

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

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

stock Set_WeaponIdleTime(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_PlayerNextAttack(idFloat:nexttime)
{
    
set_pdata_float(id83nexttime5)
}

stock Eject_Shell(idShell_ModelIndexFloat:Time// By Dias
{
    static 
EntEnt get_pdata_cbase(id3735)
    if(!
pev_valid(Ent))
        return

        
set_pdata_int(Ent57Shell_ModelIndex4)
        
set_pdata_float(id111get_gametime() + Time)



ok convert succesfully:)

but i have a problem:(

I want when weapon zp drop changing to default weapon.

Example:
when dropping Vulcanus-5 changging to weapon_aug .
:?::?::?::?::?::?::?::?:
please help me:(

CrazY. 11-22-2018 06:54

Re: convert zp extra item to Non zp but i have a problem
 
1 Attachment(s)
Try this.

parsa210 11-22-2018 07:50

Re: convert zp extra item to Non zp but i have a problem
 
Quote:

Originally Posted by CrazY. (Post 2625161)
Try this.

tnx

but dont work!!

when picking up Vulcanus-5:cry:

i want when picking up to be default weapons.


All times are GMT -4. The time now is 07:35.

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