public MySQLx_Init() { if ( !get_pcvar_num(p_Enabled) || !get_pcvar_num(save_type) ) return; new szHost[64], szUser[32], szPass[32], szDB[128]; get_pcvar_string( mysqlx_host, szHost, charsmax( szHost ) ); get_pcvar_string( mysqlx_user, szUser, charsmax( szUser ) ); get_pcvar_string( mysqlx_pass, szPass, charsmax( szPass ) ); get_pcvar_string( mysqlx_db, szDB, charsmax( szDB ) ); g_hTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB ); for ( new i = 0; i < sizeof szTables; i++ ) { SQL_ThreadQuery( g_hTuple, "QueryCreateTable", szTables[i]) } } public QueryCreateTable( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime ) { if( iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED ) { log_amx( "%s", szError ); return; } } SaveLevel(id) { if(get_pcvar_num(savexp)) { if (!get_pcvar_num(save_type) ) { new name[35] get_user_name(id,name,34) new vaultdata[256]; new vaultkey[64]; format(vaultkey,63,"%s-NAME",name); format(vaultdata,255,"%i#%i#",PlayerLevel[id],PlayerXp[id]) nvault_set(g_Vault,vaultkey,vaultdata); } else { static szQuery[ 128 ]; formatex( szQuery, 127, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`) VALUES ('%s', '%d', '%d');", g_szAuthNAME[id] , PlayerLevel[id], PlayerXp[id] ); SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery); } } if (!get_pcvar_num(savexp) ) { if ( !get_pcvar_num(save_type) ) { new szData[256]; new szKey[64]; formatex( szKey , 63 , "%s-ID" , g_szAuthID[id]); formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] ); nvault_set( g_Vault , szKey , szData ); } else { static szQuery[ 128 ]; formatex( szQuery, 127, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`) VALUES ('%s', '%d', '%d');", g_szAuthID[id] , PlayerLevel[id], PlayerXp[id] ); SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery); } } else if(!get_pcvar_num(savexp)) { if ( !get_pcvar_num(save_type) ) { new szData[256]; new szKey[64]; formatex( szKey , 63 , "%s-IP" , g_szAuthIP[id] ); formatex( szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id] ); nvault_set( g_Vault , szKey , szData ); } else { static szQuery[ 128 ]; formatex( szQuery, 127, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`) VALUES ('%s', '%d', '%d');", g_szAuthIP[id] , PlayerLevel[id], PlayerXp[id] ); SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery); } } } LoadLevel(id) { if(get_pcvar_num(savexp)) { if (!get_pcvar_num(save_type) ) { new name[35] new vaultdata[256]; new vaultkey[64]; get_user_name(id,name,34) format(vaultkey,63,"%s-NAME",name); format(vaultdata,255,"%i#%i#",PlayerLevel[id],PlayerXp[id]) nvault_get(g_Vault,vaultkey,vaultdata,255) replace_all(vaultdata , 255, "#", " ") new xp[32], level[32] parse(vaultdata, level, 31, xp, 31) PlayerLevel[id] = str_to_num(level) PlayerXp[id] = str_to_num(xp) } else { static szQuery[ 128 ], iData[ 1 ]; formatex( szQuery, 127, "SELECT `player_level`, `player_xp` FROM `mytable` WHERE ( `player_id` = '%s' );", g_szAuthNAME[id] ); iData[ 0 ] = id; SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 ); } } if (!get_pcvar_num(savexp) ) { if ( !get_pcvar_num(save_type) ) { new szData[256]; new szKey[40]; formatex( szKey , 39 , "%s-ID" , g_szAuthID[id] ); formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id]) nvault_get(g_Vault, szKey, szData, 255) replace_all(szData , 255, "#", " ") new xp[32], level[32] parse(szData, level, 31, xp, 31) PlayerLevel[id] = str_to_num(level) PlayerXp[id] = str_to_num(xp) } else { static szQuery[ 128 ], iData[ 1 ]; formatex( szQuery, 127, "SELECT `player_level`, `player_xp` FROM `mytable` WHERE ( `player_id` = '%s' );", g_szAuthID[id] ); iData[ 0 ] = id; SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 ); } } else if(!get_pcvar_num(savexp)) { if ( !get_pcvar_num(save_type) ) { new szData[256]; new szKey[40]; formatex( szKey , 39 , "%s-IP" , g_szAuthIP[id] ); formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id]) nvault_get(g_Vault, szKey, szData, 255) replace_all(szData , 255, "#", " ") new xp[32], level[32] parse(szData, level, 31, xp, 31) PlayerLevel[id] = str_to_num(level) PlayerXp[id] = str_to_num(xp) } else { static szQuery[ 128 ], iData[ 1 ]; formatex( szQuery, 127, "SELECT `player_level`, `player_xp` FROM `mytable` WHERE ( `player_id` = '%s' );", g_szAuthIP[id] ); iData[ 0 ] = id; SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 ); } } }