Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Beta Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
RPG Integration Hack /w Battle (BETA) Details »»
RPG Integration Hack /w Battle (BETA)
Version: 1.00, by Bitsys Bitsys is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 12-05-2002 Last Update: Never Installs: 278
Is in Beta Stage  
No support by the author.

RPG Integration Hack BETA by Bitsys
(vBulletin versions 2.2.6?, 2.2.7, 2.2.8, 2.2.9, and 2.3.0)

This hack combines several RPG hacks into one and adds a battle hack. The hacks included in this hack are:

In addition to re-releasing thse hacks, I have added features to all of them (or else there would be no point in re-releasing).
  • The RPG hacks are now all editable via the admin control panel.
  • The itemshop has been somewhat optimized and some fixes are included that reduce queries in showthread.php and itemshop.php . Also, Lesane's Store Hack has been integrated with the Itemshop. This can be toggled in the admin cp.

This means that the RPG hacks are database driven and have been partially integrated with the Itemshop. This was necessary in order to make a battle hack, which is also included.

Since most people are familiar with the RPG and Itemshop hacks, I will give a brief description of the Battle hack. If you want more information about either of the other two hacks, then refer to their original posts or download the .zip file and read the "readme.txt". If you are a visual learner, then you can scroll down to the second post in this thread, which contains the pictures of all of these hacks.


Battle Features:
  • The battle format is turn-based.
  • HP, AP, PP, and MA are automatically deducted based on what action a user takes, the damage dealt to an opponent, etc.
  • Opponents in battle can use spells, one-handed weapons, two-handed weapons, shields, potions, or their fists.
  • A battle is over when a combatant dies, retreats, or there is a draw. Battles can also be ended via the admin control panel.
  • A wager can be set on a battle. Whoever wins the battle recieves the amount of money as specified in the wager. Outside bets are not supported yet.
  • Battles can be either public or private, as determined by the admin control panel. If private, battles require a password and battles can not be browsed. If public, then any user can view any battle, but only the original combatants can fight.
  • The results of a battle can be posted into a designated "Battle" forum, as specified in the admin control panel.
  • Inactive battles can be pruned.

Getting started with the battle hack:
  • In order to get items to disply in the item shop, you must select which items go with which RPG Type in the "Edit Item Type" Menu of the admin cp.
  • In order to assign which weapon categories do what kind of damage in battle, you must go to the "Edit Category" link located in the "Edit Items" menu of the admin cp. Select a Battle type for the category and save changes.
  • In order to do damage to your opponent when in battle, you must assign the amount of damage each weapon does in the "Edit Items" menu of the admin cp. The default damage is set to 0. The same principle goes for armor, potions, spells, shields, etc.
Please refer to the screenshots or "readme.txt" for more information.


Why is this a BETA hack?

I have tested the installation of this hack on vBulletin versions 2.2.7, 2.2.8, 2.2.9, and 2.3.0. However, because of the scale of this hack, there is plenty of room for errors. Therefore I am making the following disclaimer while this hack is in the BETA stage:


WARNINGS:
  • Do not install this hack on a production board. Please keep this hack, while in the BETA stage, to a test board. The reason for not installing this on a production board is that I cannot provide upgrade instructions for going from one version of the beta hack to the next version of the beta hack. Also, this hack does not have an un-install script yet. So please remember, if you decide to install this on a production board, you are doing so at your own risk.
  • Do not apply this hack if you already have ANY of the included hacks installed. Please refer to the list at the top to see if you have any of the conflicting hacks installed. Since I am asking that you install this on a test board right now, this should not be a problem since you can re-install a fresh copy of vBulletin in under 5 minutes, as a test board of course.
  • There is currently no upgrade script for installing this over any of the included hacks. I will make one when this beta is completed.
  • If you choose to install the postbit features, then an additional query will be added to showthread.php. This query is a SELECT COUNT(*) query and adds around .001 seconds to the page generation. If you don't like the idea of adding an additional query to showthread.php, then you have the option of not installing that part of the hack. See the install file for more information.


Miscellaneous:

The beta of this hack is free. The full/final release will also be free.

All installation instructions and credits are included in the attachment. If you find a bug or have problems, feel free to post them here and I will try to fix them. Please read the included readme file if you have questions. If you can't find the answer, then post your question here and I will answer it.

