Szerző Téma: Valamiért nem ment  (Megtekintve 779 alkalommal)

Nem elérhető Th0mas

  • 278
    • Profil megtekintése
Valamiért nem ment
« Dátum: 2015. április 23. - 17:45:47 »
0 Show voters
Nem tudom mit rontottam el,de még elsőnek jó volt amikor pénz meg ilyen volt most már nem tudom mi a hiba,a skint nem menti az adminszintet sem szóval én már nem értem,valaki tipp?
 
enum JatekosAdatok
{
Szint,
Penz,
Skin,
AdminSzint,
Frakcio,
Rang,
Leader,
MunkaID,
}
new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
public OnPlayerDisconnect(playerid, reason)
{
new file[128];
format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
if(!fexist(file) && Belepve[playerid] == 1)
{
    dini_IntSet(file,\"Szint\",GetPlayerScore(playerid));
dini_IntSet(file,\"Penz\",GetPlayerMoney(playerid));
dini_IntSet(file,\"Skin\",GetPlayerSkin(playerid));
dini_IntSet(file,\"AdminSzint\",JatekosInfo[playerid][AdminSzint]);
dini_IntSet(file,\"Frakcio\",JatekosInfo[playerid][Frakcio]);
dini_IntSet(file,\"Rang\",JatekosInfo[playerid][Rang]);
dini_IntSet(file,\"Leader\",JatekosInfo[playerid][Leader]);
dini_IntSet(file,\"MunkaID\",JatekosInfo[playerid][MunkaID]);
}
GetPlayerName(playerid,nev,sizeof(nev));
Belepve[playerid] = 0;
JatekosInfo[playerid][szint]= 0;
JatekosInfo[playerid][Penz]= 0;
JatekosInfo[playerid][skin]= 0;
JatekosInfo[playerid][AdminSzint]= 0;
JatekosInfo[playerid][Frakcio]= 0;
JatekosInfo[playerid][Rang]= 0;
JatekosInfo[playerid][Leader]= 0;
JatekosInfo[playerid][MunkaID]= 0;
 
printf(\"%s kilépett a szerverről!\",nev);
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == regisztracio)
{
 if(response)
 {
    new file[128];
    new string[128];
   
    GetPlayerName(playerid,nev,sizeof(nev));
    if(strlen(inputtext) == 0)
    {
            format(string,sizeof string,\"Üdv %s! \\nKérjük regisztrálj! \\n\\nAdd meg a kívánt jelszót!\",nev);
            ShowPlayerDialog(playerid,regisztracio,DIALOG_STYLE_INPUT,\"Regisztráció\",string,\"Regisztráció\",\"Kilépés\");
            return 0;
    }
    format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
    if(!fexist(file))
        {
            dini_Create(file);
            dini_IntSet(file,\"Antibug\",0);
            dini_IntSet(file,\"Jelszo\",udb_hash(inputtext));
            dini_IntSet(file,\"Szint\",0);
      dini_IntSet(file,\"Penz\",0);
      dini_IntSet(file,\"Skin\",0);
      dini_IntSet(file,\"AdminSzint\",0);
      dini_IntSet(file,\"Frakcio\",0);
      dini_IntSet(file,\"Rang\",0);
      dini_IntSet(file,\"Leader\",0);
      dini_IntSet(file,\"MunkaID\",0);
      format(string,sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavad!\",nev);
      ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\",string,\"Belépés\",\"Kilépés\");
      PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
      printf(\"%s regisztrált a szerverre!\",nev);
      }
      else
      {
      format(string,sizeof string, \"Üdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavad!\",nev);
      ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\",string,\"Belépés\",\"Kilépés\");
      }
   }
}
if(dialogid == bejelentkezes)
{
    if(response)
    {
        new file[128];
        new string[128];
        GetPlayerName(playerid,nev,sizeof(nev));
        if(strlen(inputtext) == 0)
        {
            format(string,sizeof string,\"Bejelentkezés \\n\\nÜdv %s! \\nRegisztrálva vagy! \\n\\nÍrd be a jelszavad!\",nev);
            ShowPlayerDialog(playerid,bejelentkezes,DIALOG_STYLE_INPUT,\"Bejelentkezés\",string,\"Belépés\",\"Kilépés\");
            return 0;
        }
        format(file,sizeof(file),\"/Karakterek/%s.ini\",nev);
      if(fexist(file))
      {
 
          new jelszo = dini_Int(file,\"Jelszo\");
          if(udb_hash(inputtext) == jelszo)
          {
              Belepve[playerid] = 1;
              ResetPlayerMoney(playerid);
              GivePlayerMoney(playerid,dini_Int(file,\"Penz\"));
              JatekosInfo[playerid][szint] = dini_Int(file,\"Szint\");
              JatekosInfo[playerid][Penz] = dini_Int(file,\"Penz\");
              JatekosInfo[playerid][skin] = dini_Int(file,\"Skin\");
              JatekosInfo[playerid][AdminSzint] = dini_Int(file,\"AdminSzint\");
              JatekosInfo[playerid][Frakcio] = dini_Int(file,\"Frakcio\");
              JatekosInfo[playerid][Rang] = dini_Int(file,\"Rang\");
              JatekosInfo[playerid][Leader] = dini_Int(file,\"Leader\");
              JatekosInfo[playerid][MunkaID] = dini_Int(file,\"MunkaID\");
              }
              else
              {
                  SendClientMessage(playerid,-1,\"Hibás jelszó!\");
                  printf(\"%s elrontotta a jelszót!\",nev);
               Kick(playerid);
            }
      }
   }
}
« Utoljára szerkesztve: 2015. április 23. - 18:01:24 írta BLKDMND$ »

Valamiért nem ment
« Válasz #1 Dátum: 2015. április 23. - 18:00:29 »
+1 Show voters
Hali!
Itt van a probléma gyökere:
public OnPlayerDisconnect(playerid, reason) alatt:
 
if(!fexist(file) && Belepve[playerid] == 1)

 
ezzel az a feltétel teljesül: HA nemlétezik a fájl ÉS HA bevan lépve
cseréld le erre:
 
if(fexist(file) && Belepve[playerid] == 1)

Nem elérhető Th0mas

  • 278
    • Profil megtekintése
Valamiért nem ment
« Válasz #2 Dátum: 2015. április 23. - 18:45:27 »
0 Show voters
Köszi,ment a +  ^-^

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal