Back to vBulletin 3.0 Add-Ons

Arcade Anti-Cheater Mod
Mod Version: 1.00, by Ron1n

This modification is in the archives.
vB Version: 3.0.3 Rating: (1 vote - 5.00 average) Installs: 26
Released: 17 Jul 2004 Last Update: Never Downloads: 13
Not Supported  

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/vbmods/arcadeadmin.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');
}

Download

This modification is archived and cannot be downloaded.

Screenshots

 

Similar Mods

v3 Arcade/Arcade Pass Hack - Usergroup Option - Can Free Arcade vBulletin 3.0 Full Releases

vblts.ru supports vBulletin®, 2022-2024