vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   vBookie for vBulletin 3.5 (https://vborg.vbsupport.ru/showthread.php?t=94128)

Adam21 03-16-2006 12:37 PM

Quote:

Originally Posted by Catsgot9
I deleted a thread that had a bet in it.. now the bet stays there inactive. How can I remove this from vbookie?

CatsGot9

i think maybe this post can help u.:)
https://vborg.vbsupport.ru/showpost....&postcount=250

Adam21 03-16-2006 03:05 PM

Psybernaut:i tried to settle a test bet,the payout was supposed to be more than what the bookie's vcash have in hand.the result is the bookie have a huge enormous value of vcash instead.any ideas?

Adam21 03-16-2006 03:06 PM

Quote:

That's it! ...unless you're using vbBux, then you need a couple more mods...


psybernaut:if i'm using vcash,would i still need to carry those other hacks below as well?

Andreas 03-16-2006 10:35 PM

Quote:

Originally Posted by psybernaut
that's assuming Andreas is willing to hand it over of course... I'm not looking to step on toes :)

This assumption is wrong. I will not hand over this hack to someone else.

psybernaut 03-16-2006 11:06 PM

Quote:

Originally Posted by Andreas
This assumption is wrong. I will not hand over this hack to someone else.

ok... like I said, I'm not looking to step on toes. I'd just like to see this great mod moving forward again :)

geo1 - sorry about that problem, vcash is an unsigned int so it wraps to a large number instead of going negative.

Here's a fix that will set the bookies cash to 0 instead of going negative. NOTE: a bookie can exploit this by putting all their cash in the bank (for vbbux/ebux/ucash) before settling bets, so it's not perfect! This applies to all cash systems, just replace the entire vbookie_take_bookie_cash() function.

In includes/functions_vbookie.php, find:
Code:

// psybernaut mod
function vbookie_take_bookie_cash($userid, $amount)
{
        global $vbulletin;

        switch ($vbulletin->options['vbookiecash'])
        {
                case 'vcash':
                        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=vbookie_cash-$amount WHERE userid=$userid");
                        break;
                case 'ucash':
                        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=ucash-$amount WHERE userid=$userid");
                        break;
                case 'ebux':
                        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ebux=ebux-$amount WHERE userid=$userid");
                        break;
                case 'custom':
                        ($hook = vBulletinHook::fetch_hook('vbookie_take_bookie_cash')) ? eval($hook) : false;

        }
}

Replace with:
Code:

// psybernaut mod
function vbookie_take_bookie_cash($userid, $amount)
{
        global $vbulletin;

        $bookie = $vbulletin->db->query_first("SELECT * FROM " . TABLE_PREFIX . "user WHERE userid=$userid");

        switch ($vbulletin->options['vbookiecash'])
        {
                case 'vcash':
                        if($amount > $bookie['vbookie_cash'])
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=0 WHERE userid=$userid");
                        }
                        else
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbookie_cash=vbookie_cash-$amount WHERE userid=$userid");
                        }
                        break;
                case 'ucash':
                        if($amount > $bookie['ucash'])
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=0 WHERE userid=$userid");
                        }
                        else
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ucash=ucash-$amount WHERE userid=$userid");
                        }
                        break;
                case 'ebux':
                        if($amount > $bookie['ebux'])
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ebux=0 WHERE userid=$userid");
                        }
                        else
                        {
                                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET ebux=ebux-$amount WHERE userid=$userid");
                        }
                        break;
                case 'custom':
                        ($hook = vBulletinHook::fetch_hook('vbookie_take_bookie_cash')) ? eval($hook) : false;
        }
}

If you implemented the hook for vbBux, edit it (the 'vBookie With vbPlaza - Take Bookie Cash' hook) and replace the php code with this:
Code:

// take the bookies money
$bookie = $vbulletin->db->query_first("SELECT * FROM " . TABLE_PREFIX . "user WHERE userid=$userid");
if($amount > $bookie['vbbux'])
{
        $amount = $amount - $bookie['vbbux'];
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbux=0 WHERE userid=$userid");
        if($amount > $bookie['vbbank'])
        {
                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbank=0 WHERE userid=$userid");
        }
        else
        {
                $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbank=vbbank-$amount WHERE userid=$userid");

        }
}
else
{
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET vbbux=vbbux-$amount WHERE userid=$userid");
}

Quote:

Originally Posted by geo1
psybernaut:if i'm using vcash,would i still need to carry those other hacks below as well?

No. You only need that part if you're using vbBux.

I'll update my original post to include these changes, so only make this change if you already made the mod previously and need to fix the 'paying out more that you have' issue.

EDIT: Updated the vbbux hook to deduct money from the bookie's bank account if they don't have enough cash on hand.

Catsgot9 03-16-2006 11:31 PM

The question is... If I want to use the bookie option so they can go broke... will this mod work with vcash? I do not have any other cash methods installed..

Thanks in advance, Psybernaut!

Catsgot9

psybernaut 03-16-2006 11:33 PM

Quote:

Originally Posted by Catsgot9
The question is... If I want to use the bookie option so they can go broke... will this mod work with vcash? I do not have any other cash methods installed..

Thanks in advance, Psybernaut!

Catsgot9

Yes, this mod works with vCash.

Porky 03-17-2006 12:59 AM

does this work with 3.54?

psybernaut 03-17-2006 01:05 AM

Quote:

Originally Posted by Porky
does this work with 3.54?

Yes.

Adam21 03-17-2006 02:42 AM

Thanks psybernaut!i'll correct that once i've reach home...:)


All times are GMT. The time now is 02:11 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02997 seconds
  • Memory Usage 1,762KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (5)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete