Save-Point
Conditional Turns CBS - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Material Development (https://www.save-point.org/forum-8.html)
+--- Forum: Scripts Database (https://www.save-point.org/forum-39.html)
+---- Forum: RPGMaker XP (RGSS) Engine (https://www.save-point.org/forum-116.html)
+---- Thread: Conditional Turns CBS (/thread-2830.html)



Conditional Turns CBS - Trickster - 03-01-2008

Conditional Turns CBS
Version: 4.0


Introduction
This script transforms the Group Turns Based Battle System (aka DBS) into a CTB Condition Turns/Timer System.


Screenshots
Ok, create a new project. now goto the database and test play. It looks like that except there are gradient bars on the hp sp, the state has been removed in place for another one. There's your screenshot.


Demo
Download Here


Script
:'(:'(:'( <- the families


Instructions
Okay I am going to make this as clear as possible

Initial Directions
  • First Download the Demo via the Download Manager
  • Get Winzip, Ultimatezip, or some other crazy program to open zip files, and install it.
  • Find the downloaded file
  • Right Click on the file and select Extract or Open your Unzipping program and Extract the files from the archive
  • Open RPG Maker XP if you haven't already
  • Open the Project File
  • Copy Each Script from the demo or paste them all into one script and add that, I only have it in multiple script form for organization.
  • Setup the Gradient Bars if you want
  • Find the Setup Portion of the CTB Battle System Script
  • Get yourself a snack

Setup and Customization
Now I am going to explain this a second time, the code in the setup is already commented once with the instructions, but I'm going to explain it again code by code.

--System Options
  • Code:
    #--------------------------------------------------------------------------
            # * The Speed of the System in Frames
            #-------------------------------------------------------------------------
            Speed = 100

    The Speed of the system this affects how long it takes for the first person's bar to fill.
  • Code:
    #--------------------------------------------------------------------------
            # * How the Speed is Based
            #     0: Current_Action.Speed 1: Agility
            #--------------------------------------------------------------------------
            Base_Speed = 0

    How the speed is based use 0 for speed (agi + rand(10 + agi / 4)) or 1 for agility
  • Code:
    #--------------------------------------------------------------------------
            # * At Gain
            #     0: Random 1: Steady
            #--------------------------------------------------------------------------
            At_Gain = 1

    How the bars fill use 0 for a random rate or 1 for a steady rate
  • Code:
    #--------------------------------------------------------------------------
            # * At Max
            #--------------------------------------------------------------------------
            At_Max = 65536

    Don't worry about this, it has little effect on the execution of this script. but its the maximum at.
  • Code:
    #--------------------------------------------------------------------------
            # * Full At Se
            #     syntax - RPG::AudioFile.new(filename, volume, pitch)
            #--------------------------------------------------------------------------
            Full_At_Se = RPG::AudioFile.new("033-Switch02")[/code[

          When the bar is filled this sound effect is played. if volume is not specified it is assumed at 100, and if pitch is not specified it is assumed at 100 as well.[/list]

    [b]--Action Cost Setup[/b]
    This section of the setup defines the cost, which is how much the bars go down after acting the values here are to be given as percentages (0-100)
    [list][*][Code]        #--------------------------------------------------------------------------
            # * Action Cost Attack for Actors
            #     syntax - actor_id => cost
            #--------------------------------------------------------------------------
            Action_Attack_Actor = {}

    This is the cost to attack per actor if their weapon is not found in the Weapon Cost hash then it will get the value from here.
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Attack for Weapons
            #     syntax - weapon_id => cost (Do not setup 0)
            #--------------------------------------------------------------------------
            Action_Attack_Weapon = {}

    This is the cost to attack per weapon. if the weapon id is not found here then it will look at the value defined per actor.
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Attack for Enemies
            #     syntax - enemy_id => cost
            #--------------------------------------------------------------------------
            Action_Attack_Enemy = {}

    This is the cost for enemies to attack.
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Defend (Percentage)
            #--------------------------------------------------------------------------
            Action_Defend = 50

    This is the cost to defend
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Escape (Percentage)
            #--------------------------------------------------------------------------
            Action_Escape = 75

    This is the cost to escape
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Wait (Percentage)
            #--------------------------------------------------------------------------
            Action_Wait = 25

    This is the cost to wait
  • Code:
    #--------------------------------------------------------------------------
            # * Action Cost Per Skill
            #     syntax - skill_id => cost
            #--------------------------------------------------------------------------
            Action_Skill = {}

    This is the cost to use a skill, if the value for a skill isn't defined the default is used (see below)
  • [/code] #--------------------------------------------------------------------------
    # * Action Cost Per Item
    # syntax - item_id => cost
    #--------------------------------------------------------------------------
    Action_Item = {}[/code]

    This is the cost to use an item, if the value for an item isn't defined then the default is used (see below)
  • Code:
    #--------------------------------------------------------------------------
            # * Default Action Cost
            #--------------------------------------------------------------------------
            Action_Default = 100

    This is the big default if a action is not attacking, defending, using a skill or item, waiting, or escaping then this value is used
  • Code:
    #--------------------------------------------------------------------------
            # * Default Cost To Attack
            #--------------------------------------------------------------------------
            Action_Attack = 100

    This is another big default, If the value for Weapon and Actor is not defined for an actor or the Value for Enemy is not defined for an enemy then this value is used
  • Code:
    #--------------------------------------------------------------------------
            # * Default Cost For Using A Skill
            #--------------------------------------------------------------------------
            Action_Skill.default = 100

    This is another default if the value for a skill is not defined then this value is used
  • Code:
    #--------------------------------------------------------------------------
            # * Default Cost For Using An Item
            #--------------------------------------------------------------------------
            Action_Item.default = 100

    Yet another default if the value for an item is not defined then this value is used.
  • Code:
    #--------------------------------------------------------------------------
            # * Do Not Touch Unless you know what you are doing
            #--------------------------------------------------------------------------
            Action_Attack_Actor.default = Action_Attack
            Action_Attack_Enemy.default = Action_Attack

    This is another one of those do not touch sections, This sets the defaults for the attack hashes.

--Action Timer Setup
This section of the setup defines time to wait before the action is made. The values here are to be given in frames.

Its setup the same way as the Action_Costs the hashes work the same way except for different names refer to the corresponding entry in he Acton cost setup for more information


FAQ
Note: Permission granted by Trickster to post:
Quote:And if you post what you have now of my stuff then you don't have the latest versions. I'm too lazy/busy to post stuff.
As this is his material, it is deletable upon his request. Due to his current absense, no support is available. Please do not PM or eMail him for support.


Compatibility
SDK 2.0 compliant
requires Method and Class Library V1.5 or greater
requires Animated Gradient Bars which requires Window Sprites


Credits and Thanks
Kurisu and Raziel for betatesting
Raziel for catching 1 bug
Mea for catching 2 bugs
Raven for catching 2 bugs
Skyla for indirectly requesting


Author's Notes
I was not receiving bug reports though I saw people saying oh that script has a bug. I wish they would stop destroying the little scripter-nonscripter communication system. This is one of my pet peeves now. When you report bugs please tell the type of the error and whats on the line the error appeared on, or just a screenshot of the error. IF YOU REPORTED BUGS WHEN I WAS ACTIVE YOU WOULD HAVE GOTTEN A COOKIE.


Terms and Conditions
Hey, I posted this publicly. You can use it. What do you expect? But if you do use it, I do expect you to spell my name correctly in your game. And yes you can use it in commercial games too.