Szerző Téma: Regisztráció és mentés  (Megtekintve 785 alkalommal)

Regisztráció és mentés
« Dátum: 2012. november 16. - 16:43:30 »
0 Show voters
Sziasztok annó mikor elkezdtem írni a modomat itt találtam ezt a reg rendszert. Azonban szeretném tovább fejleszeti, hogy mentsen pénzt és pontot. Tudnátok ebben nekem segíteni, hogy hogyan kell megoldani? Elõre is köszönöm! :)
 

new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!fexist(File))
        {
            ShowPlayerDialog(playerid,DIALOG_REGISZTRACIO, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
        }
        else
        {
            ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
        }
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISZTRACIO)
{
   if(!response) Kick(playerid);
   if(strlen(inputtext) == 0)
         {
            ShowPlayerDialog(playerid,DIALOG_REGISZTRACIO, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
            return 0;
         }
   format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
   if(!fexist(File))
         {
            dini_Create(File);
            dini_Set(File, \"Pasword\", inputtext);
            ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
         }
}
if(dialogid == DIALOG_BELEPES)
{
format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
if(!response)
   {
      Kick(playerid);
   }
format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
if(!strcmp(inputtext, PW, false))
      {
         SendClientMessage(playerid, NARANCS, \"Sikeres belépés!\");
      }
      else
      {
WPW[playerid] ++;
SendClientMessage(playerid, PIROS, \"Rossz jelszó!\");
if(WPW[playerid] == 3)
   {
      Kick(playerid);
   }
ShowPlayerDialog(playerid,DIALOG_BELEPES, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad\", \"Oké\", \"Mégse\");
   }
}
stock Nev(playerid)
{
        new Neve[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Neve, sizeof(Neve));
        return Neve;
}

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Regisztráció és mentés
« Válasz #1 Dátum: 2012. november 16. - 17:09:23 »
+1 Show voters
saját munka: http://sampforum.hu/index.php?topic=27568.0 :D Sokat fog segíteni neked :)

Regisztráció és mentés
« Válasz #2 Dátum: 2012. november 16. - 19:21:41 »
0 Show voters
Átirtam többféle képpen de nem megy! Azt már sikerült elérnem, hogy xyz.ini be beírja, hogy pont=0 penz=0

Dupla hozzászólás automatikusan összefûzve. ( 2012. november 17. - 06:23:08 )

Tud valaki segíteni? Mert nem megy nem menti le a pénzt csak beírjra az inibe a pontot meg a pénzt, ennyire tudtam rájönni.
« Utoljára szerkesztve: 2012. november 17. - 06:23:08 írta justrics »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Regisztráció és mentés
« Válasz #3 Dátum: 2012. november 17. - 09:27:06 »
0 Show voters
be kéne másoljad az egész regisztráció rendszered mert ami fent van az nem a tejes..  ::|

Regisztráció és mentés
« Válasz #4 Dátum: 2012. november 17. - 14:22:48 »
0 Show voters
Rendben összeszedtem az egészet! Itt találtam egyébként a fórumon AmF készítette. Ezt így tettem annó a modomba, mert akkor még nem értettem ezekhez a dolgokhoz, bevallom most sem megy könnyen még. :D
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
        if(!fexist(File))
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
        }
        else
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
        }
       
        return 1;
       
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 1)
        {
                if(!response) Kick(playerid);
               
                        if(strlen(inputtext) == 0)
                        {
                                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
                                return 0;
                        }
                        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
                        if(!fexist(File))
                        {
                                dini_Create(File);
                               
                                dini_Set(File, \"Pasword\", inputtext);
                                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
                        }
        }
       
        if(dialogid == 2)
        {
                        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
                if(!response)
                        {
                                Kick(playerid);
                        }
                        format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
                        if(!strcmp(inputtext, PW, false))
                        {
                            SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
                        }
                        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 1;
}
stock Nev(playerid)
{
        new Neve[MAX_PLAYER_NAME];
       
        GetPlayerName(playerid, Neve, sizeof(Neve));
       
        return Neve;
}

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Regisztráció és mentés
« Válasz #5 Dátum: 2012. november 17. - 14:40:43 »
+1 Show voters
Tessék benne van a pont mentés és a pénz mentés + az alap regisztráció is.. :) Igen hozzál létre a scriptfiles mappában egy User mappát majd abba az User mappába hozzál létre egy Pont és egy Penz mappát.
 

#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <Dini>
#pragma tabsize 0
new nev[MAX_PLAYER_NAME];
new penz[100];
new Pont[100];
new File[128];
new PW[64];
new WPW[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
        if(!fexist(File))
        {
            ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Oké\", \"Mégse\");
        }
        else
        {
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad!\", \"Rendben\", \"Mégse\");
        }
       
        GetPlayerName(playerid, nev, sizeof(nev));
        format(penz, sizeof(penz), \"/User/Pont/%s.ini\",nev);
        if(!dini_Exists(penz)) {
        dini_Create(penz);
        dini_IntSet(penz, \"Score\", 0);
        GivePlayerMoney(playerid, dini_Int(penz, \"Pénz\"));
        }
        else
        {
        GivePlayerMoney(playerid, dini_Int(penz, \"Pénz\"));
        }
       
        GetPlayerName(playerid, nev, sizeof(nev));
        format(Pont, sizeof(Pont), \"/User/Penz/%s.ini\",nev);
        if(!dini_Exists(Pont)) {
        dini_Create(Pont);
        dini_IntSet(Pont, \"Score\", 0);
        SetPlayerScore(playerid, dini_Int(Pont, \"Score\"));
        }
        else
       {
        SetPlayerScore(playerid, dini_Int(Pont, \"Score\"));
        }
        return 1;
}
public OnPlayerDisconnect ( playerid )
{
GetPlayerName(playerid, nev, sizeof(nev));
    format(Pont, sizeof(Pont), \"/User/Penz/%s.ini\",nev);
    if(!dini_Exists(Pont)) {
    }
    else
{
    dini_IntSet(Pont, \"Score\", GetPlayerScore(playerid));
}
GetPlayerName(playerid, nev, sizeof(nev));
format(penz, sizeof(penz), \"/User/Pont/%s.ini\",nev);
    if(!dini_Exists(penz)) {
    }
    else
{
    dini_IntSet(penz, \"Score\", GetPlayerMoney(playerid));
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == 1)
        {
                if(!response) Kick(playerid);
                        if(strlen(inputtext) == 0)
                        {
                                ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, \"Regisztráció\", \"Írj be egy tetszõleges jelszót!\", \"Rendben\", \"Mégsem\");
                                return 0;
                        }
                        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
                        if(!fexist(File))
                        {
                                dini_Create(File);
                                dini_Set(File, \"Pasword\", inputtext);
                                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, \"Belépés\", \"Írd be a jelszavad.\", \"Rendben\", \"Mégsem\");
                        }
        }
        if(dialogid == 2)
        {
                        format(File, sizeof(File), \"User/%s.ini\", Nev(playerid));
                if(!response)
                        {
                                Kick(playerid);
                        }
                        format(PW, 64, \"%s\", dini_Get(File, \"Pasword\"));
                        if(!strcmp(inputtext, PW, false))
                        {
                            SendClientMessage(playerid, -1, \"Sikeres belépés! Nyomj a \'SPAWN\' gombra!\");
                        }
                        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 1;
}
stock Nev(playerid)
{
        new Neve[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Neve, sizeof(Neve));
        return Neve;
}

Regisztráció és mentés
« Válasz #6 Dátum: 2012. november 17. - 15:36:55 »
0 Show voters
Köszönöm szépen. Úgy nem tudnád megcsinálni, hogy mikor a user mappában létrehoz egy felhasználót akkor abba írja bele pontot? Mert azt sikerült megoldanom hogy beleírja a pontot meg a pénzt de azt nem sikerült, hogy mikor pénzt és pontot szerez és kilép akkor az ini-t felülírja. :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal