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
V3Arcade - Game Rating addon Details »»
V3Arcade - Game Rating addon
Version: 1.00, by GenSec GenSec is offline
Developer Last Online: Jun 2010 Show Printable Version Email this Page

Version: 3.0.3 Rating:
Released: 11-06-2004 Last Update: Never Installs: 24
 
No support by the author.

These hack adds rating system for your arcade games.

Files to edit: 1
Templates to edit: 2
Files to add: 1

Add 1 new db table + 2 changes for games table

Very easy to install...
################################################## ##############################################
Before the installation!
Please make a Backup of your database and the changed files!
################################################## ##############################################

1. ADD this to MySQL DB using phpmyadmin or admincp :
Code:
ALTER TABLE `games` ADD `votetotal` smallint(5)  UNSIGNED DEFAULT '0' NOT NULL ;

ALTER TABLE `games` ADD `votenum` smallint(5)  UNSIGNED DEFAULT '0' NOT NULL ;

CREATE TABLE `game_rate` (
  `gamerateid` int(11) NOT NULL auto_increment,
  `gameid` int(11) NOT NULL default '0',
  `userid` int(10) NOT NULL default '0',
  `vote` smallint(5) default NULL,
  `ipaddress` char(15) NOT NULL default '',
  PRIMARY KEY  (`gamerateid`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;
2. Upload gamerate.php to your forumroot directory.
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
There are somу redirects phrases like "redirect_threadrate_add", "error_threadratevoted" etc.
You саn change them to similar with the word "game" instead of "thread".
I didn't. And it works fine on my board.

3. Edit arcade.php
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Find:
Code:
$phrasegroups = array();
Change to:
Code:
$phrasegroups = array('arcade','showthread');
* in case you decide to use the above "thread" phrases


Find:
Code:
	// While loop constructs the $gamebits variable, with games where scores have been recorded
	while ($game = $DB_site->fetch_array($result_topscore2)) {

Add right after:
Code:
      // display ratings if enabled
    	if ($game['votenum'] > 0)
	    {
		$game['voteavg'] = vb_number_format($game['votetotal'] / $game['votenum'], 2);
		$game['rating'] = round($game['voteavg']);
		} else { 
        $game['rating']=0;
	    }
        //
Find:
Code:
$thisGame = $DB_site->query_first("SELECT * FROM " . TABLE_PREFIX . "games WHERE gameid=$gameid");


Add right after:
Code:
// display ratings if enabled
$show['rating'] = false;

	if ($thisGame['votenum'] > 0)
	{
		$thisGame['voteavg'] = vb_number_format($thisGame['votetotal'] / $thisGame['votenum'], 2);
		$game['rating'] = round($thisGame['voteavg']);
			$show['rating'] = true;
	}

	 if ($rating = $DB_site->query_first("
	 	SELECT vote, gamerateid FROM " . TABLE_PREFIX . "game_rate
		WHERE userid = $bbuserinfo[userid] AND gameid = $gameid
	")) {

    		if ($$rating['vote'])
 	          {
				$voteselected["$rating[vote]"] = HTML_SELECTED;
				$votechecked["$rating[vote]"] = HTML_CHECKED;
			  }	else {
				$voteselected[0] = HTML_SELECTED;
				$votechecked[0] = HTML_CHECKED;
			  }
     }
//
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Save arcade.php

4. Edit arcade templates

to place the voting form in play control panel

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



In arcade_play template find:
Code:
<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%"> 
  <tr> 
    <td class="thead" colspan="2"><span class="smallfont">$thisGame[title]</span></td> 
  </tr>


Add right after:
Code:
<tr>
<td class="alt2" align="center" id="gamerating" nowrap="nowrap"><span class="smallfont">
<a href="#goto_gamerating">
<if condition="$show['rating']">$vbphrase[rating]</a>: <img class="inlineimg" src="$stylevar[imgdir_rating]/rating_$game[rating].gif" alt="<phrase 1="$thisGame[votenum]" 2="$thisGame[voteavg]">$vbphrase[thread_rating_x_votes_y_average]</phrase>" border="0" />
                  <else />$vbphrase[rate_thread]</a></if>
<if condition="$show['popups']"><script type="text/javascript"> vbmenu_register("gamerating"); </script></if>
</span></td></tr>

Find:
Code:
 <tr><td class="alt1" align="center"><img src="$stylevar[imgdir_arcade]/backtip.gif" border=0></td>
</table>
</td>
</tr></table>

Add right after:

Code:
<div class="vbmenu_popup" id="gamerating_menu" style="display:none">
<form action="gamerate.php" method="post">
	<table cellpadding="4" cellspacing="1" border="0">
	<tr>
		<td class="thead">Зацени игру<a name="goto_gamerating"></a></td>
	</tr>
	<tr>
		<td class="vbmenu_option" title="nohilite">
		<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_5.gif" alt="$vbphrase[excellent]" /><label for="vote5"><input type="radio" name="vote" id="vote5" value="5" $votechecked[5] />$vbphrase[excellent]</label></div>
		<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_4.gif" alt="$vbphrase[good]" /><label for="vote4"><input type="radio" name="vote" id="vote4" value="4" $votechecked[4] />$vbphrase[good]</label></div>
		<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_3.gif" alt="$vbphrase[average]" /><label for="vote3"><input type="radio" name="vote" id="vote3" value="3" $votechecked[3] />$vbphrase[average]</label></div>
		<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_2.gif" alt="$vbphrase[bad]" /><label for="vote2"><input type="radio" name="vote" id="vote2" value="2" $votechecked[2] />$vbphrase[bad]</label></div>
		<div><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_1.gif" alt="$vbphrase[terrible]" /><label for="vote1"><input type="radio" name="vote" id="vote1" value="1" $votechecked[1] />$vbphrase[terrible]</label></div>
		</td>
	</tr>
	<tr>
		<td class="vbmenu_option" title="nohilite" align="center">
	<input type="hidden" name="s" value="$session[dbsessionhash]" />
	<input type="hidden" name="gameid" value="$gameid" />
	<input type="submit" class="button" value="$vbphrase[vote_now]" />
		</td>
	</tr>
	</table>
</form>
</div>
Save arcade_play


5. At last find the right place to show the game rating

I placed in arcade_main_games_bit temlate :
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Code:
<if condition="$game['rating'] > 0"><img class="inlineimg" src="$stylevar[imgdir_rating]/rating_$game[rating].gif" alt="<phrase 1="$game[votenum]" 2="$game[voteavg]">$vbphrase[thread_rating_x_votes_y_average]</phrase>" border="0" />
</if>
#############################
Thats all!

I hope it works :classic:

Show Your Support

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

Comments
  #22  
Old 11-10-2004, 07:28 PM
HarryBO HarryBO is offline
 
Join Date: Jan 2003
Posts: 68
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice that works!

Big THX!
Reply With Quote
  #23  
Old 11-10-2004, 08:33 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

never mind
Reply With Quote
  #24  
Old 11-12-2004, 01:00 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Now that we have the games rated, what would be nice is a top rated list and a most popular (most played)
Reply With Quote
  #25  
Old 11-12-2004, 10:05 PM
Wachtmeister's Avatar
Wachtmeister Wachtmeister is offline
 
Join Date: Apr 2004
Location: West-Berlin, Germany
Posts: 190
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Will this sql query work if i use table prefix for my forum? My forum uses vb3_ as prefix and i think, that this will not work for me. ??
Reply With Quote
  #26  
Old 11-13-2004, 05:27 PM
Intex Intex is offline
 
Join Date: Apr 2002
Posts: 576
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thx. GenSec.

[high]* Intex clicks INSTALL.[/high]
Reply With Quote
  #27  
Old 11-13-2004, 07:00 PM
GenSec GenSec is offline
 
Join Date: Oct 2001
Posts: 156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Wachtmeister
Will this sql query work if i use table prefix for my forum? My forum uses vb3_ as prefix and i think, that this will not work for me. ??
It will
It creates only one new table without prefix: "game_rate".
If you want to add prefix to "game_rate" it's very simple. Just rename this table
Reply With Quote
  #28  
Old 11-13-2004, 07:11 PM
GenSec GenSec is offline
 
Join Date: Oct 2001
Posts: 156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lionel
Now that we have the games rated, what would be nice is a top rated list and a most popular (most played)
No problem

Find in arcade.php
Code:
	// Selects all games from the database
Add below:
Code:
if ($_GET['show'] == "best")
{
                define('BESTRATED', 'true');
 // Selects rating
$result_allgames = $DB_site->query("
SELECT * FROM " . TABLE_PREFIX . "games  AS g 
WHERE g.votetotal>3 ORDER BY votetotal DESC
");
} else {
Find:
Code:
		$gamecount = $DB_site->num_rows($result_allgames);
Add before:
Code:
}
Now link to the page http://www.yourdomain/forum/arcade.php?show=best and you have list of games wiht rating >3
Reply With Quote
  #29  
Old 11-13-2004, 07:12 PM
GenSec GenSec is offline
 
Join Date: Oct 2001
Posts: 156
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Most popular is another hack
Reply With Quote
  #30  
Old 11-13-2004, 08:11 PM
Lionel Lionel is offline
 
Join Date: Dec 2001
Location: Delray Beach, Florida
Posts: 3,277
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks... but that returned no items (perhaps because of the category hack?). I have two instances of // select all games
the first one returns a parse error and the second no results...
Reply With Quote
  #31  
Old 11-14-2004, 02:23 AM
NightWalk8r NightWalk8r is offline
 
Join Date: Jul 2002
Posts: 56
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I keep getting this error when i try to run the query in Admincp =(

Query
ALTER TABLE `vb3_games` ADD `votetotal` smallint(5) UNSIGNED DEFAULT '0' NOT NULL ;

ALTER TABLE `vb3_games` ADD `votenum` smallint(5) UNSIGNED DEFAULT '0' NOT NULL ;

CREATE TABLE `vb3_game_rate` (
`gamerateid` int(11) NOT NULL auto_increment,
`gameid` int(11) NOT NULL default '0',
`userid` int(10) NOT NULL default '0',
`vote` smallint(5) default NULL,
`ipaddress` char(15) NOT NULL default '',
PRIMARY KEY (`gamerateid`)
) TYPE=MyISAM AUTO_INCREMENT=8

vBulletin Message
An error occurred while attempting to execute your query. The following information was returned.
error number: 1064
error desc: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ';

ALTER TABLE `vb3_games` ADD `votenum` smallint(5) UNSIGNED
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 11:18 PM.


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.06729 seconds
  • Memory Usage 2,327KB
  • 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
  • (16)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
  • (4)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