public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/wep",true)==0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Catégories", "Arme de Melee\nPistolet\nMitraillette\nFusil a Pompe\nExplosif\nAutres", "Continuer", "Quitter");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)
{
if(dialogid == 1)//Si la personne choisi le dialog numero 1 (Catégories)
{
if(listitem == 0)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST,"Arme de Melee", "Couteau\n Katana\nBatte de Baseball\nPoing Américain\nPelle", "Prendre", "Retour");
}
}
if(dialogid == 2)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid,4,0);
SendClientMessage(playerid,COLOR_VERT,"Vous venez de recevoir un Couteau");
}
}
}
return 1;
}if(response)
{
if(dialogid == 1)...
}
switch(dialogid)
{
case 1(ou le nom d'un define):
{
switch(listitem)
{
}
}
}Et ainsi de suite !
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == Boite1)
{
if(response) // Response doit se trouver en dessous
{
if(listitem == 0)
{
// Un bout de code
}
if(listitem == 1)
{
// Un autre bout de code
}
}
}
if(dialogid == Boite2)
{
if(response) // Ton response encore en dessous
{
// Encore un autre bout de code
return 1;
}
}
// Et ainsi de suite ...
return 1;
}
En fait tu te dis comme ça :
Si c'est le dialogid 1 et qu'il y a une réponse, ensuite si c'est la reponse 1 faire ceci etc..
L'as tu demande au script de te donner une réponse, mais où ? Je sais pas si c'est ça qui changera le problème mais essai et dis-nous en des nouvelles
Le mieux c'est d'utiliser la fonction switch par exemple :
#define DIALOG_CATEG 1
#define DIALOG_MELEE 2