Problema con un shop
#1
Hola gente linda de esta comunidad, les venia a traer un problema que me surge con este shop que es para los tts. No me abre al tocar la m (me abre normal para elegir tt o ct), es como si no existiera.
La verdad empece hace poco pero pense que estaba bien, me copila y todo.

Shop:
Código PHP:
#include <amxmodx>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#if defined _allied_modders_included
    #endinput 
#endif

#define _allied_modders_included

native tienda_plasma(id)

#define PLUGIN "Tienda"
#define VERSION "1.0"
#define AUTHOR "Zeqe"

new Plugin[] = "Menu simple"
new Version[] = "1.0"
new Author[] = "Yo mismo"

public plugin_init() {
    
register_plugin(PluginVersionAuthor)
    
    
register_clcmd("say /m""menu_handler")
    
register_clcmd("chooseteam""menu_handler");

}

public 
abrir_menu(id)
{
     if (
cs_get_user_team(id) == CS_TEAM_T){
         
client_printidprint_center"Comando solo para TTs");
    return;
    }
    
    new 
menu menu_create("Menu: 2""menu_handler")
    
menu_additem(menu"Espiar [ 5000 $ ]" "1")
    
menu_additem(menu"100 HP [ 7000 $ ]" "2")
    
menu_additem(menu"Arma del Futuro [ 14000 $ ]" "3")
    
menu_additem(menu"Explosion Terrorista [ 16000 $ ]""4")
    
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
    
menu_display(idmenu0)
}

public 
menu_handler(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    switch(
item)
    {
        case 
1:
        {
            if(
cs_get_user_money(id) >= 5000)
            {
                
cs_set_user_money(idcs_get_user_money(id) -  5000)
                
client_cmd(id"say /c")
                
client_print(idprint_chat"Adquiriste para Espiar.")
            }
        }
        case 
2:
        {
            if(
cs_get_user_money(id) >= 7000)
            {
                
cs_set_user_money(idcs_get_user_money(id) - 7000)
                
set_user_health(idget_user_health(id) +100)
                
client_print(idprint_chat"Te has hecho mas fuerte. ( 100 HP ).")
            }
        }
        case 
3:
        {
            if(
cs_get_user_money(id) >= 14000)
            {
                
cs_set_user_money(idcs_get_user_money(id) -  14000)
                
tienda_plasma(id)
                
client_print(idprint_chat"Adquiriste Arma del Futuro.")
            }
        }
        case 
4
        {
           if(
cs_get_user_money(id) >= 16000)
           {
               
cs_set_user_money(idcs_get_user_money(id) -  16000)
               
client_cmd(id"say /explote")
          
client_print(idprint_chat"Compraste Explosion Terrorista.")
            }
        }
    }
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED;


Arma Plasma:
Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
//#include <zombie plague>

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

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

#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 plasmagun_RELOAD_TIME     3.5
#define plasmagun_RELOAD        1
#define plasmagun_DRAW        2
#define plasmagun_SHOOT1        3
#define plasmagun_SHOOT2        4

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

new const Fire_Sounds[][] = {"weapons/plasmagun-1.wav"}
new 
plasmagun_V_MODEL[64] = "models/v_plasmagun.mdl"
new plasmagun_P_MODEL[64] = "models/p_plasmagun.mdl"
new plasmagun_W_MODEL[64] = "models/w_plasmagun.mdl"
new const Sound_Zoom[] = { "weapons/zoom.wav" }
new const 
GUNSHOT_DECALS[] = { 4142434445 }

new 
cvar_dmg_plasmaguncvar_recoil_plasmaguncvar_clip_plasmaguncvar_spd_plasmaguncvar_plasmagun_ammo
new g_MaxPlayersg_orig_event_plasmagung_IsInPrimaryAttack
new Float:cl_pushangle[MAX_PLAYERS 1][3], m_iBlood[2]
new 
g_has_plasmagun[33], g_clip_ammo[33], g_plasmagun_TmpClip[33], oldweap[33], g_hasZoom[33], Float:g_flNextUseTime[33], g_Reload[33]
new 
gmsgWeaponListsprexpg_beamSpr

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)
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_galil""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("PlasmaGun""1.0""Crock")
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
register_event("CurWeapon","CurrentWeapon","be","1=1")
    
RegisterHam(Ham_Item_AddToPlayer"weapon_mac10""fw_plasmagun_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_mac10""fw_plasmagun_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttack"weapon_mac10""fw_m4a1drag_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Item_PostFrame"weapon_mac10""plasmagun_ItemPostFrame")
    
RegisterHam(Ham_Weapon_Reload"weapon_mac10""plasmagun_Reload")
    
RegisterHam(Ham_Weapon_Reload"weapon_mac10""plasmagun_Reload_Post"1)
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
register_forward(FM_SetModel"fw_SetModel")
    
RegisterHam(Ham_Item_Holster"weapon_mac10""fw_plasmagun_Holster_Post"1)
    
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)

    
cvar_dmg_plasmagun register_cvar("zp_plasmagun_dmg""200")
    
cvar_recoil_plasmagun register_cvar("zp_plasmagun_recoil""0.1")
    
cvar_clip_plasmagun register_cvar("zp_plasmagun_clip""3")
    
cvar_spd_plasmagun register_cvar("zp_plasmagun_spd""2.0")
    
cvar_plasmagun_ammo register_cvar("zp_plasmagun_ammo""0")
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
g_MaxPlayers get_maxplayers()
    
gmsgWeaponList get_user_msgid("WeaponList")
}

public 
plugin_precache()
{
    
precache_model(plasmagun_V_MODEL)
    
precache_model(plasmagun_P_MODEL)
    
precache_model(plasmagun_W_MODEL)
    
sprexp=precache_model("sprites/plasmabomb.spr")
    
g_beamSpr=precache_model("sprites/xenobeam.spr")
    for(new 
0sizeof Fire_Soundsi++)
    
precache_sound(Fire_Sounds[i])        
    
precache_sound("weapons/plasmagun_clipin1.wav")
    
precache_sound("weapons/plasmagun_clipin2.wav")
    
precache_sound("weapons/plasmagun_clipout.wav")
    
precache_sound("weapons/plasmagun_draw.wav")
    
precache_sound("weapons/plasmagun_idle.wav")
    
precache_sound(Sound_Zoom)
    
m_iBlood[0] = precache_model("sprites/blood.spr")
    
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
    
precache_generic("sprites/weapon_plasmagun.txt")
       
precache_generic("sprites/640hud91.spr")
       
precache_generic("sprites/640hud3.spr")
    
    
register_clcmd("weapon_plasmagun""weapon_hook")    

    
register_forward(FM_PrecacheEvent"fwPrecacheEvent_Post"1)
}

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

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_MAC10) return
    
    if(!
g_has_plasmagun[iAttacker]) return

    static 
Float:flEnd[3]
    
get_tr2(ptrTR_vecEndPosflEnd)
    
    if(
iEnt)
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_DECAL)
        
engfunc(EngFunc_WriteCoordflEnd[0])
        
engfunc(EngFunc_WriteCoordflEnd[1])
        
engfunc(EngFunc_WriteCoordflEnd[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_SPRITE)
        
engfunc(EngFunc_WriteCoordflEnd[0])
        
engfunc(EngFunc_WriteCoordflEnd[1])
        
engfunc(EngFunc_WriteCoordflEnd[2])
        
write_short(sprexp)
        
write_byte(10)
        
write_byte(200)
        
message_end()    
    }
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY )
    
write_byte(TE_BEAMENTPOINT)
    
write_short(iAttacker 0x1000)
    
engfunc(EngFunc_WriteCoordflEnd[0])
    
engfunc(EngFunc_WriteCoordflEnd[1])
    
engfunc(EngFunc_WriteCoordflEnd[2])
    
write_short(g_beamSpr)
    
write_byte(0// framerate
    
write_byte(0// framerate
    
write_byte(1// life
    
write_byte(20)  // width
    
write_byte(0)// noise
    
write_byte(110)// r, g, b
    
write_byte(251)// r, g, b
    
write_byte(110)// r, g, b
    
write_byte(200)    // brightness
    
write_byte(5)    // speed
    
message_end()
}

public 
event_round_start() {
    for (new 
idid <= 32id++) g_has_plasmagun[id] = false;
}

public 
plugin_natives ()
{
    
register_native("tienda_plasma""native_give_weapon_add"1)
}
public 
native_give_weapon_add(id)
{
    
give_plasma(id)
}

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

public 
fw_CmdStart(iduc_handleseed)
{
    if (!
is_user_alive(id) || g_Reload[id] || !g_has_plasmagun[id])
        return 
FMRES_IGNORED
    
    
if((get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !(pev(idpev_oldbuttons) & IN_ATTACK2))
    {
        new 
szClipszAmmo
        
new szWeapID get_user_weapon(idszClipszAmmo)

        if(
szWeapID == CSW_MAC10 && g_has_plasmagun[id] && !g_hasZoom[id] == true)
        {
            
g_hasZoom[id] = true
            cs_set_user_zoom
(idCS_SET_AUGSG552_ZOOM0)
            
emit_sound(idCHAN_ITEMSound_Zoom0.202.400100)
        }
        else if(
szWeapID == CSW_MAC10 && g_has_plasmagun[id] && g_hasZoom[id])
        {
            
g_hasZoom[id] = false
            cs_set_user_zoom
(idCS_RESET_ZOOM0)    
        }
    }
    return 
FMRES_IGNORED
}

public 
client_connect(id)
{
    
g_has_plasmagun[id] = false
}

public 
client_disconnect(id)
{
    
g_has_plasmagun[id] = false
}

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_mac10.mdl"))
    {
        static 
iStoredAugID
        
        iStoredAugID 
find_ent_by_owner(ENG_NULLENT"weapon_mac10"entity)
    
        if(!
is_valid_ent(iStoredAugID))
            return 
FMRES_IGNORED
    
        
if(g_has_plasmagun[iOwner])
        {
            
entity_set_int(iStoredAugIDEV_INT_WEAPONKEYplasmagun_WEAPONKEY)
            
            
g_has_plasmagun[iOwner] = false
            
            entity_set_model
(entityplasmagun_W_MODEL)
            
            return 
FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED
}

public 
give_plasma(id)
{
    
drop_weapons(id1)
    new 
iWep2 give_item(id,"weapon_mac10")
    if( 
iWep2 )
    {
        
cs_set_weapon_ammo(iWep2get_pcvar_num(cvar_clip_plasmagun))
        
cs_set_user_bpammo (idCSW_MAC10get_pcvar_num(cvar_plasmagun_ammo))    
        
set_pdata_float(idm_flNextAttack1.0PLAYER_LINUX_XTRA_OFF)

        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_plasmagun")
        
write_byte(6)
        
write_byte(100)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(0)
        
write_byte(13)
        
write_byte(CSW_MAC10)
        
message_end()
    }
    
g_has_plasmagun[id] = true
    g_Reload
[id] = false
}

public 
fw_plasmagun_AddToPlayer(plasmagunid)
{
    if(!
is_valid_ent(plasmagun) || !is_user_connected(id))
        return 
HAM_IGNORED
    
    
if(entity_get_int(plasmagunEV_INT_WEAPONKEY) == plasmagun_WEAPONKEY)
    {
        
g_has_plasmagun[id] = true
        
        entity_set_int
(plasmagunEV_INT_WEAPONKEY0)

        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_plasmagun")
        
write_byte(6)
        
write_byte(100)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(0)
        
write_byte(13)
        
write_byte(CSW_MAC10)
        
message_end()
        
        return 
HAM_HANDLED
    
}
    else
    {
        
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
        
write_string("weapon_mac10")
        
write_byte(6)
        
write_byte(100)
        
write_byte(-1)
        
write_byte(-1)
        
write_byte(0)
        
write_byte(13)
        
write_byte(CSW_MAC10)
        
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_MAC10 || !g_has_plasmagun[id])
          return
     
     static 
Float:iSpeed
     
if(g_has_plasmagun[id])
          
iSpeed get_pcvar_float(cvar_spd_plasmagun)
     
     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_MAC10:
        {
            if(
g_has_plasmagun[id])
            {
                
set_pev(idpev_viewmodel2plasmagun_V_MODEL)
                
set_pev(idpev_weaponmodel2plasmagun_P_MODEL)
                if(
oldweap[id] != CSW_MAC10
                {
                    
set_pdata_float(idm_flNextAttack1.0PLAYER_LINUX_XTRA_OFF)

                    
message_begin(MSG_ONEgmsgWeaponList, {0,0,0}, id)
                    
write_string("weapon_plasmagun")
                    
write_byte(6)
                    
write_byte(100)
                    
write_byte(-1)
                    
write_byte(-1)
                    
write_byte(0)
                    
write_byte(13)
                    
write_byte(CSW_MAC10)
                    
message_end()
                }
            }
        }
    }
    
oldweap[id] = weaponid
}

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

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

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

    playback_event
(flags FEV_HOSTONLYinvokereventiddelayoriginanglesfparam1fparam2iParam1iParam2bParam1bParam2)
    return 
FMRES_SUPERCEDE
}

public 
fw_m4a1drag_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_has_plasmagun[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_plasmagun),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)
        
UTIL_PlayWeaponAnimation(Playerrandom_num(plasmagun_SHOOT1plasmagun_SHOOT2))
    }
}

