Pedido Especial Arma
#1
Wenas, Alguien tendria de casualidad el .sma de la Brick Piece S1451, es la dual uzi de lego, con modo de disparo en modo misilesTriste

La quisiera customizar pero solo encuentro ya compiladoTriste
Tengo un problema con los emotes  Whatdone 

Ayuda  Whatdone 
Responder
#2
https://forums.alliedmods.net/showthread.php?t=294818

Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <cstrike>
#include <xs>
#include <fun>

#define PLUGIN "[CSO] Brick Peace V2"
#define VERSION "1.0"
#define AUTHOR "Dias Pendragon Leon"

#define DAMAGE_A 30 // 60 for Zombie
#define DAMAGE_B 150 // 300 for Zombie

#define CLIP 40
#define BPAMMO 200
#define SPEED 1.25

#define CSW_BLOCKAR CSW_M4A1
#define weapon_blockar "weapon_m4a1"

#define WEAPON_ANIMEXT_A "rifle"
#define WEAPON_ANIMEXT_B "m249"

#define MODEL_V "models/v_blockar1.mdl"
#define MODEL_V2 "models/v_blockar2.mdl"
#define MODEL_VC "models/v_blockchange.mdl"
#define MODEL_P "models/p_blockar1.mdl"
#define MODEL_P2 "models/p_blockar2.mdl"
#define MODEL_W "models/w_blockar1.mdl"
#define MODEL_W2 "models/w_blockar2.mdl"
#define MODEL_S "models/block_missile.mdl"
#define MODEL_SHELL "models/block_shell.mdl"

#define BLOCKAR_OLDMODEL "models/w_m4a1.mdl"
#define ROCKET_CLASSNAME "Thomas_Hadley"

new const WeaponSounds[18][] =
{
    
"weapons/blockar1-1.wav",
    
"weapons/blockar2-1.wav",
    
"weapons/block_change.wav",
    
"weapons/blockar1_change1.wav",
    
"weapons/blockar1_change2.wav",
    
"weapons/blockar1_clipin.wav",
    
"weapons/blockar1_clipout.wav",
    
"weapons/blockar1_draw.wav",
    
"weapons/blockar1_shell1.wav",
    
"weapons/blockar1_shell2.wav",
    
"weapons/blockar1_shell3.wav",
    
"weapons/blockar2_change1_1.wav",
    
"weapons/blockar2_change2_1.wav",
    
"weapons/blockar2_change2_2.wav",
    
"weapons/blockar2_idle.wav",
    
"weapons/blockar2_reload.wav",
    
"weapons/blockar2_shoot_start.wav",
    
"weapons/blockar2_shoot_end.wav"
}

new const 
WeaponResources[3][] =
{
    
"sprites/weapon_blockar.txt",
    
"sprites/640hud8_2.spr",
    
"sprites/640hud115_2.spr"
}

enum
{
    
ANIME1_IDLE 0,
    
ANIME1_SHOOT1,
    
ANIME1_SHOOT2,
    
ANIME1_SHOOT3,
    
ANIME1_CHANGE_AB,
    
ANIME1_CHANGE_BA,
    
ANIME1_RELOAD,
    
ANIME1_DRAW
}

enum
{
    
ANIME2_IDLE1 0,
    
ANIME2_IDLE2,
    
ANIME2_SHOOT_BEGIN,
    
ANIME2_SHOOT_END,
    
ANIME2_CHANGE_BA1,
    
ANIME2_CHANGE_BA2,
    
ANIME2_CHANGE_AB1,
    
ANIME2_CHANGE_AB2,
    
ANIME2_RELOAD,
    
ANIME2_DRAW1,
    
ANIME2_DRAW2
}

#define TASK_CHANGING 21611
#define TASK_TENLUA 21612

// 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_BlockARg_LauncherModeg_TenLuaReady
new g_Event_BlockARg_InTempingAttackg_ShellIdg_Clip[33], g_SmokePuff_SprId
new g_MsgCurWeapong_MsgAmmoXg_MsgWeaponListg_Exp_SprIdg_SmokeSprIdg_MaxPlayers

// Safety
new g_IsConnectedg_IsAliveg_PlayerWeapon[33], g_HamBot

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Safety
    
Register_SafetyFunc()
    
    
register_event("CurWeapon""Event_CurWeapon""be""1=1")
    
    
register_think(ROCKET_CLASSNAME"fw_Rocket_Think")
    
register_touch(ROCKET_CLASSNAME"*""fw_Rocket_Touch")
    
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_SetModel"fw_SetModel")    
    
register_forward(FM_EmitSound"fw_EmitSound")
    
register_forward(FM_TraceLine"fw_TraceLine")
    
register_forward(FM_TraceHull"fw_TraceHull")
    
    
RegisterHam(Ham_Item_Deployweapon_blockar"fw_Item_Deploy_Post"1)    
    
RegisterHam(Ham_Item_AddToPlayerweapon_blockar"fw_Item_AddToPlayer_Post"1)
    
RegisterHam(Ham_Weapon_WeaponIdleweapon_blockar"fw_Weapon_WeaponIdle_Post"1)
    
RegisterHam(Ham_Item_PostFrameweapon_blockar"fw_Item_PostFrame")    
    
RegisterHam(Ham_Weapon_Reloadweapon_blockar"fw_Weapon_Reload")
    
RegisterHam(Ham_Weapon_Reloadweapon_blockar"fw_Weapon_Reload_Post"1)    
    
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack_World")
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack_Player")    
    
    
g_MsgCurWeapon get_user_msgid("CurWeapon")
    
g_MsgAmmoX get_user_msgid("AmmoX")
    
g_MsgWeaponList get_user_msgid("WeaponList")
    
g_MaxPlayers get_maxplayers()
    
    
register_clcmd("say /get""Get_BlockAR")
    
register_clcmd("weapon_blockar""HookWeapon")
}

public 
plugin_precache()
{
    
precache_model(MODEL_V)
    
precache_model(MODEL_V2)
    
precache_model(MODEL_VC)
    
precache_model(MODEL_P)
    
precache_model(MODEL_P2)
    
precache_model(MODEL_W)
    
precache_model(MODEL_W2)
    
precache_model(MODEL_S)
    
    for(new 
0sizeof(WeaponSounds); i++)
        
precache_sound(WeaponSounds[i])
    
    
precache_generic(WeaponResources[0])
    
precache_model(WeaponResources[1])
    
precache_model(WeaponResources[2])
    
    
register_forward(FM_PrecacheEvent"fw_PrecacheEvent_Post"1)
    
    
g_Exp_SprId precache_model("sprites/zerogxplode.spr")
    
g_SmokePuff_SprId precache_model("sprites/wall_puff1.spr")
    
g_SmokeSprId engfunc(EngFunc_PrecacheModel"sprites/steam1.spr")
    
g_ShellId precache_model(MODEL_SHELL)
}

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

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

public 
Do_Register_HamBot(id
{
    
Register_SafetyFuncBot(id)
}

public 
client_disconnect(id)
{
    
Safety_Disconnected(id)
}

public 
HookWeapon(id)
{
    
engclient_cmd(idweapon_blockar)
    return 
PLUGIN_HANDLED
}

public 
Get_BlockAR(id)
{
    
UnSet_BitVar(g_InTempingAttackid)
    
UnSet_BitVar(g_LauncherModeid)
    
UnSet_BitVar(g_TenLuaReadyid)
    
Set_BitVar(g_Had_BlockARid)
    
    
give_item(idweapon_blockar)
    
    
// Clip & Ammo
    
static EntEnt fm_get_user_weapon_entity(idCSW_BLOCKAR)
    if(!
pev_valid(Ent)) return
    
    
cs_set_weapon_ammo(EntCLIP)
    
cs_set_user_bpammo(idCSW_BLOCKARBPAMMO)
    
    
// Update Hud
    
message_begin(MSG_ONE_UNRELIABLEg_MsgCurWeapon_id)
    
write_byte(1)
    
write_byte(CSW_BLOCKAR)
    
write_byte(CLIP)
    
message_end()
    
    
message_begin(MSG_ONE_UNRELIABLEg_MsgAmmoX_id)
    
write_byte(4)
    
write_byte(BPAMMO)
    
message_end()
}

public 
Remove_BlockAR(id)
{
    
UnSet_BitVar(g_InTempingAttackid)
    
UnSet_BitVar(g_LauncherModeid)
    
UnSet_BitVar(g_TenLuaReadyid)
    
UnSet_BitVar(g_Had_BlockARid)
    
    
remove_task(id+TASK_CHANGING)
    
remove_task(id+TASK_TENLUA)
}

public 
Event_CurWeapon(id)
{
    static 
CSWCSW read_data(2)
    
    if(
CSW != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))    
        return

    static 
Float:DelayFloat:Delay2
    
static EntEnt fm_get_user_weapon_entity(idCSW_BLOCKAR)
    if(!
pev_valid(Ent)) return
    
    
Delay get_pdata_float(Ent464) * SPEED
    Delay2 
get_pdata_float(Ent474) * SPEED
    
    
if(Delay 0.0)
    {
        
set_pdata_float(Ent46Delay4)
        
set_pdata_float(Ent47Delay24)
    }
}


public 
fw_UpdateClientData_Post(idsendweaponscd_handle)
{
    if(!
is_alive(id))
        return 
FMRES_IGNORED    
    
if(get_user_weapon(id) == CSW_BLOCKAR && Get_BitVar(g_Had_BlockARid))
        
set_cd(cd_handleCD_flNextAttackget_gametime() + 0.001
    
    return 
FMRES_HANDLED
}

public 
fw_PlaybackEvent(flagsinvokereventidFloat:delayFloat:origin[3], Float:angles[3], Float:fparam1Float:fparam2iParam1iParam2bParam1bParam2)
{
    if (!
is_connected(invoker))
        return 
FMRES_IGNORED    
    
if(get_player_weapon(invoker) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARinvoker))
        return 
FMRES_IGNORED
    
if(eventid != g_Event_BlockAR)
        return 
FMRES_IGNORED
    
    engfunc
(EngFunc_PlaybackEventflags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)

    if(!
Get_BitVar(g_LauncherModeinvoker)) 
    {
        
Set_WeaponAnim(invokerANIME1_SHOOT1)
        
emit_sound(invokerCHAN_WEAPONWeaponSounds[0], 1.0ATTN_NORM0PITCH_NORM)
        
        
Eject_Shell(invokerg_ShellId0.01)
    }
    
    return 
FMRES_SUPERCEDE
}

public 
fw_SetModel(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(modelBLOCKAR_OLDMODEL))
    {
        static 
weaponweapon find_ent_by_owner(-1weapon_blockarentity)
        
        if(!
pev_valid(weapon))
            return 
FMRES_IGNORED;
        
        if(
Get_BitVar(g_Had_BlockARiOwner))
        {
            
set_pev(weaponpev_impulse21062015)
            
            if(!
Get_BitVar(g_LauncherModeiOwner))
            {
                
engfunc(EngFunc_SetModelentityMODEL_W)
                
set_pev(weaponpev_iuser10)
            } else {
                
engfunc(EngFunc_SetModelentityMODEL_W2)
                
set_pev(weaponpev_iuser11)
                
                if(
Get_BitVar(g_TenLuaReadyiOwner)) set_pev(weaponpev_iuser21)
                else 
set_pev(weaponpev_iuser20)
            }
            
            
Remove_BlockAR(iOwner)
            
            return 
FMRES_SUPERCEDE
        
}
    }

    return 
FMRES_IGNORED;
}

public 
fw_CmdStart(iduc_handleseed)
{
    if(!
is_alive(id))
        return 
FMRES_IGNORED
    
if(get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return 
FMRES_IGNORED
        
    
static PressedButton
    PressedButton 
get_uc(uc_handleUC_Buttons)
    
    if(
Get_BitVar(g_LauncherModeid) && !Get_BitVar(g_TenLuaReadyid))
    {
        if(
get_pdata_float(id835) > 0.0)
            return 
FMRES_IGNORED
        
        Set_BitVar
(g_TenLuaReadyid)
        
        
Set_PlayerNextAttack(id2.0)
        
Set_WeaponIdleTime(idCSW_BLOCKAR2.0)
        
        
Set_WeaponAnim(idANIME2_RELOAD)
    }
    
    if(
PressedButton IN_ATTACK)
    {
        if(
get_pdata_float(id835) > 0.0)
            return 
FMRES_IGNORED
        
if(!Get_BitVar(g_LauncherModeid))
            return 
FMRES_IGNORED
        
if(!Get_BitVar(g_TenLuaReadyid))
            return 
FMRES_IGNORED
            
        Shoot_TenLua
(id)
            
        
PressedButton &= ~IN_ATTACK2
        set_uc
(uc_handleUC_ButtonsPressedButton)
    } else 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_LauncherModeid))
        {
            
Set_WeaponAnim(idANIME1_CHANGE_AB)
            
set_pdata_float(id831.55)
            
            
remove_task(id+TASK_CHANGING)
            
set_task(1.25"ChangeAB_Stage1"id+TASK_CHANGING)
        } else {
            if(
Get_BitVar(g_TenLuaReadyid))
            {
                
Set_WeaponAnim(idANIME2_CHANGE_BA1)
            } else {
                
Set_WeaponAnim(idANIME2_CHANGE_BA2)
            }
            
            
set_pdata_float(id831.55)
            
            
remove_task(id+TASK_CHANGING)
            
set_task(1.25"ChangeBA_Stage1"id+TASK_CHANGING)
        }
    }
        
    return 
