Introduction
This script acts as a day care (training if you will) center where you can store your actors and leave them there, and while you are adventuring they get experience / level up. If you want think of it as the Day Care center from pokemon.
Screenshots
You lucked out this time, I was going to say why not go to a real day care center and look there
Script
The families, they don't like day cares, something about being paranoid about something.
Instructions
Install SDK V2.3 and MACL V2.1 if you hadn't already
Instructions are given in the setup script. if you have any trouble ask.
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 Compliant. Requires only Part I
Credits and Thanks
Pokemon for a few of the ideas of this system
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.
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.
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.
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.
Introduction
This script allows you to define combo/conditional skills. A skill combo is a set of skills that can be combined together to create a more power skill. A conditional skill is a skill that requires an extra condition to work properly. This is a huge revision from the first version
Features
A slew of conditions for use (ex. status inflicted, switch, battleback, etc.)
A new Window Option that keeps track of the skills you unlocked
Info window tells what skills are required and the extra conditions as well
Instructions
Detailed Instructions are given in the script
You must add the menu option to your CMS
Repair
Charlie Fleed Wrote:I haven't looked at the entire script (link please?), but it looks like the author used @have_item where @use_item was needed.
So there's a bug in the demo where a change has to be made. It's fair to say, this is what to look for.
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
All methods were aliased except for Game_Actor sp=
Yes this is incompatible with RTAB, don't ask me to merge them!
Conditions from version 1.0 may have been changed or removed
SDK compliant
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.
Script
The families don't like being centered on the screen the must be on the leeeeeeeeffffffffffffft.
Instructions
Plug and play but...
There will be a black area where the window doesn't stretch all the way on the battleback, removing that is not the focus of this script however I do have an easy battle back stretching script which stretches the battle back or allows you to use 640x480 battle backs
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
Requires SDK Part I (does not depend on it)
Credits and Thanks
Sephiroth7734 for requesting
Author's Notes
Scripted in less than an hour and only about 100 lines, enjoy.
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.
Introduction
This is mainly a tool for scripters, This small script contains classes that are very useful in making card games (Ex. BlackJack, Poker, etc.). Includes A Deck Class, A Card class, A Hand class, a Sprite class for Cards. Also includes Card graphics.
Screenshots
Look at the script editor after you add this, there's your screenshot
Demo
Pretty much pointless, see my BlackJack demo for an aplication of this.
Script
Yay the families will be overjoyed...
Code:
class Game_Deck
#--------------------------------------------------------------------------
# * Constants
#--------------------------------------------------------------------------
Suits = %w( spades hearts diamonds clubs )
Values = 'A','2','3','4','5','6','7','8','9','10','J','Q','K'
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(num_decks = 1)
# Setup Cards
@cards = []
# Setup Deck
@deck = []
# Setup Discarded
@discard = []
# Setup In Play
@in_play = []
# Setup Number of Decks
@num_decks = num_decks
# Setup Cards
setup_cards
# Shuffle
shuffle
end
#--------------------------------------------------------------------------
# * Setup Cards
#--------------------------------------------------------------------------
def setup_cards
# Run Through number of decks times
@num_decks.times do
# Run Through Each Suit
Suits.each do |suit|
# Run Through each value
Values.each do |number|
# Setup Card
card = Game_Card.new(suit, number)
# Push into cards array
@deck << card
end
end
end
end
#--------------------------------------------------------------------------
# * Shuffle
#--------------------------------------------------------------------------
def shuffle
# Setup local variable cards
cards = []
# Clear Discarded
@discard.clear
# Setup Cards to Deck
@cards = [@deck].flatten!
# Delete Cards already out
delete_in_use_cards
# Run through until cards are empty
until @cards.empty?
# Push a Random Card and Delete
cards << @cards.delete_at(rand(@cards.size))
end
# Set Cards to Cards
@cards = cards
end
#--------------------------------------------------------------------------
# * Draw
#--------------------------------------------------------------------------
def draw(number = 1)
# Return if number is 1
if number == 1
# Shuffle if empty?
shuffle if @cards.empty?
# Get Card
card = @cards.shift
# Add Card to in play
@in_play << card
# Return card
return card
end
# Setup Array
drawn = []
# Run Through number of times
number.times do
# Shuffle if empty?
shuffle if @cards.empty?
# Break if cards are still empty (all in play)
break if @cards.empty?
# Get Card
card = @cards.shift
# Add Card to in play
@in_play << card
# Add to Drawn
drawn << card
end
# Return Drawn Cards
return drawn
end
#--------------------------------------------------------------------------
# * Discard In Play
#--------------------------------------------------------------------------
def discard
# Add all in play cards to discard
@discard += @in_play
# Clear in play
@in_play.clear
end
#--------------------------------------------------------------------------
# * Number
#--------------------------------------------------------------------------
def number(*strings)
# Setup Local Variable
number = 0
# Run Through each card
@cards.each do |card|
# Run Through Each String Sent to this method
strings.each do |string|
# If A Suit
if Suits.include?(string)
# Increase By 1 if suits are equal
number += 1 if card.suit == string
# If A Value
elsif Values.include?(string)
# Increase By 1 if values are equal
number += 1 if card.value == string
end
end
end
return number
end
#--------------------------------------------------------------------------
# * Size
#--------------------------------------------------------------------------
def size
return @cards.size
end
#--------------------------------------------------------------------------
# * Delete Cards In Use
#--------------------------------------------------------------------------
private
def delete_in_use_cards
# Return if empty cards
return if @in_play.empty?
# Run Through each in play card and Delete Card from list
@in_play.each {|card| @cards.delete(card)}
# Clear In Play
@in_play.clear
end
end
class Game_Card
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :number
attr_reader :suit
attr_reader :value
attr_accessor :flipped
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(suit, value, face10 = false, ace11 = false)
@suit = suit
@value = value
@face10 = face10
@ace11 = ace11
@flipped = true
setup_number
end
#--------------------------------------------------------------------------
# * Ace?
#--------------------------------------------------------------------------
def ace?
return @value == 'A'
end
#--------------------------------------------------------------------------
# * King?
#--------------------------------------------------------------------------
def king?
return @value == 'K'
end
#--------------------------------------------------------------------------
# * Queen?
#--------------------------------------------------------------------------
def queen?
return @value == 'Q'
end
#--------------------------------------------------------------------------
# * Jack?
#--------------------------------------------------------------------------
def jack?
return @value == 'J'
end
#--------------------------------------------------------------------------
# * Face?
#--------------------------------------------------------------------------
def face?
return ['J','Q','K'].include?(@value)
end
#--------------------------------------------------------------------------
# * Ten?
#--------------------------------------------------------------------------
def ten?
return @value == '10' || (self.face? and @face10)
end
#--------------------------------------------------------------------------
# * To String (Returns card's value)
#--------------------------------------------------------------------------
def to_s
return self.value
end
#--------------------------------------------------------------------------
# * Setup Number (Private)
#--------------------------------------------------------------------------
private
def setup_number
case @value
when 'A'
@number = @ace11 ? 11 : 1
when 'J'
@number = @face10 ? 10 : 11
when 'Q'
@number = @face10 ? 10 : 12
when 'K'
@number = @face10 ? 10 : 13
else
@number = @value.to_i
end
end
end
class Game_CardHand
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Setup Cards
@cards = []
end
#--------------------------------------------------------------------------
# * Each (Runs Through Each Card in Hand)
#--------------------------------------------------------------------------
def each
@cards.each {|card| yield(card)}
end
#--------------------------------------------------------------------------
# * Cards
#--------------------------------------------------------------------------
def cards
return @cards.size
end
#--------------------------------------------------------------------------
# * Draw
#--------------------------------------------------------------------------
def draw(*cards)
@cards.push(*cards)
end
#--------------------------------------------------------------------------
# * Discard
#--------------------------------------------------------------------------
def discard
@cards.clear
end
#--------------------------------------------------------------------------
# * To String (ex. A234K)
#--------------------------------------------------------------------------
def to_s
string = ''
@cards.each {|card| string += card.to_s}
return string
end
end
module RPG
module Cache
#--------------------------------------------------------------------------
# * Card
#--------------------------------------------------------------------------
def self.card(suit, number)
style = $game_system.card_style
self.load_bitmap("Graphics/Cards/#{style}/", "#{suit}_#{number}")
end
#--------------------------------------------------------------------------
# * Card Back
#--------------------------------------------------------------------------
def self.card_back(style)
self.load_bitmap("Graphics/Cards/Backs/", style)
end
end
end
class Sprite_Card < Sprite
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(card, flipped = true)
super(nil)
# Setup Suit and Value
@suit, @value = card.suit, card.value
# Setup Flipped Flag
@flipped = flipped
# Setup Bitmap
if @flipped
# Get Flipped Card
self.bitmap = RPG::Cache.card(@suit, @value)
else
# Get Card Back
self.bitmap = RPG::Cache.card_back($game_system.card_back_style)
end
end
#--------------------------------------------------------------------------
# * Flipped
#--------------------------------------------------------------------------
def flipped=(bool)
# Set Flipped Flag
@flipped = bool
# Setup Bitmap
if @flipped
# Get Flipped Card
self.bitmap = RPG::Cache.card(@suit, @value)
else
# Get Card Back
self.bitmap = RPG::Cache.card_back($game_system.card_back_style)
end
end
end
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :card_style
attr_accessor :card_back_style
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias card_setup_initialize initialize
def initialize
# The Usual
card_setup_initialize
# Setup Card Style
@card_style = 'Normal'
# Setup Card Back Style
@card_back_style = 'DragonKid'
end
end
Instructions
The best way to ensure compatibility is to make classes that inherit from these classes like I did in my BlackJack minigame, I tried to include useful methods in these classes and I will give an explanation of what each of them do here
Name: Game_Deck
Description: The Deck class. Holds in play, discarded, and cards not played yet, automatically shuffles if there are no cards left, also handles multiple decks.
Methods:
initialize(number of decks) (private)
- Creates a new Game_Deck object automatically called from the new method, the parameter number of decks is the number of decks of cards to use (The Default is 1)
setup_cards
- Creates all of the Cards, one for each suit and value
shuffle
- Shuffles the Deck
draw(number of cards)
- Draws number of cards from the deck automatically shuffles if the deck is empty during this process, the parameter number of cards is the number of cards to draw (The default is 1). If only one card is drawn this method will return that card, else it will return an array.
- Note: will return as many cards as it can if drawing more than one card (All cards could be in play making it unable to shuffle)
discard
- Discards All In Play Cards
number(variable amount of strings)
- Tells how many of cards of suit or value are remaining in the deck. The strings have to match with the constants which is explained further down
size
- Tells how many cards are remaining in the deck
delete_in_use_cards (private)
- Deletes all in play cards from deck, used when reshuffling
Constants:
Suits
-The suits used, by default there are clubs, hearts, diamonds, and spades.
- Note: remember create a class that inherits from this one and then change the constant in that class if for any reason you want to change it (note you will have to rename/add graphics if if you do)
Values
- The values used, by default A-K (Ace, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, and K). No Jokers.
- see note for Suits.
Properties:
None
Name: Game_Card
Description: The Card class. Represents a card. It is created and used within the Game_Deck class.
Methods:
initialize(suit, value, face cards are 10, aces are 11) (private)
- Creates a new Game_Card object automatically called from the new method, the parameter suit tells the suit of the card, value is the value of the card, face cards are 10 flag telling if face cards (J,Q,K) are worth 10 else their worth is 11,12,and 13 repectively, aces are 11 flag telling if aces are worth 11 instead of 1
ace?
- returns true if the card is an ace
jack?
- returns true if the card is a jack
queen?
- returns true if the card is a queen
king?
- returns true if the card is a jack
face?
- returns true if the card is a face card
ten?
- returns true if the card is worth 10
to_s
- returns a String Representation of this object (The Cards Value)
setup_number (private)
- Sets up the cards worth.
Constants:
None
Properties:
number (readable)
The Cards Worth. (1-13)
suit (readable)
The Cards Suit.
value (readable)
The Cards Value. (A-K)
flipped (accessible)
The Flipped Flag It is set to true in the initialize method.
Name: Game_CardHand
Description: A Class for a Player's Hand, Holds Game_Card objects.
Methods:
initialize (private)
- Creates a new Game_CardHand object automatically called from the new method. Nothing fancy here.
each
Runs through all cards in hand
cards
Returns the number of card in hand
draw(variable amount Game_Card)
- Adds Cards to Hand
discard
Discards (Clears) All cards from Hand
to_s
returns the string representation of this object, that is the values of all cards in hand
Constants:
None
Properties:
None
Name: Sprite_Card
Description: A Sprite Class for Displaying Cards.
Methods:
initialize(card, flipped flag) (private)
- Creates a new Sprite_Card object automatically called from the new method. The Parameter card is a Game_Card Object, and the flipped flag tells if the card is displayed face up or face down (The Default is true - face up)
flipped=(boolean)
- Sets the flipped flag, either send true or false to this method
Constants:
None[/list[
Properties:
None
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
Should be compatible with anything as long as you follow my note in the instructions section
Credits and Thanks
EiB for providing me with the graphics (see attachment)
Tana - DragonKid
If I'm missing anything PM me and tell
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.
Introduction
This script implements a Blue Mage type learning skill system, Skills may be learned by having it cast on you x number of times, a random chance when casting it on you, having a certain amount of intelligence when a skill is cast on the play, by using a skill to get the skills, or a combination of the other four, you can also have multiple Blue Mage skill sets so that one character may learn Fire, Thunder, and Paralyze and another will learn Heal, Darkness, and Light.
Screenshots
Window_Help.new, there is your screenshot
Script
The families will never learn so why should they try being Blue Mages -_-
Instructions
You need the new version of MACL to use this script if you have the full thing ensure that you copy the updates I have as new scripts below MACL these will be added in a feature release of MACL
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
Does not require SDK Part I
Requires MACL (Array.find, Action Test(*), Enemy and Troop Info, and Array.list(*))
*The Action Test provided in the demo is an update to the one found in the current version of MACL there was a bug detecting when an enemy used a skill as the skill_id of actions (RPG::Enemy::Action) is never zero, there is a fix provided to correct this error
*Array.list has a new method added to it series_string
Credits and Thanks
Twilight and Atemu for ideas
Neonyo for betatesting
Author's Notes
This is the 1 millionth time I coded this script. Enjoy since this is a script specifically for it and not included as a feature of another script :p
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.
Introduction
This is just the topic Coliseum Monster Battles from rmxp.net I just changed the name. This script allows the player to bet on a monster (out of a maximum of 8) and then watch the monsters battle in a fight
Features
* Bet on one monster to get a place (first, second, third, last)
* Bet on if the monster escapes or dies
* Bet on the number of turns the battle lasts
* Bet on how much damage the monster inflict
* The monsters fight each other
Instructions
Note the changes and comments in the demo (there are also changes in Scene_Title & Game_Battler 3) The Instructions are given in the demo
First you must call
Game_Rate.set_battlers(levelmin,levelmax,min,max[,mixing])
where levelmin and levelmax define the level of the battlers which can be defined within the script min and max is the minimum and maximum number of battlers (do no let the minimum be 1) and mixing is an optional parameter and you let this be true if you want interlevel mixing or false to have all battlers be the same level
in the event where you call Scene_Arena you can declare these two variables
$game_system.ticket_rate is how much the ticket costs
$game_system.max_bet is the maximum amount that the player is allowed to bet
in the final version I will let the currency used be something else and another event where you could exchange the points for prizes (ie skills, items, weapons, and other stuff like full healing)
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
Should be compatible with all scripts not making any promises though
Author's Notes
This script is only 95% complete now You can still download the demo and tell me what you think of this system or changes that I should make for the final update (would be greatly appreciated) I still have to
1) Redesign some windows
2) Clean up code
3) Game_Rate update
4) An Optional Points system
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.
Introduction
This CBS supports front and side view positions (possibly more if you work with the script), included with the CBS is my Animated Battlers script, and my Battle Formation System. This is still in a beta state, but almost all of the features I planned for the first version are done and the script is in a "presentable" state. This script is also SDK compliant. (was originally a Front View Battle System)
Copy all of the scripts from the demo above main but below the SDK, The Options can be configured in the script Master Options List The options are pretty self-explanatory since these lines are commented.
Options
Code:
module Battler_Setup
#==============================================================================
# Graphical Settings
#==============================================================================
#set this to true for animated enemies (Do not set to false for now)
ANIMATED_ENEMIES = true
#default number of frames for each sprite
DEFAULT_FRAMES = 4
#==============================================================================
# System Settings (Positions Features Etc)
#==============================================================================
#Party command window enable
Party_Command_Window_Enable = false
#Battle Status Hidden?
Battle_Status_Hidden = true
#Battle Status Visible During Command Phase
Battle_Status_Command_Phase = false
#Battle Status Show Buttion (Input::BUTTON)
Battle_Status_Show = Input::SHIFT
#Battle Help Window Enable
Battle_Help_Enable = true
#Allow To Attack Backer Rows Before Rows in front are dealt with
#Attack_Rows_In_Back = false
end
#==============================================================================
# ** Game_BattleOptions
#------------------------------------------------------------------------------
# Controls all battle options that are able to be switched on and off at runtime
# and also is saved with save data
#==============================================================================
class Game_BattleOptions
attr_accessor :view_style
attr_accessor :command_window_x
attr_accessor :command_window_y
attr_accessor :moving_battlers
def initialize
# The View Style Front or Side for now (for movement)
@view_style = 'front'
# The X Position of the Command Window (String)
@command_window_x = "0"
# The Y Position of the Command Window (String)
@command_window_y = "0"
# Moving Battlers
@moving_battlers = true
# Move into Battle
@move_into_battle = true
# In Scene_Formation Move into battle
@move_into_formation = true
# Actors Move into Battle X offset (Scene_Battle/Scene_Formation)
@actor_move_in_x_offset = "actor.screen_x"
# Actors Move into Battle Y offset (Scene_Battle/Scene_Formation)
# actor = Game_Battler object
@actor_move_in_y_offset = "actor.screen_y + 404"
# Enemies Move into Battle X offset (Scene_Battle)
@enemy_move_in_x_offset = "actor.screen_x"
# Enemies Move into Battle Y offset (Scene_Battle)
@enemy_move_in_y_offset = "actor.screen_y - 420"
# Move out of Battle when won (FF2 Style)
@move_out_battle = true
# Move out of Battle Position X
@actor_move_out_x_offset = "740"
# Move out of Battle Position Y (actor = Sprite_Battler)
@actor_move_out_y_offset = "actor.y"
# Move out of Battle Position X
@enemy_move_out_x_offset = "0"
# Move out of Battle Position Y (actor = Sprite_Battler)
@enemy_move_out_y_offset = "actor.y-420"
# Move out When Escaping
@move_out_escape = true
# Move out of Battle Position X
@actor_escape_x_offset = "actor.x"
# Move out of Battle Position Y (actor = Sprite_Battler)
@actor_escape_y_offset = "404 + actor.y"
# Move out of Battle Position X
@enemy_escape_x_offset = "0"
# Move out of Battle Position Y (actor = Sprite_Battler)
@enemy_escape_y_offset = "actor.y-420"
# Pose Used in Scene_Formation
@formation_pose = 'down'
# Command Pose Direction (Character sets)
@command_direction = 'down'
# Victory Pose Direction (Character sets)
@victory_direction = 'down'
# Other Poses Direction (Character sets)
@other_direction = {'Game_Actor' => 'up', 'Game_Enemy' => 'down'}
# Use Battle backs for battle background
@battleback = true
# Use The Current Map for battle background
@current_map = false
# If using Current Map show Events?
@show_events = false
# If using Map for battle back the map id used (0=disable)
@map_id = 0
# If using Map for battle back update map while battling
@update_map = false
end
end
Notes: Frames, Zoom level, and Opacity
the format for their hashes are
{file => value, file => value, ...} (the ... means going on and on)
where file is the name of the battler to set a default for the whole sprite
or file_(pose) to the the value for that pose, yes this allows for multiple frames per battler, I'll talk about the different poses later (see template).
Battle Formations
This is the probably the core of this script along with the animated battlers, since this sets the battlers position in battle I have came up with a few formations that I included in the demo, lets take a look at the data structure.
#============================================================================
# Free Fight Formation
#----------------------------------------------------------------------------
# Description:
# Default Formation. Note: The First Formation must support 1 to the the maximum number
# of Actors in your party
#----------------------------------------------------------------------------
# Appearance:
#
# For One Actor Party
#
#
# 1
# For Two Actor Party
#
#
# 2 3
# For Three Actor Party
#
#
# 1 2 3
# For Four Actor Party
#
#
# 1 2 3 4
#============================================================================
Names << "Free Fight"
Number_Members << '1-4'
Front_Row << []
Middle_Row << []
Back_Row << [0,1,2,3]
Screen_X << "(4 - $game_party.actors.size) * 80 + index * 160 + 80"
Screen_Y << "452"
Effects << {}
Description << "The Default Formation"
Names
is a String and is the name of the formation
Number of Members
is a Special String (A Range String) which may be setup like so "n, a-b, ^n"' Entries are separated by commas (n, a, and b are Integers)
the first adds n to the range, the second adds a-b to the range, and the last deletes n from the range
Examples
"1-3" will result in numbers 1, 2 and 3
"4" will result in the number 4
"^7" will result in nothing (which will propably result in a bug later)
"1-5, 7" will result in the numbers 1,2,3,4,5, and 7
"4-7, ^6" will result in the numbers 4,5,7
"7, ^7" will result in nothing
"1-10, ^4, 16, 11-12" will result with 1,2,3,5,6,7,8,9,10,11,12, and 16
Number Members is the number of members allowable in the formation if the number of numbers is not included in the numbers formed a formation break occurs (The Formation is Broken and will go to the default formation)
Note: The Default (First) Formation must support the 1 to the maximum number of people in the party or else you will receive an error
Front Row, Middle Row, and Back Row
These sets the row the actor is on, The classes Position variable was
replaced with this. Also influences who the enemy attacks. (use 0 for
the first member in the party 1 for the second and so on)
Screen_X and Screen_Y
This can either be a String (holds the formula) or a Hash (appoints the
positions by member index here are two pictures to help you with that.
Here is a good example it places the four battlers in positions forming a square (Go on ahead scribble on the pictures to get a good look at this example)
Screen_X << {0 => 240, 1 => 320, 2 => 240, 3 => 320}
Screen_Y << {0 => 388, 1 => 388, 2 => 452, 3 => 452}
Effects
Here comes the fun part, you get to decide on stat bonuses and other effects of using this formation. It is a Special String (Increaser String) setup like so {, }
where index is an index of a party member, all is for every party member
and row type is either front, middle, or back for their respective rows
effects is a string setup like so ":<*/-+><*/-+>..., ..."
is one of the stats (maxhp, maxsp, str, dex, agi, int, pdef, mdef, eva, atk) or damage for now, obviously <*/-+> is an operator and and an integer
so {0 => "atk:*3+40,maxhp:+50,maxsp:+40", 'front' => 'damage:*2', 'back' => 'damage:/2'} will..
Raise Party members 1's 3 times and adds 40, Raises Maximum Hp by 50, and Maximum Sp by 40
Anyone in Front Row Damage is increased by twice as much
Anyone in Back Row Damage is reduced by Half
Description
self-explanatory, press shift in Scene_Formation to display it, which utilizes my draw text scripting tool see this topic for information on how to use it
But really if you don't get any of these then check the demo for examples
Using Formations
By Default Every Formation is Disabled and will not appear in Scene_Formation (I did this to prevent formations that give uber bonuses to be gained later in the game), To enable a formation do this.
and it will appear in the Formation list in Scene_Formation, provided if the correct number of party members are in the party.
Templates
There are two templates for this CBS but only one of them is required (movement template for enemies) (you'll get better results if you use both), The First Template is the movement template, just look at any characterset for the template (Down Facing, Left Facing, Right Facing, Up Facing).
You may remove down and up facing (leaving a blank space for the poses) if you plan to use this as a side-view battle system, if you edit the options correctly you can allow for eight movement poses (or you can wait for an update), If the movement template is not found (for actors loads their characterset, for enemies you will recieve an error) the movement template file must be named (battler_name) + _movement (ex. name_movement)
where battler_name is in lowercase and all spaces replaced with underscores "_"
Exceptions
If you name a file (battler_name) + one of the pose names (see template) then that file will be loaded and the one from the template (if found) will be removed, this is similiar to how ccoa's CBS loads battlers
Conversions
You can use the other templates in this battle system (Minkoff's and Cybersams (You just have rename the battlers used from ccoa's), and you may configure a custom template (not completed)), but they must be named specially. For Minkoff its (battler_name) + _default + _m, for Cybersam its (battler_name) + _default + _c, and for custom templates (Supports 3 Custom Templates) its (battler_name) + _default + _c(1 2 or 3). This Also loads the movement poses from the templates (loading from cybersam's requires flipping the move to enemy pose).
Last Feature
If the Upper Left Pixel on a Pose is Black (0,0,0) then it will load the default for that pose (see Second Template Not Found), you shouldn't use black as a transparent color. since the script will get confused and load the default when you didn't want it to. (If anything I've added a debug method called test, call it in a call script to see each pose for the battler), here it is just add it in a new script above main and do test() where is a Game_Battler object ($game_party.actors[0], $game_actors[4])
Code:
def test(battler)
array = ['down','left','right','up','command','ready','attack','skill','defend','item',
'damaged','status','death','victory']
sprite = Sprite.new
poses = RPG::Poses.new(battler)
for i in 0...14
sprite.bitmap = poses[array[i]].bitmap
p array[i]
end
end
Change to Side View
Ctrl+Shift+F is your Friend
Code:
# The View Style Front or Side for now (for movement)
@view_style = 'side'
Code:
# Command Pose Direction (Character sets)
@command_direction = 'left'
# Victory Pose Direction (Character sets)
@victory_direction = 'left'
# Other Poses Direction (Character sets)
@other_direction = {'Game_Actor' => 'left', 'Game_Enemy' => 'right'}
Code:
#============================================================================
# Free Fight Formation
#----------------------------------------------------------------------------
# Description:
# Default Formation. The Same as the position setup if formations are disabled
#----------------------------------------------------------------------------
# Appearance:
#
# For One Actor Party
#
#
#
# 1
#
#
#
# For Two Actor Party
#
#
# 1
#
# 2
#
#
# For Three Actor Party
#
# 1
#
# 2
#
# 3
#
# For Four Actor Party
# 1
#
# 2
#
# 3
#
# 4
#============================================================================
Names << "Free Fight"
Number_Members << '1-4'
Front_Row << []
Middle_Row << []
Back_Row << [0,1,2,3]
Screen_X << "576"
Screen_Y << "(4 - $game_party.actors.size) * 60 + index * 120 + 120"
Effects << {}
Description << "The Default Formation"
#============================================================================
# Diamond Dust Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a diamond requires a four actor party
# All Actors Defense is increased by 1.5x when in this formation
#----------------------------------------------------------------------------
# Appearance:
#
# 2
#
# 1 4
#
# 3
#
#============================================================================
Names << "Diamond Dust"
Number_Members << '4'
Front_Row << [0]
Middle_Row << [1,2]
Back_Row << [3]
Screen_X << {0 => 448, 1 => 512, 2 => 512, 3 => 576}
Screen_Y << {0 => 320, 1 => 240, 2 => 400, 3 => 320}
Effects << {'all' => 'pdef:*2'}
Description << "All Members Physical Defense is 200% when in this formation"
#============================================================================
# Power Triangle Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a triangle requires a three or four actor party
#----------------------------------------------------------------------------
# Appearance:
#
# 2
#
# 1 4
#
# 3
#
#============================================================================
Names << "Power Triangle"
Number_Members << '3-4'
Front_Row << [0]
Middle_Row << []
Back_Row << [1,3,2]
Screen_X << {0 => 512, 1 => 576, 2 => 576, 3 => 576}
Screen_Y << {0 => 320, 1 => 160, 2 => 480, 3 => 320}
Effects << {0 => 'atk:*3'}
Description << "Front Rows Attack is Greatly increased"
#============================================================================
# Magic Square Formation
#----------------------------------------------------------------------------
# Description:
# A Formation shaped like a square requires a four actor party
#----------------------------------------------------------------------------
# Appearance:
#
#
# 1 3
#
# 2 4
#
#
#============================================================================
Names << "Magic Square"
Number_Members << '4'
Front_Row << [0,1]
Middle_Row << []
Back_Row << [2,3]
Screen_X << {0 => 512, 1 => 512, 2 => 576, 3 => 576}
Screen_Y << {0 => 280, 1 => 360, 2 => 280, 3 => 360}
Effects << {'all' => 'int:+50'}
Description << "All Members Intellience is increased"
Compatibility
Incompatible with RTAB, but you already knew that (would defeat the purpose if it was, since I'm creating my own)
I wouldn't try this with any of my other scripts just yet as this system is still in beta form
Addons
Here are the addons for this script
- Required Addons (Included)
- Battle Options (Master Options List) V1.0
- Trickster's Animated Battlers V1.0
- Pose System V1.0 BETA
- Battle Formation System V1.0
Optional Addons
Trickster Plug And Play Gradient Bars V1.5
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.
Credits and Thanks
Raziel, Zuzzu, Chaosg1, and others for betatesting
RPG for his animated sprites class (which I modified alot)
People @ rmxpu.net for being my "guinea pigs"
J-Street for saying that I can't explain anything to "normal" people :P
kayin33 for requesting the base script for the Animated Battlers (changing the Battler Graphic to the Character set graphic)
Rmdude333 for requesting a front view battle system
MaxXx for requesting no Battlebacks (included as an option)
Romancing Saga 3 for the formation scene style (almost a complete copy), and parts of the battle scene_style (the default options)
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.
Introduction
This script allows you to play the mini game BlackJack in rmxp. I'm pretty sure everyone knows the rules for this game, but the objective is to get close to 21 without going over. Aces are worth 1 or 11 and all face cards are worth 10. If you get an Ace + (10|face card) it is considered BlackJack and you get 2.5 times your bet.
Features
Animated Dealing
Double Command (Doubles your Bet - Draw one hard - and stands)
Two Different AI's (Hit on 16 Stand on 17 - Hits when Advantageous Risk Taker)
Easily Customizable (Choose Number of Decks used, min and max bet, etc)
Script
No Thanks I prefer not to save families, too long too complicated, too much of a hassle to update when bugs are found.
Instructions
Add this in a new script above main, see the Game_System section for changable options and the Setup Script for System Settings
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
Should be compatible with any script not making promises though
Credits and Thanks
Jstreet for requesting/betatesting
EiB for graphics/sounds/betatesting
Night for betatesting?
Yeyinde for betatesting
Dragonkid image by Tana
If I missed anyone PM me and I'll add you to the list
Author's Notes
The Data structure classes are reusable feel free to use them. I encourage some of the scripters here to use them to make more card mini games. In fact I would love to see that happen :D.
Next version will include Splitting (If you get two cards of the same value you can split into two hands), and other features I've seen in various BlackJack variations.
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.
Instructions
To add this to your project
1) Copy the Five scripts (Scene_Panel(1-3) Scene_Result Window_Result)
2) Note the changes I've made in class Game_System)
3) In a call script event command see using this script
4) If you did it correctly then you will be playing the minigame
5) If not then take a look at how I did it in the demo (Before bugging me)
Tutorial mode
$scene = Scene_PanelAttack.new(special, false, 1, 100, 5, false, type)
or
$scene = Scene_PanelAttack.new(special, false)
where special is the number in Scene_PanelAttack 3 that correspond to the panels you want
and type is the mode that will appear in the Results Window if you use the second one the Standard will appear as the mode
Endless mode
$scene = Scene_PanelAttack.new(nil, true, speed, inc_speed, colors, false, type)
speed is the starting speed
inc_speed is the number of panels needed to clear before speed increase
colors is the number of colors
type is the name of the mode that will appear in the results window
Timed mode
$scene = Scene_PanelAttack.new(nil, true, speed, inc_speed, colors, true, type)
where the time_left is stored in $game_system.time_left
speed is the starting speed
inc_speed is the number of panels needed to clear before speed increase
colors is the number of colors
type is the name of the mode that will appear in the results window
Extra Stuff
Music is stored in $game_system.music
Background is stored in $game_system.background
Panels is stored in $game_system.panels
Time for Time mode is stored in $game_system.time_left
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
Should be 100% compatible with everything
Credits and Thanks
People who created Tetris Attack/Panel De Pon/Puzzle League - Original Panels are an edit of their panels (added a gradient feel to them)
Sir Lord Biowulve -- Panel Design
Author's Notes
This is a repost from .net before It goes down again.
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.