GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Julien80310 le 24 Juillet 2012, 11:45:49

Titre: [RESOLU]Probleme " Retour " sur ma Boite de Dialogue
Posté par: Julien80310 le 24 Juillet 2012, 11:45:49
Bonjour à tous ,
Actuellement entrain de m'amuser a créer une commande retour en Dialogue , j'ai un petit probleme
Je souhaiterai faire une Boite de Dialogue avec un systeme pour que lorsqu'on consulte les " Commandes Generales " , a la fin on a le bouton 1 qui est " Fermer " (response) et le bouton 2 qui est " Retour " (!response).

Mon bout de script sera plus parlant que mes 3 lignes.

Code: (pawno) [Sélectionner]
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == AIDE)
{
if(response){
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, GENERAL, DIALOG_STYLE_MSGBOX, "Commandes Generales", "A VENIR", "Fermer", "Retour");
}
case 1:
{
ShowPlayerDialog(playerid, BANQUE, DIALOG_STYLE_MSGBOX, "Commandes Banque", "A VENIR", "Fermer", "Retour");
}
case 2:
{
ShowPlayerDialog(playerid, JOB, DIALOG_STYLE_MSGBOX, "Commandes Job", "A VENIR", "Fermer", "Retour");
}
case 3:
{
ShowPlayerDialog(playerid, FACTION, DIALOG_STYLE_MSGBOX, "Commandes Faction", "A VENIR", "Fermer", "Retour");
   }
}
}
}
return 1;
}

Pour info : La boite de dialogue fonctionne seul le retour ne fonctionne pas et je ne sais pas comment faire.
J'ai tenté de chercher sur le forum et sur le Wiki , mais je ne suis pas eclairé

Encore desolé de vous deranger :$


Bonne journée à vous.


EDIT : Pour les personnes qui prefereraient PasteBin : http://pastebin.fr/23688 (http://pastebin.fr/23688)
Titre: Re : Probleme " Retour " sur ma Boite de Dialogue
Posté par: chneubeul le 24 Juillet 2012, 12:06:29
Salut :)

Je vais t'aider par cette phrase :

"Lorsque OnDialogResponse est appelé et (que dialogid = GENERAL ET que response = 0) alors on affiche la boite de dialogue aide"

Cette phrase marche que pour ta premiere boite pour les autres tu remplace par banque, job et faction :)
Il y a un moyen de combiner le tout, mais je t'expliquerais quand tu aurais déjà compris ça :p

A+, Sam.
 :cheers
Titre: Re : Probleme " Retour " sur ma Boite de Dialogue
Posté par: Julien80310 le 24 Juillet 2012, 12:21:26
Merci de ta réponse aussi rapide.
J'ai écouté ce que tu as dis , mais je dois vraiment être à coté
Voici ce que j'ai fait à la suite de ta réponse :

Code: (pawno) [Sélectionner]
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == AIDE)
{
if(response){
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, GENERAL, DIALOG_STYLE_MSGBOX, "Commandes Generales", "A VENIR", "Fermer", "Retour");
    {
                                        if(!response)
if(dialogid == GENERAL)
ShowPlayerDialog(playerid, AIDE, DIALOG_STYLE_LIST, SERVER_NAME, "Commandes Générales\nCommandes Banque\nCommandes Job\nCommandes Factions", "Suivant", "Annuler");
}
}

Merci d'avance
Titre: Re : Probleme " Retour " sur ma Boite de Dialogue
Posté par: Ashley11 le 24 Juillet 2012, 12:54:43
fait le switch pour responses et non listitem.
Titre: Re : Probleme " Retour " sur ma Boite de Dialogue
Posté par: Julien80310 le 24 Juillet 2012, 13:32:19
Problème Resolu grace à chneubeul que je remercie fortement.

Voici le Code Final pour les amateurs qui seraient bloqués comme moi.

Code: (pawno) [Sélectionner]
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
if(dialogid == AIDE)
{
if(response){
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, GENERAL, DIALOG_STYLE_MSGBOX, "Commandes Generales", "A VENIR", "Fermer", "Retour");
   }
case 1:
{
ShowPlayerDialog(playerid, BANQUE, DIALOG_STYLE_MSGBOX, "Commandes Banque", "A VENIR", "Fermer", "Retour");
}
case 2:
{
ShowPlayerDialog(playerid, JOB, DIALOG_STYLE_MSGBOX, "Commandes Job", "A VENIR", "Fermer", "Retour");
}
case 3:
{
ShowPlayerDialog(playerid, FACTION, DIALOG_STYLE_MSGBOX, "Commandes Faction", "A VENIR", "Fermer", "Retour");
}
}
}
}
if(dialogid == GENERAL|| dialogid == BANQUE|| dialogid == JOB || dialogid == FACTION )
{
if(!response) {
ShowPlayerDialog(playerid, AIDE, DIALOG_STYLE_LIST, SERVER_NAME, "Commandes Générales\nCommandes Banque\nCommandes Job\nCommandes Factions", "Suivant", "Annuler");
}
}
return 1;
}

Je te remercie également Ashley pour ta Réponse , je vais essayer immediatement voir si ça fonctionne aussi ta solution !

EDIT : Apres Essai , ça ne fonctionne pas

En vous souhaitant une agréable journée


Julien