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
-
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.
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)
-
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
-
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 :
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
-
fait le switch pour responses et non listitem.
-
Problème Resolu grace à chneubeul que je remercie fortement.
Voici le Code Final pour les amateurs qui seraient bloqués comme moi.
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