sma nie mogę dać niestety bo jest edytowane.
Dokładniej mógłbyś podać kawałek kodu który może być zły i trzeba zmienić bo coś w sma nie widzę raczej błedów ale raczej starczy ci ten kawałek :
// ============================================================//
// [~ Saving datas ~] //
// ============================================================//
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 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(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 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(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 );
}
}
}
public QuerySelectData( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime )
{
if( iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED )
{
log_amx( "%s", szError );
return;
}
else
{
new id = iData[ 0 ];
new ColLevel = SQL_FieldNameToNum(hQuery, "player_level")
new ColXp = SQL_FieldNameToNum(hQuery, "player_xp")
while (SQL_MoreResults(hQuery))
{
PlayerLevel[id] = SQL_ReadResult(hQuery, ColLevel);
PlayerXp[id] = SQL_ReadResult(hQuery, ColXp);
SQL_NextRow(hQuery)
}
}
}
public QuerySetData( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime )
{
if( iFailState == TQUERY_CONNECT_FAILED || iFailState == TQUERY_QUERY_FAILED )
{
log_amx( "%s", szError );
return;
}
}
jednak jeżeli się myle podaj co i jak.
Użytkownik baned edytował ten post 05.05.2012 00:25