public 
fw_TakeDamage(victiminflictorattacker)
{
    if (
victim != attacker && is_user_connected(attacker))
    {
        if(
get_user_weapon(attacker) == CSW_MAC10)
        {
            if(
g_has_plasmagun[attacker])
                
SetHamParamFloat(4get_pcvar_float(cvar_dmg_plasmagun))
        }
    }
}

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"mac10") && get_user_weapon(iAttacker) == CSW_MAC10)
    {
        if(
g_has_plasmagun[iAttacker])
            
set_msg_arg_string(4"mac10")
    }
    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 
plasmagun_ItemPostFrame(weapon_entity
{
     new 
id pev(weapon_entitypev_owner)
     if (!
is_user_connected(id))
          return 
HAM_IGNORED

     
if (!g_has_plasmagun[id])
          return 
HAM_IGNORED

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

     new 
iBpAmmo cs_get_user_bpammo(idCSW_MAC10)
     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_MAC10iBpAmmo-j)
        
         
set_pdata_int(weapon_entitym_fInReload0WEAP_LINUX_XTRA_OFF)
         
fInReload 0
         g_Reload
[id] = 0
     
}
     return 
HAM_IGNORED
}

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

     
if (!g_has_plasmagun[id])
          return 
HAM_IGNORED

     
static iClipExtra

     
if(g_has_plasmagun[id])
          
iClipExtra get_pcvar_num(cvar_clip_plasmagun)

     
g_plasmagun_TmpClip[id] = -1

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

     if (
iBpAmmo <= 0)
          return 
HAM_SUPERCEDE

     
if (iClip >= iClipExtra)
          return 
HAM_SUPERCEDE

     g_plasmagun_TmpClip
[id] = iClip

     
return HAM_IGNORED
}

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

    
if (!g_has_plasmagun[id])
        return 
HAM_IGNORED

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

    set_pdata_int
(weapon_entitym_iClipg_plasmagun_TmpClip[id], WEAP_LINUX_XTRA_OFF)

    
cs_set_user_zoom(idCS_RESET_ZOOM1)

    
set_pdata_float(weapon_entitym_flTimeWeaponIdleplasmagun_RELOAD_TIMEWEAP_LINUX_XTRA_OFF)

    
set_pdata_float(idm_flNextAttackplasmagun_RELOAD_TIMEPLAYER_LINUX_XTRA_OFF)

    
set_pdata_int(weapon_entitym_fInReload1WEAP_LINUX_XTRA_OFF)

    
UTIL_PlayWeaponAnimation(idplasmagun_RELOAD)

    
g_Reload[id] = 1

    
return HAM_IGNORED
}

public 
fw_plasmagun_Holster_Post(weapon_entity)
{
    static 
Player
    Player 
get_pdata_cbase(weapon_entityOFFSET_WEAPONOWNEROFFSET_LINUX_WEAPONS)
    
    
g_flNextUseTime[Player] = 0.0

    
if(g_has_plasmagun[Player])
    {
        
cs_set_user_zoom(PlayerCS_RESET_ZOOM1)
    }
}

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


Espiar:
Código PHP:
#include <amxmodx>
#include <fakemeta>
#include <engine>
#include <hamsandwich>

#include <ttt>
#include <xs>

/* ===========================================================================?====
 *                 [ Plugin initiation & Global stuff ]
 * ===========================================================================?==== */

#define SetPlayerBit(%1,%2) ( %1 |= ( 1 << ( %2 & 31 ) ) )
#define ClearPlayerBit(%1,%2) ( %1 &= ~( 1 << ( %2 & 31 ) ) )
#define GetPlayerBit(%1,%2) ( %1 & ( 1 << ( %2 & 31 ) ) )

#define IsValidPlayer(%0) ( 1 <= %0 <= 32 )

const TASK_REMOVEVIEW 1293;

new const 
g_szInfoTarget[ ]     = "info_target";
new const 
g_szCameraClassname[ ] = "CameraUS";

new const 
g_szCameraModel[ ] = "models/camera.mdl";

new 
g_iItemIdg_iBoughtg_iPlayerCamera[33];

public 
plugin_precache( )
{
    
precache_modelg_szCameraModel );
}
    
public 
plugin_init( )
{
    
register_plugin"[TTT] Item: Camera""1.0""Manu" );
    
    
register_clcmd"say /c""CommandCamera" );
    
register_event"DeathMsg""ev_DeathMsg""a" );
}

/* ===========================================================================?====
 *                 [ Trouble in terrorist town's forwards ]
 * ===========================================================================?==== */

public ttt_gamemodeiGamemode )
{
    if( 
iGamemode == GAME_ENDED || iGamemode == GAME_RESTARTING )
    {    
        static 
iNumiPlayers32 ]; get_playersiPlayersiNum );
        
        for( --
iNumiNum >= 0iNum-- )
        {
            
g_iPlayerCameraiPlayersiNum ] ] = 0;
            
ClearPlayerBitg_iBoughtiPlayersiNum ] );
        }
        
        new 
iEnt;
        
        while( ( 
iEnt find_ent_by_classiEntg_szCameraClassname ) ) != )
            
remove_entityiEnt );
    }
}

public 
ttt_item_selectediIdiItemszName[ ], iPrice )
{
    if( 
g_iItemId == iItem )
    {
        
SetPlayerBitg_iBoughtiId );

        
client_print_coloriIdprint_team_default"^4[DZ]^1 Compraste espiar. Mira a una pared y escribe ^4/camara^1 para poner la camara." );
        
client_print_coloriIdprint_team_default"^4[DZ]^1 Cuando quieras mirar o dejar de mirar por la camara escribe ^4/c^1 nuevamente." );
        
        return 
PLUGIN_HANDLED;
    }

    return 
PLUGIN_CONTINUE;
}

public 
ttt_plugin_cfg( ) g_iItemId ttt_buymenu_add"Dispositivo Visor"1PC_DETECTIVE );

/* ===========================================================================?====
 *                 [ Client-related & Events ]
 * ===========================================================================?==== */

public ev_DeathMsg( )
{
    static 
iVictimiVictim read_data);
    
    if( 
task_existsiVictim TASK_REMOVEVIEW ) )
    {
        
remove_taskiVictim TASK_REMOVEVIEW );
        
        if( 
is_valid_entg_iPlayerCameraiVictim ] ) )
        {
            
attach_viewiVictimiVictim );
            
remove_entityg_iPlayerCameraiVictim ] );
        }
    }
}

public 
CommandCameraiId )
{
    static 
iEntFloat:flOrigin], Float:flAngles];
    
    if( 
is_valid_entg_iPlayerCamera[iId] ) )
    {
        if( 
task_existsiId TASK_REMOVEVIEW ) )
        {
            
remove_taskiId TASK_REMOVEVIEW );
            
            if( 
is_user_aliveiId ) ) attach_viewiIdiId );
            if( 
is_valid_entg_iPlayerCamera[iId] ) ) set_renderingg_iPlayerCamera[iId] );
        }
        else
        {
            
attach_viewiIdg_iPlayerCamera[iId] );
            
