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
vBookie - vBulletin Betting Hack Details »»
vBookie - vBulletin Betting Hack
Version: 1.00, by tjdrico tjdrico is offline
Developer Last Online: Apr 2014 Show Printable Version Email this Page

Version: 3.0.0 Rating:
Released: 06-03-2004 Last Update: Never Installs: 359
 
No support by the author.

vBookie

Introduction

vBookie is a 'bookmakers' or betting extension to vBulletin. It enables authorised members to post Events and Outcomes that forum members can bet on. Each Outcome has its own set of odds, and odds can be modified through the life of an Event (bets that are placed are stored with the prevailing odds, so even if the odds change, your users are paid at the correct rate).

Once the results are known, Events can be settled and forums members awarded their winnings.

vBookie uses its own vCash by default, but this has no more use than as 'bragging rights'. However, vBookie also comes with a built-in switch to allow it to use either uCash or Petz money instead. That means that all bets are paid for and settled using uCash or Petz money, making betting even more attractive than just for fun on forums with uShop/Petz installed. Although vBookie does not have any built-in facility to integrate with any other store hacks, it's a very simple job to hack vBookie itself to integrate it with any store/points system you care to use.

Features
  • master switch to turn vBookie off
  • option to use uCash
  • option to use Petz money
  • settings to restrict the creation of Events to specific user groups
  • settings to restrict which user groups can bet on Events
  • settings to restrict which user groups can edit or settle other people's Events
  • per-Event, specify whether punters may bet on more than one outcome
  • optional 'charity mode' so that the poorest members of the forum always have something to play with
  • supplied with a module for vBadvanced

Please click if you install this hack, thanks. Please also let me know - send me an email or a PM. If you'd let me know the forum URL too that'd be cool!

vBookie is free, and will remain free.

Updates

1.0.0 -> 1.0.1

- adds the ability to delete Events. See this post for upgrade instructions if you already have 1.0.0

1.0.1 -> 1.0.2

Corrected a minor bug with the charity mode when using uCash. See this post for manual upgrade instructions from 1.0.1.

1.0.2 -> 1.0.3

Corrected a minor bug with the richest people display when using uCash. Just overwrite includes/functions_vbookie.php with the one from the new Zip file.

1.0.3 -> 1.0.4

Corrected some date display problems when using "Detailed" dates. For manual update instructions, see this post.

Corrected Petz bug whereby all winnings were paid to the bet's owner rather than individual winners. To upgrade from 1.03 or earlier, see this post or overwrite includes/functions.vbookie.php with the 1.0.4 version.

Problems?

-> Petz - If you are using Petz there is a bug in all versions up to and inclusing 1.0.3. Your players won't get paid their winning, and all payouts will end up in the account of the person that posted the Event. To correct this, please see this post. This fix will be incororated into 1.0.4 onwards.

-> If you can't post Events, or can't bet on them make sure you have set your user permissions

-> If you have an SQL error Invalid SQL: UPDATE SET =25 WHERE <25 make sure you are using version 1.0.3 or later.

-> If you have any other general problems, please check the installation/hack instructions and make sure you have carried out all the steps and also check that you made the changes correctly

Anything else, ask in this thread.

Other Stuff

-> If you are using Detailed Date & Time display and have a problem with Event dates appearing as '1 Minute Ago', see this post.

-> If you want to use poster 'Reputation' as the currency for vBookie, see this post.

About Odds

Odds of "5/1" are "amount won per amount placed". This means that I would win 5 for every 1 placed. Of course, if I win, I get my stake back as well. Odds of "1/5" means that I win 1 for every 5 placed. I'd have to place 25 to win just 5.

Decimal Odds

Decimal odds are just another way of displaying the same information. 2.0 is the same as 2/1. 0.2 is the same as 1/5. vBookie only lets you specify odds in terms of x/y, but if you think in terms of decimal you can still work out what odds to provide. Simply think of your decimal odds as "2.0 / 1.0" or "0.5 / 1.0" and then multiply each side through by 10 or 100 until there are only zeros to the right of the decimal point, then just take the whole number part.

2.0 / 1.0 has no decimals, so this is the same as 2/1

0.5 / 1.0 has a 0.5, so multiply both parts by 10 to get 5.0 / 10.0. Then you can specify your odds as 5 / 10. You might also realise that this is the same as 1/2. The technique is a simple way to work out any odds you may need to specify.

Odds of 0.65 -> 0.65 / 1.0 -> 65.0 / 100.0 or 65/100. Then you can divide through by 5 to get to 13 / 20, although this step isn't necessary.


_______________________________________

Show Your Support

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

Comments
  #32  
Old 06-06-2004, 05:03 PM
djohn djohn is offline
 
Join Date: Feb 2004
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Awesome. Before i install this, does it have any group and forum specific permissions, so that only specified groups can bet or post vBookie events in specified forums?
Reply With Quote
  #33  
Old 06-06-2004, 05:19 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by djohn
Awesome. Before i install this, does it have any group and forum specific permissions, so that only specified groups can bet or post vBookie events in specified forums?
Yes. You can use the standard permissions system to grant/revoke rights to:

- add/edit an event
- edit someone else's events
- bet on events

These can be applied to user groups, or turned on/off on specific forums.

On my forums I have Registered Users allowed to bet, Bookies allowed to add/edit anyone's, and Restricted Bookies allowed to add/edit their own.
Reply With Quote
  #34  
Old 06-06-2004, 05:33 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just updated for 1.0.2 which is a minor fix. I tidied up some stuff and deleted something I shouldn't have. Just upload the includes/functions_vbookie.php file, or do the following change:

Find:

PHP Code:
function vbookie_do_charity()
{
    global 
$DB_site$vbookiesettings
Change to:

PHP Code:
function vbookie_do_charity()
{
    global 
$DB_site$vboptions$vbookiesettings
This would only have affected you if you had the "charity mode" on, and had any users with less than 25 money.
Reply With Quote
  #35  
Old 06-06-2004, 07:25 PM
Wolffman Wolffman is offline
 
Join Date: Apr 2004
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When I tried to edit the permissions this came up:

Code:
Database error in vBulletin 3.0.1:

Invalid SQL: UPDATE usergroup SET

### UPDATE QUERY GENERATED BY fetch_query_sql() ###
	title = 'Members',
	description = '',
	usertitle = '',
	opentag = '',
	closetag = '',
	passwordexpires = '0',
	passwordhistory = '0',
	attachlimit = '0',
	canpostvbookieevent = '1',
	caneditothersvbookieevents = '1',
	canbet = '1',
	avatarmaxwidth = '150',
	avatarmaxheight = '150',
	avatarmaxsize = '50000',
	profilepicmaxwidth = '200',
	profilepicmaxheight = '200',
	profilepicmaxsize = '65535',
	pmquota = '40',
	pmsendmax = '5',
	uttstore_discount = '0',
	forumpermissions = '127487',
	pmpermissions = '3',
	calendarpermissions = '17',
	wolpermissions = '1',
	adminpermissions = '0',
	genericpermissions = '7879',
	genericoptions = '30',
	shoutboxpermissions = '0',
	siguploaderpermissions = '0',
	arcadepermissions = '0'
WHERE usergroupid=2
mysql error: Unknown column 'canpostvbookieevent' in 'field list'

mysql error number: 1054
Reply With Quote
  #36  
Old 06-06-2004, 07:45 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Wolffman
When I tried to edit the permissions this came up:

Code:
Database error in vBulletin 3.0.1:

Invalid SQL: UPDATE usergroup SET

### UPDATE QUERY GENERATED BY fetch_query_sql() ###
	title = 'Members',
	description = '',
	usertitle = '',
	opentag = '',
	closetag = '',
	passwordexpires = '0',
	passwordhistory = '0',
	attachlimit = '0',
	canpostvbookieevent = '1',
	caneditothersvbookieevents = '1',
	canbet = '1',
	avatarmaxwidth = '150',
	avatarmaxheight = '150',
	avatarmaxsize = '50000',
	profilepicmaxwidth = '200',
	profilepicmaxheight = '200',
	profilepicmaxsize = '65535',
	pmquota = '40',
	pmsendmax = '5',
	uttstore_discount = '0',
	forumpermissions = '127487',
	pmpermissions = '3',
	calendarpermissions = '17',
	wolpermissions = '1',
	adminpermissions = '0',
	genericpermissions = '7879',
	genericoptions = '30',
	shoutboxpermissions = '0',
	siguploaderpermissions = '0',
	arcadepermissions = '0'
WHERE usergroupid=2
mysql error: Unknown column 'canpostvbookieevent' in 'field list'

mysql error number: 1054
According to my local mySQL, those columns shouldn't be in usergroup anyway:

Code:
mysql> show columns from vb_usergroup;
+---------------------+----------------------+------+-----+---------+----------------+
| Field               | Type                 | Null | Key | Default | Extra          |
+---------------------+----------------------+------+-----+---------+----------------+
| usergroupid         | smallint(5) unsigned |      | PRI | NULL    | auto_increment |
| title               | varchar(100)         |      |     |         |                |
| description         | varchar(250)         |      |     |         |                |
| usertitle           | varchar(100)         |      |     |         |                |
| passwordexpires     | smallint(5) unsigned |      |     | 0       |                |
| passwordhistory     | smallint(5) unsigned |      |     | 0       |                |
| pmquota             | smallint(5) unsigned |      |     | 0       |                |
| pmsendmax           | smallint(5) unsigned |      |     | 5       |                |
| pmforwardmax        | smallint(5) unsigned |      |     | 5       |                |
| opentag             | varchar(100)         |      |     |         |                |
| closetag            | varchar(100)         |      |     |         |                |
| canoverride         | smallint(5) unsigned |      |     | 0       |                |
| ispublicgroup       | smallint(5) unsigned |      |     | 0       |                |
| forumpermissions    | int(10) unsigned     |      |     | 0       |                |
| pmpermissions       | int(10) unsigned     |      |     | 0       |                |
| calendarpermissions | int(10) unsigned     |      |     | 0       |                |
| wolpermissions      | int(10) unsigned     |      |     | 0       |                |
| adminpermissions    | int(10) unsigned     |      |     | 0       |                |
| genericpermissions  | int(10) unsigned     |      |     | 0       |                |
| genericoptions      | int(10) unsigned     |      |     | 0       |                |
| pmpermissions_bak   | int(10) unsigned     |      |     | 0       |                |
| attachlimit         | int(10) unsigned     |      |     | 0       |                |
| avatarmaxwidth      | smallint(5) unsigned |      |     | 0       |                |
| avatarmaxheight     | smallint(5) unsigned |      |     | 0       |                |
| avatarmaxsize       | int(10) unsigned     |      |     | 0       |                |
| profilepicmaxwidth  | smallint(5) unsigned |      |     | 0       |                |
| profilepicmaxheight | smallint(5) unsigned |      |     | 0       |                |
| profilepicmaxsize   | int(10) unsigned     |      |     | 0       |                |
| arcadepermissions   | int(10) unsigned     | YES  |     | 0       |                |
| uttstore_discount   | varchar(20)          |      |     | 0       |                |
+---------------------+----------------------+------+-----+---------+----------------+
30 rows in set (0.02 sec)
It looks like you didn't follow the installation instructions correctly. Those three columns (canpostvbookieevent, caneditothersvbookieevents, canbet) should have gone directly below "'canseedelnotice' => 262144," in init.php which would make them part of the 'forumpermissions' group.

I recommend that you go through the installation instructions again, double-checking them against what you've actually done.
Reply With Quote
  #37  
Old 06-06-2004, 07:57 PM
Wolffman Wolffman is offline
 
Join Date: Apr 2004
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That was my fault. All I did was forget to add a phrase.

Thanks anyway.
Reply With Quote
  #38  
Old 06-06-2004, 08:02 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Wolffman
That was my fault. All I did was forget to add a phrase.

Thanks anyway.
Cool! =) Odd error to happen as a result of a missing phrase though.
Reply With Quote
  #39  
Old 06-06-2004, 08:07 PM
lordnex lordnex is offline
 
Join Date: Apr 2004
Location: Windsor, Ontario
Posts: 77
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Good hack, thanks for posting it! It does take a bit of careful editing as it does go into a few hacks and someone not very observant might overwrite those hacks.

Good job though!
Reply With Quote
  #40  
Old 06-06-2004, 08:13 PM
tjdrico's Avatar
tjdrico tjdrico is offline
 
Join Date: Mar 2004
Location: Morecambe, UK
Posts: 148
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by lordnex
Good hack, thanks for posting it! It does take a bit of careful editing as it does go into a few hacks and someone not very observant might overwrite those hacks.
I agree. Unfortunately it's impossible to write instructions that cover every available hack, so it's only really possible to write them assuming an 'as new' unhacked installation. If something like v3Arcade has already been added, or uCash perhaps, or Petz, or... or... or... then the instructions might clash; particularly when it comes to bitfield permissions where the next available number in an original installation might be 16, but that might already have been used by another hack. The savvy hacker would know to use 32 instead, but not everyone has such knowledge.

I've tried to stress in the installation instructions the importance of prior backups, but that's advice not everyone will heed. Sensible people would read through all the instructions first, and compare them to their own files before starting, but this is the real world and people aren't that cautious. =)

I think I might update the installation instructions to stress these points though.

Additional:

OK, updated installation instructions:



I think that's about all I can reasonably do. =)
Reply With Quote
  #41  
Old 06-06-2004, 08:49 PM
GamerzWorld's Avatar
GamerzWorld GamerzWorld is offline
 
Join Date: Aug 2003
Posts: 263
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

what do you get to start with? Also can you loose all your cash?
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 08:21 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.05946 seconds
  • Memory Usage 2,338KB
  • 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
  • (3)bbcode_code
  • (2)bbcode_php
  • (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
  • (4)pagenav_pagelink
  • (2)pagenav_pagelinkrel
  • (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