Raised This Month: $ Target: $400
 0% 

Menu


  
 
 
Thread Tools Display Modes
Author Message
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 11-04-2011 , 07:37   Menu
#1

Bonjour à tous,

J'ai un problème dans l'ajout d'item dans mon menu :

Code:
#define CONSTANTE 3 static const TEST[ ][ ] = {         "None",         "Test 1",         "Test 2",         "Test 3" } function( index ) {     new Menu = menu_create( "Awesome Menu !!" , "Handler_Menu" )         for( new i = 1; i <= CONSTANTE; i++ )     {           menu_additem( Menu , TEST[ i ] , num_to_str( i ) , 0 )                 menu_setprop( Menu , MPROP_EXIT , MEXIT_ALL )                 menu_display( index , Menu )     } }

Erreur du compilateur : error 088: number of arguments does not match definition

Je ne vois pas où est l'erreur, apparemment cela vient du num_to_str( i ) mais je ne vois pas comment faire..
Devil259 is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 11-04-2011 , 07:39   Re: Menu
#2

Tu regardes la fonction sur le wiki ;)
Et remplace <= CONSTANTE par < sizeof(TEST), ça a exactement le même effet sauf que tu peux changer la taille de l'array sans te soucier du reste du code.
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 11-04-2011 at 07:40.
ConnorMcLeod is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 11-04-2011 , 07:41   Re: Menu
#3

Effectivement, merci

Je suis trop habitué à str_to_num, c'est pour ça...

EDIT : Ok

Last edited by Devil259; 11-04-2011 at 07:41.
Devil259 is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 11-04-2011 , 07:49   Re: Menu
#4

Tu seras peut-être intéressé par :

PHP Code:
#define NumToStr(%0,%1,%2)    formatex(%1, %2, "%d", %0)

stock pNumToStringiNum )
{
    new 
szString[32]
    
NumToStr(iNumszStringcharsmax(szString))
    return 
szString

__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 11-04-2011 at 07:59.
ConnorMcLeod is offline
Old 11-04-2011, 07:54
Devil259
This message has been deleted by Devil259.
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 11-04-2011 , 07:59   Re: Menu
#5

Y'avait une erreur dans le define... ça compile maintenant !

PHP Code:
#include <amxmodx>

#define NumToStr(%0,%1,%2)    formatex(%1, %2, "%d", %0)

new const TEST[ ][ ] =
{
        
"None",
        
"Test 1",
        
"Test 2",
        
"Test 3"
}

public 
plugin_init()
{
    function(
0)


function( 
index )
{
    new 
Menu menu_create"Awesome Menu !!" "Handler_Menu" )
    
    for( new 
1sizeof(TEST); i++ )
    {   
        
menu_additemMenu TEST] , pNumToString) , )
        
        
menu_setpropMenu MPROP_EXIT MEXIT_ALL )
        
        
menu_displayindex Menu )
    }
}

public 
Handler_Menu(idblableh)
{
    
}

pNumToStringiNum )
{
    new 
szString[32]
    
NumToStr(iNumszStringcharsmax(szString))
    return 
szString


Par contre, ça ne sert à rien de mettre les nombres comme ça, tu peux tout simplement utiliser la valeur de "item" passée dans le handler du menu, au lieu de commencer à 1 ça commence à 0 c'est la seule diférence ;)
Et comme ça pas besoin d'utiliser la native pour retrouver les infos de l'item.
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 11-04-2011 at 08:01.
ConnorMcLeod is offline
Devil259
Veteran Member
Join Date: Dec 2009
Location: France (59)
Old 11-04-2011 , 08:06   Re: Menu
#6

Quote:
Originally Posted by ConnorMcLeod View Post
Y'avait une erreur dans le define... ça compile maintenant !
Je l'ai vu aussi ^^

Quote:
Originally Posted by ConnorMcLeod View Post
Par contre, ça ne sert à rien de mettre les nombres comme ça, tu peux tout simplement utiliser la valeur de "item" passée dans le handler du menu, au lieu de commencer à 1 ça commence à 0 c'est la seule diférence ;)
Et comme ça pas besoin d'utiliser la native pour retrouver les infos de l'item.
Ok, je vais essayer ça.

Par contre j'ai un problème..

Code:
static const TEST[ ][ ] = {         "None",         "Test 1",         "Test 2",         "Test 3" } function( index ) {     gValue[ index ] = 0         new Menu = menu_create( "My Menu" , "Handler_Menu" )         new szNum[ 3 ]         for( new i = 1; i <= sizeof( TEST ); i++ )     {           formatex( szNum , charsmax( szNum ) , "%d" , i )                 menu_additem( Menu , TEST[ i ] , szNum , 0 )                 menu_setprop( Menu , MPROP_EXIT , MEXIT_ALL )                 menu_display( index , Menu )     } } public Handler_Menu( index , Menu , item ) {     if( item == MENU_EXIT )     {         menu_destroy( Menu )         return PLUGIN_HANDLED     }     new data[ 6 ] , szName[ 64 ]     new access , callback     menu_item_getinfo( Menu , item , access , data , charsmax( data ) , szName , charsmax( szName ) , callback )     new key = str_to_num( data )     gValue[ index ] = key     client_print( id , print_chat , "Test -> %s" , TEST[ gValue[ index ] ] )     menu_destroy( Menu )     return PLUGIN_HANDLED }

Quand j'appelle le menu, il m'affiche seulement "Test 1", et n'a aucun effet.

Last edited by Devil259; 11-04-2011 at 08:08.
Devil259 is offline
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 11-04-2011 , 08:27   Re: Menu
#7

Tu ne vois rien de bizarre la?
PHP Code:
public Handler_Menuindex Menu item 
PHP Code:
client_printid print_chat "Test -> %s" TESTgValueindex ] ] ) 
Utilise "item" et
PHP Code:
menu_setpropMenu MPROP_EXIT MEXIT_ALL 
est la valeur par défaut, tu le peux virer.
__________________

Last edited by Kidev; 11-04-2011 at 08:29.
Kidev is offline
bboygrun
CHOMP
Join Date: May 2010
Location: France
Old 11-04-2011 , 09:08   Re: Menu
#8

Ton menu affiche un item car tu met le menu_display dans la boucle for, met le après la boucle for.
__________________

Last edited by bboygrun; 11-04-2011 at 09:10.
bboygrun is online now
Kidev
Veteran Member
Join Date: Jun 2010
Location: France
Old 11-04-2011 , 09:10   Re: Menu
#9

Quote:
Originally Posted by bboygrun View Post
Si ça affiche un item dans le menu, c'est surtout parce qu'il a mis "menu_display( index , Menu )" dans la boucle for.
En effet. Mais même avec ça rien ne s'affichera dans le chat: au début il donne "index" et il utilise "id" ...
__________________

Last edited by Kidev; 11-04-2011 at 09:11.
Kidev is offline
bboygrun
CHOMP
Join Date: May 2010
Location: France
Old 11-04-2011 , 09:10   Re: Menu
#10

Je parle de l'affichage du menu, pas du handler.
__________________
bboygrun is online now
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 19:49.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode