• 04 Mai 2025, 03:10:49


Auteur Sujet: LePtitClown : différentes questions  (Lu 23081 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : LePtitClown : différentes questions
« Réponse #195 le: 01 Mai 2010, 11:40:25 »
Ah j'avais pas pensé au bouton suite merci

EDIT: J'ai réussi mais je trouve que la structure n'est pas très optimisé:
if (strcmp("/aide", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX ,"Menu Aide par LePtitClown","blabla","Suite","Annuler");
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 3 && response)
{
ShowPlayerDialog(playerid,4,DIALOG_STYLE_MSGBOX,"Objectif du Serveur","blabla","Suite","Annuler");
return 1;
}
if(dialogid == 4 && response)
{
ShowPlayerDialog(playerid,5,DIALOG_STYLE_MSGBOX,"Termes à connaitre","blabla","Suite","Annuler");
return 1;
}
if(dialogid == 5 && response)
{
ShowPlayerDialog(playerid,6,DIALOG_STYLE_MSGBOX,"Termes à connaitre (suite)","blabla","Suite","Annuler");
return 1;
}
if(dialogid == 6 && response)
{
ShowPlayerDialog(playerid,7,DIALOG_STYLE_MSGBOX,"Commandes du serveur","blabla","Suite","Annuler");
return 1;
}
if(dialogid == 7 && response)
{
ShowPlayerDialog(playerid,8,DIALOG_STYLE_MSGBOX,"Partie crédits","blabla","Valider","Annuler");
return 1;
}
return 0;
}

Si vous savez comment faire plus simple je suis partant bien que ce code marche très bien mais peut être un peu trop compliqué pour rien

A+ ;)
« Modifié: 01 Mai 2010, 12:25:54 par LePtitClown »

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : LePtitClown : différentes questions
« Réponse #196 le: 01 Mai 2010, 12:42:04 »
C'est vrai que c'est déjà plus claire :D
Mais je suis obligé de donner une id différentes à toutes mes boites de dialogue ?

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : LePtitClown : différentes questions
« Réponse #197 le: 01 Mai 2010, 14:51:18 »
en gros sa sert a a identifier le tableau a afficher donc oui sa sert meme en pratique
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 LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : LePtitClown : différentes questions
« Réponse #198 le: 01 Mai 2010, 16:49:07 »
C'est ce que je pensais pas très util mais obligatoire
Merci pour votre aide ;)

A+

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Re : LePtitClown : différentes questions
« Réponse #199 le: 01 Mai 2010, 22:58:10 »
C'est ce que je pensais pas très util mais obligatoire
Au contraire, très utile mais pas obligatoire, surtout dans ton cas où chaque boite de dialogue permet d'ouvrir la suivante.
Si toutes tes boites ont le même ID, tu pourras pas faire la différence entre la réponse à la boite sur les crédits et la réponse à la boite sur commandes par exemple.

Sur Lalu's Stunt, toutes les boites de dialogue dans lesquelles le joueur peut interagir ont un ID qui leur est propre.
Les boites de dialogues qui ne servent qu'à l'affichage d'information ont, par contre, toutes le même ID (car aucun traitement particulier n'est fait pour ces boites là).

++
Syg
Courtesy of GtaManiac

Hors ligne LePtitClown

  • [M2R]LePtitClown
  • *
  • Bandit
  • Messages: 342
    • Voir le profil
Re : LePtitClown : différentes questions
« Réponse #200 le: 28 Avril 2012, 15:51:48 »
Slt

Désolé de revenir vous voir ici, mais j'ai un grave problème de doubles comptes. Le sujet du post 11 ne marche hélas pas du tout, je viens donc demander votre aide. L'objectif est de stopper les multi comptes. Je n'arrive pas à faire ce système correctement

//au moment du login
saveip(playerid)// on sauvegarder toutes les IP
{
    new tmp[64], tmpp[32];
    GetPlayerIp(playerid, tmpp, 32);
    
    new IP[50];
    new File:file = fopen("fichier.txt", io_append);//io_append permet de se placer à la fin du fichier afin d'ajouter des choses à la suite
    while(fread(file, tmpp, 32))
    {
   if(!strcmp(IP, tmpp, false, 16))
   {
   format(tmp, sizeof(tmp), "%s\r\n",tmpp);//donc on format les informations à entre
   fwrite(file, tmp);
   fclose(file);
}
}
fclose(file);

}


//Au moment de l'enregistrement
verifip(playerid)// On vérifie si cette IP est présente dans le fichier texte
{
if(fexist("fichier.txt"))
{
   new File:file = fopen("fichier.txt", io_read);
   new IP[50];
   if(file)
   {
       new tmpp[32];//un IP par ligne, pas besoin d'un string long (serait mieux de mettre 128 au cas où...)
       while(fread(file, tmpp, 32))
       {
           if(strcmp(IP, tmpp, false, 16))
           {
               fclose(file);
               ERRORMSG("Ip déjà enregistré, tu ne peux donc pas créer de nouveau compte");
           }
       }
       fclose(file);
   }
}
}

A+ ;)