Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Arcade Anti-Cheater Mod Details »»
Arcade Anti-Cheater Mod
Version: 1.00, by Ron1n Ron1n is offline
Developer Last Online: Jun 2008 Show Printable Version Email this Page

Version: 3.0.3 Rating:
Released: 07-15-2004 Last Update: Never Installs: 26
 
No support by the author.

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

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #32  
Old 08-08-2005, 03:30 AM
o0Hubba0o's Avatar
o0Hubba0o o0Hubba0o is offline
 
Join Date: Mar 2005
Location: Minnesota
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by ryne661
How exactly would they be able to cheat in the arcade?
There has to be a way to know they are cheating, does anyone know how to tell or if there's a way. I hate to remove all of someones scores just because "I think" or "assume" they are cheating.
Reply With Quote
  #33  
Old 08-19-2005, 09:27 AM
csidlernet csidlernet is offline
 
Join Date: Apr 2003
Location: sydney
Posts: 183
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

THanks!
/me hits install
Reply With Quote
  #34  
Old 08-21-2005, 11:02 PM
Ron1n Ron1n is offline
 
Join Date: Jun 2004
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by o0Hubba0o
There has to be a way to know they are cheating, does anyone know how to tell or if there's a way. I hate to remove all of someones scores just because "I think" or "assume" they are cheating.
If they score higher than the max score for the game, you know they cheated.

There is no way to know whether they cheated/are cheating in a simple arcade game.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:07 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04198 seconds
  • Memory Usage 2,243KB
  • Queries Executed 20 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (3)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete