Szerző Téma: dini - nem ment  (Megtekintve 896 alkalommal)

dini - nem ment
« Dátum: 2012. május 03. - 20:48:13 »
0 Show voters
Üdv!
A problémám megint elöjött, mégpedig, hogy van egy login/register rendszerem és nem menti el, csak a jelszót, de se a pénzt, se a pontot, se semmit. Megpróbáltam dfile-val is ugya úgy letudtam compileolni hibátlanul, de ugyan az történt.
Részek:
OnPlayerConnect:
 
new PlayerInfo[68];
GetPlayerName(playerid, pName,sizeof (pName));
format(PlayerInfo, sizeof(PlayerInfo),\"/Players/%s.txt\",pName);
if(dini_Exists(PlayerInfo))
{
ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT,\"Login\",\"A fiókod regisztrálva van adj meg a jelszavad!\",\"Login\",\"Kilép\");
}
else
{
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT,\"Regisztráció\",\"A fiókód nincs regisztrálva, kérlek adj meg egy jelszót\",\"Regist\",\"Kilép\");
}
return 1;

 
OnPlayerDisconnect:
 
if(GetPVarInt(playerid,\"Kijelentkezés\")==1)
{
    SavePlayer(playerid);
}
return 1;

 
OnDialogResponse:
 
if(dialogid == 4)
{
    if(response==0)
    {
        SendClientMessage(playerid, RED, \"A játékhoz bekell lépned, kickeltünk!\");
        Kick(playerid);
   return 1;
    }
    if(response==1)
    {
   if(!strlen(inputtext))
   {
       SendClientMessage(playerid, RED, \"Nem adtál meg jelszót, kérlek írd be a jelszavad\");
       ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT,\"Regisztráció\",\"A fiókód nincs regisztrálva, kérlek adj meg egy jelszót\",\"Regist\",\"Kilép\");
       return 1;
   }
   else
   {
       Regist(playerid, inputtext);
       return 1;
   }
}
    return 1;
}
if(dialogid == 5)
{
    if(response==0)
    {
        SendClientMessage(playerid, RED, \"A játékhoz bekell lépned, kickeltünk!\");
        Kick(playerid);
   return 1;
    }
    if(response==1)
    {
   if(!strlen(inputtext))
   {
       SendClientMessage(playerid, RED, \"Nem adtál meg jelszót, kérlek írd be a jelszavad\");
       ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT,\"Login\",\"A fiókod regisztrálva van adj meg a jelszavad!\",\"Login\",\"Kilép\");
       return 1;
   }
   else
   {
       Login(playerid, inputtext);
       return 1;
   }
}
}
return 1;

 
Függvények:
 
stock Login(playerid, key[])
{
new PlayerInfo[64];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerInfo, sizeof(PlayerInfo),\"/Players/%s.txt\",pName);
if(!strcmp(key,dini_Get(PlayerInfo,\"Jelszó\"),false))
{
    LoadPlayer(playerid);
    SendClientMessage(playerid, GREEN,\"Sikeresen bejelentkeztél\");
    return 1;
}
else
{
    SendClientMessage(playerid, RED,\"Rossz jelszót adtál meg\");
    ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT,\"Login\",\"A fiókod regisztrálva van adj meg a jelszavad!\",\"Login\",\"Kilép\");
    return 1;
}
}
stock Regist(playerid, key[])
{
new PlayerInfo[64];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof (pName));
format(PlayerInfo,sizeof(PlayerInfo),\"/Players/%s.txt\",pName);
dini_Create(PlayerInfo);
dini_Set(PlayerInfo,\"Jelszó\",key);
dini_IntSet(PlayerInfo,\"Pont\", 0);
dini_IntSet(PlayerInfo,\"Pénz\", 0);
dini_IntSet(PlayerInfo,\"Admin\", 0);
dini_IntSet(PlayerInfo,\"Rules\", 0);
dini_IntSet(PlayerInfo,\"Banned\", 0);
SetPlayerScore(playerid, 0);
SendClientMessage(playerid, GREEN,\"Sikeresen regisztráltál\");
SetPVarInt(playerid,\"Kijelentkzés\",1);
return 1;
}
stock LoadPlayer(playerid)
{
new PlayerInfo[64];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerInfo, sizeof(PlayerInfo),\"/Players/%s.txt\",pName);
SetPlayerScore(playerid, dini_Int(PlayerInfo,\"Pont\"));
GivePlayerMoney(playerid, dini_Int(PlayerInfo,\"Pénz\"));
SetPVarInt(playerid,\"Admin\", dini_Int(PlayerInfo,\"Admin\"));
SetPVarInt(playerid,\"Rules\", dini_Int(PlayerInfo,\"Rules\"));
SetPVarInt(playerid,\"Banned\", dini_Int(PlayerInfo,\"Banned\"));
SetPVarInt(playerid,\"Kijelentkzés\",1);
return 1;
}
stock SavePlayer(playerid)
{
if(GetPVarInt(playerid,\"Kilejentkezés\")==1)
{
    new PlayerInfo[64];
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(PlayerInfo, sizeof(PlayerInfo),\"/Players/%s.txt\",pName);
dini_IntSet(PlayerInfo,\"Pont\",GetPlayerScore(playerid));
dini_IntSet(PlayerInfo,\"Pénz\",GetPlayerMoney(playerid));
dini_IntSet(PlayerInfo,\"Admin\",GetPVarInt(playerid,\"Admin\"));
dini_IntSet(PlayerInfo,\"Rules\",GetPVarInt(playerid,\"Rules\"));
dini_IntSet(PlayerInfo,\"Banned\",GetPVarInt(playerid,\"Banned\"));
}
return 1;
}

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
dini - nem ment
« Válasz #1 Dátum: 2012. május 03. - 22:17:45 »
0 Show voters
Szimpla, készítsel meg egy elmentõt money nevel majd az megjelenik, a mappaban aztan lekered a játékos pontjait stockal és az OnPlayerDisconnect nel teszel egy lementott majd az OnPlayerConnectnel tölsd be..

dini - nem ment
« Válasz #2 Dátum: 2012. május 03. - 22:22:51 »
0 Show voters
Ismét elõjön a gyakran ismételt, a gyakorlatban fontos szerepet betöltõ, alap mûveltséghez tartozó tényezõ..
HELYESÍRÁS
Idézem..
SavePlayer
 
if(GetPVarInt(playerid,\"Kilejentkezés\")==1)[/quote]
OnPlayerDisconnect
 
if(GetPVarInt(playerid,\"Kijelentkezés\")==1) ...[/quote]
LoadPlayer
 
SetPVarInt(playerid,\"Kijelentkzés\",1); ...[/quote]
Regist
 
SetPVarInt(playerid,\"Kijelentkzés\",1); ...[/quote]
Remélem sikerült kiszûrni a hibát.
A te, és szinte minden, hasonló problémával küzdõ társadnak ajánlom a Sima változók használatát PVar helyett, mert ott legalább kiírja, hogy ha elírod..
« Utoljára szerkesztve: 2012. május 03. - 22:23:48 írta TengeriMalac »

dini - nem ment
« Válasz #3 Dátum: 2012. május 03. - 23:08:28 »
0 Show voters
Én pont az ilyen elgépelések/elírások miatt javaslom a #define használatát, mivel a fordító egybõl jelezné az ilyen elírásokat.
 
#define OUT \"Kijelentkezés\"
GetPVarInt(playerid, OUT);
SetPVarInt(playerid, OUT, 1);

dini - nem ment
« Válasz #4 Dátum: 2012. május 04. - 06:42:17 »
0 Show voters
Köszönöm otthon megnézem

Dupla hozzászólás automatikusan összefûzve. ( 2012. május 04. - 15:34:25 )

Rendben van mûködik, zárok
« Utoljára szerkesztve: 2012. május 04. - 15:34:25 írta IPhoneman96 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal