Code:
public CmdShowRank( client )
{
new szTemp[ 512 ], Data[ 1 ];
Data[ 0 ] = client;
format( szTemp, charsmax( szTemp ), "SELECT COUNT(*) AS rank FROM `pointsystem` WHERE `points` >= %i UNION SELECT COUNT(*) FROM `pointsystem` WHERE `points` >= '0'", gPoints[ client ] );
SQL_ThreadQuery( g_sql_tuple, "HandleRank", szTemp, Data, 1 );
}
public HandleRank( FailState, Handle:Query, Error[], Errcode, Data[], DataSize )
{
if( FailState )
{
log_amx("SQL Error: %s (%d)", Error, Errcode)
return PLUGIN_HANDLED
}
new rank, total, client;
client = Data[ 0 ];
while ( SQL_MoreResults( Query ) )
{
if( rank )
{
total = SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "rank" ) );
}
else
{
rank = SQL_ReadResult( Query, SQL_FieldNameToNum( Query, "rank" ) );
}
SQL_NextRow( Query );
}
Print( client, "You are ranked as %i of %i players with %i points", rank, total, gPoints[ client ] );
return PLUGIN_HANDLED;
}