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

[Help] gunxp unlock


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Mr.J
Senior Member
Join Date: Sep 2017
Location: cs_assault
Old 02-06-2018 , 09:39   [Help] gunxp unlock
Reply With Quote #1

Hi,
can you modify this weapon to be an unlock (for gunxp) ?
i already add some few codes you need to add code in ligne 119 :
PHP Code:
public gxm_item_enabled(id
{
    
//Your code here

Attached Files
File Type: sma Get Plugin or Get Source (CSO_Thanatos1.sma - 281 views - 23.5 KB)
Mr.J is offline
D3XT3R
AlliedModders Donor
Join Date: Nov 2016
Location: Lithuania, Bomb A (Kauna
Old 02-06-2018 , 13:25   Re: [Help] gunxp unlock
Reply With Quote #2

Fixet some bugs as when you unlock this gun and you drop it in flore other player when pickup it he dont get the unlock ;) and all fine now

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

#define PLUGIN "[CSO] Thanatos-1"
#define VERSION "1.0"
#define AUTHOR "Dias no Pendragon"

#define DAMAGE 42 // 84 for zombie
#define CLIP 7
#define BPAMMO 35

#define RELOAD_TIME 2.0
#define SCYTHE_SPEED 800.0

#define V_MODEL "models/v_thanatos1.mdl"
#define P_MODEL "models/p_thanatos1.mdl"
#define S_MODEL "models/s_thanatos1.mdl"

new const WeaponSounds[16][] =
{
    
"weapons/thanatos1_shoot1.wav",
    
"weapons/thanatos1_shoot_b.wav",
    
"weapons/thanatos1_bidle.wav",
    
"weapons/thanatos1_boltpull.wav",
    
"weapons/thanatos1_changea.wav",
    
"weapons/thanatos1_changeb.wav",
    
"weapons/thanatos1_clipin.wav",
    
"weapons/thanatos1_clipout.wav",
    
"weapons/thanatos1_drawb.wav",
    
"weapons/thanatos1_explode.wav",
    
"weapons/thanatos1_reload_b.wav",
    
"weapons/thanatos1_reloadb_clipin.wav",
    
"weapons/thanatos1_reloadb_clipout.wav",
    
"weapons/thanatos1_shoot_empty.wav",
    
"weapons/thanatos1_shoot2_empty.wav",
    
"weapons/thanatos1_stone1.wav"
}

enum
{
    
ANIME_IDLE_A 0,
    
ANIME_IDLE_B,
    
ANIME_SHOOT_A,
    
ANIME_SHOOT_B,
    
ANIME_SHOOT_SPECIAL,
    
ANIME_SHOOT_EMPTY_A,
    
ANIME_SHOOT_EMPTY_B,
    
ANIME_RELOAD_A,
    
ANIME_RELOAD_B,
    
ANIME_CHANGE,
    
ANIME_DRAW_A,
    
ANIME_DRAW_B
}

#define TASK_CHANGING 32615
#define SCYTHE_CLASSNAME "shikkoku"

#define CSW_THANATOS1 CSW_DEAGLE
#define weapon_thanatos1 "weapon_deagle"

// Fire Start
#define THANATOS1_OLDMODEL "models/w_deagle.mdl"

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)
const 
SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)

// 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))

new g_Had_Thanatos1g_Thanatos1_Clip[33], g_Chargedg_Changing
new g_MsgCurWeapong_InTempingAttackg_ExpSprIDg_MaxPlayers
new g_Event_Thanatos1g_ShellIdg_SmokePuff_SprIdg_HamBot

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_gxm_item("Thanatos-1""+Power"4008GUN_SECTION_PISTOL1CSW_DEAGLE)
    
    
register_event("HLTV""Event_NewRound""a""1=0""2=0")
    
register_think(SCYTHE_CLASSNAME"fw_Scythe_Think")
    
register_touch(SCYTHE_CLASSNAME"*""fw_Scythe_Touch")
    
    
register_forward(FM_UpdateClientData,"fw_UpdateClientData_Post"1)    
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent")    
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_EmitSound"fw_EmitSound")
    
register_forward(FM_TraceLine"fw_TraceLine")
    
register_forward(FM_TraceHull"fw_TraceHull")    
    
    
RegisterHam(Ham_Item_Deployweapon_thanatos1"fw_Item_Deploy_Post"1)    
    
RegisterHam(Ham_Item_AddToPlayerweapon_thanatos1"fw_Item_AddToPlayer_Post"1)
    
RegisterHam(Ham_Item_PostFrameweapon_thanatos1"fw_Item_PostFrame")    
    
RegisterHam(Ham_Weapon_Reloadweapon_thanatos1"fw_Weapon_Reload")
    
RegisterHam(Ham_Weapon_Reloadweapon_thanatos1"fw_Weapon_Reload_Post"1)    
    
RegisterHam(Ham_Weapon_WeaponIdleweapon_thanatos1"fw_Weapon_WeaponIdle_Post"1)
    
RegisterHam(Ham_Weapon_PrimaryAttackweapon_thanatos1"fw_Weapon_PrimaryAttack_Post"1)    
    
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack_World")
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack_Player")    
    
    
g_MaxPlayers get_maxplayers()
    
g_MsgCurWeapon get_user_msgid("CurWeapon")
}

public 
gxm_item_enabled(id
{
    
UnSet_BitVar(g_Changingid)
    
UnSet_BitVar(g_Chargedid)
    
Set_BitVar(g_Had_Thanatos1id)
    
    static 
EntEnt fm_get_user_weapon_entity(idCSW_THANATOS1)
    if(
pev_valid(Ent)) cs_set_weapon_ammo(EntCLIP)
    
    
Update_Ammo(idCLIP)
    
cs_set_user_bpammo(idCSW_THANATOS1BPAMMO)
}

public 
plugin_precache()
{
    
precache_model(V_MODEL)
    
precache_model(P_MODEL)
    
precache_model(S_MODEL)
    
    for(new 
0sizeof(WeaponSounds); i++)
        
precache_sound(WeaponSounds[i])
    
    
g_ShellId precache_model("models/rshell.mdl")
    
g_SmokePuff_SprId precache_model("sprites/wall_puff1.spr")
    
g_ExpSprID precache_model("sprites/thanatos1_exp.spr")
    
    
register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1)
}

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

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

public 
Do_Register_HamBot(id)
{
    
RegisterHamFromEntity(Ham_TraceAttackid"fw_TraceAttack_Player")
}

public 
client_connect(idRemove_Thanatos1(id)
public 
client_disconnected(idRemove_Thanatos1(id)

public 
Event_NewRound() remove_entity_name(SCYTHE_CLASSNAME)


public 
Remove_Thanatos1(id)
{
    
UnSet_BitVar(g_Changingid)
    
UnSet_BitVar(g_Chargedid)
    
UnSet_BitVar(g_Had_Thanatos1id)
}

public 
Update_Ammo(idAmmo)
{
    if(!
is_user_alive(id))
        return
    
    
engfunc(EngFunc_MessageBeginMSG_ONE_UNRELIABLEg_MsgCurWeapon, {000}, id)
    
write_byte(1)
    
write_byte(CSW_THANATOS1)
    
write_byte(Ammo)
    
message_end()
}

public 
fw_UpdateClientData_Post(idsendweaponscd_handle)
{
    if(!
is_user_alive(id))
        return 
FMRES_IGNORED    
    
if(get_user_weapon(id) == CSW_THANATOS1 && Get_BitVar(g_Had_Thanatos1id))
        
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_user_connected(invoker))
        return 
FMRES_IGNORED    
    
if(get_user_weapon(invoker) != CSW_THANATOS1 || !Get_BitVar(g_Had_Thanatos1invoker))
        return 
FMRES_IGNORED
    
if(eventid != g_Event_Thanatos1)
        return 
FMRES_IGNORED
    
    engfunc
(EngFunc_PlaybackEventflags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    
    if(!
Get_BitVar(g_Chargedinvoker)) Set_WeaponAnim(invokerANIME_SHOOT_A)
    else 
Set_WeaponAnim(invokerANIME_SHOOT_B)
    
    
emit_sound(invokerCHAN_WEAPONWeaponSounds[0], 1.00.4094 random_num(015))
    
Eject_Shell(invokerg_ShellId0.01)
    
    return 
FMRES_IGNORED
}

public 
fw_CmdStart(iduc_handleseed)
{
    if(!
is_user_alive(id))
        return 
FMRES_IGNORED
    
if(get_user_weapon(id) != CSW_THANATOS1 || !Get_BitVar(g_Had_Thanatos1id))
        return 
FMRES_IGNORED
        
    
static PressedButton
    PressedButton 
get_uc(uc_handleUC_Buttons)
    
    if(
PressedButton IN_ATTACK2)
    {
        if(
get_pdata_float(id835) > 0.0)
            return 
FMRES_IGNORED
        
        PressedButton 
&= ~IN_ATTACK2
        set_uc
(uc_handleUC_ButtonsPressedButton)
        
        if(
Get_BitVar(g_Changingid))
            return 
FMRES_IGNORED
        
        
if(!Get_BitVar(g_Chargedid))
        {
            
Set_BitVar(g_Changingid)
            
            
Set_Player_NextAttack(id2.0)
            
Set_WeaponIdleTime(idCSW_THANATOS12.0)
            
            
Set_WeaponAnim(idANIME_CHANGE)
            
            
remove_task(id+TASK_CHANGING)
            
set_task(1.85"Complete_Change"id+TASK_CHANGING)
        } else {
            
UnSet_BitVar(g_Changingid)
            
UnSet_BitVar(g_Chargedid)
            
            
Create_FakeAttackAnim(id)
            
            
Set_Player_NextAttack(id2.0)
            
Set_WeaponIdleTime(idCSW_THANATOS12.0)
            
            
Set_WeaponAnim(idANIME_SHOOT_SPECIAL)
            
emit_sound(idCHAN_WEAPONWeaponSounds[1], VOL_NORMATTN_NORM0PITCH_NORM)
            
            
Create_Scythe(id)
            
            
// Fake Punch
            
static Float:Origin[3]; Origin[0] = -2.5
            set_pev
(idpev_punchangleOrigin)
        }
    }
        
    return 
FMRES_HANDLED
}

public 
Complete_Change(id)
{
    
id -= TASK_CHANGING
    
    
if(!is_user_alive(id))
        return
    
    
UnSet_BitVar(g_Changingid)
        
    if(
get_user_weapon(id) != CSW_THANATOS1 || !Get_BitVar(g_Had_Thanatos1id))
        return
        
    
Set_BitVar(g_Chargedid)
}

public 
Create_Scythe(id)
{
    static 
Float:Origin[3], Float:Target[3], Float:Velocity[3], Float:Angles[3]
    
    
get_position(id48.06.00.0Origin)
    
get_position(id1024.00.00.0Target)
    
    
pev(idpev_v_angleAngles)
    
Angles[0] *= -1.0
    
    
new Ent create_entity("info_target")
    
    
// set info for ent
    
set_pev(Entpev_movetypeMOVETYPE_FLY)
    
entity_set_string(EntEV_SZ_classnameSCYTHE_CLASSNAME)
    
engfunc(EngFunc_SetModelEntS_MODEL)
    
    
set_pev(Entpev_minsFloat:{-1.0, -1.0, -1.0})
    
set_pev(Entpev_maxsFloat:{1.01.01.0})
    
set_pev(Entpev_originOrigin)
    
set_pev(Entpev_gravity0.25)
    
set_pev(Entpev_anglesAngles)
    
set_pev(Entpev_solidSOLID_TRIGGER)
    
set_pev(Entpev_ownerid)    
    
set_pev(Entpev_iuser1get_user_team(id))
    
set_pev(Entpev_fuser1get_gametime() + 5.0)

    
get_speed_vector(OriginTargetSCYTHE_SPEEDVelocity)
    
set_pev(Entpev_velocityVelocity)    
    
    
set_pev(Entpev_nextthinkget_gametime() + 0.1)
    
    
// Animation
    
set_pev(Entpev_animtimeget_gametime())
    
set_pev(Entpev_framerate1.0)
    
set_pev(Entpev_sequence0)
}

public 
fw_Scythe_Think(Ent)
{
    if(!
pev_valid(Ent))
        return
        
    static 
Float:Timepev(Entpev_fuser1Time)
    if(
Time <= get_gametime())
    {
        
set_pev(Entpev_flagsFL_KILLME)
        
set_pev(Entpev_nextthinkget_gametime() + 0.1)
            
        return
    }
    
    
set_pev(Entpev_nextthinkget_gametime() + 0.25)
}

public 
fw_Scythe_Touch(Entid)
{
    if(!
pev_valid(Ent))
        return
    
    if(!
is_user_alive(id))
    {
        static 
Float:Origin[3]; pev(Entpev_originOrigin)
    
        
set_pev(Entpev_velocity, {0.00.00.0})
        
set_pev(Entpev_movetypeMOVETYPE_NONE)
        
set_pev(Entpev_solidSOLID_NOT)
        
        
// Bullet Hole
        
static OwnerOwner pev(Entpev_owner)
        
Make_BulletHole(OwnerOriginfloat(DAMAGE))
        
        
// Sound
        
emit_sound(EntCHAN_ITEMWeaponSounds[15], VOL_NORMATTN_NORM0PITCH_NORM)
        
emit_sound(EntCHAN_STATICWeaponSounds[9], VOL_NORMATTN_NORM0PITCH_NORM)
        
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_EXPLOSION)
        
engfunc(EngFunc_WriteCoordOrigin[0])
        
engfunc(EngFunc_WriteCoordOrigin[1])
        
engfunc(EngFunc_WriteCoordOrigin[2])
        
write_short(g_ExpSprID)
        
write_byte(10)
        
write_byte(20)
        
write_byte(4
        
message_end()
        
        
// Entity
        
set_pev(Entpev_fuser1get_gametime() + 3.0)
        if(!
is_user_connected(Owner))
            return
        
        for(new 
0g_MaxPlayersi++)
        {
            if(!
is_user_alive(i))
                continue
            if(
get_user_team(i) == get_user_team(Owner))
                continue
            if(
entity_range(iEnt) > 180.0)
                continue
                
            
ExecuteHamB(Ham_TakeDamagei0Ownerfloat(DAMAGE) * 2.0DMG_SLASH)
        }
    
    } else {
        static 
TeamTeam pev(Entpev_iuser1)
        if(
get_user_team(id) == Team)
            return
        static 
OwnerOwner pev(Entpev_owner)
        if(!
is_user_connected(Owner))
            return
        
        
ExecuteHamB(Ham_TakeDamageid0Ownerfloat(DAMAGE), DMG_SLASH)
    }
}

public 
fw_EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)
{
    if(!
is_user_connected(id))
        return 
FMRES_IGNORED
    
if(!Get_BitVar(g_InTempingAttackid))
        return 
FMRES_IGNORED
        
    
if(sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
    {
        if(
sample[14] == 's' && sample[15] == 'l' && sample[16] == 'a')
            return 
FMRES_SUPERCEDE
        
if (sample[14] == 'h' && sample[15] == 'i' && sample[16] == 't')
        {
            if (
sample[17] == 'w')  return FMRES_SUPERCEDE
            
else  return FMRES_SUPERCEDE
        
}
        if (
sample[14] == 's' && sample[15] == 't' && sample[16] == 'a')
            return 
FMRES_SUPERCEDE;
    }
    
    return 
FMRES_IGNORED
}

public 
fw_TraceLine(Float:vector_start[3], Float:vector_end[3], ignored_monsteridhandle)
{
    if(!
is_user_alive(id))
        return 
FMRES_IGNORED    
    
if(!Get_BitVar(g_InTempingAttackid))
        return 
FMRES_IGNORED
    
    
static Float:vecStart[3], Float:vecEnd[3], Float:v_angle[3], Float:v_forward[3], Float:view_ofs[3], Float:fOrigin[3]
    
    
pev(idpev_originfOrigin)
    
pev(idpev_view_ofsview_ofs)
    
xs_vec_add(fOriginview_ofsvecStart)
    
pev(idpev_v_anglev_angle)
    
    
engfunc(EngFunc_MakeVectorsv_angle)
    
get_global_vector(GL_v_forwardv_forward)

    
xs_vec_mul_scalar(v_forward0.0v_forward)
    
xs_vec_add(vecStartv_forwardvecEnd)
    
    
engfunc(EngFunc_TraceLinevecStartvecEndignored_monsteridhandle)
    
    return 
FMRES_SUPERCEDE
}

public 
fw_TraceHull(Float:vector_start[3], Float:vector_end[3], ignored_monsterhullidhandle)
{
    if(!
is_user_alive(id))
        return 
FMRES_IGNORED    
    
if(!Get_BitVar(g_InTempingAttackid))
        return 
FMRES_IGNORED
    
    
static Float:vecStart[3], Float:vecEnd[3], Float:v_angle[3], Float:v_forward[3], Float:view_ofs[3], Float:fOrigin[3]
    
    
pev(idpev_originfOrigin)
    
pev(idpev_view_ofsview_ofs)
    
xs_vec_add(fOriginview_ofsvecStart)
    
pev(idpev_v_anglev_angle)
    
    
engfunc(EngFunc_MakeVectorsv_angle)
    
get_global_vector(GL_v_forwardv_forward)
    
    
xs_vec_mul_scalar(v_forward0.0v_forward)
    
xs_vec_add(vecStartv_forwardvecEnd)
    
    
engfunc(EngFunc_TraceHullvecStartvecEndignored_monsterhullidhandle)
    
    return 
FMRES_SUPERCEDE
}

public 
Create_FakeAttackAnim(id)
{
    
Set_BitVar(g_InTempingAttackid)
    
    static 
EntEnt fm_get_user_weapon_entity(idCSW_KNIFE)
    if(
pev_valid(Ent)) ExecuteHamB(Ham_Weapon_PrimaryAttackEnt)
    
    
UnSet_BitVar(g_InTempingAttackid)
}

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_Thanatos1Id))
        return
    
    
set_pev(Idpev_viewmodel2V_MODEL)
    
set_pev(Idpev_weaponmodel2P_MODEL)
    
    if(!
Get_BitVar(g_ChargedId)) Set_WeaponAnim(IdANIME_DRAW_A)
    else 
Set_WeaponAnim(IdANIME_DRAW_B)
    
    
remove_task(Id+TASK_CHANGING)
    
    
UnSet_BitVar(g_ChangingId)
    
UnSet_BitVar(g_ChargedId)
}

public 
fw_Item_AddToPlayer_Post(Entid)
{
    if(!
pev_valid(Ent))
        return 
HAM_IGNORED
        
    
if(pev(Entpev_impulse) == 25112015)
    {
        
Set_BitVar(g_Had_Thanatos1id)
        
set_pev(Entpev_impulse0)
        
        if(
pev(Entpev_iuser4)) Set_BitVar(g_Chargedid)
        else 
UnSet_BitVar(g_Chargedid)
    }

    return 
HAM_HANDLED    
}

public 
fw_Weapon_WeaponIdle_PostiEnt )
{
    if(
pev_valid(iEnt) != 2)
        return
    static 
IdId get_pdata_cbase(iEnt414)
    if(
get_pdata_cbase(Id373) != iEnt)
        return
    if(!
Get_BitVar(g_Had_Thanatos1Id))
        return
        
    if(
get_pdata_float(iEnt484) <= 0.1)
    {
        if(!
Get_BitVar(g_ChargedId)) Set_WeaponAnim(IdANIME_IDLE_A)
        else 
Set_WeaponAnim(IdANIME_IDLE_B)
        
        
set_pdata_float(iEnt4820.04)
    }    
}

public 
fw_TraceAttack_World(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_user_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_user_weapon(Attacker) != CSW_THANATOS1 || !Get_BitVar(g_Had_Thanatos1Attacker))
        return 
HAM_IGNORED
        
    
static Float:flEnd[3], Float:vecPlane[3]
        
    
get_tr2(PtrTR_vecEndPosflEnd)
    
get_tr2(PtrTR_vecPlaneNormalvecPlane)        
            
    
Make_BulletHole(AttackerflEndDamage)
    
Make_BulletSmoke(AttackerPtr)

    
SetHamParamFloat(3float(DAMAGE))
    
    return 
HAM_IGNORED
}

public 
fw_TraceAttack_Player(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_user_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_user_weapon(Attacker) != CSW_THANATOS1 || !Get_BitVar(g_Had_Thanatos1Attacker))
        return 
HAM_IGNORED
        
    SetHamParamFloat
(3float(DAMAGE))
    
    return 
HAM_IGNORED
}

public 
fw_Item_PostFrame(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Thanatos1id))
        return 
HAM_IGNORED    
    
    
static Float:flNextAttackflNextAttack get_pdata_float(id835)
    static 
bpammobpammo cs_get_user_bpammo(idCSW_THANATOS1)
    
    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_THANATOS1bpammo temp1)        
        
        
set_pdata_int(ent5404)
        
        
fInReload 0
    
}        
    
    return 
HAM_IGNORED
}

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

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

public 
fw_Weapon_Reload_Post(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Thanatos1id))
        return 
HAM_IGNORED    
        
    
if((get_pdata_int(ent544) == 1))
    { 
// Reload
        
if(g_Thanatos1_Clip[id] == -1)
            return 
HAM_IGNORED
        
        set_pdata_int
(ent51g_Thanatos1_Clip[id], 4)
        
set_pdata_float(id83RELOAD_TIME5)
        
        if(!
Get_BitVar(g_Chargedid)) Set_WeaponAnim(idANIME_RELOAD_A)
        else 
Set_WeaponAnim(idANIME_RELOAD_B)
    }
    
    return 
HAM_HANDLED
}

public 
fw_Weapon_PrimaryAttack_Post(Ent)
{
    static 
idid pev(Entpev_owner)
    if(!
is_user_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_Thanatos1id))
        return 
HAM_IGNORED
        
    set_pdata_float
(Ent480.54)
    return 
HAM_IGNORED
}

// Drop primary/secondary weapons
stock drop_weapons(iddropwhat)
{
    
// Get user weapons
    
static weapons[32], numiweaponid
    num 
// reset passed weapons count (bugfix)
    
get_user_weapons(idweaponsnum)
    
    
// Loop through them and drop primaries or secondaries
    
for (0numi++)
    {
        
// Prevent re-indexing the array
        
weaponid weapons[i]
        
        if ((
dropwhat == && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM)) || (dropwhat == && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM)))
        {
            
// Get weapon entity
            
static wname[32]; get_weaponname(weaponidwnamecharsmax(wname))
            
engclient_cmd(id"drop"wname)
        }
    }
}

stock Set_Player_NextAttack(idFloat:NextTimeset_pdata_float(id83NextTime5)

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 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)
}

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 get_position(id,Float:forwFloat:rightFloat:upFloat:vStart[])
{
    new 
Float:vOrigin[3], Float:vAngle[3], Float:vForward[3], Float:vRight[3], Float:vUp[3]
    
    
pev(idpev_originvOrigin)
    
pev(idpev_view_ofs,vUp//for player
    
xs_vec_add(vOrigin,vUp,vOrigin)
    
pev(idpev_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 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]
    new 
Float:num 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 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)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1042\\ f0\\ fs16 \n\\ par }
*/ 
__________________

Last edited by D3XT3R; 02-06-2018 at 13:27.
D3XT3R is offline
Send a message via Skype™ to D3XT3R
Mr.J
Senior Member
Join Date: Sep 2017
Location: cs_assault
Old 02-06-2018 , 13:47   Re: [Help] gunxp unlock
Reply With Quote #3

thank you dexter
and i knew what you did , you removed world model , i forgot about it
thank you
Mr.J 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 22:35.


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