Üdv, az lenne a problémám hogy hiába menti el az adatokat de nem akarja betölteni azokat :S
a kód:
public OnPlayerConnect(playerid)
{
format( g_szQuery, sizeof( g_szQuery ), \"SELECT `bank`,`level` FROM `players` WHERE `name` = \'%s\'\", pName( playerid ) );
mysql_function_query( 1, g_szQuery, true, \"THREAD_DataLoad\", \"d\", playerid );
return 1;
}
forward THREAD_DataLoad( playerid );
public THREAD_DataLoad( playerid )
{
new
szFetch[ 2 ][ 100 ];
cache_get_row( 0, 0, szFetch[ 0 ] ); // Bank
cache_get_row( 0, 1, szFetch[ 1 ] ); // Admin Szint
SetPVarInt( playerid, \"Bank\", strval( szFetch[ 0 ] ) );
SetPVarInt( playerid, \"Level\", strval( szFetch[ 1 ] ) );
return 1;
}
Mentés:
stock SavePlayer(playerid, regid)
{
if(IsPlayerNPC(playerid)) return 1;
// Ha nincs bejelentkezve és még nem spawnolt le, akkor nem mentjük. Ezt ajánlatos itthagyni, mivel ezmiatt nekem sok bug keletkezett!
if(g_PlayerFlags{playerid} & (e_LOGGED_IN | e_FIRST_SPAWN) == (e_LOGGED_IN | e_FIRST_SPAWN))
{
getdate(year, month, day);
gettime(hour, minute, second);
format(g_szQuery, sizeof(g_szQuery), \"UPDATE `players` SET `laston` = \'%02d.%02d.%02d/%02d.%02d.%02d\', `money` = %d, `score` = %d, `kills` = %d, `deaths` = %d, `fightingstyle` = \'%d\',`skin` = \'%d\',`bank` = \'%d\',`level` = \'%d\' WHERE `reg_id` = %d\",
year, month, day, hour, minute, second, GetPlayerMoney(playerid), GetPlayerScore(playerid), GetPVarInt(playerid, \"Kills\"), GetPVarInt(playerid, \"Deaths\"), GetPlayerFightingStyle(playerid),GetPVarInt(playerid,\"Skin\"),GetPVarInt(playerid,\"Bank\"),GetPVarInt(playerid,\"Level\"),
regid);
mysql_function_query(1, g_szQuery, false, \"OnQueryFinish\", \"\");
// %02d azt jelenti, hogyha a szám egyjegyû (1, 5, 7, stb... ), akkor tegyen elé egy 0-t. Pl: 05, 07.
// Ezt általában idõre használják, mivel így \'érthetõbb\'.
// Ez ugyanúgy mûködik %03d-vel %04d-vel, és így továb... ^
}
return 1;
}