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

Help / Support How to fix this error "Decals must hit mod_brush!"


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
z0mbiland
Senior Member
Join Date: Jan 2013
Old 09-06-2018 , 10:03   How to fix this error "Decals must hit mod_brush!"
Reply With Quote #1

I have many plugins of ZP weapons and in some of them when i shoot i get this error "Decals must hit mod_brush!". Every time appear in console on developer 1 activated when a bullet decal is created on the map. Is a way to fix this? Is a error in the plugins code? When i use classic weapons the error is not showing!
z0mbiland is offline
georgik57
Veteran Member
Join Date: Oct 2008
Location: 🎧Music World
Old 09-06-2018 , 15:44   Re: How to fix this error "Decals must hit mod_brush!"
Reply With Quote #2

Check if the hit target has ID 0 or if its model starts with *
__________________
georgik57 is offline
Send a message via MSN to georgik57 Send a message via Yahoo to georgik57 Send a message via Skype™ to georgik57
z0mbiland
Senior Member
Join Date: Jan 2013
Old 09-06-2018 , 16:24   Re: How to fix this error "Decals must hit mod_brush!"
Reply With Quote #3

Quote:
Originally Posted by georgik57 View Post
Check if the hit target has ID 0 or if its model starts with *
no, is something like this! A cso weapon who have "new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }"! i remove all the code of "GUNSHOT_DECALS" and NO ERROR. After this the decals are not showing!

PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>

#define ENG_NULLENT            -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define desperado_WEAPONKEY     992
#define MAX_PLAYERS          32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)

#pragma tabsize 0

const USE_STOPPED 0
const OFFSET_ACTIVE_ITEM 373
const OFFSET_WEAPONOWNER 41
const OFFSET_LINUX 5
const OFFSET_LINUX_WEAPONS 4

new g_itemid_desperado

#define m_iId                                   43
#define m_flNextSecondaryAttack            46
#define WEAP_LINUX_XTRA_OFF            4
#define m_fKnown                44
#define m_flNextPrimaryAttack             46
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF    5
#define m_flNextAttack                83

#define desperado_RELOAD_TIME             0.43

//MALE
#define desperado_RUN_BEGIN            1
#define desperado_RUN_IDLE              2
#define desperado_RUN_END              3
#define desperado_DRAW                4
#define desperado_SHOOT1            5
#define desperado_SHOOT2              5
#define desperado_SHOOT_EMPTY            5
#define desperado_RELOAD            6

//SWAPING

new g_swaped[33]
new 
g_mode[33]

#define SWAP2M                    15
#define SWAP2W                    7

//WOMAN
#define desperado1_RUN_BEGIN            9
#define desperado1_RUN_IDLE              10
#define desperado1_RUN_END              11
#define desperado1_DRAW                12
#define desperado1_SHOOT1            13
#define desperado1_SHOOT2              13
#define desperado1_SHOOT_EMPTY            13
#define desperado1_RELOAD            14

#define write_coord_f(%1)    engfunc(EngFunc_WriteCoord,%1)

new const Fire_Sounds[][] = { "weapons/dprd-1.wav" }

new 
desperado_V_MODEL[64] = "models/v_desperado.mdl"
new desperado_P_MODEL1[64] = "models/p_desperado.mdl"
new desperado_P_MODEL2[64] = "models/p_desperado2.mdl"
new desperado_W_MODEL[64] = "models/w_desperado.mdl"

new const GUNSHOT_DECALS[] = { 4142434445 }

new 
cvar_dmg_desperado,cvar_dmg_desperado2cvar_recoil_desperadocvar_clip_desperadocvar_spd_desperadocvar_desperado_ammo,cvar_desperado_knock
new g_MaxPlayersg_orig_event_desperadog_IsInPrimaryAttackg_iClip
new Float:cl_pushangle[MAX_PLAYERS 1][3], m_iBlood[2]
new 
g_has_desperado[33], g_clip_ammo[33], g_desperado_TmpClip[33], oldweap[33]
new 
gmsgWeaponList

const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
new const 
WEAPONENTNAMES[][] = { """weapon_p228""""weapon_scout""weapon_hegrenade""weapon_xm1014""weapon_c4""weapon_mac10""weapon_aug""weapon_smokegrenade""weapon_elite""weapon_fiveseven""weapon_ump45""weapon_sg550""weapon_deagle""weapon_famas""weapon_usp""weapon_glock18""weapon_awp""weapon_mp5navy""weapon_m249",
"weapon_m3""weapon_m4a1""weapon_tmp""weapon_g3sg1""weapon_flashbang""weapon_deagle""weapon_sg552",
"weapon_ak47""weapon_knife""weapon_p90" }

public 
plugin_init()
{
    
register_plugin("[CSO] Python Desperado""1.0""TK N CASH")
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_deagle""fw_desperado_AddToPlayer")
    
RegisterHam(Ham_Use"func_tank""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankmortar""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tankrocket""fw_UseStationary_Post"1)
    
RegisterHam(Ham_Use"func_tanklaser""fw_UseStationary_Post"1)
    for (new 
1sizeof WEAPONENTNAMESi++)
    if (
WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_DeployWEAPONENTNAMES[i], "fw_Item_Deploy_Post"1)
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_deagle""fw_desperado_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_deagle""fw_desperado_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Item_PostFrame"weapon_deagle""desperado_ItemPostFrame")
    
RegisterHam(Ham_Weapon_Reload"weapon_deagle""desperado_Reload")
    
RegisterHam(Ham_Weapon_Reload"weapon_deagle""desperado_Reload_Post"1)
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
register_forward(FM_SetModel"fw_SetModel")
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)
    
register_forward(FM_PlaybackEvent"fwPlaybackEvent")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_wall""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_door_rotating""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_plat""fw_TraceAttack"1)
    
RegisterHam(Ham_TraceAttack"func_rotating""fw_TraceAttack"1)

    
RegisterHam(Ham_Weapon_SecondaryAttack"weapon_deagle""event_Damage")
    
    
cvar_dmg_desperado register_cvar("desperado_dmg""2.2")
    
cvar_dmg_desperado2 register_cvar("desperado_dmg2""0.2")
    
cvar_desperado_knock register_cvar("desperado_knock""3.5")
    
cvar_recoil_desperado register_cvar("desperado_recoil""0.75")
    
cvar_clip_desperado register_cvar("desperado_clip""7")
    
cvar_spd_desperado register_cvar("desperado_spd""0.5")
    
cvar_desperado_ammo register_cvar("desperado_ammo""210")

    
//register_clcmd("admin_get_desperado" , "give_desperado" , ADMIN_KICK)
    
    
g_itemid_desperado zp_register_extra_item("Python Desperado"5ZP_TEAM_HUMAN)
    
g_MaxPlayers get_maxplayers()
    
gmsgWeaponList get_user_msgid("WeaponList")
}

public 
plugin_precache()
{
    
precache_model(desperado_V_MODEL)
    
precache_model(desperado_P_MODEL1)
    
precache_model(desperado_P_MODEL2)
    
precache_model(desperado_W_MODEL)
    for(new 
0sizeof Fire_Soundsi++)
    
precache_sound(Fire_Sounds[i])
    
precache_sound("weapons/dprd_reload_m.wav")
    
m_iBlood[0] = precache_model("sprites/blood.spr")
    
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    
precache_generic("sprites/weapon_desperado.txt")
       
precache_generic("sprites/640hud164.spr")
    
precache_generic("sprites/640hud18.spr")
    
        
register_clcmd("weapon_desperado""weapon_hook")    

    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}

public 
zp_extra_item_selected(iditemid)
{
    if(
itemid != g_itemid_desperado)
        return

    
give_desperado(id)
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_has_desperado[id] = false
    
}
}

public 
weapon_hook(id)
{
    
engclient_cmd(id"weapon_deagle")
    return 
PLUGIN_HANDLED
}

