Szerző Téma: Játszott idõ mentés probléma  (Megtekintve 604 alkalommal)

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Játszott idõ mentés probléma
« Dátum: 2012. június 22. - 16:57:13 »
0 Show voters
Sziasztok!
Eddig semmi baja nem volt a címben említettnek, most már azonban hiába számolja csatlakozás után a játszott idõt, utána mindig lenullázódik.
 

new menttime[MAX_PLAYERS];
forward saveTime(playerid);
public saveTime(playerid)
{
pInfo[playerid][second]++;
if(pInfo[playerid][second] == 59)
{
    pInfo[playerid][second] = 0;
pInfo[playerid][minute]++;
}
if(pInfo[playerid][minute] == 59 && pInfo[playerid][second] == 59)
{
    pInfo[playerid][second] = 0;
    pInfo[playerid][minute] = 0;
    pInfo[playerid][hour]++;
    pInfo[playerid][score]++;
SetPlayerScore(playerid, pInfo[playerid][score]);
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == reg)
{
    if(!response)
    {
        SendClientMessage(playerid, COLOR_RED, \"Nem regisztráltál, ezért ki lettél rúgva!\");
        Kick(playerid);
    }
    else
    {
        GetPlayerName(playerid, Name, sizeof(Name));
        format(file, sizeof(file), \"/rupAdmin/%s.ini\", Name);
   dini_Create(file);
   dini_IntSet(file, \"Password\", udb_hash(inputtext));
   dini_IntSet(file, \"Money\", 0);
   dini_IntSet(file, \"Score\", 0);
   dini_IntSet(file, \"aLevel\", 0);
   dini_IntSet(file, \"Warns\", 0);
   dini_IntSet(file, \"Jailed\", 0);
   dini_IntSet(file, \"Skin\", 1);
   dini_FloatSet(file, \"PosX\", 0);
   dini_FloatSet(file, \"PosY\", 0);
   dini_FloatSet(file, \"PosZ\", 0);
   dini_IntSet(file, \"Hour\", 0);
   dini_IntSet(file, \"Minute\", 0);
   dini_IntSet(file, \"Second\", 0);
   dini_Set(file, \"AdmiName\", \"\");
   logged[playerid] = 1;
   SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen regisztráltál, most pedig írd be a jelszód!\");
   PlayerPlaySound(playerid, 1054, 0.0, 0.0, 10.0);
   printf(\"%s regisztralt a szerverre!\", Name);
   ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
    }
}
if(dialogid == login)
{
    if(!response)
    {
        SendClientMessage(playerid, COLOR_RED, \"Nem léptél be, ezért ki lettél rúgva!\");
        Kick(playerid);
    }
    else
    {
        GetPlayerName(playerid, Name, sizeof(Name));
        format(file, sizeof(file), \"/rupAdmin/%s.ini\", Name);
   if(udb_hash(inputtext) == dini_Int(file, \"Password\"))
   {
      pInfo[playerid][Money] = dini_Int(file, \"Money\");
      pInfo[playerid][score] = dini_Int(file, \"Score\");
      pInfo[playerid][aLevel] = dini_Int(file, \"aLevel\");
      pInfo[playerid][warns] = dini_Int(file, \"Warns\");
      pInfo[playerid][jailed] = dini_Int(file, \"Jailed\");
      pInfo[playerid][hour] = dini_Int(file, \"Hour\");
      pInfo[playerid][minute] = dini_Int(file, \"Minute\");
      pInfo[playerid][second] = dini_Int(file, \"Second\");
      pInfo[playerid][skin] = dini_Int(file, \"skin\");
      logged[playerid] = 1;
      SendClientMessage(playerid, COLOR_GREEN, \"Sikeresen bejelentkeztél!\");
      PlayerPlaySound(playerid, 1054, 0.0, 0.0, 10.0);
      printf(\"%s bejelentkezett a szerverre!\", Name);
      tupdate[playerid] = SetTimerEx(\"pUpdate\", 1000*5, 1, \"i\", playerid);
      menttime[playerid] = SetTimerEx(\"saveTime\", 1000, 1, \"i\",playerid);
   }
   else
   {
       SendClientMessage(playerid, COLOR_RED, \"Rossz jelszó!\");
                ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, \"Bejelentkezés..\", \"Kérlek, írd be a jelszavad!\", \"OK\", \"Mégse\");
   }
    }
}
if(dialogid == cpass)
{
    if(!response) return 0;
    else
    {
        GetPlayerName(playerid, Name, sizeof(Name));
   format(file, sizeof(file), \"/rupAdmin/%s.ini\", Name);
   dini_Set(file, \"Password\", hash(inputtext));
   printf(\"%s megváltoztatta a jelszavat!\", Name);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, \"Lépj fel az új jelszóval!\");
   Kick(playerid);
    }
}
return 1;

 
Mi lehet a gond?

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Játszott idõ mentés probléma
« Válasz #1 Dátum: 2012. június 22. - 19:02:51 »
0 Show voters
A dini helyett érdemes lenne váltani valami más fájlkezelõre, mivel a dini régi, és elavult....

Sõt, nálam is akadtak olyan problémák, hogy \"csak úgy\" elveszítette az adatokat.


Ajánlatom: YINI, MySQL

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Játszott idõ mentés probléma
« Válasz #2 Dátum: 2012. június 22. - 19:03:33 »
0 Show voters
Az YIni mennyiben különbözik a dinitõl? Érdemesebb átváltani?

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Játszott idõ mentés probléma
« Válasz #3 Dátum: 2012. június 22. - 19:05:59 »
0 Show voters
Megéri.

Én nem tudok neked mondani a yinirõl semmit, csak sokan ezt használják, és bevált.


Mindenképpen olvasgass a yinirõl.


A szkriptelése talán egy kicsit bonyolultabb a diniénél.

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Játszott idõ mentés probléma
« Válasz #4 Dátum: 2012. június 23. - 00:03:25 »
0 Show voters
Nagyon koszonom a valaszod! Az este folyaman megtanultam a hasznalatat, es bevalt! Bar nem a dini volt a fohunyo, de mar mukodik! Zarok!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal