Készítõ: Fl0rian
A lényeg:
Gondolom nem csak számomra unalmas pl ezeket átírni
dini_IntSet( playerFile(playerid), \"Admin\", playerInfo[playerid][Admin] );
dini_IntSet( playerFile(playerid), \"Level\", playerInfo[playerid][Level] );
dini_IntSet( playerFile(playerid), \"EXP\", playerInfo[playerid][EXP] );
dini_IntSet( playerFile(playerid), \"Bank\", playerInfo[playerid][bank] );
ezekre minden egyes alkalommal..
playerInfo[playerid][Admin] = dini_Int( playerFile(playerid), \"Admin\" );
playerInfo[playerid][Level] = dini_Int( playerFile(playerid), \"Level\" );
playerInfo[playerid][EXP] = dini_Int( playerFile(playerid), \"EXP\" );
playerInfo[playerid][bank] = dini_Int( playerFile(playerid), \"Bank\" );
Ezért csináltam egy kis inc-et.
Használat(példa):
Ha \'WRITE\" // Annyit tesz hogy a megadott sorba másol egy megadott változót.
Ha \'READ\' // A megadott sorból(a lentiekben pl: \"Admin\", \"Elet\", \"Szoveg\") a megadott változóba másolja az értéket. (a lentiekben pl: playerInfo[playerid][Admin], playerInfo[playerid][Elet], playerInfo[playerid][string])
Integer esetén:
dataintege_READ( playerid, \"Admin\", playerInfo[playerid][Admin] );
datainteger_WRITE( playerid, \"Admin\", playerInfo[playerid][Admin] );
Float esetén:
datafloat_READ( playerid, \"Elet\", playerInfo[playerid][Elet] );
datafloat_WRITE( playerid, \"Elet\", playerInfo[playerid][Elet] );
String esetén:
datastring_READ( playerid, \"Szoveg\", playerInfo[playerid][string] );
datastring_WRITE( playerid, \"Szoveg\", playerInfo[playerid][string] );
Így ha lusták vagyunk(mint pl én
) akkor csak a \'READ\' illetve a \'WRITE\' feliratot kell kicserélnünk.
Fontos: Kicsit bele kell piszkálnotok az INC-be, hogy a játékosok fájljának az elérési útját megadjátok.
*****************************
Nem mûködött megfelelõen ezért kijavítottam.. Új verzió feltöltve. (code)
*****************************
Code tag:
#include < dini >
#define datafloat_READ(%1,%2,%3);\\
%3=dini_Float(bizFile(%1),%2);\\
printf(\"DataLoaded: playerid %d, var %s, to pvar %f \",%1,%2,%3);
#define datafloat_WRITE(%1,%2,%3);\\
dini_FloatSet(playerFile(%1),%2,%3);\\
printf(\"DataSaved: playerid %d, var %s, to pvar %f \",%1,%2,%3);
#define datainteger_READ(%1,%2,%3);\\
%3=dini_Int(playerFile(%1),%2);\\
printf(\"DataLoaded: playerid %d, var %s, to pvar %i \",%1,%2,%3);
#define datainteger_WRITE(%1,%2,%3);\\
dini_IntSet(playerFile(%1),%2,%3);\\
printf(\"DataSaved: playerid %d, var %s, to pvar %i \",%1,%2,%3);
#define datastring_READ(%1,%2,%3);\\
format(%3,MAX_PLAYER_NAME,\"%s\",dini_Get(playerFile(%1),%2));\\
printf(\"DataLoaded: playerid %d, var %s, to pvar %s \",%1,%2,%3);
#define datastring_WRITE(%1,%2,%3);\\
dini_Set(playerFile(%1),%2,%3);\\
printf(\"DataSaved: playerid %d, var %s, to pvar %s \",%1,%2,%3);
stock
playerFile( playerid )
{
new File[128];
format( File, sizeof(File), \"Jatekosok/%s.ini\", playerName(playerid) );
return File;
}
stock
playerName( playerid )
{
new Name[MAX_PLAYER_NAME];
GetPlayerName( playerid, Name, sizeof(Name) );
return Name;
}