public 
event_Damage(id)
{
    if(!
is_user_alive(id))
        return 
PLUGIN_CONTINUE;
    
    new 
weapon attacker get_user_attacker(id weapon);
    
    if(!
is_user_alive(attacker))
        return 
PLUGIN_CONTINUE;
    
    if(!
g_has_desperado[id])
        return 
PLUGIN_CONTINUE;
        
    if(
g_swaped[id])
        return 
PLUGIN_CONTINUE;
    
    if(!
g_swaped[attacker])
    {
        new 
Float:vec[3];
        new 
Float:oldvelo[3];
        
get_user_velocity(idoldvelo);
        
create_velocity_vector(id attacker vec);
        
vec[0] += oldvelo[0];
        
vec[1] += oldvelo[1];
        
set_user_velocity(id vec);
    }
    return 
PLUGIN_CONTINUE;
}

public 
fw_TraceAttack(iEntiAttackerFloat:flDamageFloat:fDir[3], ptriDamageType)
{
    if(!
is_user_alive(iAttacker))
        return

    new 
g_currentweapon get_user_weapon(iAttacker)

    if(
g_currentweapon != CSW_DEAGLE) return
    
    if(!
g_has_desperado[iAttacker]) return

    static 
Float:flEnd[3]
    
get_tr2(ptrTR_vecEndPosflEnd)
    
    if(
iEnt)
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_DECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
write_short(iEnt)
        
message_end()
    }
    else
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_WORLDDECAL)
        
write_coord_f(flEnd[0])
        
write_coord_f(flEnd[1])
        
write_coord_f(flEnd[2])
        
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
        
message_end()
    }
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
    
write_byte(TE_GUNSHOTDECAL)
    
write_coord_f(flEnd[0])
    
write_coord_f(flEnd[1])
    
write_coord_f(flEnd[2])
    
write_short(iAttacker)
    
write_byte(GUNSHOT_DECALS[random_num (0sizeof GUNSHOT_DECALS -1)])
    
message_end()
}

public 
plugin_natives ()
{
    
register_native("give_weapon_desperado""native_give_weapon_add"1)
}
public 
native_give_weapon_add(id)
{
    
give_desperado(id)
}

public 
fwPrecacheEvent_Post(type, const name[])
{
    if (
equal("events/deagle.sc"name))
    {
        
g_orig_event_desperado get_orig_retval()
        return 
FMRES_HANDLED
    
}
    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    
g_has_desperado[id] = false
    g_swaped
[id] = true
    g_mode
[id] = 0
}

public 
client_disconnect(id)
{
    
g_has_desperado[id] = false
    g_mode
[id] = 0
}

