move highscores cmd as module
This commit is contained in:
parent
48f1ececb9
commit
9aada6d568
@ -10,4 +10,5 @@
|
||||
|
||||
/* ** Files ** */
|
||||
#include "irresistible\cnr\commands\cmd_changes.pwn"
|
||||
#include "irresistible\cnr\commands\cmd_twitter.pwn"
|
||||
#include "irresistible\cnr\commands\cmd_twitter.pwn"
|
||||
#include "irresistible\cnr\commands\cmd_highscores.pwn"
|
136
gamemodes/irresistible/cnr/commands/cmd_highscores.pwn
Normal file
136
gamemodes/irresistible/cnr/commands/cmd_highscores.pwn
Normal file
@ -0,0 +1,136 @@
|
||||
/*
|
||||
* Irresistible Gaming (c) 2018
|
||||
* Developed by Lorenc, Stev
|
||||
* Module: cnr\commands\cmd_highscores.pwn
|
||||
* Purpose: /highscores to show all highscores by a player
|
||||
*/
|
||||
|
||||
/* ** Includes ** */
|
||||
#include < YSI\y_hooks >
|
||||
|
||||
/* ** Commands ** */
|
||||
CMD:top( playerid, params[ ] ) return cmd_highscores( playerid, params );
|
||||
CMD:highscores( playerid, params[ ] )
|
||||
{
|
||||
ShowPlayerDialog( playerid, DIALOG_HIGHSCORES, DIALOG_STYLE_LIST, "{FFFFFF}Highscores", "Seasonal Rank\nTotal Score\nTotal Kills\nTotal Arrests\nTotal Robberies\nHits Completed\nFires Extinguished\nBurglaries\nBlown Jails\nBlown Vaults\nVehicles Jacked\nMeth Yielded\nTotal Trucked Cargo\nTotal Pilot Missions", "Select", "Close" );
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ** Hooks ** */
|
||||
hook OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
|
||||
{
|
||||
if ( dialogid == DIALOG_HIGHSCORES && response )
|
||||
{
|
||||
switch ( listitem )
|
||||
{
|
||||
// seasonal
|
||||
case 0: mysql_tquery( dbHandle, "SELECT `NAME`, `RANK` as `SCORE_VAL` FROM `USERS` ORDER BY `RANK` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 0 );
|
||||
|
||||
// total score
|
||||
case 1: mysql_tquery( dbHandle, "SELECT `NAME`, `SCORE` as `SCORE_VAL` FROM `USERS` ORDER BY `SCORE` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 1 );
|
||||
|
||||
// total kills
|
||||
case 2: mysql_tquery( dbHandle, "SELECT `NAME`, `KILLS` as `SCORE_VAL` FROM `USERS` ORDER BY `KILLS` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 2 );
|
||||
|
||||
// total arrests
|
||||
case 3: mysql_tquery( dbHandle, "SELECT `NAME`, `ARRESTS` as `SCORE_VAL` FROM `USERS` ORDER BY `ARRESTS` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 3 );
|
||||
|
||||
// total robberies
|
||||
case 4: mysql_tquery( dbHandle, "SELECT `NAME`, `ROBBERIES` as `SCORE_VAL` FROM `USERS` ORDER BY `ROBBERIES` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 4 );
|
||||
|
||||
// hits completed
|
||||
case 5: mysql_tquery( dbHandle, "SELECT `NAME`, `CONTRACTS` as `SCORE_VAL` FROM `USERS` ORDER BY `CONTRACTS` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 5 );
|
||||
|
||||
// fires
|
||||
case 6: mysql_tquery( dbHandle, "SELECT `NAME`, `FIRES` as `SCORE_VAL` FROM `USERS` ORDER BY `FIRES` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 6 );
|
||||
|
||||
// burglaries
|
||||
case 7: mysql_tquery( dbHandle, "SELECT `NAME`, `BURGLARIES` as `SCORE_VAL` FROM `USERS` ORDER BY `BURGLARIES` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 7 );
|
||||
|
||||
// blown jails
|
||||
case 8: mysql_tquery( dbHandle, "SELECT `NAME`, `BLEW_JAILS` as `SCORE_VAL` FROM `USERS` ORDER BY `BLEW_JAILS` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 8 );
|
||||
|
||||
// blown vaults
|
||||
case 9: mysql_tquery( dbHandle, "SELECT `NAME`, `BLEW_VAULT` as `SCORE_VAL` FROM `USERS` ORDER BY `BLEW_VAULT` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 9 );
|
||||
|
||||
// vehicles jacked
|
||||
case 10: mysql_tquery( dbHandle, "SELECT `NAME`, `VEHICLES_JACKED` as `SCORE_VAL` FROM `USERS` ORDER BY `VEHICLES_JACKED` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 10 );
|
||||
|
||||
// meth yielded
|
||||
case 11: mysql_tquery( dbHandle, "SELECT `NAME`, `METH_YIELDED` as `SCORE_VAL` FROM `USERS` ORDER BY `METH_YIELDED` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 11 );
|
||||
|
||||
// total trucked cargo
|
||||
case 12: mysql_tquery( dbHandle, "SELECT `NAME`, `TRUCKED` as `SCORE_VAL` FROM `USERS` ORDER BY `TRUCKED` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 12 );
|
||||
|
||||
// pilot missons
|
||||
case 13: mysql_tquery( dbHandle, "SELECT `NAME`, `PILOT` as `SCORE_VAL` FROM `USERS` ORDER BY `PILOT` DESC LIMIT 25", "OnHighScoreCheck", "ii", playerid, 13 );
|
||||
}
|
||||
}
|
||||
else if ( dialogid == DIALOG_HIGHSCORES_BACK && ! response ) {
|
||||
return ShowPlayerDialog( playerid, DIALOG_HIGHSCORES, DIALOG_STYLE_LIST, "{FFFFFF}Highscores", "Seasonal Rank\nTotal Score\nTotal Kills\nTotal Arrests\nTotal Robberies\nHits Completed\nFires Extinguished\nBurglaries\nBlown Jails\nBlown Vaults\nVehicles Jacked\nMeth Yielded\nTotal Trucked Cargo\nTotal Pilot Missions", "Select", "Close" );
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ** SQL Threads ** */
|
||||
thread OnHighScoreCheck( playerid, highscore_item )
|
||||
{
|
||||
new
|
||||
rows;
|
||||
|
||||
cache_get_data( rows, tmpVariable );
|
||||
|
||||
if ( ! rows ) {
|
||||
return SendError( playerid, "There is no information to show. Try again later." );
|
||||
}
|
||||
|
||||
new
|
||||
name[ MAX_PLAYER_NAME ];
|
||||
|
||||
switch ( highscore_item )
|
||||
{
|
||||
case 0: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Seasonal Rank\n", szSmallString = "Top 25 Seasonal";
|
||||
case 1: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Score\n", szSmallString = "Top 25 Score";
|
||||
case 2: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Kills\n", szSmallString = "Top 25 Kills";
|
||||
case 3: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Arrests\n", szSmallString = "Top 25 Arrests";
|
||||
case 4: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Robberies\n", szSmallString = "Top 25 Robberies";
|
||||
case 5: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Contracts\n", szSmallString = "Top 25 Hits Completed";
|
||||
case 6: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Fires\n", szSmallString = "Top 25 Fires Extinguished";
|
||||
case 7: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Burglaries\n", szSmallString = "Top 25 Burglaries";
|
||||
case 8: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Jailes\n", szSmallString = "Top 25 Blown Jails";
|
||||
case 9: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Vaults\n", szSmallString = "Top 25 Blown Vaults";
|
||||
case 10: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Vehicles\n", szSmallString = "Top 25 Vehicles Jacked";
|
||||
case 11: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Meth\n", szSmallString = "Top 25 Meth Yielded";
|
||||
case 12: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Trucked\n", szSmallString = "Top 25 Total Trucked Cargo";
|
||||
case 13: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Missions\n", szSmallString = "Top 25 Total Pilot Missions";
|
||||
}
|
||||
|
||||
for ( new row = 0; row < rows; row ++ )
|
||||
{
|
||||
// get name
|
||||
cache_get_field_content( row, "NAME", name );
|
||||
|
||||
// format item appropriately
|
||||
switch ( highscore_item )
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
new Float: score_value = cache_get_field_content_float( row, "SCORE_VAL", dbHandle );
|
||||
new rank = GetRankFromXP( score_value );
|
||||
|
||||
new seasonal_rank[ 16 ];
|
||||
GetSeasonalRankName( rank, seasonal_rank );
|
||||
|
||||
format( szLargeString, sizeof( szLargeString ), "%s%s%s\t{%06x}%s\n", szLargeString, strmatch( name, ReturnPlayerName( playerid ) ) ? COL_GREEN : COL_WHITE, name, GetSeasonalRankColour( rank ) >>> 8, seasonal_rank );
|
||||
}
|
||||
default:
|
||||
{
|
||||
new
|
||||
score_value = cache_get_field_content_int( row, "SCORE_VAL", dbHandle );
|
||||
|
||||
format( szLargeString, sizeof( szLargeString ), "%s%s%s\t%d\n", szLargeString, strmatch( name, ReturnPlayerName( playerid ) ) ? COL_GREEN : COL_WHITE, name, score_value );
|
||||
}
|
||||
}
|
||||
}
|
||||
return ShowPlayerDialog( playerid, DIALOG_HIGHSCORES_BACK, DIALOG_STYLE_TABLIST_HEADERS, sprintf( "{FFFFFF}Highscores - %s", szSmallString ), szLargeString, "Close", "Back" ), 1;
|
||||
}
|
@ -2206,13 +2206,6 @@ CMD:feedback( playerid, params[ ] )
|
||||
return ShowPlayerDialog( playerid, DIALOG_FEEDBACK, DIALOG_STYLE_INPUT, ""COL_GOLD"Server Feedback", ""COL_WHITE"Let us know how you think we can make the server better to play! Impactful feedback is rewarded.\n\n Be as serious and straight forward as you wish. You can rant if you need to. Be impactful.", "Submit", "Close" );
|
||||
}
|
||||
|
||||
CMD:top( playerid, params[ ] ) return cmd_highscores( playerid, params );
|
||||
CMD:highscores( playerid, params[ ] )
|
||||
{
|
||||
ShowPlayerDialog( playerid, DIALOG_HIGHSCORES, DIALOG_STYLE_LIST, "{FFFFFF}Highscores", "Seasonal Rank\nTotal Score\nTotal Kills\nTotal Arrests\nTotal Robberies\nHits Completed\nFires Extinguished\nBurglaries\nBlown Jails\nBlown Vaults\nVehicles Jacked\nMeth Yielded\nTotal Trucked Cargo\nTotal Pilot Missions", "Select", "Close" );
|
||||
return 1;
|
||||
}
|
||||
|
||||
CMD:request( playerid, params[ ] )
|
||||
{
|
||||
/* ** Anti Spammy Commands ** */
|
||||
@ -7280,121 +7273,9 @@ public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( dialogid == DIALOG_HIGHSCORES && response )
|
||||
{
|
||||
switch ( listitem )
|
||||
{
|
||||
// seasonal
|
||||
case 0: mysql_function_query( dbHandle, "SELECT `NAME`, `RANK` as `SCORE_VAL` FROM `USERS` ORDER BY `RANK` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 0 );
|
||||
|
||||
// total score
|
||||
case 1: mysql_function_query( dbHandle, "SELECT `NAME`, `SCORE` as `SCORE_VAL` FROM `USERS` ORDER BY `SCORE` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 1 );
|
||||
|
||||
// total kills
|
||||
case 2: mysql_function_query( dbHandle, "SELECT `NAME`, `KILLS` as `SCORE_VAL` FROM `USERS` ORDER BY `KILLS` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 2 );
|
||||
|
||||
// total arrests
|
||||
case 3: mysql_function_query( dbHandle, "SELECT `NAME`, `ARRESTS` as `SCORE_VAL` FROM `USERS` ORDER BY `ARRESTS` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 3 );
|
||||
|
||||
// total robberies
|
||||
case 4: mysql_function_query( dbHandle, "SELECT `NAME`, `ROBBERIES` as `SCORE_VAL` FROM `USERS` ORDER BY `ROBBERIES` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 4 );
|
||||
|
||||
// hits completed
|
||||
case 5: mysql_function_query( dbHandle, "SELECT `NAME`, `CONTRACTS` as `SCORE_VAL` FROM `USERS` ORDER BY `CONTRACTS` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 5 );
|
||||
|
||||
// fires
|
||||
case 6: mysql_function_query( dbHandle, "SELECT `NAME`, `FIRES` as `SCORE_VAL` FROM `USERS` ORDER BY `FIRES` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 6 );
|
||||
|
||||
// burglaries
|
||||
case 7: mysql_function_query( dbHandle, "SELECT `NAME`, `BURGLARIES` as `SCORE_VAL` FROM `USERS` ORDER BY `BURGLARIES` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 7 );
|
||||
|
||||
// blown jails
|
||||
case 8: mysql_function_query( dbHandle, "SELECT `NAME`, `BLEW_JAILS` as `SCORE_VAL` FROM `USERS` ORDER BY `BLEW_JAILS` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 8 );
|
||||
|
||||
// blown vaults
|
||||
case 9: mysql_function_query( dbHandle, "SELECT `NAME`, `BLEW_VAULT` as `SCORE_VAL` FROM `USERS` ORDER BY `BLEW_VAULT` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 9 );
|
||||
|
||||
// vehicles jacked
|
||||
case 10: mysql_function_query( dbHandle, "SELECT `NAME`, `VEHICLES_JACKED` as `SCORE_VAL` FROM `USERS` ORDER BY `VEHICLES_JACKED` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 10 );
|
||||
|
||||
// meth yielded
|
||||
case 11: mysql_function_query( dbHandle, "SELECT `NAME`, `METH_YIELDED` as `SCORE_VAL` FROM `USERS` ORDER BY `METH_YIELDED` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 11 );
|
||||
|
||||
// total trucked cargo
|
||||
case 12: mysql_function_query( dbHandle, "SELECT `NAME`, `TRUCKED` as `SCORE_VAL` FROM `USERS` ORDER BY `TRUCKED` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 12 );
|
||||
|
||||
// pilot missons
|
||||
case 13: mysql_function_query( dbHandle, "SELECT `NAME`, `PILOT` as `SCORE_VAL` FROM `USERS` ORDER BY `PILOT` DESC LIMIT 25", true, "OnHighScoreCheck", "ii", playerid, 13 );
|
||||
}
|
||||
}
|
||||
if ( dialogid == DIALOG_HIGHSCORES_BACK && ! response ) {
|
||||
return ShowPlayerDialog( playerid, DIALOG_HIGHSCORES, DIALOG_STYLE_LIST, "{FFFFFF}Highscores", "Seasonal Rank\nTotal Score\nTotal Kills\nTotal Arrests\nTotal Robberies\nHits Completed\nFires Extinguished\nBurglaries\nBlown Jails\nBlown Vaults\nVehicles Jacked\nMeth Yielded\nTotal Trucked Cargo\nTotal Pilot Missions", "Select", "Close" );
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
thread OnHighScoreCheck( playerid, highscore_item )
|
||||
{
|
||||
new
|
||||
rows;
|
||||
|
||||
cache_get_data( rows, tmpVariable );
|
||||
|
||||
if ( ! rows ) {
|
||||
return SendError( playerid, "There is no information to show. Try again later." );
|
||||
}
|
||||
|
||||
new
|
||||
name[ MAX_PLAYER_NAME ];
|
||||
|
||||
switch ( highscore_item )
|
||||
{
|
||||
case 0: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Seasonal Rank\n", szSmallString = "Top 25 Seasonal";
|
||||
case 1: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Score\n", szSmallString = "Top 25 Score";
|
||||
case 2: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Kills\n", szSmallString = "Top 25 Kills";
|
||||
case 3: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Arrests\n", szSmallString = "Top 25 Arrests";
|
||||
case 4: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Robberies\n", szSmallString = "Top 25 Robberies";
|
||||
case 5: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Contracts\n", szSmallString = "Top 25 Hits Completed";
|
||||
case 6: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Fires\n", szSmallString = "Top 25 Fires Extinguished";
|
||||
case 7: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Burglaries\n", szSmallString = "Top 25 Burglaries";
|
||||
case 8: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Jailes\n", szSmallString = "Top 25 Blown Jails";
|
||||
case 9: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Vaults\n", szSmallString = "Top 25 Blown Vaults";
|
||||
case 10: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Vehicles\n", szSmallString = "Top 25 Vehicles Jacked";
|
||||
case 11: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Meth\n", szSmallString = "Top 25 Meth Yielded";
|
||||
case 12: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Trucked\n", szSmallString = "Top 25 Total Trucked Cargo";
|
||||
case 13: szLargeString = ""COL_GOLD"Player\t"COL_GOLD"Missions\n", szSmallString = "Top 25 Total Pilot Missions";
|
||||
}
|
||||
|
||||
for ( new row = 0; row < rows; row ++ )
|
||||
{
|
||||
// get name
|
||||
cache_get_field_content( row, "NAME", name );
|
||||
|
||||
// format item appropriately
|
||||
switch ( highscore_item )
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
new Float: score_value = cache_get_field_content_float( row, "SCORE_VAL", dbHandle );
|
||||
new rank = GetRankFromXP( score_value );
|
||||
|
||||
new seasonal_rank[ 16 ];
|
||||
GetSeasonalRankName( rank, seasonal_rank );
|
||||
|
||||
format( szLargeString, sizeof( szLargeString ), "%s%s%s\t{%06x}%s\n", szLargeString, strmatch( name, ReturnPlayerName( playerid ) ) ? COL_GREEN : COL_WHITE, name, GetSeasonalRankColour( rank ) >>> 8, seasonal_rank );
|
||||
}
|
||||
default:
|
||||
{
|
||||
new
|
||||
score_value = cache_get_field_content_int( row, "SCORE_VAL", dbHandle );
|
||||
|
||||
format( szLargeString, sizeof( szLargeString ), "%s%s%s\t%d\n", szLargeString, strmatch( name, ReturnPlayerName( playerid ) ) ? COL_GREEN : COL_WHITE, name, score_value );
|
||||
}
|
||||
}
|
||||
}
|
||||
return ShowPlayerDialog( playerid, DIALOG_HIGHSCORES_BACK, DIALOG_STYLE_TABLIST_HEADERS, sprintf( "{FFFFFF}Highscores - %s", szSmallString ), szLargeString, "Close", "Back" ), 1;
|
||||
}
|
||||
|
||||
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
|
||||
{
|
||||
if ( IsPlayerAdminOnDuty( playerid ) )
|
||||
|
Loading…
Reference in New Issue
Block a user