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
  #2022  
Old 08-02-2003, 01:28 AM
Legendary Kid Legendary Kid is offline
 
Join Date: Apr 2003
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You have to install them seperatly, btw, is the anyway to use spells yet? Because I haven't found a way :-/
Reply With Quote
  #2023  
Old 08-02-2003, 07:27 AM
Triade
Guest
 
Posts: n/a
Default

Legendary Kid, what do you mean? I use them... No problems in there.

Another question (sorry but i'm n00b in this hack):
i read in the faq, a user can have a guild, having a own alignment with 5 classes.
Can the user do it by himself, or the Admin have to do it by Admin CP?
Reply With Quote
  #2024  
Old 08-02-2003, 07:52 AM
Pricyber Pricyber is offline
 
Join Date: Apr 2002
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok there's alot of stuff there to pick through so I figure it'd just be easier to ask my questions and see if they were answered already (though I'm sure they weren't..)

1. I would like to maintain my use of Lesane's Store Hack, however at this time it does not allow me to use the bank feature. Is there a way to make it work?

If not, would it be possible just to install the bank hack, and then the bank to store integration for Lesane's?

2. When you are in usercp and you select your gender & alignment, you must submit that information before the ability to choose a race comes up, etc. Is there a way to make those combo boxes auto-fill upon choosing without having to submit and reload?

3. I would really like to be able to make it possible for users to not change their characters once they have been created (unless maybe purchasing the ability to do so at Lesane's Store). Is there a way to block a character from being eligable for battle or from buying items until the forum user clicks on 'Finalize Character' and it locks it from being edited?

4. Is there a way you could adapt this so an admin may edit characters through the admin cp?

Also, many thanks for your time and effort, this is a great hack and has given my forum users so much more to do!!!
Reply With Quote
  #2025  
Old 08-02-2003, 12:27 PM
Pricyber Pricyber is offline
 
Join Date: Apr 2002
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well I found out how to get the bank feature working for those using Lesane's Store Hack.

Goto itemshop.php

Find:
Code:
// ###################### display bank stuff #######################
// credit goes to  ----   mem   ----
if(!$options[lesanestore]) {
Change to:
Code:
// ###################### display bank stuff #######################
// credit goes to  ----   mem   ----
if($options[lesanestore]) {
Find:
Code:
// ###################### get bank #######################
if($action==bank && !$options[lesanestore]) {
eval("dooutput(\"".gettemplate("itemshop_bank")."\");");
exit;
}
Change to:
Code:
// ###################### get bank #######################
if($action==bank && $options[lesanestore]) {
eval("dooutput(\"".gettemplate("itemshop_bank")."\");");
exit;
}
Find:
Code:
if ($HTTP_POST_VARS['action']=="save" && !$options[lesanestore]) {

$bank=trim(addslashes($moneysave));
        for($i=0;$i<strlen($bank);$i++)
                if (!((substr($bank,$i,1)<="9")&&(substr($bank,$i,1)>="0"))) {
                eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
                exit;
                }
$bank=intval($bank);

        if ($bank>$points) {
        eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
        } else {
        $DB_site->query("UPDATE items_user SET bankval=bankval+$bank,btime='".time()."' WHERE userid=$bbuserinfo[userid]");
        $DB_site->query("UPDATE userfield SET $pointfield=$points-$bank WHERE userid=$bbuserinfo[userid]");
        eval("standardredirect(\"".gettemplate("itemshop_redir-bankthanks")."\",\"itemshop.php?action=bank\");");
        }
}
Change to:
Code:
if ($HTTP_POST_VARS['action']=="save" && $options[lesanestore]) {

$bank=trim(addslashes($moneysave));
        for($i=0;$i<strlen($bank);$i++)
                if (!((substr($bank,$i,1)<="9")&&(substr($bank,$i,1)>="0"))) {
                eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
                exit;
                }
$bank=intval($bank);

        if ($bank>$points) {
        eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
        } else {
        $DB_site->query("UPDATE items_user SET bankval=bankval+$bank,btime='".time()."' WHERE userid=$bbuserinfo[userid]");
        $DB_site->query("UPDATE user SET storep=$points-$bank WHERE userid=$bbuserinfo[userid]");
        eval("standardredirect(\"".gettemplate("itemshop_redir-bankthanks")."\",\"itemshop.php?action=bank\");");
        }
}
Find:
Code:
if ($HTTP_POST_VARS['action']=="load" && !$options[lesanestore]) {

$bank=trim(addslashes($loadmoney));
        for($i=0;$i<strlen($bank);$i++)
                if (!((substr($bank,$i,1)<="9")&&(substr($bank,$i,1)>="0"))) {
                eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
                exit;
                }
$bank=intval($bank);

        if ($bank>$bankuser[bankval]) {
        eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
        } else {
        $DB_site->query("UPDATE items_user SET bankval=bankval-$bank,btime='".time()."' WHERE userid=$bbuserinfo[userid]");
        $DB_site->query("UPDATE userfield SET $pointfield=$points+$bank WHERE userid=$bbuserinfo[userid]");
        eval("standardredirect(\"".gettemplate("itemshop_redir-bankthanks")."\",\"itemshop.php?action=bank\");");
        }
}
Change to:
Code:
if ($HTTP_POST_VARS['action']=="load" && $options[lesanestore]) {

$bank=trim(addslashes($loadmoney));
        for($i=0;$i<strlen($bank);$i++)
                if (!((substr($bank,$i,1)<="9")&&(substr($bank,$i,1)>="0"))) {
                eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
                exit;
                }
$bank=intval($bank);

        if ($bank>$bankuser[bankval]) {
        eval("standarderror(\"".gettemplate("itemshop_error-banknumber")."\");");
        } else {
        $DB_site->query("UPDATE items_user SET bankval=bankval-$bank,btime='".time()."' WHERE userid=$bbuserinfo[userid]");
        $DB_site->query("UPDATE user SET storep=$points+$bank WHERE userid=$bbuserinfo[userid]");
        eval("standardredirect(\"".gettemplate("itemshop_redir-bankthanks")."\",\"itemshop.php?action=bank\");");
        }
}
That wasn't overly difficult however I'm trying to figure out how to:

A) Make the top 10 richest show users based on gold on hand plus their gold in bank.

B) Make the postbit show gold on hand plus gold in bank.

Any help would be appreciated.
Reply With Quote
  #2026  
Old 08-02-2003, 02:22 PM
MSX MSX is offline
 
Join Date: Dec 2002
Location: Florida
Posts: 28
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When I installed the hack, it didn't add the Alignment, ect. to the User CP > Profile part of the User CP

www.impactanime.com

I'm talking about where you enter your RPG Name...the rest of the RPG fields arent there...help?
Reply With Quote
  #2027  
Old 08-02-2003, 02:39 PM
Triade
Guest
 
Posts: n/a
Default

Another question: Personal shop

No way to add icons in user items...
No way to add buff in user items...

So... what's the personal shop for?
Am i missing some step or it's in this way?
Reply With Quote
  #2028  
Old 08-02-2003, 04:34 PM
kaotic's Avatar
kaotic kaotic is offline
 
Join Date: Mar 2003
Posts: 259
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try to imagine what would happen to you local economy if the users could define the cost and buff on their own.
Reply With Quote
  #2029  
Old 08-02-2003, 05:44 PM
Jimmy011991 Jimmy011991 is offline
 
Join Date: Jul 2003
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I installed this hack this morning and found a bug in the battle system. Even though i have an item the bubble thing at the bottom says that i don't and will only let me use my fists. Is there any way this can be fixed? My VB version is 2.3.0. Thanks in advance!
Reply With Quote
  #2030  
Old 08-02-2003, 07:01 PM
Legendary Kid Legendary Kid is offline
 
Join Date: Apr 2003
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This was for versions 2.2.6, 2.2.7, 2.2.8, and 2.2.9 mainly so there are probably a few bugs with version 2.3.0.

================================

Quote:
Legendary Kid, what do you mean? I use them... No problems in there.
How do you get it so you can use magic and it uses mp or whatever it is called? (lol)

================================

Good Job With the Bank-Store Hack Intergration Hack, I made a .txt file of it here it is:
Reply With Quote
  #2031  
Old 08-02-2003, 10:27 PM
Pricyber Pricyber is offline
 
Join Date: Apr 2002
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

With a little help from my friend I was able to make the top 10 richest show the bankval + storep value.

In store.php

Find:
Code:
$topresult = $DB_site->query("SELECT * FROM user ORDER BY storep DESC LIMIT 10");
while ($top = mysql_fetch_array($topresult)) {
Replace with:
Code:
$topresult = $DB_site->query("SELECT user.*,bankval+storep as total FROM user,items_user WHERE user.userid = items_user.userid ORDER BY total DESC LIMIT 10");
I didn't find a way to combine the two in the postbit section, simply because the $post query was far too complicated to mess with.

If you want to show Bank: underneath Gold: where each user's avatar is in the showposts, just add:

Bank: $store[bankval]
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 02:30 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.09501 seconds
  • Memory Usage 2,347KB
  • Queries Executed 27 (?)
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
  • (10)bbcode_code
  • (1)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
  • (4)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
  • (9)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_postinfo_query
  • fetch_postinfo
  • 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