public 
fw_SetModel(entitymodel[])
{
    if(!
is_valid_ent(entity))
        return 
FMRES_IGNORED
    
    
static szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    if(!
equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
static iOwner
    
    iOwner 
entity_get_edict(entityEV_ENT_owner)
    
    if(
equal(model"models/w_deagle.mdl"))
    {
        static 
iStoredAugID
        
        iStoredAugID 
find_ent_by_owner(ENG_NULLENT"weapon_deagle"entity)
    
        if(!
is_valid_ent(iStoredAugID))
            return 
FMRES_IGNORED
    
        
if(g_has_desperado[iOwner])
        {
            
entity_set_int(iStoredAugIDEV_INT_WEAPONKEYdesperado_WEAPONKEY)
            
            
g_has_desperado[iOwner] = false
            
            entity_set_model
(entitydesperado_W_MODEL)
            
            return 
FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED
}

public 
give_desperado(id)
{
    
g_swaped[id] = true
    drop_weapons
(id2)
    new 
iWep2 give_item(id,"weapon_deagle")
    if( 
iWep2 )
    {
        
g_mode[id] = 0
        
        
if(g_swaped[id])
        {
        
cs_set_weapon_ammo(iWep2get_pcvar_num(cvar_clip_desperado))
        
cs_set_user_bpammo (idCSW_DEAGLEget_pcvar_num(cvar_desperado_ammo))    
        
UTIL_PlayWeaponAnimation(iddesperado_DRAW)

        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_desperado")
        
write_byte(8)
        
write_byte(35)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(1)
        
write_byte(1)
        
write_byte(CSW_DEAGLE)
        
message_end()
        }
        
        if(!
g_swaped[id])
        {
        
cs_set_weapon_ammo(iWep2get_pcvar_num(cvar_clip_desperado))
        
cs_set_user_bpammo (idCSW_DEAGLEget_pcvar_num(cvar_desperado_ammo))    
        
UTIL_PlayWeaponAnimation(iddesperado1_DRAW)

        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_desperado")
        
write_byte(8)
        
write_byte(35)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(1)
        
write_byte(1)
        
write_byte(CSW_DEAGLE)
        
message_end()
        }
    }
    
g_has_desperado[id] = true
}

public 
fw_desperado_AddToPlayer(desperadoid)
{
    if(!
is_valid_ent(desperado) || !is_user_connected(id))
        return 
HAM_IGNORED
    
    
if(entity_get_int(desperadoEV_INT_WEAPONKEY) == desperado_WEAPONKEY)
    {
        
g_has_desperado[id] = true
        
        entity_set_int
(desperadoEV_INT_WEAPONKEY0)
        
        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_desperado")
        
write_byte(8)
        
write_byte(35)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(1)
        
write_byte(1)
        
write_byte(CSW_DEAGLE)
        
message_end()

        return 
HAM_HANDLED
    
}
    else
    {
        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_deagle")
        
write_byte(8)
        
write_byte(35)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(1)
        
write_byte(1)
        
write_byte(CSW_DEAGLE)
        
message_end()
    }
    return 
HAM_IGNORED
}

public 
fw_UseStationary_Post(entitycalleractivatoruse_type)
{
    if (
use_type == USE_STOPPED && is_user_connected(caller))
        
replace_weapon_models(callerget_user_weapon(caller))
}

public 
fw_Item_Deploy_Post(weapon_ent)
{
    static 
owner
    owner 
fm_cs_get_weapon_ent_owner(weapon_ent)
    
    static 
weaponid
    weaponid 
cs_get_weapon_id(weapon_ent)
    
    
replace_weapon_models(ownerweaponid)
}

public 
CurrentWeapon(id)
{
     
replace_weapon_models(idread_data(2))
     
     if(
read_data(2) != CSW_DEAGLE || !g_has_desperado[id])
          return
     
     static 
Float:iSpeed
     
if(g_has_desperado[id])
          
iSpeed get_pcvar_float(cvar_spd_desperado)
     
     static 
weapon[32],Ent
     get_weaponname
(read_data(2),weapon,31)
     
Ent find_ent_by_owner(-1,weapon,id)
     if(
Ent)
     {
          static 
Float:Delay
          Delay 
get_pdata_floatEnt464) * iSpeed
          
if (Delay 0.0)
          {
               
set_pdata_float(Ent46Delay4)
          }
     }
}

replace_weapon_models(idweaponid)
{
    switch (
weaponid)
    {
        case 
CSW_DEAGLE:
        {
            
            if(
g_has_desperado[id])
            {
                if(
g_swaped[id])
                {
                
set_pdata_float(idm_flNextAttack0.05PLAYER_LINUX_XTRA_OFF)
                
set_pev(idpev_viewmodel2desperado_V_MODEL)
                
set_pev(idpev_weaponmodel2desperado_P_MODEL2)
                if(
oldweap[id] != CSW_DEAGLE
                {
                    
UTIL_PlayWeaponAnimation(iddesperado_DRAW)

                    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
                    
write_string("weapon_desperado")
                    
write_byte(8)
                    
write_byte(35)
                    
write_byte(-1)
                    
write_byte(-1)
                    
write_byte(1)
                    
write_byte(1)
                    
write_byte(CSW_DEAGLE)
                    
message_end()
                }
                }
                
                if(!
g_swaped[id])
                {
                
set_pdata_float(idm_flNextAttack0.05PLAYER_LINUX_XTRA_OFF)
                
set_pev(idpev_viewmodel2desperado_V_MODEL)
                
set_pev(idpev_weaponmodel2desperado_P_MODEL1)
                if(
oldweap[id] != CSW_DEAGLE
                {
                    
UTIL_PlayWeaponAnimation(iddesperado1_DRAW)

                    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
                    
write_string("weapon_desperado")
                    
write_byte(8)
                    
write_byte(35)
                    
write_byte(-1)
                    
write_byte(-1)
                    
write_byte(1)
                    
write_byte(1)
                    
write_byte(CSW_DEAGLE)
                    
message_end()
                }
                }
            }
        }
    }
    
oldweap[id] = weaponid
}

public 
fw_UpdateClientData_Post(PlayerSendWeaponsCD_Handle)
{
    if(!
is_user_alive(Player) || (get_user_weapon(Player) != CSW_DEAGLE || !g_has_desperado[Player]))
        return 
FMRES_IGNORED
    
    set_cd
(CD_HandleCD_flNextAttackhalflife_time () + 0.001)
    return 
FMRES_HANDLED
}

public 
fw_desperado_PrimaryAttack(Weapon)
{
    new 
Player get_pdata_cbase(Weapon414)
    
    if (!
g_has_desperado[Player])
        return
    
    
g_IsInPrimaryAttack 1
    pev
(Player,pev_punchangle,cl_pushangle[Player])
    
    
g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
    
g_iClip cs_get_weapon_ammo(Weapon)
}

public 
fwPlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if ((
eventid != g_orig_event_desperado) || !g_IsInPrimaryAttack)
        return 
FMRES_IGNORED
    
if (!(<= invoker <= g_MaxPlayers))
    return 
FMRES_IGNORED

    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}

public 
fw_desperado_PrimaryAttack_Post(Weapon)
{
    
g_IsInPrimaryAttack 0
    
new Player get_pdata_cbase(Weapon414)
    
    new 
szClipszAmmo
    get_user_weapon
(PlayerszClipszAmmo)
    
    if(!
is_user_alive(Player))
        return

    if (
g_iClip <= cs_get_weapon_ammo(Weapon))
        return

    if(
g_has_desperado[Player])
    {
        if (!
g_clip_ammo[Player])
            return

        new 
Float:push[3]
        
pev(Player,pev_punchangle,push)
        
xs_vec_sub(push,cl_pushangle[Player],push)
        
        
xs_vec_mul_scalar(push,get_pcvar_float(cvar_recoil_desperado),push)
        
xs_vec_add(push,cl_pushangle[Player],push)
        
set_pev(Player,pev_punchangle,push)
        
        
emit_sound(PlayerCHAN_WEAPONFire_Sounds[0], VOL_NORMATTN_NORM0PITCH_NORM)
        if(
szClip 1)  UTIL_PlayWeaponAnimation(Playerrandom_num(desperado_SHOOT1,desperado_SHOOT2))
        if(
szClip == 1UTIL_PlayWeaponAnimation(Playerdesperado_SHOOT_EMPTY)        
    }
}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if (
victim != attacker && is_user_connected(attacker))
    {
        if(
get_user_weapon(attacker) == CSW_DEAGLE)
        {
            if(
g_has_desperado[attacker])
            {
                if(
g_swaped[attacker])
                {
                    if(!
g_swaped[attacker])
                        return
                    
                    
SetHamParamFloat(4damage get_pcvar_float(cvar_dmg_desperado))
                } else if(!
g_swaped[attacker])
                    {
                        if(
g_swaped[attacker])
                            return
                        
SetHamParamFloat(4damage get_pcvar_float(cvar_dmg_desperado2))
                    }
            }
        }
    }
}

public 
message_DeathMsg(msg_idmsg_destid)
{
    static 
szTruncatedWeapon[33], iAttackeriVictim
    
    get_msg_arg_string
(4szTruncatedWeaponcharsmax(szTruncatedWeapon))
    
    
iAttacker get_msg_arg_int(1)
    
iVictim get_msg_arg_int(2)
    
    if(!
is_user_connected(iAttacker) || iAttacker == iVictim)
        return 
PLUGIN_CONTINUE
    
    
if(equal(szTruncatedWeapon"deagle") && get_user_weapon(iAttacker) == CSW_DEAGLE)
    {
        if(
g_has_desperado[iAttacker])
            
set_msg_arg_string(4"desperado")
    }
    return 
PLUGIN_CONTINUE
}

stock fm_cs_get_current_weapon_ent(id)
{
    return 
get_pdata_cbase(idOFFSET_ACTIVE_ITEMOFFSET_LINUX)
}

stock fm_cs_get_weapon_ent_owner(ent)
{
    return 
get_pdata_cbase(entOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS)
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(pev(Playerpev_body))
    
message_end()
}

/*public fw_CmdStart(id, uc_handle, seed , weapon_entity)
{
        if(!g_has_desperado[id])
              return
    
    if(!is_user_alive(id)) 
        return
    
    new pItem = get_pdata_cbase(id, OFFSET_ACTIVE_ITEM)
    
    if(get_pdata_int(pItem, m_iId, 4) != CSW_DEAGLE)
        return
    
    if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !(pev(id, pev_oldbuttons) & IN_ATTACK2) && g_swaped[id])
    {
        if(!g_swaped[id])
            return
        
        set_pdata_float(pItem, m_flTimeWeaponIdle, 0.4, WEAP_LINUX_XTRA_OFF)
        set_pdata_float(id, m_flNextAttack, 0.4, PLAYER_LINUX_XTRA_OFF)
        
        UTIL_PlayWeaponAnimation(id, SWAP2W)
        g_swaped[id] = false
        set_pdata_float(id, m_flNextAttack, 0.2, PLAYER_LINUX_XTRA_OFF)
    }
    
    if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK) && !(pev(id, pev_oldbuttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(g_swaped[id])
            return
        
        set_pdata_float(pItem, m_flTimeWeaponIdle, 0.4, WEAP_LINUX_XTRA_OFF)
        set_pdata_float(pItem, m_flNextAttack, 0.4, WEAP_LINUX_XTRA_OFF)
        UTIL_PlayWeaponAnimation(id, SWAP2M)
        g_swaped[id] = true
        
        set_pdata_float(pItem, m_flNextSecondaryAttack, 0.4, WEAP_LINUX_XTRA_OFF)
    }
    
    if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(g_swaped[id]) return
        
        if(get_pdata_float(pItem, m_flNextSecondaryAttack, 4) <= 0.0)
        {
        if(get_pdata_int(pItem, m_iClip) <= 0)
            return
            
         g_mode[id] = 1
        ExecuteHamB(Ham_Weapon_PrimaryAttack, find_ent_by_owner(-1, "weapon_deagle", id))
        UTIL_PlayWeaponAnimation(id, random_num(desperado1_SHOOT1, desperado1_SHOOT2))
        
        set_pdata_float(weapon_entity, m_flNextSecondaryAttack, 0.4, WEAP_LINUX_XTRA_OFF)
        }
    } else if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(g_swaped[id]) return
        if(get_pdata_float(pItem, m_flNextSecondaryAttack, 4) <= 0.0)
        {
            if(get_pdata_int(pItem, m_iClip) <= 0)
                return

            g_mode[id] = 0
            
            set_pdata_float(pItem, m_flNextSecondaryAttack, 0.4, WEAP_LINUX_XTRA_OFF)
        }
    }
}*/

public fw_CmdStart(iduc_handleseed weapon_entity)
{
        if(!
g_has_desperado[id])
              return
    
    if(!
is_user_alive(id)) 
        return
    
    new 
pItem get_pdata_cbase(idOFFSET_ACTIVE_ITEM)
    
    if(
get_pdata_int(pItemm_iId4) != CSW_DEAGLE)
        return
    
    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !(pev(idpev_oldbuttons) & IN_ATTACK2) && g_swaped[id])
    {
        if(!
g_swaped[id])
            return
        
        
set_pdata_float(pItemm_flTimeWeaponIdle0.4WEAP_LINUX_XTRA_OFF)
        
set_pdata_float(idm_flNextAttack0.4PLAYER_LINUX_XTRA_OFF)
        
        
UTIL_PlayWeaponAnimation(idSWAP2W)
        
g_swaped[id] = false
        set_pdata_float
(idm_flNextAttack0.2PLAYER_LINUX_XTRA_OFF)
        
        
set_pdata_int(weapon_entitym_iClipg_desperado_TmpClip[id], WEAP_LINUX_XTRA_OFF)

        
set_pdata_float(weapon_entitym_flTimeWeaponIdledesperado_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)
    
        
set_pdata_float(idm_flNextAttackdesperado_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)
    
        
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)
    }
    
    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK) && !(pev(idpev_oldbuttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(
g_swaped[id])
            return
        
        
set_pdata_float(pItemm_flTimeWeaponIdle0.4WEAP_LINUX_XTRA_OFF)
        
UTIL_PlayWeaponAnimation(idSWAP2M)
        
g_swaped[id] = true
        
        set_pdata_float
(pItemm_flNextSecondaryAttack0.4WEAP_LINUX_XTRA_OFF)
    }
    
    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(
g_swaped[id]) return
        
        if(
get_pdata_float(pItemm_flNextSecondaryAttack4) <= 0.0)
        {
        if(
get_pdata_int(pItemm_iClip) <= 0)
            return
 
         
g_mode[id] = 1
        ExecuteHamB
(Ham_Weapon_PrimaryAttackfind_ent_by_owner(-1"weapon_deagle"id))
        
UTIL_PlayWeaponAnimation(idrandom_num(desperado1_SHOOT1desperado1_SHOOT2))
        
        
set_pdata_float(weapon_entitym_flNextSecondaryAttack0.4WEAP_LINUX_XTRA_OFF)
        }
    } else if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !g_swaped[id])
    {
        if(
g_swaped[id]) return
        if(
get_pdata_float(pItemm_flNextSecondaryAttack4) <= 0.0)
        {
            if(
get_pdata_int(pItemm_iClip) <= 0)
                return

            
g_mode[id] = 0
            
            set_pdata_float
(pItemm_flNextSecondaryAttack0.4WEAP_LINUX_XTRA_OFF)
        }
    }
    
    if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && g_swaped[id])
    {
        if(!
g_swaped[id]) return
        
        if(
get_pdata_float(pItemm_flNextSecondaryAttack4) <= 0.0)
        {
        if(
get_pdata_int(pItemm_iClip) <= 0)
            return
 
         
g_mode[id] = 1
        ExecuteHamB
(Ham_Weapon_PrimaryAttackfind_ent_by_owner(-1"weapon_deagle"id))
        
UTIL_PlayWeaponAnimation(idrandom_num(desperado1_SHOOT1desperado1_SHOOT2))
        
        
set_pdata_float(weapon_entitym_flNextSecondaryAttack0.4WEAP_LINUX_XTRA_OFF)
        }
    } else if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && g_swaped[id])
    {
        if(!
g_swaped[id]) return
        if(
get_pdata_float(pItemm_flNextSecondaryAttack4) <= 0.0)
        {
            if(
get_pdata_int(pItemm_iClip) <= 0)
                return

            
g_mode[id] = 0
            
            set_pdata_float
(pItemm_flNextSecondaryAttack0.4WEAP_LINUX_XTRA_OFF)
        }
    }
}

public 
desperado_ItemPostFrame(weapon_entity
{
     new 
id pev(weapon_entitypev_owner)
     if (!
is_user_connected(id))
          return 
HAM_IGNORED

     
if (!g_has_desperado[id])
          return 
HAM_IGNORED

     
static iClipExtra
     
     iClipExtra 
get_pcvar_num(cvar_clip_desperado)
     new 
Float:flNextAttack get_pdata_float(idm_flNextAttackPLAYER_LINUX_XTRA_OFF)

     new 
iBpAmmo cs_get_user_bpammo(idCSW_DEAGLE);
     new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)

     new 
fInReload get_pdata_int(weapon_entitym_fInReloadWEAP_LINUX_XTRA_OFF

     if( 
fInReload && flNextAttack <= 0.0 )
     {
         new 
min(iClipExtra iClipiBpAmmo)
    
         
set_pdata_int(weapon_entitym_iClipiClip jWEAP_LINUX_XTRA_OFF)
         
cs_set_user_bpammo(idCSW_DEAGLEiBpAmmo-j)
        
         
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF)
         
fInReload 0
     
}
     return 
HAM_IGNORED
}

public 
desperado_Reload(weapon_entity
{
     new 
id pev(weapon_entitypev_owner)
     if (!
is_user_connected(id))
          return 
HAM_IGNORED

     
if (!g_has_desperado[id])
          return 
HAM_IGNORED

     
static iClipExtra

     
if(g_has_desperado[id])
          
iClipExtra get_pcvar_num(cvar_clip_desperado)

     
g_desperado_TmpClip[id] = -1

     
new iBpAmmo cs_get_user_bpammo(idCSW_DEAGLE)
     new 
iClip get_pdata_int(weapon_entitym_iClipWEAP_LINUX_XTRA_OFF)

     if (
iBpAmmo <= 0)
          return 
HAM_SUPERCEDE

     
if (iClip >= iClipExtra)
          return 
HAM_SUPERCEDE
      
     g_desperado_TmpClip
[id] = iClip

     
return HAM_IGNORED
}

public 
desperado_Reload_Post(weapon_entity
{
    new 
id pev(weapon_entitypev_owner)
    if (!
is_user_connected(id))
        return 
HAM_IGNORED

    
if (!g_has_desperado[id])
        return 
HAM_IGNORED

    
if (g_desperado_TmpClip[id] == -1)
        return 
HAM_IGNORED

    
if(g_swaped[id])
    {
    
set_pdata_int(weapon_entitym_iClipg_desperado_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    
set_pdata_float(weapon_entitym_flTimeWeaponIdledesperado_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)

    
set_pdata_float(idm_flNextAttackdesperado_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)

    
UTIL_PlayWeaponAnimation(iddesperado_RELOAD)
    }
    
    if(!
g_swaped[id])
    {
    
set_pdata_int(weapon_entitym_iClipg_desperado_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    
set_pdata_float(weapon_entitym_flTimeWeaponIdledesperado_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)

    
set_pdata_float(idm_flNextAttackdesperado_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)

    
UTIL_PlayWeaponAnimation(iddesperado1_RELOAD)
    }

    return 
HAM_IGNORED
}

stock drop_weapons(iddropwhat)
{
     static 
weapons[32], numiweaponid
     num 
0
     get_user_weapons
(idweaponsnum)
     
     for (
0numi++)
     {
          
weaponid weapons[i]
          
          if (
dropwhat == && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))
          {
               static 
wname[32]
               
get_weaponname(weaponidwnamesizeof wname 1)
               
engclient_cmd(id"drop"wname)
          }
     }
}

stock create_velocity_vector(victim,attacker,Float:velocity[3])
{
    new 
Float:vicorigin[3];
    new 
Float:attorigin[3];
    
entity_get_vector(victim   EV_VEC_origin vicorigin);
    
entity_get_vector(attacker EV_VEC_origin attorigin);

    new 
Float:origin2[3]
    
origin2[0] = vicorigin[0] - attorigin[0];
    
origin2[1] = vicorigin[1] - attorigin[1];

    new 
Float:largestnum 0.0;

    if(
floatabs(origin2[0])>largestnumlargestnum floatabs(origin2[0]);
    if(
floatabs(origin2[1])>largestnumlargestnum floatabs(origin2[1]);

    
origin2[0] /= largestnum;
    
origin2[1] /= largestnum;

    
velocity[0] = ( origin2[0] * (get_pcvar_float(cvar_desperado_knock) * 3000) ) / get_entity_distance(victim attacker);
    
velocity[1] = ( origin2[1] * (get_pcvar_float(cvar_desperado_knock) * 3000) ) / get_entity_distance(victim attacker);
    if(
velocity[0] <= 20.0 || velocity[1] <= 20.0)
        
velocity[2] = random_float(200.0 275.0);

    return 
1;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
z0mbiland 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 15:34.


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