Mensajes: 138
Temas: 25
Registro en: Jun 2017
Reputación:
1
Hola nuevamente, bien a continuacion voy a dejar el sma, quiero bloquear cierto item del menu, es decir que al seleccionar ese item se le bloquee hasta la siguiente ronda,
y que los demas items los pueda usar mientras espero haberme explicado bien, gracias
Código PHP: #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fun> #include <colorchat>
public plugin_init() { register_clcmd("say /armas", "Armas") }
public Armas(id) { new iMenu = menu_create("\r[\ySP\r]\w Menu Armas", "handler_menuu") menu_additem( iMenu, "Armita 1", "1", 0) menu_additem( iMenu, "Armita 2", "2", 0) menu_additem( iMenu, "Armita 3", "3", 0) menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, iMenu, 0); return 1; }
public handler_menuu( id, iMenu, item ) { if (item == MENU_EXIT) { menu_destroy( iMenu ) return 1; } new data[6], iName[64] new access, callback menu_item_getinfo( iMenu, item, access, data, 13, iName, 63, callback); new key = str_to_num( data ) switch( key ) { case 1: { ColorChat(id, RED, "Bloquear") } case 2: { ColorChat(id, RED, "Bloquear") } case 3: { ColorChat(id, RED, "Bloquear") } } menu_destroy( iMenu ) return 1; }
La Verdadera Vuelta
Aprendiendo :$
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
Código PHP: creo que era así
variable new g_opcion[ 33 ];
init register_event( "HLTV", "eventRoundStart", "a", "1=0", "2=0" );
eventRoundStart( ) con for( new id = 0; id <= get_maxplayers( ); id++ ) g_opcion[ id ] = false;
handler menú
case x: Seteas la opcion en true. g_opcion[ id ] = true;
Mensajes: 138
Temas: 25
Registro en: Jun 2017
Reputación:
1
(17/06/2017, 11:53 PM)Niper.-. escribió: Código PHP: creo que era así
variable new g_opcion[ 33 ];
init register_event( "HLTV", "eventRoundStart", "a", "1=0", "2=0" );
eventRoundStart( ) con for( new id = 0; id <= get_maxplayers( ); id++ ) g_opcion[ id ] = false;
handler menú
case x: Seteas la opcion en true. g_opcion[ id ] = true;
Hola amigo no me funciono, puedo comprar igual
La Verdadera Vuelta
Aprendiendo :$
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
18/06/2017, 01:02 AM
(Última modificación: 18/06/2017, 01:02 AM por Hinami.)
por que le falto verificar si es verdadero no de nada
if(g_opcion[ id ]) return;
Mensajes: 138
Temas: 25
Registro en: Jun 2017
Reputación:
1
(18/06/2017, 01:02 AM)NkkI escribió: por que le falto verificar si es verdadero no de nada
if(g_opcion[ id ]) return; Y eso donde debo ponerlo, soy noob. gracias a los 2
La Verdadera Vuelta
Aprendiendo :$
Mensajes: 321
Temas: 71
Registro en: Jan 2016
Reputación:
0
Mensajes: 1,191
Temas: 41
Registro en: Jun 2014
Reputación:
8
18/06/2017, 08:59 AM
(Última modificación: 18/06/2017, 09:08 AM por AGustiN.)
(18/06/2017, 12:13 AM)FacundoCarp escribió: (17/06/2017, 11:53 PM)Niper.-. escribió: Código PHP: creo que era así
variable new g_opcion[ 33 ];
init register_event( "HLTV", "eventRoundStart", "a", "1=0", "2=0" );
eventRoundStart( ) con for( new id = 0; id <= get_maxplayers( ); id++ ) g_opcion[ id ] = false;
handler menú
case x: Seteas la opcion en true. g_opcion[ id ] = true;
Hola amigo no me funciono, puedo comprar igual
Código PHP: #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fun> #include <colorchat>
new g_item[33][3]
public plugin_init() { register_clcmd("say /armas", "Armas") }
public Armas(id) { new iMenu = menu_create("\r[\ySP\r]\w Menu Armas", "handler_menuu") menu_additem( iMenu, "Armita 1", "1", 0) menu_additem( iMenu, "Armita 2", "2", 0) menu_additem( iMenu, "Armita 3", "3", 0) menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, iMenu, 0); return 1; }
public handler_menuu( id, iMenu, item ) { if (item == MENU_EXIT) { menu_destroy( iMenu ) return 1; } if(g_item[id][item]) { ColorChat(id, GREEN, "Bloqueado") return 1; } switch( item ) { case 1: // dar pichila case 2: // dar pichola case 3: // dar pochilo } g_item[id][item] = true menu_destroy( iMenu ) return 1; }
Solo te falta volver a poner la variable en false en roundstart
Mensajes: 135
Temas: 38
Registro en: Apr 2016
Reputación:
0
Prueva..
Código PHP: #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <cstrike> #include <fun> #include <colorchat>
enum { ITEM_1, ITEM_2, ITEM_3, MAX_ITEMS }
new g_items[33][MAX_ITEMS]
const MAX_SHOP = 2 // las veces que pueden comprar // modo de uso // handler del menu
public plugin_init() { register_clcmd("say /armas", "Armas") register_event( "HLTV", "event_round_start", "a", "1=0", "2=0" ) } public event_round_start() { for(new i = 1; i <= get_maxplayers();i++) { for(new j; j < MAX_ITEMS; j++) { g_items[i][j] = 0 } } }
public Armas(id) { new iMenu = menu_create("\r[\ySP\r]\w Menu Armas", "handler_menuu") menu_additem( iMenu, "Armita 1", "1", 0) menu_additem( iMenu, "Armita 2", "2", 0) menu_additem( iMenu, "Armita 3", "3", 0) menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, iMenu, 0); return 1; }
public handler_menuu( id, iMenu, item ) { if(g_items[id][item] >= MAX_SHOP) // si el item que eligieron tiene 3 o más usos { ColorChat(id, GREEN, "No puedes comprar mas de 2 veses Esta arma.") return PLUGIN_HANDLED } if (item == MENU_EXIT) { menu_destroy( iMenu ) return 1; } new data[6], iName[64] new access, callback menu_item_getinfo( iMenu, item, access, data, 13, iName, 63, callback); new key = str_to_num( data ) switch( key ) { case 1: { ColorChat(id, RED, "Bloquear") } case 2: { ColorChat(id, RED, "Bloquear") } case 3: { ColorChat(id, RED, "Bloquear") } } menu_destroy( iMenu ) return 1; }
Help a anonymous.
SOMOS LEGION..
¡NO OLVIDAMOS!
Esperamos...
MI STEAM
Mensajes: 449
Temas: 66
Registro en: Aug 2016
Reputación:
3
18/06/2017, 11:58 AM
(Última modificación: 18/06/2017, 11:58 AM por FrancoX.)
Prueba...
Código PHP: #include <amxmodx> #include <cstrike> #include <fun>
new item_limit[33], g_num_jug
public plugin_init() { register_clcmd("say /armas", "Armas") register_event("HLTV", "event_round_start", "a", "1=0", "2=0") g_num_jug = get_maxplayers() } public Armas(id) { new iMenu = menu_create("\w Menu Armas", "handler_menuu") menu_additem( iMenu, "Armita 1", "1", 0) menu_additem( iMenu, "Armita 2", "2", 0) menu_additem( iMenu, "Armita 3", "3", 0) menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL ); menu_display( id, iMenu, 0); return 1; }
public handler_menuu(id, iMenu, item) { if (item == MENU_EXIT) { menu_destroy( iMenu ) return 1; } if(item_limit[id] >= 1) return 1; switch(item) { case 1: client_print(id, print_chat, "Hola xd") case 2: client_print(id, print_chat, "Hola xd") case 3: client_print(id, print_chat, "Hola xd") } item_limit[id]++
menu_destroy( iMenu ) return 1; } public event_round_start() { for(new i = 1; i <= g_num_jug; i++) { item_limit[i] = 0 } }
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
18/06/2017, 12:16 PM
(Última modificación: 18/06/2017, 12:22 PM por Hinami.)
franco no te enseñaron a leer?
no es nada de lo que el pidió arriba ya tiene 2 tiendas la de agus y la de el otro wey
sobre la de agus si alguien la llega a usar si meten más items hay que subirle celdas al vector v:
y la del anoni hay que registrar cada item en el enum arriba siempre de max_item
agus no debería de comenzar de 0?
Mensajes: 138
Temas: 25
Registro en: Jun 2017
Reputación:
1
18/06/2017, 02:47 PM
(Última modificación: 18/06/2017, 02:47 PM por FacundoCarp.)
La de agus funciona, pero quisiera que pongan para que al iniciar una ronda pueda volver a elegir un item. Por que sigue bloqueado
La de agus funciona, pero quisiera que pongan para que al iniciar una ronda pueda volver a elegir un item. Por que sigue bloqueado
La Verdadera Vuelta
Aprendiendo :$
|