Code:
public plugin_natives( )
{
register_native( "get_rank", "native_get_rank" );
}
public native_get_rank( plugin_id, argc )
{
new id = get_param(1);
if( !is_user_connected(id) )
return 0;
return Rank[id];
}
public GetRank(id)
{
for(new i; i < MaxPlayers; i++)
{
if(is_user_connected(i))
MySQL_Save(i);
}
new Data[1]; Data[0] = id;
new szTemp[512];
new szAuth[64];
get_user_authid(id, szAuth, 63);
format(szTemp,charsmax(szTemp), "SELECT (COUNT(*)+1) AS rank FROM `counter` WHERE (data1+data2) > (SELECT data1+data2 FROM `counter` WHERE steamid = '%s')", szAuth );
SQL_ThreadQuery(MySQL_Tuple, "Sql_Rank", szTemp, Data, 1)
return PLUGIN_HANDLED;
}
public Sql_Rank(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState == TQUERY_CONNECT_FAILED)
log_amx("Could not load - Error connecting to database. [%d] %s", Errcode, Error)
else if(FailState == TQUERY_QUERY_FAILED)
log_amx("Load Query failed. [%d] %s", Errcode, Error)
new id; id = Data[0];
if( !is_user_connected( id ) )
{
Rank[id] = 0;
return PLUGIN_HANDLED;
}
//error below
Rank[id] = SQL_ReadResult(Query, 0);
//error above
return PLUGIN_HANDLED;
}