30/11/2020, 06:54 PM
Hola, ¿como están?
Pueden adaptarle a esté weapon menu que hizo chema un nuevo menu de armas pero para user's?
Me explico
Example;
Pones /menu, abre el menu algo así:
ARMAS \d(ADMINISTRATIVAS)
ARMAS \d(USUARIOS)
Si un usuario selecciona armas administrativas, le saldra: **Lo siento, no eres administrador, contacta a un dueño**
Las armas de los usuarios van a ser dos (AK-47) dos(m4a1)
y de los adm dos (AK-47) dos(m4a1) dos(awp)
Gracias de ante mano
Pueden adaptarle a esté weapon menu que hizo chema un nuevo menu de armas pero para user's?
Me explico
Example;
Pones /menu, abre el menu algo así:
ARMAS \d(ADMINISTRATIVAS)
ARMAS \d(USUARIOS)
Si un usuario selecciona armas administrativas, le saldra: **Lo siento, no eres administrador, contacta a un dueño**
Las armas de los usuarios van a ser dos (AK-47) dos(m4a1)
y de los adm dos (AK-47) dos(m4a1) dos(awp)
Gracias de ante mano
Código PHP:
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < fakemeta >
#include < cstrike >
#include < engine >
#include < hamsandwich >
#pragma semicolon 1
new const g_szPluginName[ ] = "Weapons Menu";
new const g_szPluginVersion[ ] = "1.0";
new const g_szPluginAuthor[ ] = "Chema";
new const g_szChatPrefix[ ] = "^4[^1MCY^4]^1";
new const g_szWebsiteUrl[ ] = "PRONTO";
new const g_szItemMenuSound[ ] = "Ui/buttonclickrelease.wav";
const WEAPON_NONE = -1;
enum _:eWeaponTypes {
WEAPON_FUTURICS,
WEAPON_IRONMAN,
WEAPON_MONSTER,
WEAPON_FIRE,
WEAPON_PINK,
WEAPON_PLUTON
};
enum _:eWeapon_Struct {
WEAPON_CSW,
WEAPON_ENT[ 32 ],
WEAPON_NAME[ 40 ],
WEAPON_VIEWMODEL[ 50 ],
WEAPON_PLAYERMODEL[ 50 ],
WEAPON_BULLETS
};
new const g_szWeapons[ _:eWeaponTypes ][ _:eWeapon_Struct ] = {
{ CSW_AK47, "weapon_ak47", "AK47 - Futurics", "models/MenuArmasV2/v_ak47_1.mdl", "models/MenuArmasV2/p_ak47_1.mdl", 90 }, // 0
{ CSW_AK47, "weapon_ak47", "AK47 - Iron Man", "models/MenuArmasV2/v_ak47_2.mdl", "models/MenuArmasV2/p_ak47_2.mdl", 90 }, // 1
{ CSW_M4A1, "weapon_m4a1", "M4a1 - Monster", "models/MenuArmasV2/v_m4a1_v1.mdl", "models/MenuArmasV2/p_m4a1_v1.mdl", 90 }, // 2
{ CSW_M4A1, "weapon_m4a1", "M4a1 - Fire", "models/MenuArmasV2/v_m4a1_v2.mdl", "models/MenuArmasV2/p_m4a1_v2.mdl", 90 }, // 3
{ CSW_AWP, "weapon_awp", "Awp - Pink", "models/MenuArmasV2/v_awp_1.mdl", "models/MenuArmasV2/p_awp_1.mdl", 30 }, // 4
{ CSW_AWP, "weapon_awp", "Awp - Pluton", "models/MenuArmasV2/v_awp_2.mdl", "models/MenuArmasV2/p_awp_2.mdl", 30 } // 5
};
new g_iWeaponPreview[ 33 ];
new g_iWeaponSelected[ 33 ];
public plugin_precache( ) {
for( new i = 0; i < sizeof g_szWeapons; i++) {
precache_model( g_szWeapons[ i ][ WEAPON_VIEWMODEL ] );
precache_model( g_szWeapons[ i ][ WEAPON_PLAYERMODEL ] );
}
}
public plugin_init( ) {
/* Register Plugin & Cvars */
register_plugin( g_szPluginName, g_szPluginVersion, g_szPluginAuthor );
/* Events & LogEvents */
register_event( "CurWeapon", "Event_CurWeapon", "be","1=1" );
/* Forwards */
register_forward( FM_SetModel, "Forward_SetModel" );
/* Hamsandwichs */
RegisterHam( Ham_Spawn, "player", "OnPlayer_SpawnPost", true );
/* Client-related Stuff */
register_clcmd( "radio1", "ClientCommand_CheckMenu" );
register_clcmd( "drop", "ClientCommand_BlockDrop" );
/* Menus */
register_menu( "Weapons Menu", 1023, "HandlerWeaponsMenu" );
}
/* Events & LogEvents */
public Event_CurWeapon( const iPlayerID ) {
new iWeaponID = read_data( 2 );
static iUserFlags;
iUserFlags = get_user_flags( iPlayerID );
if( g_iWeaponSelected[ iPlayerID ] == WEAPON_NONE || iWeaponID != g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_CSW ] )
return PLUGIN_CONTINUE;
if( iUserFlags & ADMIN_IMMUNITY ) {
entity_set_string( iPlayerID, EV_SZ_viewmodel, g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_VIEWMODEL ] );
entity_set_string( iPlayerID, EV_SZ_weaponmodel, g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_PLAYERMODEL ] );
}
return PLUGIN_CONTINUE;
}
/* Forwards */
public Forward_SetModel( const iEntity, const szModel[ ] ) {
if( equal( szModel,"models/w_awp.mdl" ) ) {
set_pev( iEntity, pev_nextthink, get_gametime( ) + 0.01 );
return;
}
}
/* Hamsandwichs */
public OnPlayer_SpawnPost( const iPlayerID ) {
if( !is_user_alive( iPlayerID ) )
return PLUGIN_CONTINUE;
if( g_iWeaponSelected[ iPlayerID ] != WEAPON_NONE )
OnPlayer_SelectedWeapons( iPlayerID );
return PLUGIN_HANDLED;
}
/* Client-related Stuff */
public client_putinserver( iPlayerID ) {
g_iWeaponSelected[ iPlayerID ] = WEAPON_NONE;
}
public ClientCommand_BlockDrop( const iPlayerID ) {
new iWeaponID = get_user_weapon( iPlayerID );
if( iWeaponID == CSW_AWP && ( g_iWeaponSelected[ iPlayerID ] == WEAPON_PINK || g_iWeaponSelected[ iPlayerID ] == WEAPON_PLUTON ) )
return PLUGIN_HANDLED;
if( iWeaponID == CSW_AK47 && ( g_iWeaponSelected[ iPlayerID ] == WEAPON_FUTURICS || g_iWeaponSelected[ iPlayerID ] == WEAPON_IRONMAN ) )
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public ClientCommand_CheckMenu( const iPlayerID ) {
static iUserFlags;
iUserFlags = get_user_flags( iPlayerID );
if( iUserFlags & ADMIN_IMMUNITY )
ShowMenu_Weapons( iPlayerID );
else
ShowMenu_Information( iPlayerID );
return PLUGIN_HANDLED;
}
/* Menus */
public ShowMenu_Weapons( const iPlayerID ) {
new iMenu = menu_create( "Armas PREMIUM GSP.", "HandlerMenu_Weapons" );
new szBuffer[ 52 ];
for( new i = 0; i < sizeof g_szWeapons; i++ ) {
format( szBuffer, 51, "%s%s", g_szWeapons[ i ][ WEAPON_NAME ], g_iWeaponSelected[ iPlayerID ] == i ? " \r[EQUIPADA]" : "" );
menu_additem( iMenu, szBuffer, .callback = menu_makecallback( "CallbackWeaponsMenu" ) );
}
menu_display( iPlayerID, iMenu );
return PLUGIN_HANDLED;
}
public CallbackWeaponsMenu( const iPlayerID, const iMenu, const iItem ) {
if( g_iWeaponSelected[ iPlayerID ] == iItem )
return ITEM_DISABLED;
return ITEM_ENABLED;
}
public ShowMenu_Information( const iPlayerID ) {
new iMenu = menu_create( "\d***\rMARACAY\d| \rMCY #1\d***", "HandlerMenu_Information" );
menu_additem( iMenu, "\r* \wMenu de \yARMAS PREMIUM." );
menu_additem( iMenu, "\r* \wPRECIO:\y 200Mil" );
menu_additem( iMenu, "\r* \wGRUPO DE FACEBOOK:\d www.facebook.com/groups/csmaracayoficial/" );
menu_additem( iMenu, "\r* DUEÑO: \yAngel Rojas" );
menu_additem( iMenu, "\r* \wWHATSAPP DEL DUEÑO:\y+593984597512" );
menu_additem( iMenu, "\r* \wEDITOR:\y *SuttoN*. \r| \ywww.facebook.com/angelrptp/" );
menu_display( iPlayerID, iMenu );
return PLUGIN_HANDLED;
}
public HandlerMenu_Information( const iPlayerID, const iMenu, const iItem ) {
if( iItem == MENU_EXIT ) {
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public HandlerMenu_Weapons( const iPlayerID, const iMenu, const iItem ) {
if( iItem == MENU_EXIT ) {
menu_destroy( iMenu );
return PLUGIN_HANDLED;
}
g_iWeaponPreview[ iPlayerID ] = iItem;
ShowMenu_SelectedWeapon( iPlayerID );
return PLUGIN_HANDLED;
}
public ShowMenu_SelectedWeapon( const iPlayerID ) {
static szBuffer[ 1024 ], iLen, iKeys;
iLen = 0;
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\d%s^n\yArma seleccionada^n^n", g_szWebsiteUrl );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r* \d- \r%s^n^n", g_szWeapons[ g_iWeaponPreview[ iPlayerID ] ][ WEAPON_NAME ] );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r1. \wElegir^n" );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r2. \wVista previa^n" );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r3. \wAuto equipar^n^n" );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r4. \wRegresar^n" );
iLen += formatex( szBuffer[ iLen ], charsmax( szBuffer ) - iLen, "\r0. \wCerrar" );
iKeys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9);
show_menu( iPlayerID, iKeys, szBuffer, -1, "Weapons Menu" );
return PLUGIN_HANDLED;
}
public HandlerWeaponsMenu( const iPlayerID, const iKey ) {
switch( iKey ) {
case 0: g_iWeaponSelected[ iPlayerID ] = g_iWeaponPreview[ iPlayerID ], OnPlayer_SelectedWeapons( iPlayerID );
case 1: client_print_color( iPlayerID, 0, "%s Próximamente vista previa!", g_szChatPrefix ), ShowMenu_SelectedWeapon( iPlayerID );
case 2: client_print_color( iPlayerID, 0, "%s Este arma será automaticamente equipada en cada respawn!", g_szChatPrefix ), g_iWeaponSelected[ iPlayerID ] = g_iWeaponPreview[ iPlayerID ], OnPlayer_SelectedWeapons( iPlayerID );
case 3: g_iWeaponSelected[ iPlayerID ] = WEAPON_NONE, ClientCommand_CheckMenu( iPlayerID );
case 9: g_iWeaponSelected[ iPlayerID ] = WEAPON_NONE;
}
if( iKey != 9 )
client_cmd( iPlayerID, "spk ^"%s^"", g_szItemMenuSound );
return PLUGIN_HANDLED;
}
/* Private functions & Stocks */
OnPlayer_SelectedWeapons( const iPlayerID ) {
strip_user_weapons( iPlayerID );
give_item( iPlayerID, "weapon_knife" );
give_item( iPlayerID, "weapon_deagle" );
give_item( iPlayerID, "weapon_deagle" );
give_item( iPlayerID, "weapon_hegrenade" );
give_item ( iPlayerID, g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_ENT ] );
cs_set_user_bpammo( iPlayerID, g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_CSW ], g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_BULLETS ] );
client_print_color( iPlayerID, 0, "%s Has elegido: ^4%s", g_szChatPrefix, g_szWeapons[ g_iWeaponSelected[ iPlayerID ] ][ WEAPON_NAME ] );
return PLUGIN_HANDLED;
}