FMRES_HANDLED
}

public 
Shoot_TenLua(id)
{
    
remove_task(id+TASK_TENLUA)
    
    
Set_PlayerNextAttack(id3.0)
    
Set_WeaponAnim(idANIME2_SHOOT_BEGIN)
    
    
set_task(0.75"Shoot_TenLua2"id+TASK_TENLUA)
}

public 
Shoot_TenLua2(id)
{
    
id -= TASK_TENLUA
    
    
if(!is_alive(id))
        return
    if(
get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return
    if(!
Get_BitVar(g_LauncherModeid) || !Get_BitVar(g_TenLuaReadyid))
        return
        
    
UnSet_BitVar(g_TenLuaReadyid)
        
    
Set_WeaponAnim(idANIME2_SHOOT_END)
    
emit_sound(idCHAN_WEAPONWeaponSounds[1], VOL_NORMATTN_NORM0PITCH_NORM)
    
    
// Fake
    
static Float:Origin[3]
    
Origin[0] = random_float(-2.5, -5.0)
    
    
set_pev(idpev_punchangleOrigin)
    
    
// Rocket
    
Shoot_Rocket(id)
    
Set_PlayerNextAttack(id1.0)
}

public 
Shoot_Rocket(id)
{
    new 
iEnt create_entity("info_target")
    
    static 
Float:Origin[3], Float:Angles[3], Float:TargetOrigin[3], Float:Velocity[3]
    
    
get_weapon_attachment(idOrigin40.0)
    
get_position(id2048.06.00.0TargetOrigin)
    
    
pev(idpev_v_angleAngles)
    
Angles[0] *= -1.0

    
// set info for ent
    
set_pev(iEntpev_movetypeMOVETYPE_PUSHSTEP)
    
entity_set_string(iEntEV_SZ_classnameROCKET_CLASSNAME)
    
engfunc(EngFunc_SetModeliEntMODEL_S)
    
    
set_pev(iEntpev_minsFloat:{-1.0, -1.0, -1.0})
    
set_pev(iEntpev_maxsFloat:{1.01.01.0})
    
set_pev(iEntpev_originOrigin)
    
set_pev(iEntpev_gravity0.1)
    
set_pev(iEntpev_anglesAngles)
    
set_pev(iEntpev_solidSOLID_TRIGGER)
    
set_pev(iEntpev_ownerid)    
    
set_pev(iEntpev_iuser1get_user_team(id))

    
get_speed_vector(OriginTargetOrigin2000.0Velocity)
    
set_pev(iEntpev_velocityVelocity)    
    
    
set_pev(iEntpev_nextthinkget_gametime() + 0.1)
}

public 
fw_Rocket_Think(Ent)
{
    if(!
pev_valid(Ent))
        return
        
    static 
Float:Origin[3], TE_FLAG;
    
pev(Entpev_originOrigin)
    
    
TE_FLAG |= TE_EXPLFLAG_NODLIGHTS
    TE_FLAG 
|= TE_EXPLFLAG_NOSOUND
    TE_FLAG 
|= TE_EXPLFLAG_NOPARTICLES
    
    engfunc
(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYOrigin0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2] - 8.0)
    
write_short(g_SmokePuff_SprId)
    
write_byte(4)
    
write_byte(75)
    
write_byte(TE_FLAG)
    
message_end()
        
    
set_pev(Entpev_nextthinkget_gametime() + 0.1)
}

public 
fw_Rocket_Touch(EntTouched)
{
    if(!
pev_valid(Ent)) return
    
    static 
Float:Origin[3];
    
pev(Entpev_originOrigin)
    
    
engfunc(EngFunc_MessageBeginMSG_PASSVC_TEMPENTITYOrigin0)
    
write_byte(TE_EXPLOSION)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(g_Exp_SprId)
    
write_byte(30)
    
write_byte(15)
    
write_byte(0)
    
message_end()
    
    
// 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(random_num(4648))
    
message_end()    
    
    
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
    
write_byte(TE_SMOKE)
    
engfunc(EngFunc_WriteCoordOrigin[0])
    
engfunc(EngFunc_WriteCoordOrigin[1])
    
engfunc(EngFunc_WriteCoordOrigin[2])
    
write_short(g_SmokeSprId)    // sprite index 
    
write_byte(30)    // scale in 0.1's 
    
write_byte(10)    // framerate 
    
message_end()
    
    static 
IDID pev(Entpev_owner)
    static 
TeamTeam pev(Entpev_iuser1)
    
    if(
is_user_connected(ID)) Rocket_Damage(IDTeamOrigin)
    
    
set_pev(Entpev_flagsFL_KILLME)
    
set_pev(Entpev_nextthinkget_gametime() + 0.1)
}

public 
Rocket_Damage(idTeamFloat:Origin[3])
{
    static 
Float:MyOrigin[3]
    for(new 
0g_MaxPlayersi++)
    {
        if(!
is_user_alive(id))
            continue
        if(
get_user_team(i) == Team)
            continue
        if(
id == i)
            continue
        
pev(ipev_originMyOrigin)
        if(
get_distance_f(OriginMyOrigin) > 100.0)
            continue
            
        
ExecuteHamB(Ham_TakeDamagei0idfloat(DAMAGE_B), DMG_BULLET)
    }
}

public 
ChangeAB_Stage1(id)
{
    
id -= TASK_CHANGING
    
    
if(!is_alive(id))
        return
    if(
get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return
        
    
set_pev(idpev_viewmodel2MODEL_VC)
    
Set_WeaponAnim(id0)
    
set_pdata_float(id832.55)
    
    
remove_task(id+TASK_CHANGING)
    
set_task(2.25"ChangeAB_Stage2"id+TASK_CHANGING)
}

public 
ChangeAB_Stage2(id)
{
    
id -= TASK_CHANGING
    
    
if(!is_alive(id))
        return
    if(
get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return
        
    
Set_BitVar(g_LauncherModeid)
    
Set_BitVar(g_TenLuaReadyid)
    
    
set_pev(idpev_viewmodel2MODEL_V2)
    
set_pev(idpev_weaponmodel2MODEL_P2)
    
    
Set_WeaponAnim(idANIME2_CHANGE_AB1)
    
Set_PlayerNextAttack(id0.9)
    
Set_WeaponIdleTime(idCSW_BLOCKAR1.0)
    
    
set_pdata_string(id, (492) * 4WEAPON_ANIMEXT_B, -20)
    
    
remove_task(id+TASK_CHANGING)
}

public 
ChangeBA_Stage1(id)
{
    
id -= TASK_CHANGING
    
    
if(!is_alive(id))
        return
    if(
get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return
        
    
set_pev(idpev_viewmodel2MODEL_VC)
    
Set_WeaponAnim(id0)
    
set_pdata_float(id832.55)
    
    
remove_task(id+TASK_CHANGING)
    
set_task(2.25"ChangeBA_Stage2"id+TASK_CHANGING)
}

public 
ChangeBA_Stage2(id)
{
    
id -= TASK_CHANGING
    
    
if(!is_alive(id))
        return
    if(
get_user_weapon(id) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARid))
        return
        
    
UnSet_BitVar(g_LauncherModeid)
    
UnSet_BitVar(g_TenLuaReadyid)
    
    
set_pev(idpev_viewmodel2MODEL_V)
    
set_pev(idpev_weaponmodel2MODEL_P)
    
    
Set_WeaponAnim(idANIME1_CHANGE_BA)
    
Set_PlayerNextAttack(id0.9)
    
Set_WeaponIdleTime(idCSW_BLOCKAR1.0)
    
    
set_pdata_string(id, (492) * 4WEAPON_ANIMEXT_A, -20)
    
    
remove_task(id+TASK_CHANGING)
}

public 
fw_EmitSound(idchannel, const sample[], Float:volumeFloat:attnflagspitch)
{
    if(!
is_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_BlockARId))
        return
    
    
remove_task(Id+TASK_CHANGING)
    
set_pev(Idpev_viewmodel2Get_BitVar(g_LauncherModeId) ? MODEL_V2 MODEL_V)
    
set_pev(Idpev_weaponmodel2Get_BitVar(g_LauncherModeId) ? MODEL_P2 MODEL_P)
    
    if(!
Get_BitVar(g_LauncherModeId))
    {
        
Set_WeaponAnim(IdANIME1_DRAW)
        
set_pdata_string(Id, (492) * 4WEAPON_ANIMEXT_A, -20)
    } else {
        if(
Get_BitVar(g_TenLuaReadyId)) Set_WeaponAnim(IdANIME2_DRAW1)
        else 
Set_WeaponAnim(IdANIME2_DRAW2)
        
set_pdata_string(Id, (492) * 4WEAPON_ANIMEXT_B, -20)
        
        
Set_WeaponIdleTime(IdCSW_BLOCKAR0.75)
    }
}

public 
fw_Item_AddToPlayer_Post(Entid)
{
    if(!
pev_valid(Ent))
        return 
HAM_IGNORED
        
    
if(pev(Entpev_impulse) == 21062015)
    {
        
Set_BitVar(g_Had_BlockARid)
        
set_pev(Entpev_impulse0)
        
        static 
LauncherTenLuaReadyLauncher pev(Entpev_iuser1); TenLuaReady pev(Entpev_iuser2)
        if(
Launcher)
        {
            
Set_BitVar(g_LauncherModeid)
            if(
TenLuaReadySet_BitVar(g_TenLuaReadyid)
        } else {
            
UnSet_BitVar(g_LauncherModeid)
            
UnSet_BitVar(g_TenLuaReadyid)
        }
    }
    
    if(
Get_BitVar(g_Had_BlockARid))
    {
        
message_begin(MSG_ONE_UNRELIABLEg_MsgWeaponList_id)
        
write_string("weapon_blockar")
        
write_byte(4)
        
write_byte(200)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(0)
        
write_byte(6)
        
write_byte(CSW_BLOCKAR)
        
write_byte(0)
        
message_end()
    }

    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_BlockARId))
        return
        
    if(
get_pdata_float(iEnt484) <= 0.25)
    {
        if(!
Get_BitVar(g_LauncherModeId))
        {
            
Set_WeaponAnim(IdANIME1_IDLE)
        } else {
            if(
Get_BitVar(g_TenLuaReadyId)) Set_WeaponAnim(IdANIME2_IDLE1)
            else 
Set_WeaponAnim(IdANIME2_IDLE2)
        }
        
        
set_pdata_float(iEnt4820.04)
    }    
}

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

public 
fw_Weapon_Reload(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_BlockARid))
        return 
HAM_IGNORED    
    
if(Get_BitVar(g_LauncherModeid))
    {
        
set_pdata_int(ent5404)
        return 
HAM_SUPERCEDE
    
}

    
g_Clip[id] = -1
        
    
static BPAmmoBPAmmo cs_get_user_bpammo(idCSW_BLOCKAR)
    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 
fw_Weapon_Reload_Post(ent)
{
    static 
idid pev(entpev_owner)
    if(!
is_alive(id))
        return 
HAM_IGNORED
    
if(!Get_BitVar(g_Had_BlockARid))
        return 
HAM_IGNORED    
    
if(Get_BitVar(g_LauncherModeid))
    {
        
set_pdata_int(ent5404)
        return 
HAM_SUPERCEDE
    
}
        
    if((
get_pdata_int(ent544) == 1))
    { 
// Reload
        
if(g_Clip[id] == -1)
            return 
HAM_IGNORED
        
        set_pdata_int
(ent51g_Clip[id], 4)
        
Set_WeaponAnim(idANIME1_RELOAD)
    }
    
    return 
HAM_HANDLED
}

public 
fw_TraceAttack_World(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_player_weapon(Attacker) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARAttacker))
        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_A))
    
    return 
HAM_IGNORED
}

public 
fw_TraceAttack_Player(VictimAttackerFloat:DamageFloat:Direction[3], PtrDamageBits)
{
    if(!
is_connected(Attacker))
        return 
HAM_IGNORED    
    
if(get_player_weapon(Attacker) != CSW_BLOCKAR || !Get_BitVar(g_Had_BlockARAttacker))
        return 
HAM_IGNORED
        
    SetHamParamFloat
(3float(DAMAGE_A))
    
    return 
HAM_IGNORED
}


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

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

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

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

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

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

public 
fw_Safety_Killed_Post(id)
{
    
UnSet_BitVar(g_IsAliveid)
}

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

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

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

/* ===============================
--------- End of SAFETY ----------
=================================*/

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

stock Set_PlayerNextAttack(idFloat:nexttime)
{
    
set_pdata_float(id83nexttime5)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1042\\ f0\\ fs16 \n\\ par }
*/ 

Responder
#3
https://github.com/GlobalModders/AMXX-CS...Peace%20V2
Responder
#4
Ya busque en muchas partes, solo encontre la normal que procede como una SCAR, busco la que parece uzi


Archivos adjuntos Miniatura(s)
   
Tengo un problema con los emotes  Whatdone 

Ayuda  Whatdone 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)