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
  #12  
Old 07-17-2004, 04:09 PM
Littlebit's Avatar
Littlebit Littlebit is offline
 
Join Date: Nov 2001
Posts: 313
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That was it, I spaced. Thank you! It works just great
Reply With Quote
  #13  
Old 07-18-2004, 12:38 AM
gwhooooey gwhooooey is offline
 
Join Date: Feb 2003
Posts: 174
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can't you just click the red X next to someone's score that you want to remove? :-\
Reply With Quote
  #14  
Old 07-20-2004, 12:12 AM
pmay68's Avatar
pmay68 pmay68 is offline
 
Join Date: Sep 2002
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
  #15  
Old 07-21-2004, 05:52 PM
grief's Avatar
grief grief is offline
 
Join Date: Jul 2004
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Very nice this will definately come in handy
Reply With Quote
  #16  
Old 07-21-2004, 08:29 PM
Ron1n Ron1n is offline
 
Join Date: Jun 2004
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by gwhooooey
Can't you just click the red X next to someone's score that you want to remove? :-\
I made this mod for myself, because some user on my board won over 40 games using a memory hack. I didnt want to delete every score by hand, so I made it so that you could remove all scores by a user. I then decided that in the future it might be nice to be able to just remove high scores and not all scores. I made this for www.elitecoders.org and www.mpcforum.de. We are cheater forums, so we have a lot of cheaters we must deal with. This tool makes it very easy.


Quote:
Invalid SQL: SELECT gamename, MAX(score) AS score
FROM gamesessions
WHERE valid=1
GROUP BY gamename
mysql error: Table 'datbase.gamesessions' doesn't exist
Please log into your PHP MyAdmin and see if there is a gamesessions table. If there is, copy down the prefix (the prefix should be something like vb_). if the prefix is not similar to your boards standard prefix it wont find the right table, if it is similar and you still have problems, then ill talk with you on MSN to help you fix this.
Reply With Quote
  #17  
Old 07-23-2004, 05:29 PM
Renat_ Renat_ is offline
 
Join Date: May 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed and working fine. Thank you Ronin!
Reply With Quote
  #18  
Old 07-23-2004, 06:06 PM
Renat_ Renat_ is offline
 
Join Date: May 2004
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is this any way to stop one Registered member from paying arcade?
Reply With Quote
  #19  
Old 07-26-2004, 12:02 PM
Datenpapst Datenpapst is offline
 
Join Date: Mar 2004
Location: Vienna
Posts: 301
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Renat_
Is this any way to stop one Registered member from paying arcade?
Whats the sence in cheating in the Arcade?
Reply With Quote
  #20  
Old 07-26-2004, 12:48 PM
RichieBoy67's Avatar
RichieBoy67 RichieBoy67 is offline
 
Join Date: Apr 2004
Location: CT - Down in a hole..
Posts: 3,057
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's a great hack but is there anyway to actually stop people from cheating??
Reply With Quote
  #21  
Old 07-26-2004, 01:36 PM
Datenpapst Datenpapst is offline
 
Join Date: Mar 2004
Location: Vienna
Posts: 301
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RichieBoy67
It's a great hack but is there anyway to actually stop people from cheating??
hmm dont think so.
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 02:24 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.04937 seconds
  • Memory Usage 2,309KB
  • Queries Executed 25 (?)
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
  • (4)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
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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_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