Raised This Month: $51 Target: $400
 12% 

convert zp extra item to Non zp but i have a problem


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
parsa210
New Member
Join Date: Nov 2018
Old 11-22-2018 , 04:05   convert zp extra item to Non zp but i have a problem
Reply With Quote #1

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

Last edited by parsa210; 11-22-2018 at 04:10.
parsa210 is offline
CrazY.
Veteran Member
Join Date: May 2015
Location: SP, Brazil
Old 11-22-2018 , 06:54   Re: convert zp extra item to Non zp but i have a problem
Reply With Quote #2

Try this.
Attached Files
File Type: sma Get Plugin or Get Source (vulcanos.sma - 261 views - 24.3 KB)
__________________








CrazY. is offline
parsa210
New Member
Join Date: Nov 2018
Old 11-22-2018 , 07:50   Re: convert zp extra item to Non zp but i have a problem
Reply With Quote #3

Quote:
Originally Posted by CrazY. View Post
Try this.
tnx

but dont work!!

when picking up Vulcanus-5

i want when picking up to be default weapons.
parsa210 is offline
Reply



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

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

Forum Jump


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


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