Szerző Téma: eINI regisztrációs rendszer  (Megtekintve 963 alkalommal)

Nem elérhető Xeon

eINI regisztrációs rendszer
« Dátum: 2015. július 15. - 12:16:38 »
0 Show voters
Üdv!
Tudna nekem valaki segíteni egy eINI-s regisztrációs rendszer készítésében? Próbáltam az y_ini-s rendszert átírni, de egyszerűen nem sikerül. Az olvasásnál meg az írásnál mindig mismatcheket kapok, vagy az argumentumok száma nem egyezik. Ahogy én látom valamelyest különbözik a YSI félétől, bár nekem kicsit átláthatatlan. Tegyük hozzá, hogy eléggé béna kezdő vagyok még. Szóval örülnék ha valaki megírná nekem az írós/olvasós részt.
Eredeti eINI-s téma: http://forum.sa-mp.com/showthread.php?t=573490
« Utoljára szerkesztve: 2015. július 21. - 12:04:02 írta Flash »

eINI regisztrációs rendszer
« Válasz #1 Dátum: 2015. július 15. - 22:05:47 »
0 Show voters
Szia!
Tudom eINI-s regisztrációs rendszert kértél, de szerintem ha még csak kezdő vagy a dini is bőven elég.
Remélem ez ugyan olyan jó lesz.
 

#include <a_samp>
#include <dini>
new PW[64];
new WPW[MAX_PLAYERS];
new iPlayerFile[128];
public OnFilterScriptInit()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
   OnPlayerConnect(i);
}
}
}
public OnFilterScriptExit()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
    OnPlayerDisconnect(i,1);
}
}
}
public OnPlayerConnect(playerid)
{
    format(iPlayerFile, sizeof(iPlayerFile), \"users/%s.ini\", pName(playerid));
    if(!dini_Exists(iPlayerFile))
{
       new Ds[256];
    format (Ds, sizeof(Ds),\"%s%s%s\",
    \"Üdvözöllek!\\n\",
    \"A szerverünkön ez a név még nincs regisztrálva! A regisztráláshoz kérlek adj meg egy jelszót!\\n\",
    \"Jó szórakozást kíván az Admin Team!\\n\");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", Ds, \"Oké\", \"Mégse\");
return 0;
    }
    else {ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");}
return 1;
}
public OnPlayerDisconnect(playerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
{
   if(!response) Kick(playerid);
        if(strlen(inputtext) < 3)
        {
            new Ds[256];
    format (Ds, sizeof(Ds),\"%s%s%s\",
    \"Üdvözöllek!\\n\",
    \"A szerverünkön ez a név még nincs regisztrálva! A regisztráláshoz kérlek adj meg egy jelszót!\\n\",
    \"Jó szórakozást kíván az Admin Team!\\n\");
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", Ds, \"Oké\", \"Mégse\");
   return 0;
}
format(iPlayerFile, sizeof(iPlayerFile), \"users/%s.ini\", pName(playerid));
if(!fexist(iPlayerFile))
{
   dini_Create(iPlayerFile);
   dini_Set(iPlayerFile, \"Jelszo\", inputtext);
   ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Kick\");
   }
}
if(dialogid == 2)
{
    if(!response) Kick(playerid);
format(iPlayerFile, sizeof(iPlayerFile), \"users/%s.ini\", pName(playerid));
format(PW, 64, \"%s\", dini_Get(iPlayerFile, \"Jelszo\"));
         if(!strcmp(inputtext, PW, false))
{
    SendClientMessage(playerid,-1,\"Sikeres bejelentkezés! Üdv újra!\");
}
         else
         {
           WPW[playerid]++;
   SendClientMessage(playerid, -1, \"Rossz jelszó!\");
   if(WPW[playerid] == 3)
          {
                Kick(playerid);
           }
   ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
}
}
return 0;
}
stock pName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}

 
Ui.: a script files mappában ne felejtsd el létrehozni a users mappát
Ui2.: ha szeretnél egy kicsit komplexebb scriptet kérni megírom (pénz/pont/ölés/halál stb mentése) de szerintem ha keresgélsz egy kicsit találsz
(http://sampforum.hu/index.php?topic=26350.0)
« Utoljára szerkesztve: 2015. július 15. - 22:18:46 írta _[G]M[K]_Sh1ft_ »

Nem elérhető Xeon

eINI regisztrációs rendszer
« Válasz #2 Dátum: 2015. július 15. - 23:00:45 »
0 Show voters
A regisztrációs rendszerrel nincs gond, meg az aINI-vel sem lenne, csak nem értem az írás és olvasás parancsot benne. Beírom a fájlt, a változót és az értékét, de nem jó.
\"INI::WriteInteger(handle,var,\"int\");\" - ezt írja a fórumon is.
Viszont ha ezt a séma alapján kitöltöm, akkor tag mismatchet meg \"number of arguments does not match definition\"-t kapok. Mi nem jó? A minta alapján dolgozok.

eINI regisztrációs rendszer
« Válasz #3 Dátum: 2015. július 15. - 23:02:42 »
0 Show voters
http://sampforum.hu/index.php?topic=3075.msg36705#msg36705
szerintem ez segíteni fog :D ha esetleg már nézted bocsi
\"INI::WriteInteger(handle,var,\"int\");\" ilyet meg még nem is láttam o.O
« Utoljára szerkesztve: 2015. július 15. - 23:05:04 írta _[G]M[K]_Sh1ft_ »

Nem elérhető whadez

  • 719
  • DEFEATER
    • Profil megtekintése
eINI regisztrációs rendszer
« Válasz #4 Dátum: 2015. július 16. - 00:50:57 »
+1 Show voters
Ne haragudj hogy egy kicsit -- OFF -- a téma, viszont szerintem teljesen fölösleges az eINI-vel két percnél többet is szenvedned, mivel ha kettő azonos rendszert egy időben akarsz futtatni, elhal alatta... (Személyes tapasztalat), és lassú mint a bűn. Jobb lenne ha inkább R39-es MYSQL-t tanulgatnál, dinamikusabb, külső szerverről dolgozik, és nem a szervered terheli, emellett olyan adatok is lekérhetőek, amik dinivel nem, maximum csak nagyon nehezen.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal