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
v3 Arcade - Games Arcade & Challenge System [vB 3.0.3] Details »»
v3 Arcade - Games Arcade & Challenge System [vB 3.0.3]
Version: 1.00, by John John is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.0.3 Rating:
Released: 01-17-2004 Last Update: 08-25-2004 Installs: 1745
 
No support by the author.

v3 Arcade [3.0.3]
Games Arcade for vB3
Game copyrights belong to their respective owners.
v3 Arcade - Copyright ?2004 John Warwick, All Rights Reserved.
__________________________________
Arcade Verson: 1.0
vB Version: vBulletin 3.0.3
Author: John Warwick
Email: John[at]eovieinteractive.com
Site: www.v3arcade.com
??????????????????????????????????

Updates
==========================
1.0.0 - Initial release

1.0.1 - Bug fix update
? This release addressed a couple of small bugs. Information on fixing
these issues can be found in the FAQ. (Included in this zip.)

1.0.2 - Bug fixes and new features
? This release makes all games on the Arcade main page appear in the
order which they were installed, regardless of whether or not it has
been played. (With the newest games at the top.)
? It includes a
page navigation system, allowing users to browse games by page. By default, 10 games appear per page.
? There is also a new search feature, for finding games by name/description. (Accessible through the "Search" menu in the navigation bar.)
? This release should be less CPU intensive than previous versions.

1.0.3 - Bug fixes
? Security fixes

History & Hack Information
- So, what is the v3 Arcade?
The v3 Arcade is exactly what the name implies - an online games arcade that offers seamless integration with your vBulletin forum.

The v3 Arcade is the first of the new generation of vBulletin additions. Back from its roots, the v3 Arcade is the vBulletin 3 edition of my original Arcade written in late 2002 (not to be confused with futureal's 'ProArcade', which was written during the Arcade's beta phase).

v3 Arcade Features Include:
? Integrated Flash gaming for vBulletin 3
? Advanced leader board system
? FULL Mozilla/Netscape Compatibility
? Moderation abilities for Mods/Super Mods/Admins
? PM & Email notification for events
? Advanced statistics for all users
? A higher level of security
? "Arcade Challenges", 1-on-1 contests between users
? Arcade awards system
? Automated and manual score pruning tools

This installation comes loaded with the following games:
? Tetris
? Snake
? Asteroids
? Chopper Challenge
? Space Invaders

If you have the source (.FLA) for a game that you want to use in the v3 Arcade, you can send the required files to john@v3arcade.com for conversion. (Providing permission has been given by the original author.) Within a reasonable delay, I'll post the converted game and installation script on vBulletin.org.


Testing
Tested on vBulletin 3.0.3, across multiple unhacked installations.


Thanks to...
? Kura: For helping out with vB3 difficulties!
? Erwin: Whose vB2 Flash Player inspired the original hacks
? Paul Neave: For providing the source for 4 of the standard v3 Arcade games


IMPORTANT NOTES
? If you do install this hack, please click on the INSTALL button. There are going to be some updates for this which you're really not going to want to miss!
? Each Arcade page has an Eovie Interactive and Flash Player link at the bottom. This is optional, but greatly appreciated.
? You may have noticed that this release of the v3 Arcade is not fully phrased. To phrase the arcade would require well over a hundred phrases to be added, making for a lengthy installation process! Futures version of the v3 Arcade will be phrased, with a more automated installation.
? And don't forget - BACKUP BEFORE YOU INSTALL!


Regarding the "ProArcade"
There has been a lot of debate on vb.org recently about the ownership of hack "concepts". My original Arcade hack (on which the v3 Arcade is based), was a progression of the my vBTetris Leaderboard hack - both of which came about before the ProArcade. I've spoken to Erwin regarding this, and he can confirm that this has always been an independent development; hence the v3 Arcade was authorised for release.

Fixes
If you're installing the Arcade from scratch, there are no fixes or updates to be applied. Simply follow the instructions in Installation.txt.
If you've already installed the Arcade, make the changes in Updates.txt.

[Click HERE to view a list of released games and modifications!]

Demos/Add-Ons/Beta Testing
www.v3arcade.com

Download the v3 Arcade (1.0.3) here:

Show Your Support

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

Comments
  #1292  
Old 02-16-2004, 01:53 PM
sifuhall sifuhall is offline
 
Join Date: Nov 2001
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I apologize for the long post. I have now had 7 others review my file hacks and no one is able to find the difference.

This is the only hack I have installed.

I suppose I will offer a reward to anyone that can find the differences in my file hacks that does not allow the scores to be saves.

Here are my hacks:

In admincp/index.php:
Code:
	$printhr = false;
construct_nav_option("General Settings", 'arcadeadmin.php?do=general', '<br />');
construct_nav_option("Game Settings", 'arcadeadmin.php?do=games', '<br />');
construct_nav_option("Score Settings", 'arcadeadmin.php?do=scores', '<br />');
construct_nav_option("Challenges", 'arcadeadmin.php?do=challenges', '<br />');
construct_nav_group("Arcade", '<hr />');

	if (can_administer('canadminstyles'))
	{
In admincp/usergroup.php:
Code:
	print_table_break();

print_table_header("Arcade Permissions");
print_yes_no_row("Can View the Arcade? <dfn>Allows usergroup to view the arcade, including high scores and leaderboards</dfn>", 'usergroup[canviewarcade]', $ug_bitfield['canviewarcade']);
print_yes_no_row("Can Play Games in the Arcade? <dfn>Allows usergroup to play arcade games</dfn>", 'usergroup[canplayarcade]', $ug_bitfield['canplayarcade']);
print_yes_no_row("Can Post Comments? <dfn>Allows usergroup to post comments when they achieve a high score</dfn>", 'usergroup[canmakecomments]', $ug_bitfield['canmakecomments']);
print_yes_no_row("Can Edit Leaderboard Comments? <dfn>Allows usergroup to edit comments left by other members</dfn>", 'usergroup[caneditscores]', $ug_bitfield['caneditscores']);
print_yes_no_row("Can Delete Leaderboard Scores? <dfn>Allows usergroup to delete scores and comments left by other members</dfn>", 'usergroup[candelscores]', $ug_bitfield['candelscores']);
print_table_break();

	print_table_header($vbphrase['forum_viewing_permissions']);
	print_yes_no_row($vbphrase['can_view_board'], 'usergroup[canview]', $ug_bitfield['canview']);
In includes/functions.php:
Code:
	}
// declares the arcade image directory
$stylevar['imgdir_arcade'] = "images/arcade";
	// get CSS width for outerdivwidth from outertablewidth
	if (strpos($stylevar['outertablewidth'], '%') === false)
	{
In includes/functions_showthread.php:
Code:
require_once('./includes/functions_bbcodeparse.php');
if ($arcadegeneral['awardson']==1) {
	// declares the arcade image directory
	$stylevar['imgdir_arcade'] = "images/arcade";
	$arcade_result = $DB_site->query("SELECT shortname,title,gamesettings,highscorerid,highscore,miniimage,gameid FROM " . TABLE_PREFIX . "games ");
	while ($arcade = $DB_site->fetch_array($arcade_result)){
		if (($arcade[gamesettings] & $_GAMESCHECK['showaward'])){
			$awards[$arcade[shortname]]['userid'] = $arcade['highscorerid'];
			$awards[$arcade[shortname]]['gametitle'] = $arcade['title'];
			$awards[$arcade[shortname]]['icon'] = $arcade['miniimage'];
			$awards[$arcade[shortname]]['highscore'] = $arcade['highscore'];
			$awards[$arcade[shortname]]['gameid'] = $arcade['gameid'];
		}
	}
}
// ###################### Start getreputationimage #######################
function fetch_reputation_image(&$post)
{


<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

function construct_postbit($post, $maintemplatename = 'postbit', $alternate = '')
{
	// sorts through all the stuff to return the postbit template
// arcade
	global $awards,$arcadegeneral;

	// user
	global $bbuserinfo, $session, $ignore, $permissions, $_REQUEST;

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

	}
if ($arcadegeneral['awardson']==1) {
		foreach ($awards as $key => $award) {
			if ($award['userid']==$post['userid']) {
				eval('$post[\'arcadeawards\'] .= "' . fetch_template('arcade_awards_bit') . '";');
			}
		}
	}
	$show['messageicon'] = iif($post['iconpath'], true, false);
In includes/init.php:
Code:
			'stylecache',
			'arcadesettings'
		), $specialtemplates);


<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

				// get $arcadesettings
				case 'arcadesettings':
				$arcadesettings = $storeitem['data'];
				break;
				// get $usergroupcache array
				case 'usergroupcache':

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

// ### INSERT PLUGIN USERGROUP PERMISSIONS BITFIELDS HERE ###
// ----------------------------------------------------------
$_BITFIELD['usergroup']['arcadepermissions'] = array(
	'canviewarcade'			=> 1,
	'canplayarcade'			=> 2,
	'caneditscores'		 	=> 4,
	'candelscores' 			=> 8,
	'canmakecomments'		=> 16
);
// ----------------------------------------------------------
// ###  END PLUGIN USERGROUP PERMISSIONS BITFIELDS HERE   ###

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

'warnall'           => 131072
);
$_ARCADE = array(
	'active'			=> 1,
	'netplay'			=> 2,
	'awardson'			=> 4,
	'quickreg'			=> 8,
	'autoprune'			=> 16,
	'highonly'			=> 32,
	'vbcodeon'			=> 64,
	'imgcodeon'			=> 128,
	'smilieson'			=> 256,
	'allowemail'		=> 512,
	'challengescores'		=> 1024
);

$_ARCADEUSER = array(
	'firstvisit'		=> 1,
	'settingschecked'	=> 2,
	'allowchallenges'	=> 4,
	'allowemails'		=> 8
);

$_GAMESCHECK = array(
	'active'			=> 1,
	'netplay'			=> 2,
	'playpanel'			=> 4,
	'challenabled'		=> 8,
	'showaward'			=> 16
);

In includes/functions_online.php:
Code:
			break;
		case 'arcade':
			$userinfo['action'] = 'In the Arcade';
			$userinfo['where'] = "<a href=\"arcade.php?$session[sessionurl]\">$vboptions[bbtitle] Arcade</a>";
			break;
		default:
			if ($permissions['wolpermissions'] & CANWHOSONLINEBAD)

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

		break;
	case 'arcade.php':
		$userinfo['activity'] = 'arcade';
		break;

	default:
		$userinfo['activity'] = 'unknown';
	}
In global.php:
Code:
	echo "End call of global.php:  $aftertime\n";
	echo "\n<hr />\n\n";
}
// Creates general settings for the Arcade
$arcadegeneral = convert_bits_to_array($arcadesettings,$_ARCADE);
$arcadeuser = convert_bits_to_array($bbuserinfo['arcadesettings'],$_ARCADEUSER);
$arcadepermissions = convert_bits_to_array($permissions['arcadepermissions'],$_BITFIELD['usergroup']['arcadepermissions']);

In profile.php:
Code:
'editarcade' => array(
		'modifyarcade'
	),
	'editavatar' => array(

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

// ############################################################################
// ########################### ARCADE USER OPTIONS ############################
// ############################################################################
if ($_REQUEST['do'] == 'editarcade')
{
	$checked = array();
	// current values as checked
	foreach ($arcadeuser as $key => $value) {
		if ($value == 1) {
			$checked[$key] = HTML_CHECKED;
		}
	}
	construct_usercp_nav(); 
	$templatename = "modifyarcade";
}
// ############################################################################
// ############################### EDIT OPTIONS ###############################
// ############################################################################

<<< SKIPPING TO NEXT HACK IN SAME FILE >>>

// ############################## start update arcade #################################
if ($_POST['do'] == 'updatearcade')
{
require_once('./includes/functions_misc.php');
	// globalize here
	$_POST['arcade']['firstvisit'] = 0;
	$_POST['arcade']['settingschecked'] = 1;
	$userSettings = &$_POST['arcade'];

	$userBits = convert_array_to_bits($userSettings,$_ARCADEUSER);
	
	$DB_site->query("
		UPDATE " . TABLE_PREFIX . "user SET
		arcadesettings = $userBits
		WHERE userid = $bbuserinfo[userid]
	");
	
	$url = "arcade.php?do=main";
	eval(print_standard_redirect('redirect_updatethanks'));
}
// ############################### start update options ###############################
In showthread.php:
Code:
	'pollresult',
	'arcade_awards_bit',
);


Again, very sorry for the long post, but this is becoming very frustrating.

I sincerely appreciate all the help.
Reply With Quote
  #1293  
Old 02-16-2004, 01:55 PM
John's Avatar
John John is offline
 
Join Date: Mar 2002
Location: Norwich, UK
Posts: 1,543
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$50, plus $15 a month for the service - the author's fees, I'm afraid. I'm trying to get him to come down, but he's being stubborn.
Reply With Quote
  #1294  
Old 02-16-2004, 02:24 PM
GamerzWorld's Avatar
GamerzWorld GamerzWorld is offline
 
Join Date: Aug 2003
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$50 a month for the little lobby thing in the arcade... jesus lol
Reply With Quote
  #1295  
Old 02-16-2004, 02:25 PM
astra-sri astra-sri is offline
 
Join Date: May 2003
Location: Sheffield, UK
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by astra-sri
I've got a problem with penguin bash. The top score on my forum is 3234 and my gf has twice beat that score with a score of 3235 but it won't let you submit the score for it to be put into the table. It's definately not a slow connection problem as we're on broadband and it's submitting all lower scores fine. I can choose try again no problem but after achieving a score of 3235 it will not let you submit anymore scores regardless of what amount they are. But on reloading the game it works fine. It's also not a timeout issue as she got it the 2nd time after only about 30-60 secs of trying.

Any ideas as this is stressing the hell out of her as she should be champ!
Anyone able to help as this is driving my users crazy!

Cheers
Reply With Quote
  #1296  
Old 02-16-2004, 03:00 PM
Dart1337 Dart1337 is offline
 
Join Date: Jun 2003
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by GamerzWorld
$50 a month for the little lobby thing in the arcade... jesus lol
No, it's $50 for the license then $15 a month for the socket software, iirc. I think John just typo'ed... I hope he did anyway.
Reply With Quote
  #1297  
Old 02-16-2004, 03:01 PM
John's Avatar
John John is offline
 
Join Date: Mar 2002
Location: Norwich, UK
Posts: 1,543
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yeah, sorry.
Reply With Quote
  #1298  
Old 02-16-2004, 03:19 PM
Animension Animension is offline
 
Join Date: Feb 2004
Posts: 21
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Edit: Fixed, forgot to save/upload global
Reply With Quote
  #1299  
Old 02-16-2004, 03:24 PM
GamerzWorld's Avatar
GamerzWorld GamerzWorld is offline
 
Join Date: Aug 2003
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So basically to set up the lobby bit it will cost me one time fee of $50 then for software so it runs $15 a month
Reply With Quote
  #1300  
Old 02-16-2004, 03:25 PM
John's Avatar
John John is offline
 
Join Date: Mar 2002
Location: Norwich, UK
Posts: 1,543
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by GamerzWorld
So basically to set up the lobby bit it will cost me one time fee of $50 then for software so it runs $15 a month
Yep.
Reply With Quote
  #1301  
Old 02-16-2004, 04:23 PM
idwf's Avatar
idwf idwf is offline
 
Join Date: Jun 2003
Location: England
Posts: 413
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by John
Yep.
I still cant get any of my members on there because of permission!!!! Can you help me?
Reply With Quote
  #1302  
Old 02-16-2004, 04:44 PM
mini2 mini2 is offline
 
Join Date: Nov 2001
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by John
Every single person who has had your problem has found it to be a file modification error. People don't follow the instructions properly.

Hi John, people on the MINI2 Arcade at www.mini2.com/forum/arcade.php are still having problems recording scores.

It only seems to be very high scores and/or when people spend a long time in one game. I have the hack installed 100% correct as far as I can see.

It's happened to me once only, when I got a high score on the new Monkey game.

People are getting frustrated because it does it at the worst time possible, when they've got a good score!

It happens on various games, to various members, from various locations. The only pattern is it happens with very high scores or when they've been playing a long time.

The error is (as I've stated) the standard vBulletin "no permission" error.

Any chance you could offer any suggestions at all or if we could work out what's going wrong, as something is for sure!
Reply With Quote
  #1303  
Old 02-16-2004, 04:56 PM
dpakman91 dpakman91 is offline
 
Join Date: Jan 2004
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

n order to get members to post more, i thought about making the entire arcade require X number of posts, but that's not the right idea.

what i want to do is take my most popular games and make THOSE require X number of posts. how can this be done, with individual games rather than the entire arcade?
Reply With Quote
  #1304  
Old 02-16-2004, 05:02 PM
sifuhall sifuhall is offline
 
Join Date: Nov 2001
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Still tracking down my scores problem.

I have tracked the problem down to arcade.php, inside
PHP Code:
if ($_POST['sessdo'] == "permrequest") { 
specifically this area:

PHP Code:
    globalize($_POST, array('note'=>STR_NOHTML'id'=>INT'gametime'=>INT'score'=>STR_NOHTML'key'=>INT));

    
// Turn negative globalize results into errors
    
if ($_POST['note'] == || $_POST['id'] == || $_POST['gametime'] == 0  || $_POST['fakekey'] == 0) {
        exit;
    } 
Inside these vars I have:
note=0
id=0
gametime=1076957565
fakekey=3


so it is note and id that are causing me to exit without recording the score.

These are _POST variables, why would they not be present here?
Reply With Quote
  #1305  
Old 02-16-2004, 05:03 PM
John's Avatar
John John is offline
 
Join Date: Mar 2002
Location: Norwich, UK
Posts: 1,543
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Does this happen with every game? What version of PHP are you using?
Reply With Quote
  #1306  
Old 02-16-2004, 05:07 PM
sifuhall sifuhall is offline
 
Join Date: Nov 2001
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Yes, and PHP Version 4.3.3
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 05:18 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.11843 seconds
  • Memory Usage 2,398KB
  • Queries Executed 30 (?)
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
  • (9)bbcode_code
  • (2)bbcode_php
  • (5)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
  • (4)pagenav_pagelink
  • (5)pagenav_pagelinkrel
  • (16)post_thanks_box
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (16)postbit_onlinestatus
  • (16)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