Szerző Téma: Belépés  (Megtekintve 2032 alkalommal)

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
Belépés
« Válasz #15 Dátum: 2013. november 30. - 14:40:58 »
0 Show voters
Elég egyszerû a probléma öreg. :)
A problémás rész:
 
if(strlen(inputtext) == 0) ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", S, \"Rendben\", \"Mégsem\");

 
Mégpedig, nem térsz vissza azonnal, hanem engeded, hogy lefusson a kódod...
Helyes kódrészlet:
 
if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", S, \"Rendben\", \"Mégsem\");

Nem elérhető BoOy

  • 3209
  • 2013-as év szkriptere
    • Profil megtekintése
Belépés
« Válasz #16 Dátum: 2013. november 30. - 15:21:10 »
0 Show voters
Idézetet írta: Pedró date=1385818858\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"44946\" data-ipsquote-contentclass=\"forums_Topic
Elég egyszerû a probléma öreg. :)
A problémás rész:
 
if(strlen(inputtext) == 0) ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", S, \"Rendben\", \"Mégsem\");

 
Mégpedig, nem térsz vissza azonnal, hanem engeded, hogy lefusson a kódod...
Helyes kódrészlet:
 
if(strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", S, \"Rendben\", \"Mégsem\");

 

Ugyan ezt tartalmazza a kódom is és azt írta rá hogy nemjó.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Belépés
« Válasz #17 Dátum: 2013. november 30. - 18:42:21 »
0 Show voters
Próbálhatná sima elágazásokkal, ráadásul újraírva az egészet, és ha úgy sem jó, akkor máshol van a hiba. De ha egy ilyen egyszerû dolgot nem tud megoldsni, tanulnia kéne még egy kicsit a nyelvet...Ugyanis ha máshol van a hiba, magától szerintem nem fogja megtalálni. :whistle:

Nem elérhető ROOCK

  • 183
    • Profil megtekintése
Belépés
« Válasz #18 Dátum: 2013. december 01. - 11:13:49 »
0 Show voters
tess itt egy komlett regisztráció és ez kicsit egyszerübb is mint amit te irtál
 
#include 
#include
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
#define PATH \"/Users/%s.ini\"
#define COL_WHITE \"{FFFFFF}\"
#define COL_RED \"{F81414}\"
#define COL_GREEN \"{00FF22}\"
#define COL_LIGHTBLUE \"{00CED1}\"
enum pInfo
{
   pPass,
}
new PlayerInfo[MAX_PLAYERS][pInfo];
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
   new INI:File = INI_Open(UserPath(playerid));
   INI_Int(\"Password\",PlayerInfo[playerid][pPass]);
//ide ird a betöltendõ cuccokat
   INI_Close(File);
   return 1;
}
public OnPlayerConnect(playerid)
{
   if(fexist(UserPath(playerid)))
   {
   INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
   ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"Írd be a jelszód a belépéshez\",\"Belép\",\"Bezár\");
   }else{
   ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,\"\"COL_WHITE\"Regisztráció...\",\"\"COL_WHITE\"Ird be a jelszavad az új acountért.\",\"Register\",\"Quit\");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
   new INI:File = INI_Open(UserPath(playerid));
   INI_SetTag(File,\"data\");
//ide
   INI_Close(File);
   return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   switch( dialogid )
   {
       case DIALOG_REGISTER:
       {
           if (!response) return Kick(playerid);
           if(response)
           {
               if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, \"\"COL_WHITE\"Regisztráció...\",\"\"COL_RED\"Rossz jelszót adtál meg.\\n\"COL_WHITE\"Ird be a jelszavad az új acountért.\",\"Register\",\"Quit\");
               new INI:File = INI_Open(UserPath(playerid));
            INI_SetTag(File,\"data\");
       INI_WriteInt(File,\"Password\",udb_hash(inputtext));
            //ide tedd amit akarsz reginél
       INI_Close(File);
               ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,\"\"COL_WHITE\"Zsir!\",\"\"COL_GREEN\"Késza cucmód jáccá.(Isten is jó cucmó!)\",\"Ok\",\"\");
           }
       }
case DIALOG_LOGIN:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])//Ha a beírt jelszó egyezik a fájlban tároltéval.
                {
                    INI_ParseFile(UserPath(playerid), \"LoadUser_%s\", .bExtra = true, .extra = playerid);
                }
                else //ha nem egyezik a jelszó
                {
                    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,\"Bejelentkezés\",\"Helytelen jelszó.\\nÍrd be a jelszód a belépéshez.\",\"Belép\",\"Bezár\");
                }
                return 1;
            }
        }
    }
return 1;
}
stock UserPath(playerid)
{
   new string[128],playername[MAX_PLAYER_NAME];
   GetPlayerName(playerid,playername,sizeof(playername));
   format(string,sizeof(string),PATH,playername);
   return string;
}
/*Credits to Dracoblue*/
stock udb_hash(buf[]) {
   new length=strlen(buf);
   new s1 = 1;
   new s2 = 0;
   new n;
   for (n=0; n    {
      s1 = (s1 + buf[n]) % 65521;
      s2 = (s2 + s1)     % 65521;
   }
   return (s2 << 16) + s1;
}

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal