GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: SnooP - 2014. szeptember 07. - 23:33:17

Cím: 50 változó mentése/kiolvasása a leggyorsabb módon, hogyan?
Írta: SnooP - 2014. szeptember 07. - 23:33:17
Sziasztok.
Az volna a kérdésem, hogy van 50 boolean változó amit el szeretnék menteni. Na már most a kérdésem az volna, hogy változtatna-e a kiolvasási/betöltési sebességen az, hogy minden változónak az adott fájlban egy új sort hozok létre és azt olvasom ki vagy egy sorba írom egymás után az adott boolean adatokat és utána pedig splitelem az igaz hamis értékeket? Esetleg ilyen variációnál melyik a leggyorsabb metódusa az adatok mentésének?Válaszokat elõre is köszönöm :)
Cím: 50 változó mentése/kiolvasása a leggyorsabb módon, hogyan?
Írta: Pedró - 2014. szeptember 08. - 06:14:36
spliteld, de sscanf-al még gyorsabb lenne . :)
Cím: 50 változó mentése/kiolvasása a leggyorsabb módon, hogyan?
Írta: SnooP - 2014. szeptember 08. - 12:09:38
Igaz, igaz :D Esetleg ennél van gyorsabb módszer? :D
Cím: 50 változó mentése/kiolvasása a leggyorsabb módon, hogyan?
Írta: Pedró - 2014. szeptember 08. - 20:10:12
nincs. de am érted azt, hogy sscanf-al hogy kell?
Cím: 50 változó mentése/kiolvasása a leggyorsabb módon, hogyan?
Írta: SnooP - 2014. szeptember 09. - 12:11:56
Hát lecsatlakozásnál formatálok egy stringet
 
  new sorok[256];
   if(dfile_FileExists(file[playerid]))
{
dfile_Open(file[playerid]);
  format(sorok, sizeof(sorok),\"1%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d\",
  PlayerInfo[playerid][A1],
PlayerInfo[playerid][A2],
PlayerInfo[playerid][A3],
PlayerInfo[playerid][A4],
PlayerInfo[playerid][A5],
PlayerInfo[playerid][A6],
PlayerInfo[playerid][A7],
PlayerInfo[playerid][A8],
PlayerInfo[playerid][A9],
PlayerInfo[playerid][A10],
PlayerInfo[playerid][A11],
PlayerInfo[playerid][A12],
PlayerInfo[playerid][A13],
PlayerInfo[playerid][A14],
PlayerInfo[playerid][A15],
PlayerInfo[playerid][A16],
PlayerInfo[playerid][A17],
PlayerInfo[playerid][A18],
PlayerInfo[playerid][A19],
PlayerInfo[playerid][A20],
PlayerInfo[playerid][A21],
PlayerInfo[playerid][A22],
PlayerInfo[playerid][A23],
PlayerInfo[playerid][A24],
PlayerInfo[playerid][A25],
PlayerInfo[playerid][A26],
PlayerInfo[playerid][A27],
PlayerInfo[playerid][A28],
PlayerInfo[playerid][A29],
PlayerInfo[playerid][A30],
PlayerInfo[playerid][A31],
PlayerInfo[playerid][A32],
PlayerInfo[playerid][A33],
PlayerInfo[playerid][A34],
PlayerInfo[playerid][A35],
PlayerInfo[playerid][A36],
PlayerInfo[playerid][A37],
PlayerInfo[playerid][A38]
);
dfile_WriteInt(\"Achievementek\", sorok);
dfile_CloseFile();
return 1;
// Csak ez nem mûködik sajnos :\\
}
 

 
Felcsatlakozásnál pedig unformatolom és kiolvasom belõle a dolgokat.


Csak a hiba az az, hogy a dfile valamiért nem képes ennyi szám leírására egy fileban, vagy tag tag mismatchot add vagy pl ha le akarnék írni egy számot 38 nullával (amennyi a változók száma) csak simán egy nullát ír. Ha azt kérdeznéd, hogy az 1-es miért van elõl az azért, hogy ne érzékelje az egész számsort csak egy nullának mert ugyebár (0000000000000000000 = 0) hanem töltse be a számsort.
Még megpróbálkozok ma azzal, hogy létrehozok pl 5 sort felosztva a számokat, máskülönben nem tudom sajnos mi lehet :\\


Te hogy gondoltad ezt az egész dolgot?

Dupla hozzászólás automatikusan összefûzve. ( 2014. szeptember 10. - 15:31:03 )

Megoldottam, zárok.