GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: snikers le 16 Novembre 2011, 17:30:25

Titre: J'ai bessoins d'aide (espace fail aidez moi)
Posté par: snikers le 16 Novembre 2011, 17:30:25
Bonjour tous le monde j'utilise un gamemode + bdd (base de donnée) "SQL"

les membres peuvent se connecter sur mon serveur (boite de dialogue) il font simplement espace. on se fait attaquer tous les jours, on tourne a 35 membres, on va finir par perdre du monde. je vous le demande en toute amitier si vous pouvez m'aidez faite le s'il vous plait l'avenir de ma communautés est en jeux, je suis sur le point de tous perdre des mois de travaille, de l'argent est autre  :(

Citer
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(IsPlayerConnected(playerid))
    {
        new tmpPass[64],tmp[64],idx;
        idx = 0;
        if(dialogid == 1) // 1 // Boite de dialogue de l'indetification
      {
        if(!response)
            {SendClientMessage(playerid, COLOR_USAGE, "[Info] Utiliser \"/q\" pour quitter."); Kick(playerid); return 1;} // Le joueur annule

      if(strlen(inputtext) == 0) // par default : == 0
            {ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Mot de passe erroné","Entrez votre mot de passe","Valider","Quitter"); return 1;}

            tmp = strtok(inputtext, idx);
            strmid(tmpPass, tmp, 0, strlen(inputtext), 255);
         OnPlayerLogin(playerid,tmpPass);
         return 1;
      }
      if(dialogid == 2) // 2 // Boite de dialogue de l'indetification si il a raté la 1ere fois
      {
          if(!response)
            { SendClientMessage(playerid, COLOR_USAGE, "[Info] Utiliser \"/q\" pour quitter."); Kick(playerid); return 1;} // Le joueur annule



       if(strlen(inputtext) == 0)// par default : == 0
            {ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Mot de passe erroné","Entrez votre mot de passe","Valider","Quitter"); return 1;}

            tmp = strtok(inputtext, idx);
            strmid(tmpPass, tmp, 0, strlen(inputtext), 255);
         OnPlayerLogin(playerid,tmpPass);
         return 1;
      }
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: Xolokos le 16 Novembre 2011, 17:36:26
       if(20 < strlen(inputtext) || strlen(inputtext) < 5 )
{
SendClientMessage(playerid, TACOULEUR, "Mauvais mot de passe.");
return Entry(playerid);
}
Pour vérifier si le mot de passe fait + de 5 caractères et - de 20.

Sinon :
strfind(inputtext, " ", true) return Kick(playerid);je ne suis pas sur que ça marche ?
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: snikers le 16 Novembre 2011, 17:42:56
le problème ses que si je mais sa

Citer
strfind(inputtext, " ", true) return Kick(playerid);

quand la personne fait entrer elle rentre  :-X

Double post
La premier solution ne marche pas  :(
merci quand meme de votre aide
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: Xartrick le 16 Novembre 2011, 20:49:24
Tu utilise tout un tas de fonction inutile, et en plus, tu les utilises mal !
Voici un skeleton d'un système de connexion, reste plus qu'à le modifier pour ton système.


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch (dialogid)
    {
        case 0: // Dialog Type: DIALOG_STYLE_INPUT
        {
            if (response)
                printf("Mot de passe indiqué: %s\n", inputtext);
            else
                printf("Fenêtre fermé !\n");
        }
    }
   
    return 1;
}
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: spiirou le 17 Novembre 2011, 10:22:29
Dans l'include ZCMD on a le raccourci de fonction isnull, ça pourrait t’être utile

#if !defined isnull
#define isnull(%1) \
((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: angelrider le 24 Décembre 2011, 16:56:41
Comme l'a dit Xolocos

tu remplace les

if ... strlen .....
du login par sa

if(20 < strlen(inputtext) || strlen(inputtext) < 5 )
Titre: Re : J'ai bessoins d'aide (espace fail aidez moi)
Posté par: Ssk le 26 Décembre 2011, 20:46:13
Salut snikers je te prierai d'aller lire les règles de cette section du forum disponible à cette adresse http://www.gtaonline.fr/forums/index.php/topic,12060.0.html (http://www.gtaonline.fr/forums/index.php/topic,12060.0.html)


(En gros change le titre de ton post pour un titre qui fait comprendre le problème et stop les doubles post)