All hacks included in this hack have been re-released with permission of their original creators.

Screenshots are in the second post of this thread.


Installation:

Installation instructions are included in the .zip file.


ACKK! I NEED HELP!!!

If you are having trouble and need some help, please refer to the help documentation included in the .zip file. It is located in the "extra" directory.

If you need help and you have already installed the hack, make sure you check the RPG Manual link in the admin cp. Also, make sure you read the FAQ included with the manual.

MY THREADS STOPPED DISPLAYING CORRECTLY!!!
See if you are experiencing one of the following symptoms:
  • All of my users are being labeled as "Guest" in the postbit template.
  • No posts are showing up.
  • None of the RPG variables will display in the postbit. The element/gender/class images are broken.
  • I get database errors when I go to showthread.php

If you are experiencing one or more of the above problems, then your showthread.php file was not edited correctly by the installer. This problem usually occurs on boards with other hacks installed that modify the queries in showthread.php. Please go to https://vborg.vbsupport.ru/showpost....postcount=2261 and follow the instructions there.


Add-ons:
The following add-ons are not included in the default installation. You must apply these add-ons after you have installed the hack successfully.

Member profile add-on
This add-on let's you display the user's RPG Stats in their member profile. See the .zip file for the add-on. It is located in the "Member Profile Add-on" directory.

Auto-update stats after posting
This add-on automatically updates the user's stats after they make a post, instead of having to click on the update stats button in the user cp. This add-on involves 2 file edits. The add-on is located at https://vborg.vbsupport.ru/showthrea...452#post356452

Donation Queue by Darkwaltz4
Moderate all Donations. See Who is Donating to Who. All Donations go through Admins or Mods. The add-on is located at https://vborg.vbsupport.ru/showthrea...652#post408652

Battle Background Midi System by Darkwaltz4
Full control over the music that plays during your battles! The add-on is located at https://vborg.vbsupport.ru/showthrea...530#post410530

Randomized First Turn Addon by Moreliator
"The following code gives the challenger a 33% chance to start the battle and the challenged person a 66% chance. Works quite well. I also included instructions on how to display "Determining..." on the battle.php browse page, that way people won't decline a challenge if they see they aren't going first. ". The add-on is located at https://vborg.vbsupport.ru/showthrea...614#post410614

Lock RPG Options at a Specified Level Addon by Moreliator
This addon allows you to lock all users' RPG options in their USER CP when they reach a certain level. This add-on is located at https://vborg.vbsupport.ru/showthrea...111#post411111

Personal Shop Items Have Battle Bonuses by Triade
The original personal shop, allows to have an item the don't do nothing in battle. With this add-on, you can build items with bonus in battle (the bonus is in the attack now). This add-on is located at https://vborg.vbsupport.ru/showthrea...328#post426328

Challengable Option by Darkwaltz4
Allows users to set themselves against recieving battle challenges. This add-on can be found at https://vborg.vbsupport.ru/showthrea...143#post411143


Contact Info:
Bitsys
Email: bitsys AT mail DOT com
PM me for a faster response. I prefer PMs.

~~~~~~~~~~~~
Update 09/04/03 @ 1:46pm
v0.68c

Battle debug messages were accidentally left on.
Minor shield bug was fixed in battlefight.php (Thanks Telchar).

Re-upload battleupdate.php and battlefight.php.

The new .zip file is located at the bottom of this post.


Finally, here is the .zip file (v0.68c):

Show Your Support

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

Comments
  #1942  
Old 07-10-2003, 05:03 AM
TRStealth's Avatar
TRStealth TRStealth is offline
 
Join Date: Oct 2002
Posts: 112
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

They are all checked, and still can't use weapons or items, still says I don't have them.
Reply With Quote
  #1943  
Old 07-11-2003, 06:20 AM
Darkwaltz4's Avatar
Darkwaltz4 Darkwaltz4 is offline
 
Join Date: Oct 2002
Location: Chicago
Posts: 1,538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

lol, yes i would say its okay enough for a large active forum^_^ ffgon is pretty huge, and its been working fine...although ive had to tweak some thigs here and there, and im not sure what good any updates would do me unless there were official addons applied or something, lol. it is finally stable on mine :-p
Reply With Quote
  #1944  
Old 07-11-2003, 08:32 PM
Moreliator Moreliator is offline
 
Join Date: Feb 2003
Posts: 71
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Been working fine for a month on my boards... 10,000+ members and over 1500 battles so far.

Sure, there are SOME glitches, but we've been able to work through them all, and nothing has been serious enough to jeopardize the boards.
Reply With Quote
  #1945  
Old 07-11-2003, 09:32 PM
Jagang Jagang is offline
 
Join Date: Mar 2003
Location: Dallas, Tx
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have a little problem with the hack--nothing major, but a weird occurance.

Several of my older members, the mods, have less hitpoints than members of quite a lower level. Our site is, so far, still in the beta testing phase, and fairly new, so noone is very high level yet, but it appears to be a trend that will continue and get far, far worse as the levels do go up. Our main programmers are not available for a good period of time because of IRL issues to go into the codes and find out, so I came here to ask the source.

After the stats are updated, it looks like this for certain users, names will not be used. Most of the mods are about the same level and HP count, and from extrapolating with other mods and members who have been around since the begginning as opposed to new members, it appears that the trend carries through. The mods are all using superior classes, and the race, elements, weaponry, etc of the two example users are all the same.

Level 44 Mod
1582 HP

Level 35 Member
1880 HP
Reply With Quote
  #1946  
Old 07-12-2003, 04:31 AM
Darkwaltz4's Avatar
Darkwaltz4 Darkwaltz4 is offline
 
Join Date: Oct 2002
Location: Chicago
Posts: 1,538
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

its based on posts per day and how long youve been registered O.o which in my opinion, screws up amounts far too much, so i rewrote it to be more linear
Reply With Quote
  #1947  
Old 07-12-2003, 08:10 PM
Bitsys's Avatar
Bitsys Bitsys is offline
 
Join Date: Oct 2002
Posts: 444
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
07-01-03 at 03:28 PM Airs said this in Post #1943
Not sure if this has been asked already but figured id give it a shot. Is it possible to add more stats or change the current ones? also is it possible to add a unique character or a person lets say a admin has one and another admin has a diffrent one etc. and normal players cant choose it if this was posted already sorry ><.

What do you mean by unique character? A unique class? Or a unique race? Or what?

You can add more stats, but only through code edits and database changes. There is no way to add stats through the admin cp.

