busco menu de armas
#1
hola busco un menu de armas simple

que solo el admin la pueda abrir

/armas


que solo se pueda abrir el menu una vez por ronda

porfa para el que tenga algo asi me lo paso 

y los que ponga /armas diga no eres vip o admin para acceder al meni
armas primarias
aka47
m4
fama
awp
armas segundarias
usp
deagle
Responder
#2
Prueba con esto. Puedes añadir más armas siguiendo la info de esta página:
https://forums.alliedmods.net/archive/in...59003.html

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

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.0.0"
#define AUTHOR  "gabs"

enum _:wpnInfo
{
    
wpnInfo_Id,
    
wpnInfo_Name[32],
    
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmas[][wpnInfo] =
{
    {
CSW_AK47"weapon_ak47""Rifle AK47"},
    {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {
CSW_DEAGLE"weapon_deagle""Pistola Deagle"}
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_clcmd("say /guns""GunsMenu");
    
register_clcmd("say /armas""GunsMenu");
}

public 
GunsMenu(id)
{
    if(!(
get_user_flags(id) & ADMIN_CVAR))
        return;
    new 
iMenuiTitle[32], iText[64];
    
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenú by \rGabs")
    
iMenu menu_create(iTitle"GunsMenu_Handler");
    for(new 
0sizeof szArmasi++)
    {
        new 
iWpnAmmo;
        
iWpnAmmo cs_get_weapon_info(szArmas[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmas[i][wpnInfo_MenuName], iWpnAmmo);
        
menu_additem(iMenuiText);
    }
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
}

public 
GunsMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT)
        return;

    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmas[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmas[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmas[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmas[iItem][wpnInfo_MenuName])

Responder
#3
esta bueno pero se podria dejar que solo 1 vez por ronda se abriera el menu ?

y cuando uno esta muerto no tendria que dejar usar el menu ya que sale cuando uno esta muerto y puede elejir arma
Responder
#4
Sirve?  Whatdone

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

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.1.0"
#define AUTHOR  "gabs - sami"

#define SetBitOpenedMenu(%1)      (g_bitsIsOpenedMenu |= (1<<(%1&31)))
#define CheckBitOpenedMenu(%1)    (g_bitsIsOpenedMenu & (1<<(%1&31)))

new g_bitsIsOpenedMenu

new g_iMenu

enum _
:wpnInfo
{
 
wpnInfo_Id,
 
wpnInfo_Name[32],
 
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmas[][wpnInfo] =
{
 {
CSW_AK47"weapon_ak47""Rifle AK47"},
 {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
 {
CSW_DEAGLE"weapon_deagle""Pistola Deagle"}
}

public 
plugin_init()
{
 
register_plugin(PLUGINVERSIONAUTHOR)
 
register_clcmd("say /guns""GunsMenu");
 
register_clcmd("say /armas""GunsMenu");
 
 
register_event("HLTV""ev_new_round""a""1=0""2=0")
}

public 
GunsMenu(id)
{
 if(!(
get_user_flags(id) & ADMIN_CVAR) || !is_user_alive(id))
 return;
 else if(
CheckBitOpenedMenu(id))
 
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un ^4arma ^1esta ronda.");
 
 if(!
g_iMenu) {
 new 
iTitle[32], iText[64];
 
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenú by \rGabs");
 
g_iMenu menu_create(iTitle"GunsMenu_Handler");
 
 for(new 
0sizeof szArmasi++)
 {
 new 
iWpnAmmo;
 
iWpnAmmo cs_get_weapon_info(szArmas[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
 
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmas[i][wpnInfo_MenuName], iWpnAmmo);
 
menu_additem(g_iMenuiText);
 }
 
menu_setprop(g_iMenuMPROP_BACKNAME"Atrás");
 
menu_setprop(g_iMenuMPROP_NEXTNAME"Siguiente");
 
menu_setprop(g_iMenuMPROP_EXITNAME"Salir");
 }

 
menu_display(idg_iMenu);
}

public 
GunsMenu_Handler(idiMenuiItem)
{
 if(
iItem == MENU_EXIT)
 return;

 new 
iWpnAmmo;
 
iWpnAmmo cs_get_weapon_info(szArmas[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
 
give_item(idszArmas[iItem][wpnInfo_Name]);
 
cs_set_user_bpammo(idszArmas[iItem][wpnInfo_Id], iWpnAmmo);
 
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmas[iItem][wpnInfo_MenuName])
 
 
SetBitOpenedMenu(id);


public 
ev_new_round() {
 
g_bitsIsOpenedMenu 0;

Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#5
no esta igual
Responder
#6
No estaba igual  Whatdone

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

#define PLUGIN "Weapons 4 Admins"
#define VERSION "1.5"
#define AUTHOR "gabs - sami"

#define SetBit(%1,%2) (%2 |= (1<<(%1&31)))
#define CheckBit(%1,%2) (%2 & (1<<(%1&31)))

new g_bitsIsOpenedPMenu
new g_bitsIsOpenedSMenu

new g_iPMenu
new g_iSMenu

enum _
:wpnInfo
{
    
wpnInfo_Id,
    
wpnInfo_Name[32],
    
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrimarias[][wpnInfo] =
{
    {
CSW_AK47"weapon_ak47""Rifle AK47"},
    {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {
CSW_FAMAS"weapon_famas""Rifle Famas"},
    {
CSW_AWP"weapon_awp""Sniper AWP"}
}

new const 
szArmasSecundarias[][wpnInfo] =
{
    {
CSW_USP"weapon_usp""Pistola USP"},
    {
CSW_DEAGLE"weapon_deagle""Pistola Deagle"}
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /guns""CheckGunsMenu");
    
register_clcmd("say /armas""CheckGunsMenu");
    
    
register_event("HLTV""ev_new_round""a""1=0""2=0")
}

public 
CheckGunsMenu(id) {
    if( !(
get_user_flags(id) & ADMIN_CVAR)) {
        
client_print_color(idprint_team_default"^4[GUNS]^1 No eres ^4VIP ^1o ^4ADMIN ^1para acceder al menu de armas.");
        return;
    }
    
    if(!
is_user_alive(id)) {
        
client_print_color(idprint_team_default"^4[GUNS]^1 No puedes abrir el ^4menu de armas^1 estando ^4muerto^1.");
        return;
    }
    
    if(!
CheckBit(idg_bitsIsOpenedPMenu)) {
        
GunsPMenu(id);
    } else if(!
CheckBit(idg_bitsIsOpenedSMenu)) {
        
GunsSMenu(id);
    } else {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya usaste el menu de armas esta ronda.");
    }
}

public 
GunsPMenu(id)
{
    if(!
g_iPMenu) {
        new 
iTitle[32], iText[64];
        
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenu de armas. \rPrimaria");
        
g_iPMenu menu_create(iTitle"GunsPMenu_Handler");
        
        for(new 
0sizeof szArmasPrimariasi++)
        {
            new 
iWpnAmmo;
            
iWpnAmmo cs_get_weapon_info(szArmasPrimarias[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
            
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrimarias[i][wpnInfo_MenuName], iWpnAmmo);
            
menu_additem(g_iPMenuiText);
        }
        
menu_setprop(g_iPMenuMPROP_BACKNAME"Atrás");
        
menu_setprop(g_iPMenuMPROP_NEXTNAME"Siguiente");
        
menu_setprop(g_iPMenuMPROP_EXITNAME"Salir");
    }
    
    
menu_display(idg_iPMenu);
}

public 
GunsPMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT)
        return;
    
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasPrimarias[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasPrimarias[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasPrimarias[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Haz elegido un ^4%s^1"szArmasPrimarias[iItem][wpnInfo_MenuName])
    
    
SetBit(idg_bitsIsOpenedPMenu)
    
    
GunsSMenu(id)
}

public 
GunsSMenu(id)
{
    if(!
g_iSMenu) {
        new 
iTitle[32], iText[64];
        
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenu de armas. \rSecundaria");
        
g_iSMenu menu_create(iTitle"GunsSMenu_Handler");
        
        for(new 
0sizeof szArmasSecundariasi++)
        {
            new 
iWpnAmmo;
            
iWpnAmmo cs_get_weapon_info(szArmasSecundarias[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
            
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSecundarias[i][wpnInfo_MenuName], iWpnAmmo);
            
menu_additem(g_iSMenuiText);
        }
        
menu_setprop(g_iSMenuMPROP_BACKNAME"Atrás");
        
menu_setprop(g_iSMenuMPROP_NEXTNAME"Siguiente");
        
menu_setprop(g_iSMenuMPROP_EXITNAME"Salir");
    }
    
    
menu_display(idg_iSMenu);
}

public 
GunsSMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT)
        return;
    
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasSecundarias[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasSecundarias[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasSecundarias[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Haz elegido una ^4%s^1"szArmasSecundarias[iItem][wpnInfo_MenuName])
    
    
SetBit(idg_bitsIsOpenedSMenu)
    
    
GunsSMenu(id)
}

public 
ev_new_round() {
    
g_bitsIsOpenedPMenu g_bitsIsOpenedSMenu 0;

Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#7
IGUAL SE PUEDE ABRIR ESTANDO MUERTO AUN QUE SALE


NO PUEDES ABRIR EL MENU ESTANDO MUERTO

PERO IGUAL ME SALE Y PUEDO ELEJIR ARMA


Y IGUAL PUEDE ABRIR EL MENU MAS DE UNA VEZ EN LA RONDA
Responder
#8
Probado Whatdone

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

#define PLUGIN "Weapons 4 Admins"
#define VERSION "2.0"
#define AUTHOR "gabs - sami"

#define SetBit(%1,%2) (%2 |= (1<<(%1&31)))
#define CheckBit(%1,%2) (%2 & (1<<(%1&31)))

new g_bitsIsOpenedPMenu
new g_bitsIsOpenedSMenu

new g_iPMenu
new g_iSMenu

enum 
/* Weapon types for stock */
{
    
Primary 1
    
Secondary
    
Knife
    
Grenades
    
C4
};

enum _:wpnInfo
{
    
wpnInfo_Id,
    
wpnInfo_Name[32],
    
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrimarias[][wpnInfo] =
{
    {
CSW_AK47"weapon_ak47""Rifle AK47"},
    {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {
CSW_FAMAS"weapon_famas""Rifle Famas"},
    {
CSW_AWP"weapon_awp""Sniper AWP"}
}

new const 
szArmasSecundarias[][wpnInfo] =
{
    {
CSW_USP"weapon_usp""Pistola USP"},
    {
CSW_DEAGLE"weapon_deagle""Pistola Deagle"}
}

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_clcmd("say /guns""CheckGunsMenu");
    
register_clcmd("say /armas""CheckGunsMenu");
    
    
register_event("HLTV""ev_new_round""a""1=0""2=0")
}

public 
CheckGunsMenu(id) {
    if( !(
get_user_flags(id) & ADMIN_CVAR)) {
        
client_print_color(idprint_team_default"^4[GUNS]^1 No eres ^4VIP ^1o ^4ADMIN ^1para acceder al menu de armas.");
        return;
    }
    
    if(!
is_user_alive(id)) {
        
client_print_color(idprint_team_default"^4[GUNS]^1 No puedes abrir el ^4menu de armas^1 estando ^4muerto^1.");
        return;
    }
    
    if(!
CheckBit(idg_bitsIsOpenedPMenu)) {
        
GunsPMenu(id);
    } else if(!
CheckBit(idg_bitsIsOpenedSMenu)) {
        
GunsSMenu(id);
    } else {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya usaste el menu de armas esta ronda.");
    }
    
    return;
}

public 
GunsPMenu(id)
{
    if(!
g_iPMenu) {
        new 
iTitle[64], iText[64];
        
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenu de armas. \rPrimaria");
        
g_iPMenu menu_create(iTitle"GunsPMenu_Handler");
        
        for(new 
0sizeof szArmasPrimariasi++)
        {
            new 
iWpnAmmo;
            
iWpnAmmo cs_get_weapon_info(szArmasPrimarias[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
            
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrimarias[i][wpnInfo_MenuName], iWpnAmmo);
            
menu_additem(g_iPMenuiText);
        }
        
menu_setprop(g_iPMenuMPROP_BACKNAME"Atrás");
        
menu_setprop(g_iPMenuMPROP_NEXTNAME"Siguiente");
        
menu_setprop(g_iPMenuMPROP_EXITNAME"Salir");
    }
    
    
menu_display(idg_iPMenu);
}

public 
GunsPMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT)
        return;
    
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasPrimarias[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
StripWeapons(idPrimary);
    
give_item(idszArmasPrimarias[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasPrimarias[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Haz elegido un ^4%s^1"szArmasPrimarias[iItem][wpnInfo_MenuName])
    
    
SetBit(idg_bitsIsOpenedPMenu)
    
    
GunsSMenu(id)
}

public 
GunsSMenu(id)
{
    if(!
g_iSMenu) {
        new 
iTitle[64], iText[64];
        
formatex(iTitlecharsmax(iTitle), "\r[Guns] \wMenu de armas. \rSecundaria");
        
g_iSMenu menu_create(iTitle"GunsSMenu_Handler");
        
        for(new 
0sizeof szArmasSecundariasi++)
        {
            new 
iWpnAmmo;
            
iWpnAmmo cs_get_weapon_info(szArmasSecundarias[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
            
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSecundarias[i][wpnInfo_MenuName], iWpnAmmo);
            
menu_additem(g_iSMenuiText);
        }
        
menu_setprop(g_iSMenuMPROP_BACKNAME"Atrás");
        
menu_setprop(g_iSMenuMPROP_NEXTNAME"Siguiente");
        
menu_setprop(g_iSMenuMPROP_EXITNAME"Salir");
    }
    
    
menu_display(idg_iSMenu);
}

public 
GunsSMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT)
        return;
    
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasSecundarias[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
StripWeapons(idSecondary);
    
give_item(idszArmasSecundarias[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasSecundarias[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Haz elegido una ^4%s^1"szArmasSecundarias[iItem][wpnInfo_MenuName])
    
    
SetBit(idg_bitsIsOpenedSMenu)
}

public 
ev_new_round() {
    
g_bitsIsOpenedPMenu g_bitsIsOpenedSMenu 0;


/* 
 *  Stripweapons.inc 
 */
stock StripWeapons(idTypeboolbSwitchIfActive true)
{
    new 
iReturn;
    
    if(
is_user_alive(id))
    {
        new 
iEntityiWeapon;
        while((
iWeapon GetWeaponFromSlot(idTypeiEntity)) > 0)
            
iReturn ham_strip_user_weapon(idiWeaponTypebSwitchIfActive);
    }
    
    return 
iReturn;
}

/*
 * bugsy
 * http://forums.alliedmods.net/showpost.php?p=1575989&postcount=2
 *
 * Gets a weapon entity id based on inventory slot.
 *
 * @param id:            Player id
 * @param iSlot:        Inventory slot you want to get the weaponid from
 * @param &iEntity:        Weapon entity id
 * @return:                Weapon CSW_* index on success, otherwise 0
 *
 * Ex: GetWeaponFromSlot(id, 3, iEntity);    // Should return CSW_KNIFE if player has one. 
 *                                            // Knife is always in 3th slot (if not changed with plugin or something);
*/
stock GetWeaponFromSlotid iSlot , &iEntity )
{
    if ( !( 
<= iSlot <= ) )
        return 
0;
    
    
iEntity 0;
    const 
m_rgpPlayerItems_Slot0 367;
    const 
m_iId 43;
    const 
XO_WEAPONS 4;
    const 
XO_PLAYER 5;
        
    
iEntity get_pdata_cbaseid m_rgpPlayerItems_Slot0 iSlot XO_PLAYER );
    
    return ( 
iEntity ) ? get_pdata_intiEntity m_iId XO_WEAPONS ) : 0;
}


/*
 * ConnorMcLeod
 * http://forums.alliedmods.net/showpost.php?p=1109747&postcount=42
 *
 * Strips a player's weapon based on weapon index.
 *
 * @param id:                Player id
 * @param iCswId:            Weapon CSW_* index
 * @param iSlot:            Inventory slot (Leave 0 if not sure)
 * @param bSwitchIfActive:    Switch weapon if currently deployed
 * @return:    1 on success, otherwise 0
 *
 * Ex:     ham_strip_user_weapon(id, CSW_M4A1);     // Strips m4a1 if user has one.
 *         ham_strip_user_weapon(id, CSW_HEGRENADE, _, false);        // Strips HE grenade if user has one 
 *                                                                // without switching weapons.
*/
stock ham_strip_user_weapon(idiCswIdiSlot 0bool:bSwitchIfActive true)
{
    new 
iWeapon
    
if( !iSlot )
    {
        static const 
iWeaponsSlots[] = {
            -
1,
            
2//CSW_P228
            
-1,
            
1//CSW_SCOUT
            
4//CSW_HEGRENADE
            
1//CSW_XM1014
            
5//CSW_C4
            
1//CSW_MAC10
            
1//CSW_AUG
            
4//CSW_SMOKEGRENADE
            
2//CSW_ELITE
            
2//CSW_FIVESEVEN
            
1//CSW_UMP45
            
1//CSW_SG550
            
1//CSW_GALIL
            
1//CSW_FAMAS
            
2//CSW_USP
            
2//CSW_GLOCK18
            
1//CSW_AWP
            
1//CSW_MP5NAVY
            
1//CSW_M249
            
1//CSW_M3
            
1//CSW_M4A1
            
1//CSW_TMP
            
1//CSW_G3SG1
            
4//CSW_FLASHBANG
            
2//CSW_DEAGLE
            
1//CSW_SG552
            
1//CSW_AK47
            
3//CSW_KNIFE
            
//CSW_P90
        
}
        
iSlot iWeaponsSlots[iCswId]
    }

    const 
XTRA_OFS_PLAYER 5
    
const m_rgpPlayerItems_Slot0 367

    iWeapon 
get_pdata_cbase(idm_rgpPlayerItems_Slot0 iSlotXTRA_OFS_PLAYER)

    const 
XTRA_OFS_WEAPON 4
    
const m_pNext 42
    
const m_iId 43

    
while( iWeapon )
    {
        if( 
get_pdata_int(iWeaponm_iIdXTRA_OFS_WEAPON) == iCswId )
        {
            break
        }
        
iWeapon get_pdata_cbase(iWeaponm_pNextXTRA_OFS_WEAPON)
    }

    if( 
iWeapon )
    {
        const 
m_pActiveItem 373
        
if( bSwitchIfActive && get_pdata_cbase(idm_pActiveItemXTRA_OFS_PLAYER) == iWeapon )
        {
            
ExecuteHamB(Ham_Weapon_RetireWeaponiWeapon)
        }

        if( 
ExecuteHamB(Ham_RemovePlayerItemidiWeapon) )
        {
            
user_has_weapon(idiCswId0)
            
ExecuteHamB(Ham_Item_KilliWeapon)
            return 
1
        
}
    }

    return 
0

Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#9
sigue igual

seguro que funciona bien ? yo mori y igual pude abrir el menu y elejir arma


igual podia abrir mas de 1 vez el menu por ronda
Responder
#10
Ahí traté de dejarlo un poco más completo
Igual prueba y comentas cualquier error

Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.0.18"
#define AUTHOR  "gabs"

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

enum _:wpnInfo
{
    
wpnInfo_Id,
    
wpnInfo_Name[32],
    
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrim[][wpnInfo] =
{
    {
CSW_AK47"weapon_ak47""Rifle AK47"},
    {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {
CSW_M3"weapon_m3""Escopeta M3"}
}

new const 
szArmasSec[][wpnInfo] =
{
    {
CSW_DEAGLE"weapon_deagle""Desert Deagle"},
    {
CSW_USP"weapon_usp""USP"},
    {
CSW_GLOCK18"weapon_glock18""GLOCK 18"}
}
new 
g_iPrimg_iSec;

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_event"HLTV""fw_NewRound""a""1=0""2=0" );

    
register_clcmd("say /guns""MainMenu");
    
register_clcmd("say /armas""MainMenu");
}

public 
fw_NewRound()
{
    
g_iPrim 0;
    
g_iSec 0;
}

public 
MainMenu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK))
        return 
PLUGIN_HANDLED;
    new 
iMenuiTitle[32], iText[64];
    
formatex(iTitlecharsmax(iTitle),  "\r[Guns Menú] \wMenú by \rGabs");
    
iMenu menu_create(iTitle"MainMenuHandler");
    
formatex(iTextcharsmax(iText), "%sSeleccionar Primaria"Get_BitVar(g_iPrimid) ? "\d":"\w");
    
menu_additem(iMenuiText);
    
formatex(iTextcharsmax(iText), "%sSeleccionar Secundaria"Get_BitVar(g_iSecid) ? "\d":"\w");
    
menu_additem(iMenuiText);
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED;
}

public 
MainMenuHandler(idiItemiMenu)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    switch(
iItem)
    {
        case 
0:
        {
            if(
Get_BitVar(g_iPrimid))
            {
                
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
                return 
PLUGIN_HANDLED;
            }
            
GunsMenu(id);
            return 
PLUGIN_HANDLED;
        }
        case 
1:
        {
            if(
Get_BitVar(g_iSecid))
            {
                
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
                return 
PLUGIN_HANDLED;
            }
            
Guns2Menu(id);
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_HANDLED;
}


public 
GunsMenu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;
    new 
iMenuiTitle[64], iText[64];
    
formatex(iTitlecharsmax(iTitle), "\r[Arma Primaria] \wMenú by \rGabs^n\dSelecciona tu arma primaria");
    
iMenu menu_create(iTitle"GunsMenu_Handler");
    for(new 
0sizeof szArmasPrimi++)
    {
        new 
iWpnAmmo;
        
iWpnAmmo cs_get_weapon_info(szArmasPrim[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrim[i][wpnInfo_MenuName], iWpnAmmo);
        
menu_additem(iMenuiText);
    }
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED;
}

public 
GunsMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    if(
Get_BitVar(g_iPrimid))
    {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
        return 
PLUGIN_HANDLED;
    }
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasPrim[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasPrim[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasPrim[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasPrim[iItem][wpnInfo_MenuName])
    
Set_BitVar(g_iPrimid);
    return 
PLUGIN_HANDLED;
}

public 
Guns2Menu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;
    new 
iMenuiTitle[64], iText[64];
    
formatex(iTitlecharsmax(iTitle), "\r[Arma Secundaria] \wMenú by \rGabs^n\dSelecciona tu arma secundaria");
    
iMenu menu_create(iTitle"Guns2Menu_Handler");
    for(new 
0sizeof szArmasSeci++)
    {
        new 
iWpnAmmo;
        
iWpnAmmo cs_get_weapon_info(szArmasSec[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSec[i][wpnInfo_MenuName], iWpnAmmo);
        
menu_additem(iMenuiText);
    }
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED;
}

public 
Guns2Menu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    if(
Get_BitVar(g_iSecid))
    {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
        return 
PLUGIN_HANDLED;
    }
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasSec[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasSec[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasSec[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasSec[iItem][wpnInfo_MenuName])
    
Set_BitVar(g_iSecid);
    return 
PLUGIN_HANDLED;

Responder
#11
FUNCIONA BIEN PERO SOLO ABRE UNA RONDA DSP NO DEJA ELEJIR ARMAS

Y SI ESTOY MUERTO IGUAL ME SALE EL MENU
Responder
#12
(26/04/2021, 09:21 PM)MalitoMaloso escribió: sigue igual

seguro que funciona bien ? yo mori y igual pude abrir el menu y elejir arma


igual podia abrir mas de 1 vez el menu por ronda

Lo probé antes de pasarlo Insecure

Me rindo Whatdone
Estoy cansado de este sufrimiento llamado vivir en Venezuela
Okay
Responder
#13
Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.0.19"
#define AUTHOR  "gabs"

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

enum _:wpnInfo
{
    
wpnInfo_Id,
    
wpnInfo_Name[32],
    
wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrim[][wpnInfo] =
{
    {
CSW_AK47"weapon_ak47""Rifle AK47"},
    {
CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {
CSW_M3"weapon_m3""Escopeta M3"}
}

new const 
szArmasSec[][wpnInfo] =
{
    {
CSW_DEAGLE"weapon_deagle""Desert Deagle"},
    {
CSW_USP"weapon_usp""USP"},
    {
CSW_GLOCK18"weapon_glock18""GLOCK 18"}
}
new 
g_iPrimg_iSec;

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_event"HLTV""fw_NewRound""a""1=0""2=0" );

    
register_clcmd("say /guns""MainMenu");
    
register_clcmd("say /armas""MainMenu");
}

public 
fw_NewRound()
{
    static 
imp;
    if(!
mpmp get_maxplayers();

    for(
1<= mp; ++i)
    {
        
UnSet_BitVar(g_iPrim,i)
        
UnSet_BitVar(g_iSec,i)
    }
}

public 
MainMenu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    new 
iMenuiTitle[32], iText[64];
    
    
formatex(iTitlecharsmax(iTitle),  "\r[Guns Menú] \wMenú by \rGabs");
    
iMenu menu_create(iTitle"MainMenuHandler");
   
    
formatex(iTextcharsmax(iText), "%sSeleccionar Primaria"Get_BitVar(g_iPrimid) ? "\d":"\w");
    
menu_additem(iMenuiText);
    
    
formatex(iTextcharsmax(iText), "%sSeleccionar Secundaria"Get_BitVar(g_iSecid) ? "\d":"\w");
    
menu_additem(iMenuiText);
   
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);

    return 
PLUGIN_HANDLED;
}

public 
MainMenuHandler(idiItemiMenu)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    switch(
iItem)
    {
        case 
0:
        {
            if(
Get_BitVar(g_iPrimid))
            {
                
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
                return 
PLUGIN_HANDLED;
            }
            
GunsMenu(id);
            return 
PLUGIN_HANDLED;
        }
        case 
1:
        {
            if(
Get_BitVar(g_iSecid))
            {
                
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
                return 
PLUGIN_HANDLED;
            }
            
Guns2Menu(id);
            return 
PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_HANDLED;
}


public 
GunsMenu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    new 
iMenuiTitle[64], iText[64];
    
formatex(iTitlecharsmax(iTitle), "\r[Arma Primaria] \wMenú by \rGabs^n\dSelecciona tu arma primaria");
    
iMenu menu_create(iTitle"GunsMenu_Handler");
    for(new 
0sizeof szArmasPrimi++)
    {
        new 
iWpnAmmo;
        
iWpnAmmo cs_get_weapon_info(szArmasPrim[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrim[i][wpnInfo_MenuName], iWpnAmmo);
        
menu_additem(iMenuiText);
    }
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED;
}

public 
GunsMenu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    if(
Get_BitVar(g_iPrimid))
    {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
        return 
PLUGIN_HANDLED;
    }

    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasPrim[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasPrim[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasPrim[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasPrim[iItem][wpnInfo_MenuName])
    
Set_BitVar(g_iPrimid);
    return 
PLUGIN_HANDLED;
}

public 
Guns2Menu(id)
{
    if(!(
get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return 
PLUGIN_HANDLED;
    new 
iMenuiTitle[64], iText[64];
    
formatex(iTitlecharsmax(iTitle), "\r[Arma Secundaria] \wMenú by \rGabs^n\dSelecciona tu arma secundaria");
    
iMenu menu_create(iTitle"Guns2Menu_Handler");
    for(new 
0sizeof szArmasSeci++)
    {
        new 
iWpnAmmo;
        
iWpnAmmo cs_get_weapon_info(szArmasSec[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        
formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSec[i][wpnInfo_MenuName], iWpnAmmo);
        
menu_additem(iMenuiText);
    }
    
menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    
menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    
menu_setprop(iMenuMPROP_EXITNAME"Salir");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED;
}

public 
Guns2Menu_Handler(idiMenuiItem)
{
    if(
iItem == MENU_EXIT || !is_user_alive(id))
        return 
PLUGIN_HANDLED;

    if(
Get_BitVar(g_iSecid))
    {
        
client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
        return 
PLUGIN_HANDLED;
    }
    new 
iWpnAmmo;
    
iWpnAmmo cs_get_weapon_info(szArmasSec[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    
give_item(idszArmasSec[iItem][wpnInfo_Name]);
    
cs_set_user_bpammo(idszArmasSec[iItem][wpnInfo_Id], iWpnAmmo);
    
client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasSec[iItem][wpnInfo_MenuName])
    
Set_BitVar(g_iSecid);
    return 
PLUGIN_HANDLED;


NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook

[Imagen: w8565u-4.png]
Responder
#14
(27/04/2021, 04:45 PM)kikizon2 escribió:
Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.0.19"
#define AUTHOR  "gabs"

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

enum _:wpnInfo
{
    wpnInfo_Id,
    wpnInfo_Name[32],
    wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrim[][wpnInfo] =
{
    {CSW_AK47"weapon_ak47""Rifle AK47"},
    {CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {CSW_M3"weapon_m3""Escopeta M3"}
}

new const 
szArmasSec[][wpnInfo] =
{
    {CSW_DEAGLE"weapon_deagle""Desert Deagle"},
    {CSW_USP"weapon_usp""USP"},
    {CSW_GLOCK18"weapon_glock18""GLOCK 18"}
}
new 
g_iPrimg_iSec;

public 
plugin_init()
{
    register_plugin(PLUGINVERSIONAUTHOR)
    register_event"HLTV""fw_NewRound""a""1=0""2=0" );

    register_clcmd("say /guns""MainMenu");
    register_clcmd("say /armas""MainMenu");
}

public 
fw_NewRound()
{
    static 
imp;
    if(!
mpmp get_maxplayers();

    for(
1<= mp; ++i)
    {
        
UnSet_BitVar(g_iPrim,i)
        
UnSet_BitVar(g_iSec,i)
    }
}

public 
MainMenu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;

    new iMenuiTitle[32], iText[64];
    
    formatex
(iTitlecharsmax(iTitle),  "\r[Guns Menú] \wMenú by \rGabs");
    iMenu menu_create(iTitle"MainMenuHandler");
   
    formatex
(iTextcharsmax(iText), "%sSeleccionar Primaria"Get_BitVar(g_iPrimid) ? "\d":"\w");
    menu_additem(iMenuiText);
    
    formatex
(iTextcharsmax(iText), "%sSeleccionar Secundaria"Get_BitVar(g_iSecid) ? "\d":"\w");
    menu_additem(iMenuiText);
   
    menu_setprop
(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);

    return PLUGIN_HANDLED;
}

public 
MainMenuHandler(idiItemiMenu)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    switch(iItem)
    {
        case 0:
        {
            if(Get_BitVar(g_iPrimid))
            {
                client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
                return PLUGIN_HANDLED;
            }
            GunsMenu(id);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(Get_BitVar(g_iSecid))
            {
                client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
                return PLUGIN_HANDLED;
            }
            Guns2Menu(id);
            return PLUGIN_HANDLED;
        }
    }
    return PLUGIN_HANDLED;
}


public 
GunsMenu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;

    new iMenuiTitle[64], iText[64];
    formatex(iTitlecharsmax(iTitle), "\r[Arma Primaria] \wMenú by \rGabs^n\dSelecciona tu arma primaria");
    iMenu menu_create(iTitle"GunsMenu_Handler");
    for(new 0sizeof szArmasPrimi++)
    {
        new iWpnAmmo;
        iWpnAmmo cs_get_weapon_info(szArmasPrim[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrim[i][wpnInfo_MenuName], iWpnAmmo);
        menu_additem(iMenuiText);
    }
    menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);
    return PLUGIN_HANDLED;
}

public 
GunsMenu_Handler(idiMenuiItem)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    if(Get_BitVar(g_iPrimid))
    {
        client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
        return PLUGIN_HANDLED;
    }

    new iWpnAmmo;
    iWpnAmmo cs_get_weapon_info(szArmasPrim[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    give_item(idszArmasPrim[iItem][wpnInfo_Name]);
    cs_set_user_bpammo(idszArmasPrim[iItem][wpnInfo_Id], iWpnAmmo);
    client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasPrim[iItem][wpnInfo_MenuName])
    Set_BitVar(g_iPrimid);
    return PLUGIN_HANDLED;
}

public 
Guns2Menu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;
    new iMenuiTitle[64], iText[64];
    formatex(iTitlecharsmax(iTitle), "\r[Arma Secundaria] \wMenú by \rGabs^n\dSelecciona tu arma secundaria");
    iMenu menu_create(iTitle"Guns2Menu_Handler");
    for(new 0sizeof szArmasSeci++)
    {
        new iWpnAmmo;
        iWpnAmmo cs_get_weapon_info(szArmasSec[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSec[i][wpnInfo_MenuName], iWpnAmmo);
        menu_additem(iMenuiText);
    }
    menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);
    return PLUGIN_HANDLED;
}

public 
Guns2Menu_Handler(idiMenuiItem)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    if(Get_BitVar(g_iSecid))
    {
        client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
        return PLUGIN_HANDLED;
    }
    new iWpnAmmo;
    iWpnAmmo cs_get_weapon_info(szArmasSec[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    give_item(idszArmasSec[iItem][wpnInfo_Name]);
    cs_set_user_bpammo(idszArmasSec[iItem][wpnInfo_Id], iWpnAmmo);
    client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasSec[iItem][wpnInfo_MenuName])
    Set_BitVar(g_iSecid);
    return PLUGIN_HANDLED;

PERDON POR REVIVIR EL TEMA PERO A MI ME LANZA ERROR Y NO ME DEJA COMPILAR
baw-ma.sma(94) : error 017: undefined symbol "client_print_color"
baw-ma.sma(104) : error 017: undefined symbol "client_print_color"
baw-ma.sma(126) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(144) : error 017: undefined symbol "client_print_color"
baw-ma.sma(149) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(152) : error 017: undefined symbol "client_print_color"
baw-ma.sma(167) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(185) : error 017: undefined symbol "client_print_color"
baw-ma.sma(189) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(192) : error 017: undefined symbol "client_print_color"
Responder
#15
(28/04/2021, 02:05 AM)gmartinez escribió: PERDON POR REVIVIR EL TEMA PERO A MI ME LANZA ERROR Y NO ME DEJA COMPILAR
baw-ma.sma(94) : error 017: undefined symbol "client_print_color"
baw-ma.sma(104) : error 017: undefined symbol "client_print_color"
baw-ma.sma(126) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(144) : error 017: undefined symbol "client_print_color"
baw-ma.sma(149) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(152) : error 017: undefined symbol "client_print_color"
baw-ma.sma(167) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(185) : error 017: undefined symbol "client_print_color"
baw-ma.sma(189) : error 017: undefined symbol "cs_get_weapon_info"
baw-ma.sma(192) : error 017: undefined symbol "client_print_color"

Actualiza tu amx a 1.9
Responder
#16
(28/04/2021, 02:06 AM)GabsHp escribió: Actualiza tu amx a 1.9

hamm sorry uso compilador web, quizá sea por eso

(27/04/2021, 04:45 PM)kikizon2 escribió:
Código PHP:
/* Sublime AMXX Editor v3.0.0-beta */

#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN  "Weapons 4 Admins"
#define VERSION "1.0.19"
#define AUTHOR  "gabs"

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

enum _:wpnInfo
{
    wpnInfo_Id,
    wpnInfo_Name[32],
    wpnInfo_MenuName[32],
}

//AÑADE MÁS ARMAS SIGUIENDO LA INFORMACIÓN: https://forums.alliedmods.net/archive/index.php/t-59003.html
new const szArmasPrim[][wpnInfo] =
{
    {CSW_AK47"weapon_ak47""Rifle AK47"},
    {CSW_M4A1"weapon_m4a1""Rifle M4A1"},
    {CSW_M3"weapon_m3""Escopeta M3"}
}

new const 
szArmasSec[][wpnInfo] =
{
    {CSW_DEAGLE"weapon_deagle""Desert Deagle"},
    {CSW_USP"weapon_usp""USP"},
    {CSW_GLOCK18"weapon_glock18""GLOCK 18"}
}
new 
g_iPrimg_iSec;

public 
plugin_init()
{
    register_plugin(PLUGINVERSIONAUTHOR)
    register_event"HLTV""fw_NewRound""a""1=0""2=0" );

    register_clcmd("say /guns""MainMenu");
    register_clcmd("say /armas""MainMenu");
}

public 
fw_NewRound()
{
    static 
imp;
    if(!
mpmp get_maxplayers();

    for(
1<= mp; ++i)
    {
        
UnSet_BitVar(g_iPrim,i)
        
UnSet_BitVar(g_iSec,i)
    }
}

public 
MainMenu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;

    new iMenuiTitle[32], iText[64];
    
    formatex
(iTitlecharsmax(iTitle),  "\r[Guns Menú] \wMenú by \rGabs");
    iMenu menu_create(iTitle"MainMenuHandler");
   
    formatex
(iTextcharsmax(iText), "%sSeleccionar Primaria"Get_BitVar(g_iPrimid) ? "\d":"\w");
    menu_additem(iMenuiText);
    
    formatex
(iTextcharsmax(iText), "%sSeleccionar Secundaria"Get_BitVar(g_iSecid) ? "\d":"\w");
    menu_additem(iMenuiText);
   
    menu_setprop
(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);

    return PLUGIN_HANDLED;
}

public 
MainMenuHandler(idiItemiMenu)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    switch(iItem)
    {
        case 0:
        {
            if(Get_BitVar(g_iPrimid))
            {
                client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
                return PLUGIN_HANDLED;
            }
            GunsMenu(id);
            return PLUGIN_HANDLED;
        }
        case 1:
        {
            if(Get_BitVar(g_iSecid))
            {
                client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
                return PLUGIN_HANDLED;
            }
            Guns2Menu(id);
            return PLUGIN_HANDLED;
        }
    }
    return PLUGIN_HANDLED;
}


public 
GunsMenu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;

    new iMenuiTitle[64], iText[64];
    formatex(iTitlecharsmax(iTitle), "\r[Arma Primaria] \wMenú by \rGabs^n\dSelecciona tu arma primaria");
    iMenu menu_create(iTitle"GunsMenu_Handler");
    for(new 0sizeof szArmasPrimi++)
    {
        new iWpnAmmo;
        iWpnAmmo cs_get_weapon_info(szArmasPrim[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasPrim[i][wpnInfo_MenuName], iWpnAmmo);
        menu_additem(iMenuiText);
    }
    menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);
    return PLUGIN_HANDLED;
}

public 
GunsMenu_Handler(idiMenuiItem)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    if(Get_BitVar(g_iPrimid))
    {
        client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma primaria durante esta ronda!");
        return PLUGIN_HANDLED;
    }

    new iWpnAmmo;
    iWpnAmmo cs_get_weapon_info(szArmasPrim[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    give_item(idszArmasPrim[iItem][wpnInfo_Name]);
    cs_set_user_bpammo(idszArmasPrim[iItem][wpnInfo_Id], iWpnAmmo);
    client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasPrim[iItem][wpnInfo_MenuName])
    Set_BitVar(g_iPrimid);
    return PLUGIN_HANDLED;
}

public 
Guns2Menu(id)
{
    if(!(get_user_flags(id) & ADMIN_KICK) || !is_user_alive(id))
        return PLUGIN_HANDLED;
    new iMenuiTitle[64], iText[64];
    formatex(iTitlecharsmax(iTitle), "\r[Arma Secundaria] \wMenú by \rGabs^n\dSelecciona tu arma secundaria");
    iMenu menu_create(iTitle"Guns2Menu_Handler");
    for(new 0sizeof szArmasSeci++)
    {
        new iWpnAmmo;
        iWpnAmmo cs_get_weapon_info(szArmasSec[i][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
        formatex(iTextcharsmax(iText), "\r[\w%s\r] [\y%d \w de munición\r]"szArmasSec[i][wpnInfo_MenuName], iWpnAmmo);
        menu_additem(iMenuiText);
    }
    menu_setprop(iMenuMPROP_BACKNAME"Atrás");
    menu_setprop(iMenuMPROP_NEXTNAME"Siguiente");
    menu_setprop(iMenuMPROP_EXITNAME"Salir");
    menu_display(idiMenu);
    return PLUGIN_HANDLED;
}

public 
Guns2Menu_Handler(idiMenuiItem)
{
    if(iItem == MENU_EXIT || !is_user_alive(id))
        return PLUGIN_HANDLED;

    if(Get_BitVar(g_iSecid))
    {
        client_print_color(idprint_team_default"^4[GUNS]^1 Ya has elegido un arma secundaria durante esta ronda!");
        return PLUGIN_HANDLED;
    }
    new iWpnAmmo;
    iWpnAmmo cs_get_weapon_info(szArmasSec[iItem][wpnInfo_Id], CsWeaponInfo:CS_WEAPONINFO_MAX_ROUNDS);
    give_item(idszArmasSec[iItem][wpnInfo_Name]);
    cs_set_user_bpammo(idszArmasSec[iItem][wpnInfo_Id], iWpnAmmo);
    client_print_color(idprint_team_default"^4[GUNS]^1 Se te ha otorgado un ^4%s^1"szArmasSec[iItem][wpnInfo_MenuName])
    Set_BitVar(g_iSecid);
    return PLUGIN_HANDLED;


Disculpa Kikizon2 ya compile el plugin y todo, pero no me deja seleccionar, osea me aparece el menu, pero cuando selecciono Primaria o secundaria se queda ahi no me muestra mas nada
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)