set_renderingg_iPlayerCamera[iId], kRenderFxGlowShell255255255kRenderTransAlpha60 );
            
            
set_task20.0"task_RemoveView"iId TASK_REMOVEVIEW );
        }
    }
    else if( 
GetPlayerBitg_iBoughtiId ) && is_valid_ent( ( iEnt create_entityg_szInfoTarget ) ) ) )    
    {
        if( 
GetCameraOriginiIdflOriginflAngles ) )
        {
            
entity_set_stringiEntEV_SZ_classnameg_szCameraClassname );
            
            
entity_set_modeliEntg_szCameraModel );
            
entity_set_sizeiEntFloat:{ -8.0, -8.00.0 }, Float:{ 8.08.016.0 } );
            
            
entity_set_originiEntflOrigin );
            
entity_set_vectoriEntEV_VEC_anglesflAngles );
            
            
entity_set_intiEntEV_INT_solidSOLID_BBOX );
            
entity_set_intiEntEV_INT_movetypeMOVETYPE_FLY );
            
            
entity_set_edictiEntEV_ENT_owneriId );
            
entity_set_floatiEntEV_FL_takedamageDAMAGE_NO );
            
            
g_iPlayerCamera[iId] = iEnt;
            
            
ClearPlayerBitg_iBoughtiId );
            
            return 
PLUGIN_HANDLED;
        }
        
        
remove_entityiEnt );
        
        
client_print_coloriIdprint_team_default"^x04[DZ]^x01 No habia espacio para espiar o no apuntabas a una pared." );
    }
    else
        
client_print_coloriIdprint_team_default"^x04[DZ]^x01 No puedes espiar en este momento." );
    
    return 
PLUGIN_HANDLED;
}

public 
task_RemoveViewiTaskId )
{
    new 
iId = ( iTaskId TASK_REMOVEVIEW );
    
    if( 
is_user_aliveiId ) ) attach_viewiIdiId );
    if( 
is_valid_entg_iPlayerCamera[iId] ) ) set_renderingg_iPlayerCamera[iId] );
}

public 
client_disconnectiId )
{
    
ClearPlayerBitg_iBoughtiId );
    
    if( 
g_iPlayerCamera[iId] != )
    {
        if( 
is_valid_ent(g_iPlayerCamera[iId]) )
            
remove_entityg_iPlayerCamera[iId] );
        
        
g_iPlayerCamera[iId] = 0;
    }
}
 
/* ===========================================================================?====
 *                 [ Other useful stuff ]
 * ===========================================================================?==== */

bool:GetCameraOrigin( const iIdFloat:flOrigin], Float:flAngles] )
{
    static 
iTraceFloat:flFractionFloat:flNormal], Float:flViewOfs], Float:flEnd]; iTrace create_tr2( );
    
    
entity_get_vectoriIdEV_VEC_originflOrigin );
    
entity_get_vectoriIdEV_VEC_v_angleflAngles );
    
entity_get_vectoriIdEV_VEC_view_ofsflViewOfs );
    
    
xs_vec_addflOriginflViewOfsflOrigin );
    
    
angle_vectorflAnglesANGLEVECTOR_FORWARDflAngles );
    
    
xs_vec_mul_scalarflAngles192.0flAngles );
    
xs_vec_addflOriginflAnglesflEnd );
    
    
engfuncEngFunc_TraceLineflOriginflEndDONT_IGNORE_MONSTERSiIdiTrace );
    
    
get_tr2iTraceTR_flFractionflFraction );
    
get_tr2iTraceTR_vecEndPosflEnd );
    
get_tr2iTraceTR_vecPlaneNormalflNormal );
    
    
free_tr2iTrace );
    
    if( 
flFraction 1.0 && flNormal[2] == 0.0 )
    {
        
iTrace create_tr2( );
        
        
vector_to_angleflNormalflAngles );
        
xs_vec_copyflEndflOrigin );
        
        return 
true;
    }
    
    return 
false;


Creo que los demás están bien.. Ojala me puedan ayudar
Responder
#2
Código PHP:
register_clcmd("chooseteam""menu_handler"); 
-------------------------------->
Código PHP:
register_clcmd("chooseteam""abrir_menu"); 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)