• 06 Juin 2026, 00:02:41


Auteur Sujet: [TUTO]ShowPlayerDialog  (Lu 4045 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Barto

  • Aiiiiiiirght
  • *
  • GTAOnline Addict
  • Messages: 4205
    • Voir le profil
[TUTO]ShowPlayerDialog
« le: 16 Juin 2010, 23:26:11 »
Créer des dialogues menu avec une action.

Présentation.

Tout d'abord, nous allons voir la différence entre les trois sortes de dialogue menu.
Voici les trois sortes de dialogue :

   • DIALOG_STYLE_MSGBOX
   • DIALOG_STYLE_LIST
   • DIALOG_STYLE_INPUT

Le MSGBOX est à utiliser pour un message d'accueil etc. Exemple : Bienvenue sur mon serveur !!
Le LIST sert à établir une liste (utile pour les téléportations)
Le INPUT est l'endroit où vous devez écrire quelques chose avant d'appuyer sur le bouton (système de register/login)

Le ShowPlayerDialog se présente ainsi :

ShowPlayerDialog(playerid, dialogid, dialogstyle, "titre", "message", "bouton1", "bouton2");
Voyons à quoi correspond chaque critère :

   • playerid : La personne qui va voir le ShowPlayerDialog.
   • dialogid : Ici on met un chiffre ou un mot, exemple : 1. C'est utile pour ensuite se servir de OnDialogResponse.
   • dialogstyle : On les a vu tout à l'heure, c'est : DIALOG_STYLE_MSGBOX, DIALOG_STYLE_LIST et DIALOG_STYLE_INPUT.
   • titre : C'est là où vous mettrez votre titre.
   • message : C'est ici que vous placerez votre message.
   • bouton1 : En général c'est : Continuer.
   • bouton2 : En général c'est : Quitter.

Dans votre message, utilisez \n pour revenir à la ligne et \t pour effectuer une tabulation.

Créer un message lors de la connexion d'un joueur.

Nous allons créer un message lors de la connexion du joueur. Il accepte, il entre sur le serveur et si il refuse, il est kické.

Dans la callback OnPlayerConnect, nous ajoutons :

public OnPlayerConnect(playerid)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Bienvenue", "Bienvenue sur mon serveur !", "Continuer", "Quitter");
return 1;
}

Dans OnDialogResponse nous ajoutons ceci :

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1) //On prend l'id du dialog que l'on a créé juste avant
{
if(response)
{
   SendClientMessage(playerid,0x008000FF, "Bon jeu sur mon serveur"); //Le joueur a cliqué sur "Continuer"
}
else
{
   SendClientMessage(playerid, 0xFF0000FF, "Tu as choisi 'Quitter' donc au revoir :)");
   Kick(playerid); //On kick le joueur
}
return 1;
}
return 0;
}

Créer une commande pour voir les commandes du serveur.

Dans le exemple précédent, nous avons utilisé le DIALOG_STYLE_MSGBOX. Nous allons maintenant utiliser le DIALOG_STYLE_LIST.
Ca fonctionne comme le MSGBOX. Voici un exemple :

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/cmd", true) == 0)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "Menu des commandes", "Kill : Cela vous tue \n Armure : Cela vous donne une armure", "Ok", "Ok");
return 1;
}
return 0;
}

Dans le OnDialogResponse :

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 2)
{
if(response)
{

if(listitem == 0) //Le joueur clique sur la première ligne.
{
SetPlayerHealth(playerid, 0);

  }
if(listitem == 1)//Le joueur clique sur la deuxième ligne.
{
   SetPlayerArmour(playerid, 100.0);
   return 1;
   }
}
}
return 0;
}

Pour le DIALOG_STYLE_INPUT je ne le connais aps encore, je bais l'étudier et j'éditerais mon tuto si j'arrive à bien l'expliquer.
« Modifié: 17 Juin 2010, 14:00:12 par Barto »
Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.

Gifs interdit dans les avatars/signs

Hors ligne scott1

  • *
  • Gangster
  • Messages: 1440
    • Voir le profil
Re : [TUTO]SowPlayerDialog
« Réponse #1 le: 17 Juin 2010, 00:55:45 »
GG

ps: pour la connexion il y a déjà celui de cristab
Refait un Game mode a partir d'une page blanche



Mes partages:

Systeme de Radio avec Frequence Création

Ajouter des véhicule dans le LARP - Godfather Tuto

Anti Cheat "JunkBuster" traduit en FR Traduction

LARP Traduit FR, V0.3 Traduction

Hors ligne Barto

  • Aiiiiiiirght
  • *
  • GTAOnline Addict
  • Messages: 4205
    • Voir le profil
Re : Re : [TUTO]SowPlayerDialog
« Réponse #2 le: 17 Juin 2010, 08:22:03 »
GG

ps: pour la connexion il y a déjà celui de cristab

Merci.
Oui je sais qu'il y a déjà un tuto mais il n'explique pas vraiment le INPUT. Il explique juste comment ajouter un tableau login. M'enfin, je l'ajouterai quand même, on au moins on aura les 3 sortes de dialog su le même tuto.
Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.

Gifs interdit dans les avatars/signs

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [TUTO]SowPlayerDialog
« Réponse #3 le: 17 Juin 2010, 13:31:16 »
pour celui de la connexion le mien ne fait que reprendre le onplayertext une façon simple est rapide pour un debutant de mettre sont systeme de login a jour le sien explique bien plus

pour le DIALOG_STYLE_INPUT moi je m'en sert a la place du strtok desormer dans certain cmd ^^
pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [TUTO]SowPlayerDialog
« Réponse #4 le: 17 Juin 2010, 13:35:04 »
GG pour le tuto ( je ne l'ai pas lu désolé )

Mais ta fait une petite faute sur le titre ^^

SowPlayerDialog -> ShowPlayerDialog



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Barto

  • Aiiiiiiirght
  • *
  • GTAOnline Addict
  • Messages: 4205
    • Voir le profil
Re : Re : [TUTO]SowPlayerDialog
« Réponse #5 le: 17 Juin 2010, 14:00:28 »
GG pour le tuto ( je ne l'ai pas lu désolé )

Mais ta fait une petite faute sur le titre ^^

SowPlayerDialog -> ShowPlayerDialog

Voilà c'est rectifié  :P
Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.

Gifs interdit dans les avatars/signs

Hors ligne Tranced

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : [TUTO]ShowPlayerDialog
« Réponse #6 le: 29 Juin 2010, 15:55:08 »
Bonjour ! :king

Il me met des erreurs lorsque je compile.

Citer
C:\Documents and Settings\Sam\Bureau\SERVER SAMP\gamemodes\grandlarc.pwn(112) : error 010: invalid function or declaration
C:\Documents and Settings\Sam\Bureau\SERVER SAMP\gamemodes\grandlarc.pwn(95) : error 017: undefined symbol "ShowPlayerDialog"

Cela ne fait pas la première fois que je tente de faire avec 'ShowPlayerDialog'.
Je ne trouve pas.

Je débute dans le script,j'essaye de comprendre...J'essaye  ;)



Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Re : [TUTO]ShowPlayerDialog
« Réponse #7 le: 29 Juin 2010, 16:13:04 »
Bonjour ! :king

Il me met des erreurs lorsque je compile.

Citer
C:\Documents and Settings\Sam\Bureau\SERVER SAMP\gamemodes\grandlarc.pwn(112) : error 010: invalid function or declaration
C:\Documents and Settings\Sam\Bureau\SERVER SAMP\gamemodes\grandlarc.pwn(95) : error 017: undefined symbol "ShowPlayerDialog"

Cela ne fait pas la première fois que je tente de faire avec 'ShowPlayerDialog'.
Je ne trouve pas.

Je débute dans le script,j'essaye de comprendre...J'essaye  ;)




T'es sur de bien avoir les headers (includes) de samp 0.3a R7/R8 ?

Sinon montre nous la ligne de code, mais essai de voir la première solution, car ça doit être la bonne lol



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Tranced

  • *
  • Criminel
  • Messages: 32
    • Voir le profil
Re : [TUTO]ShowPlayerDialog
« Réponse #8 le: 29 Juin 2010, 17:53:56 »
C'est bon je n'ai plus d'erreurs ! (J'ai télécharger la nouvelle version de SAMP)
Autre problème,quand je me connecte sa ne s'affiche pas.

Le 'OnPlayerConnect' y est mais je l'ai pas ajouter dans le 'code' si dessous.  ;)

ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Bienvenue", "Bienvenue sur mon serveur !", "Continuer", "Quitter");
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[0])
{
if(dialogid == 1) //On prend l'id du dialog que l'on a créé juste avant
{
if(response)
{
   SendClientMessage(playerid,0x008000FF, "Bon jeux!"); //Le joueur a cliqué sur "Continuer"
}
else
{
   SendClientMessage(playerid, 0xFF0000FF, "Vous avez refuser les conditions,vous avez été KICK par le server.");
   Kick(playerid); //On kick le joueur
}
return 1;
}
return 0;

}

Problème RESOLU,et en plus de sa j'ai compris le système du 'ShowPlayerDialog' merci de ton aide Sasuke. :cheers
« Modifié: 29 Juin 2010, 18:06:40 par Tranced »