The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Arcade Anti-Cheater Mod Details »» | |||||||||||||||||||||||||
Board: 3.x
Purpose: If your board is a scripting/coding board you probably have cheaters using your arcade. They are people that use memoryhacks/colorbots, and believe me, people do cheat. This hack is to clean up scores. Before, if you wanted to remove a score, you had to create your own mysql query and even though the score was removed the highscore still showed up as belonging to them. This process has been fixed by this hack. Functionaliy: - Remove all scores from a user - Remove a users highscores - Fix the titleholders/highscores Screenshot: http://www.elitecoders.org/ftp/ronin...rcadeadmin.jpg Code: Attatched No Edits Required PHP script: Attatched Instructions: Perform the following edits, OR upload the attatched PHP file in place of your own arcadeadmin.php. #-------------------------------------------------------------------------------# Find In arcadeadmin.php #-------------------------------------------------------------------------------# Code:
print_form_header('arcadeadmin', 'pruneinvalid'); print_table_header("Remove All Invalid Scores"); print_description_row("This action will remove all invalid score records from the database. Invalid records are created during automated score pruning, or if a session is terminated prematurely."); print_submit_row("Remove All Invalid Scores", 0); Add Below #-------------------------------------------------------------------------------# Code:
// ARCADE HACK BY RONIN print_form_header('arcadeadmin', 'prunebyuser'); print_table_header("Remove User Scores"); print_description_row("This action will remove a users scores from the database."); print_input_row("Enter the userid here", 'userid'); print_yes_no_row("Remove highscores only? (as opposed to all scores)", 'high', 0); print_submit_row("Remove User Scores", 0); print_form_header('arcadeadmin', 'fixhighscores'); print_table_header("Fix High Scores"); print_description_row("This action will update the highscore listings and awards with the actual highscore information for each game"); print_submit_row("Update Highscores", 0); // ARCADE HACK BY RONIN Find in arcadeadmin.php #-------------------------------------------------------------------------------# Code:
// ###################### INVALID RECORD PRUNING ####################### if ($_POST['do'] == "prunenoscore") { if ($_POST['confirmation']=="YES") { $DB_site->query("DELETE FROM " . TABLE_PREFIX . "gamesessions WHERE sessiontype=1"); } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } Add Below #-------------------------------------------------------------------------------# Code:
// ###################### PRUNE BY USER ####################### if ($_POST['do'] == "prunebyuser") { $userid=$_POST['userid']; $high=$_POST['high']; if ($high) { $query = " SELECT gamename, MAX(score) AS score FROM gamesessions WHERE valid=1 GROUP BY gamename "; $myquery = $DB_site->query($query); while($row = $DB_site->fetch_array($myquery)) { $delete = "DELETE FROM gamesessions WHERE gamename = '".$row['gamename']."' && userid ='".$userid."' && score = ".$row['score']; $DB_site->query($delete); } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } else { $DB_site->query("DELETE FROM " . TABLE_PREFIX . "gamesessions WHERE userid=".$userid); define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } } // ###################### FIX HIGHSCORES ####################### if ($_POST['do'] == "fixhighscores") { $query = " SELECT gamename, MAX(score) AS score FROM gamesessions WHERE valid=1 GROUP BY gamename "; $myquery = $DB_site->query($query); while($row = $DB_site->fetch_array($myquery)) { $user = "SELECT userid FROM gamesessions WHERE valid=1 AND score='".$row['score']."' AND gamename='".$row['gamename']."'"; $userquery = $DB_site->query($user); while($useid = $DB_site->fetch_array($userquery)) { $update = "UPDATE games SET `highscore`='".$row['score']."', `highscorerid`='".$useid['userid']."' WHERE shortname='".$row['gamename']."'"; $DB_site->query($update); } } define('CP_REDIRECT', 'arcadeadmin.php?do=scores'); print_stop_message('arcade_cp_settingssaved'); } Show Your Support
|
Comments |
#12
|
||||
|
||||
That was it, I spaced. Thank you! It works just great
|
#13
|
|||
|
|||
Can't you just click the red X next to someone's score that you want to remove? :-\
|
#14
|
||||
|
||||
i get this error
Database error in vBulletin 3.0.1: Invalid SQL: SELECT gamename, MAX(score) AS score FROM gamesessions WHERE valid=1 GROUP BY gamename mysql error: Table 'datbase.gamesessions' doesn't exist mysql error number: 1146 Date: Monday 19th of July 2004 06:11:11 PM Script: http://adventurersunited.com/forums/...rcadeadmin.php Referer: http://adventurersunited.com/forums/....php?do=scores Username: lieutan IP Address: 66.76.222.164 any suggestions |
#15
|
||||
|
||||
Very nice this will definately come in handy
|
#16
|
|||
|
|||
Quote:
Quote:
|
#17
|
|||
|
|||
Installed and working fine. Thank you Ronin!
|
#18
|
|||
|
|||
Is this any way to stop one Registered member from paying arcade?
|
#19
|
|||
|
|||
Quote:
|
#20
|
||||
|
||||
It's a great hack but is there anyway to actually stop people from cheating??
|
#21
|
|||
|
|||
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|