Quote:
07-02-03 at 02:09 AM chrisz said this in Post #1946
I dont get the formula can someone explain >_<"
The formula:
PHP Code:
function cal_fists($level) {
        return 
floor(log10($level) * 30 rand(-(int)($level .15), (int)($level .15))) + 1;

floor() is a function that rounds the result down to the nearest whole number.

log10() is a function that does log base 10 to the passed variable.

rand() is a function that generates a random number between the two passed variables.

* is the multiplication symbol

So, here is how it works with a level of 15:

$damage = log10(15) * 30 + rand(-15 * .15, 15 * .15) + 1

$damage = 1.176 * 30 + rand(-2.25, 2.25) + 1

(Assume the rand() function returns 1.8)

$damage = 35.2827 + 1.8 + 1

$damage = 28.0827

(round down to the nearest whole number)

$damage = 28


Quote:
07-02-03 at 10:46 PM v0id said this in Post #1948
HUGE Money bug:



Anyone want to release a quick fix? My members are having way too much fun with this :P

I just re-wrote the entire money check code in battle.php. I think I fixed all the bugs it had.

If you want to try the code I just wrote, do the following:

In battle.php, find:

Code:
// Check to see if the combatants have the specified wager
                if($wager > 0) {
                        $itemopt = $DB_site->query_first("SELECT lesanestore FROM items_options");
                        if(!$itemopt[0]) {
                                $usermoney = $DB_site->query_first("SELECT bankval FROM items_user WHERE userid='$bbuserinfo[userid]'");
                                $oppmoney = $DB_site->query_first("SELECT bankval FROM items_user WHERE userid='$opponent[userid]'");
                                If ($wager > $usermoney[0]) {
                                        $itemoptions = $DB_site->query_first("SELECT pointfield FROM items_options");
                                        $ownerpocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$bbuserinfo[userid]'");
                                        if($wager > $ownerpocketmoney[0]) {
                                                $message = "You do not have $wager gil to wager.";
                                                eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                exit;
                                        } elseif($wager > $oppmoney[0]) {
                                                $opppocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$bbuserinfo[userid]'");
                                                if($wager > $opppocketmoney[0]) {
                                                        $message = "Your opponent does not have $wager gil to wager.";
                                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                        exit;
                                                } else {
                                                        $usernewmoney = $ownerpocketmoney[0] - $wager;
                                                        $oppnewmoney = $opppocketmoney[0] - $wager;
                                                        $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                        $DB_site->query("UPDATE userfield SET $itemoptions[0]='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                                }
                                        } else {
                                                $usernewmoney = $ownerpocketmoney[0] - $wager;
                                                $oppnewmoney = $oppmoney[0] - $wager;
                                                $DB_site->query("UPDATE userfield SET $itemoptions[0]='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                $DB_site->query("UPDATE items_user SET bankval='$oppnewmoney' WHERE userid='$opponent[userid]'");
                        
                                        }
                                } elseif($wager > $oppmoney[0]) {
                                        $itemoptions = $DB_site->query_first("SELECT pointfield FROM items_options");
                                        $opppocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$opponent[userid]'");
                                        if($wager > $opppocketmoney[0]) {
                                                $message = "Your opponent does not have $wager gil to wager.";
                                                eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                exit;
                                        } else {
                                                $usernewmoney = $usermoney[0] - $wager;
                                                $oppnewmoney = $opppocketmoney[0] - $wager;
                                                $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                $DB_site->query("UPDATE userfield SET $itemoptions[0]='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                        }
                                } else {
                                        $usernewmoney = $usermoney[0] - $wager;
                                        $oppnewmoney = $oppmoney[0] - $wager;
                                        $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                        $DB_site->query("UPDATE items_user SET bankval='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                }
                        } else {
                                $usermoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$bbuserinfo[userid]'");
                                $oppmoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$opponent[userid]'");
                                if($wager > $usermoney[0]) {
                                        $message = "You do not have $wager gil to wager.";
                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                        exit;
                                } elseif($wager > $oppmoney[0]) {
                                        $message = "Your opponent does not have $wager gil to wager.";
                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                        exit;
                                } else {
                                        $DB_site->query("UPDATE user SET storep=storep-$wager WHERE userid='$bbuserinfo[userid]'");
                                        $DB_site->query("UPDATE user SET storep=storep-$wager WHERE userid='$opponent[userid]'");
                                }
                        }
                }
and change it to:
Code:
if($wager > 0)
                {
                    $itemoptions = $DB_site->query_first("SELECT pointfield, lesanestore FROM items_options");
                    
                    // Are we using lesane's store points?
                    if (!$itemopt[1])
                    {
                        $usermoney = $DB_site->query_first("SELECT items_user.bankval, userfield.$itemoptions[0] FROM items_user, userfield WHERE items_user.userid='$bbuserinfo[userid]' AND userfield.userid='$bbuserinfo[userid]'");
                        $usermoney['total'] = $usermoney[0] + $usermoney[1];
                        $oppmoney =  $DB_site->query_first("SELECT items_user.bankval, userfield.$itemoptions[0] FROM items_user, userfield WHERE items_user.userid='$opponent[userid]' AND userfield.userid='$opponent[userid]'");
                        $oppmoney['total'] = $oppmoney[0] + $oppmoney[1];
                    
                        // Does the user have enough money to wager?
                        if($usermoney['total'] < $wager)
                        {
                            $message = "You do not have $wager to wager.";
                            eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                            exit;
                        }
                        // Does the opponent have enough money to wager?
                        if($oppmoney['total'] < $wager)
                        {
                            $message = "Your opponent does not have $wager to wager.";
                            eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                            exit;
                        }
                    
                        // If we have gotten this far, then both people have enough money to wager
                        if ($usermoney[1] < $wager)
                        {
                            // The user has to take some money from their bank account
                            // but first, we need to clean their pocket cash
                            $DB_site->query("UPDATE userfield SET $itemoptions[0] = 0 WHERE userid = $bbuserinfo[userid]");

                            // Now, adjust the bank account
                            $DB_site->query("
                                UPDATE items_user
                                SET bankval = bankval - ".($wager - $usermoney[1])  // (wager - $usermoney[1]) is the same as (wager - user's cash)
                                ." WHERE userid=$bbuserinfo[userid]
                            ");
                        }
                        else
                        {
                            // The user has enough cash to pay for the wager
                            $DB_site->query("UPDATE userfield SET $itemoptions[0] = $itemoptions[0] - $wager WHERE userid = '$bbuserinfo[userid]'");
                        }
                        
                        if ($oppmoney[1] < $wager)
                        {
                            // The opponent has to take some money from their bank account
                            // but first, we need to clean their pocket cash
                            $DB_site->query("UPDATE userfield SET $itemoptions[0] = 0 WHERE userid = $opponent[userid]");

                            // Now, adjust the bank account
                            $DB_site->query("
                                UPDATE items_user
                                SET bankval = bankval - ".($wager - $oppmoney[1])  // (wager - $oppmoney[1]) is the same as (wager - opponent's cash)
                                ." WHERE userid=$opponent[userid]
                            ");
                        }
                        else
                        {
                            // The opponent has enough cash to pay for the wager
                            $DB_site->query("UPDATE userfield SET $itemoptions[0] = $itemoptions[0] - $wager WHERE userid = '$opponent[userid]'");
                        }
                    }
                    else
                    {
                        // Yes, we are using Lesane's Store Points
                        $usermoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$bbuserinfo[userid]'");
                        $oppomoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$opponent[userid]'");

                        // Does the user have enough money to wager?
                        if($usermoney[0] < $wager)
                        {
                            $message = "You do not have $wager to wager.";
                            eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                            exit;
                        }
                        // Does the opponent have enough money to wager?
                        if($oppmoney[0] < $wager)
                        {
                            $message = "Your opponent does not have $wager to wager.";
                            eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                            exit;
                        }
                        
                        // If we have gotten this far, then both people have enough money to wager
                        // so update the user table
                        $DB_site->query("UPDATE user SET storep = storep - $wager WHERE userid=$bbuserinfo[userid] OR userid=$opponent[userid]");
                    }
                }
                /*
                // Check to see if the combatants have the specified wager
                if($wager > 0) {
                        $itemopt = $DB_site->query_first("SELECT lesanestore FROM items_options");
                        if(!$itemopt[0]) {
                                $usermoney = $DB_site->query_first("SELECT bankval FROM items_user WHERE userid='$bbuserinfo[userid]'");
                                $oppmoney = $DB_site->query_first("SELECT bankval FROM items_user WHERE userid='$opponent[userid]'");
                                If ($wager > $usermoney[0]) {
                                        $itemoptions = $DB_site->query_first("SELECT pointfield FROM items_options");
                                        $ownerpocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$bbuserinfo[userid]'");
                                        if($wager > $ownerpocketmoney[0]) {
                                                $message = "You do not have $wager gil to wager.";
                                                eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                exit;
                                        } elseif($wager > $oppmoney[0]) {
                                                $opppocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$bbuserinfo[userid]'");
                                                if($wager > $opppocketmoney[0]) {
                                                        $message = "Your opponent does not have $wager gil to wager.";
                                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                        exit;
                                                } else {
                                                        $usernewmoney = $ownerpocketmoney[0] - $wager;
                                                        $oppnewmoney = $opppocketmoney[0] - $wager;
                                                        $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                        $DB_site->query("UPDATE userfield SET $itemoptions[0]='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                                }
                                        } else {
                                                $usernewmoney = $ownerpocketmoney[0] - $wager;
                                                $oppnewmoney = $oppmoney[0] - $wager;
                                                $DB_site->query("UPDATE userfield SET $itemoptions[0]='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                $DB_site->query("UPDATE items_user SET bankval='$oppnewmoney' WHERE userid='$opponent[userid]'");
                        
                                        }
                                } elseif($wager > $oppmoney[0]) {
                                        $itemoptions = $DB_site->query_first("SELECT pointfield FROM items_options");
                                        $opppocketmoney = $DB_site->query_first("SELECT $itemoptions[0] FROM userfield WHERE userid='$opponent[userid]'");
                                        if($wager > $opppocketmoney[0]) {
                                                $message = "Your opponent does not have $wager gil to wager.";
                                                eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                                exit;
                                        } else {
                                                $usernewmoney = $usermoney[0] - $wager;
                                                $oppnewmoney = $opppocketmoney[0] - $wager;
                                                $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                                $DB_site->query("UPDATE userfield SET $itemoptions[0]='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                        }
                                } else {
                                        $usernewmoney = $usermoney[0] - $wager;
                                        $oppnewmoney = $oppmoney[0] - $wager;
                                        $DB_site->query("UPDATE items_user SET bankval='$usernewmoney' WHERE userid='$bbuserinfo[userid]'");
                                        $DB_site->query("UPDATE items_user SET bankval='$oppnewmoney' WHERE userid='$opponent[userid]'");
                                }
                        } else {
                                $usermoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$bbuserinfo[userid]'");
                                $oppmoney = $DB_site->query_first("SELECT storep FROM user WHERE userid='$opponent[userid]'");
                                if($wager > $usermoney[0]) {
                                        $message = "You do not have $wager gil to wager.";
                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                        exit;
                                } elseif($wager > $oppmoney[0]) {
                                        $message = "Your opponent does not have $wager gil to wager.";
                                        eval("dooutput(\"".gettemplate('battle_userinbattle')."\");");
                                        exit;
                                } else {
                                        $DB_site->query("UPDATE user SET storep=storep-$wager WHERE userid='$bbuserinfo[userid]'");
                                        $DB_site->query("UPDATE user SET storep=storep-$wager WHERE userid='$opponent[userid]'");
                                }
                        }
                }
                */
Quote:
07-03-03 at 01:55 PM Spark said this in Post #1951
hm here is a bad bug

I was challenged by a user
I was in trouble so i cancel the battle
The user , has lost his wager...and i win the wager...without a fight, only the challenge PM.

What?s that?

Try the code fix I did above and wait for the next update. I changed some of the code for this.

Quote:
07-04-03 at 02:01 AM Me! said this in Post #1952
I am wondering if it's possible to show this on the index page of my forum, something like "Guy VS Joe"

However when I place the code in the forum index template nothing shows. This is what I tried:

Code:
$row[owner]
<normalfont>$row[opponent]</normalfont>

That would require a custom hack.

Quote:
07-04-03 at 12:15 PM BrandonC said this in Post #1956
For some reason, my users' stats arent showing up at all. It keeps saying their at 0 HP and everything else, but mine works fine. Why is that?

Have the user's updated their stats in their profile? Does this happen to everyone but you? Have you tried running DB Fix?

Quote:
07-07-03 at 09:24 PM kaotic said this in Post #1967
Here's a couple of things I'm curious about...

-Would a Item Trading or PvM feature be possible to create?
It wouldn't be easy. I have thought about it before.

Quote:
07-07-03 at 09:24 PM kaotic said this in Post #1967

-What is the query used to purchase an item?
You will need to study the 'BUY' code in itemshop.php in order to understand the queries involved. Look for
PHP Code:
// ###################### buy ####################### 
in itemshop.php

Quote:
07-07-03 at 09:24 PM kaotic said this in Post #1967

Help would be appreciated.

Edit:
Another question. Item categories (with exception of the top one) are automatically collapsed if you are "Generic Type". If you are another RPG type, the rows are automatically expanded. How would I go about having them collapsed to begin with, rather than expanded?

In itemshop.php, find:
PHP Code:
if($options['onofforder']==1) { 
and above it, add:
PHP Code:
$expandall 1
I think that will work.

Quote:
07-09-03 at 12:23 PM t0ucan said this in Post #1973
Alright, I've installed it on my boards and everything seems to be running smoothly. Had a small problem with the battle though, it said I didn't have a weapon....
From the first post:
Quote:
In order to assign which weapon categories do what kind of damage in battle, you must go to the "Edit Category" link located in the "Edit Items" menu of the admin cp. Select a Battle type for the category and save changes.
Quote:
Yesterday at 05:32 PM Jagang said this in Post #1978
I have a little problem with the hack--nothing major, but a weird occurance.

Several of my older members, the mods, have less hitpoints than members of quite a lower level. Our site is, so far, still in the beta testing phase, and fairly new, so noone is very high level yet, but it appears to be a trend that will continue and get far, far worse as the levels do go up. Our main programmers are not available for a good period of time because of IRL issues to go into the codes and find out, so I came here to ask the source.

After the stats are updated, it looks like this for certain users, names will not be used. Most of the mods are about the same level and HP count, and from extrapolating with other mods and members who have been around since the begginning as opposed to new members, it appears that the trend carries through. The mods are all using superior classes, and the race, elements, weaponry, etc of the two example users are all the same.

Level 44 Mod
1582 HP

Level 35 Member
1880 HP
You can try to do the following:

In the Auto-Update Stats add-on (newthread.php, newpost.php), and member.php, find:
PHP Code:
$maxhpupdate = ( $level $extrastats[hpmodifier] * $hpmulti) + $hpmodifier
and REPLACE it with:
PHP Code:
$maxhpupdate = ( $level $extrastats[hpmodifier]) + $hpmodifier
Please note that this will reduce some users' HP, but it should remain constant after that initial decrease. If you want to do the same for MA and PP, then let me know.
Reply With Quote
  #1948  
Old 07-12-2003, 11:32 PM
kaotic's Avatar
kaotic kaotic is offline
 
Join Date: Mar 2003
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Welcome back. Thanks for the tip, but adding
Quote:
$expandall = 1;
before

Quote:
if($options['onofforder']==1) {
Didn't work. I'll tinker with it a bit more, though.
Reply With Quote
  #1949  
Old 07-12-2003, 11:43 PM
Airs's Avatar
Airs Airs is offline
 
Join Date: Oct 2002
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Yesterday at 10:10 PM Bitsys said this in Post #1980
What do you mean by unique character? A unique class? Or a unique race? Or what?

You can add more stats, but only through code edits and database changes. There is no way to add stats through the admin cp.



A unique class, and as for the stats thing *sorry to bother but im really sorta learning php still* can you like tell me what files are necesarry to edit to make it happen?

Thnx for the answer and wb
Reply With Quote
  #1950  
Old 07-13-2003, 05:02 AM
mjp1111 mjp1111 is offline
 
Join Date: Jul 2003
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I keep getting this emailed to me - I think it is due to using spells or potions -

Invalid SQL: SELECT items_user.item5,items_user.itid5,items.type,items .extra FROM items_user
LEFT JOIN items ON items.itemid=items_user.itid5
WHERE userid='10'
mysql error: Unknown column 'items_user.item5' in 'field list'

mysql error number: 1054
Reply With Quote
  #1951  
Old 07-14-2003, 02:54 PM
Bitsys's Avatar
Bitsys Bitsys is offline
 
Join Date: Oct 2002
Posts: 444
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
07-12-03 at 07:32 PM kaotic said this in Post #1981
Welcome back. Thanks for the tip, but adding

before


Didn't work. I'll tinker with it a bit more, though.
Darn, I was hoping that would work. I will check in to it some more.

Quote:
07-12-03 at 07:43 PM Airs said this in Post #1982



A unique class, and as for the stats thing *sorry to bother but im really sorta learning php still* can you like tell me what files are necesarry to edit to make it happen?

Thnx for the answer and wb [/B]
A unique class can be given to any mod or admin by setting its visibility to 0 in the Edit Classes Menu. Unfortunately, you can't give a single class to a single person.

In order to add a new stat, you would have to change quite a few files. Off the top of my head, they would be member.php, rpgcp.php, battlefight.php, battleupdate.php, newthread.php, newpost.php, heal.php. Some of those are optional though, depending on what you want the stat to do. You would also have to change all the templates where the stats are displayed.

Adding an additional stat is not an easy feat.

Quote:
Yesterday at 01:02 AM mjp1111 said this in Post #1983
I keep getting this emailed to me - I think it is due to using spells or potions -

Invalid SQL: SELECT items_user.item5,items_user.itid5,items.type,items .extra FROM items_user
LEFT JOIN items ON items.itemid=items_user.itid5
WHERE userid='10'
mysql error: Unknown column 'items_user.item5' in 'field list'

mysql error number: 1054
At any time did you switch an item category from personal to public or vice versa? Do you recall any changes you made to the item categories before this happened? An easy solution would be to add those columns back to the items_user table, but I would rather figure out why this happened.
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:55 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.09117 seconds
  • Memory Usage 2,410KB
  • 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
  • (6)bbcode_php
  • (18)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
  • (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