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;
}