Battle Engine Symphony

RaZzi

My Peculiar Brother
Veteran
Joined
Jul 19, 2013
Messages
423
Reaction score
206
First Language
Finnish
Primarily Uses
 

Hello to all.I'm using (like everyone here), the Battle Symphony. With him I am using the "Yanfly Engine Ace - Death Common Events v1.01".

This script makes: "When an actor dies, a common event starts."

Unfortunately an error when the actor is removed occurs:

 

[script 'Window_BattleStatus' line 52: TypeError occuredno implicit conversion from nil to integer]

 

See the demo, it's very simple.Have only 2 scripts:

- Yami Battle symphony

- YanFly - Death Common Event.

Could someone help me?



****** EDIT ******

the SAME problem occured with this scripts

Tsukihime - Effect: Banish (using in an actor)

=begin#============================================================================== ** Effect: Banish Author: Tsukihime Date: Oct 8, 2012------------------------------------------------------------------------------ ** Change log Oct 8, 2012   - initial release------------------------------------------------------------------------------    ** Terms of Use * Free to use in commercial/non-commercial projects * No real support. The script is provided as-is * Will do bug fixes, but no compatibility patches * Features may be requested but no guarantees, especially if it is non-trivial * Preserve this header------------------------------------------------------------------------------ ** Required -Effect Manager (http://www.rpgmakervxace.net/topic/7395-effect-manager/)------------------------------------------------------------------------------ Adds a "Banish" effect to item/skill. The target battler is removed from battle.  Tag your item/skill with   <eff: banish x>    Where x is the chance of success as a float (eg: 0.1 = 10%) You can use the variables `user` to access the attacker's attributes, and the variable `self` to access the target's attributes#===============================================================================end$imported = {} if $imported.nil?$imported["Effect_Banish"] = true#==============================================================================# ** Rest of the script#==============================================================================module Effect  module Banish    Effect_Manager.register_effect:)banish)  endendclass Game_Battler < Game_BattlerBase   def item_effect_banish(user, item, effect)    prob = eval(effect.value1[0]) rescue 1    if rand - prob < 0      @hidden = true      @result.effect_results.push("%s was banished from the battle!" %[self.name])      @result.success = true    end  endend
Kread-EX: Sneeze (using in an actor also)

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=#  ▼ Sneeze#  Author: Kread-EX#  Version 1.0#  Release date: 22/12/2011#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:= #-------------------------------------------------------------------------------------------------#  ▼ TERMS OF USAGE#-------------------------------------------------------------------------------------------------# #  You are free to adapt this work to suit your needs.# #  You can use this work for commercial purposes if you like it.# #  Credit is appreciated.# ## # For support:# # grimoirecastle.wordpress.com# # OR# # rpgmakervxace.net# # OR# # rpgrevolution.com#-------------------------------------------------------------------------------------------------#  ▼ INTRODUCTION#-------------------------------------------------------------------------------------------------# # Those who played Final Fantasy VI probably remember Typhon/Chupon, and his# # infamous Sneeze. This skill kicks out a character from the party until the end# # of the battle.#-------------------------------------------------------------------------------------------------#  ▼ INSTRUCTIONS#-------------------------------------------------------------------------------------------------# # Sneeze is actually a state. You just need to put this inside the notebox:# #  <sneeze># # Don't forget to put the text which needs to be displayed once an ally is hit# # with it.#-------------------------------------------------------------------------------------------------#  ▼ COMPATIBILITY# # Pointless with any script allowing to manage party during battle.# ## # List of aliases and overwrites:# ## # DataManager# # load_database (alias)# # load_sneeze_notetags (new method)# ## # BattleManager# # init_members (alias)# # process_defeat (alias)# # process_abort (alias)# # battle_end (alias)# # resotres_party (new method)# ## # Game_Temp# # used_sneeze (new attr method)# ## # RPG::State# # load_sneeze_notetags (new method)# # remove_at_battle_end (alias)# ## # Scene_Battle# # apply_item_effects (alias)#-------------------------------------------------------------------------------------------------$imported = {} if $imported.nil?$imported['KRX-Sneeze'] = trueputs 'Load: Sneeze v1.0 by Kread-EX'module KRX        module REGEXP        SNEEZE_EFFECT = /<sneeze>/i    end    end#===========================================================================# ■ BattleManager#===========================================================================module BattleManager      #--------------------------------------------------------------------------    # ● Alias listings    #--------------------------------------------------------------------------    class << self        alias_method:)krx_sneeze_bm_init_members, :init_members)        alias_method:)krx_sneeze_bm_battle_end, :battle_end)        alias_method:)krx_sneeze_bm_process_defeat, :process_defeat)        alias_method:)krx_sneeze_bm_process_abort, :process_abort)    end    #--------------------------------------------------------------------------    # ● Initializes variables    #--------------------------------------------------------------------------    def self.init_members        krx_sneeze_bm_init_members        @save_party = $game_party.all_members.dup    end    #--------------------------------------------------------------------------    # ● Loses the battle    #--------------------------------------------------------------------------    def self.process_defeat        if $game_temp.used_sneeze            if @can_lose ||@can_escape                process_abort                return            end        end        krx_sneeze_bm_process_defeat    end    #--------------------------------------------------------------------------    # ● Aborts the battle    #--------------------------------------------------------------------------    def self.process_abort        if $game_temp.used_sneeze            unless @can_lose ||@can_escape                restores_party                SceneManager.goto(Scene_Gameover)                return            end        end        krx_sneeze_bm_process_abort    end    #--------------------------------------------------------------------------    # ● Ends the battle    #--------------------------------------------------------------------------    def self.battle_end(result)        restores_party if $game_temp.used_sneeze        $game_temp.used_sneeze = false        krx_sneeze_bm_battle_end(result)    end    #--------------------------------------------------------------------------    # ● Recreates the party    #--------------------------------------------------------------------------    def self.restores_party        $game_party.all_members.each do |act|            $game_party.remove_actor(act.id)        end        @save_party.each_index do |i|            $game_party.add_actor(@save_party.id)        end    endend#===========================================================================# ■ DataManager#===========================================================================module DataManager      #--------------------------------------------------------------------------    # ● Loads the database    #--------------------------------------------------------------------------    class << self        alias_method:)krx_sneeze_dm_load_database, :load_database)    end    def self.load_database        krx_sneeze_dm_load_database        load_sneeze_notetags    end      #--------------------------------------------------------------------------    # ● Loads the note tags    #--------------------------------------------------------------------------    def self.load_sneeze_notetags        groups = [$data_states]        for group in groups            for obj in group                next if obj.nil?                obj.load_sneeze_notetags            end        end        puts "Read: Sneeze Notetags"    endend#==========================================================================#  ■  RPG::State#==========================================================================class RPG::State < RPG::BaseItem    #--------------------------------------------------------------------------    # ● Public instance variables    #--------------------------------------------------------------------------    attr_reader        :sneeze    #--------------------------------------------------------------------------    # ● Loads the note tags    #--------------------------------------------------------------------------    def load_sneeze_notetags        @note.split(/[\r\n]+/).each do |line|            case line            when  KRX::REGEXP::SNEEZE_EFFECT                @sneeze = true            end        end    end    #--------------------------------------------------------------------------    # ● Checks if removal at the end of battle    #--------------------------------------------------------------------------    alias_method:)krx_sneeze_state_reb, :remove_at_battle_end)    def remove_at_battle_end        return true if @sneeze        return krx_sneeze_state_reb    endend#==========================================================================#  ■  Game_Temp#==========================================================================class Game_Temp        attr_accessor    :used_sneezeend#==========================================================================#  ■  Scene_Battle#==========================================================================class Scene_Battle < Scene_Base    #--------------------------------------------------------------------------    # ● Applies the action effects    #--------------------------------------------------------------------------    alias_method:)krx_sneeze_sb_aie, :apply_item_effects)    def apply_item_effects(target, item)        krx_sneeze_sb_aie(target, item)        if target.is_a?(Game_Actor)            target.states.each do |st|                if st.sneeze                    $game_party.remove_actor(target.id)                    $game_temp.used_sneeze = true                    break                end            end        end    endend


Could someone check in to this ? Pretty please?
 

Sarkoth131

Villager
Member
Joined
Mar 20, 2014
Messages
9
Reaction score
2
First Language
English
Primarily Uses
Does anyone know what I'm doing wrong?

I've been using Battle Engine symphony for my project but I've ran into a problem. I've been trying to learn how to work the symphony tags though apparently tutorials on such a thing don't exist from what I can find (they might but I haven't seen any). Anyway for this sideview battle system I want the user to run up, perform the attack animation, and then walk back. Simple right? Well they do that but only AFTER playing the animation set in the database. So they'll show the animation on the enemy without moving and then run up and do it a second time. I tried setting the database animation to "none" hoping the symphony tags would override it. But nope all that did was make them step forward and do nothing and then perform the animation. This has really been frustrating because I can get ranged attacks to work so why not physical? Below is a copy of the tags I'm trying and a video showing the double attack I don't want.




<target action>
move user:target,wait
stance: user, attack
animation 11: target
skill effect: dmg, calc
move user: origin
stance: user, idle
 
Last edited by a moderator:

XPhater

Veteran
Veteran
Joined
Apr 27, 2014
Messages
129
Reaction score
32
First Language
english
Primarily Uses
http://forums.rpgmakerweb.com/index.php?/topic/19884-a-guide-to-yamis-battle-symphony/

Do try to make your Symphony Tags as detailed as possible.  You should have

<setup action>

</setup action>

<whole action>

</whole action>

<target action>

</target action>

<follow action>

</follow action>

<finish action>

</finish action>

as 5 steps in the skill's execution.  You can also try adding Yanfly Skill Animations to your script library, and beginning the notetag box with <no cast ani> before going into the Symphony Tags.

As an example, here is the notebox for a skill one of my characters uses, Ravage:

<no cast ani>

<whole action>
stance: user, skill
afterimage: user, true
immortal: targets, true
hide nonfocus
animation 81: user, wait
animation 174: user
wait: 3
vanish: user, true
stance: user, advance
move user: target, base, wait
wait: 30
</whole action>

<target action>
animation 174: user
teleport user: target, base, wait
vanish: user, false
stance: user, advance
move user: forward, 120, 10, wait
animation 7: target
move target: backward, 10
skill effect: dmg

wait: 1
animation 174: user
stance: user, item
move user: backward, 150, 10, wait
animation 160: target, mirror
move target: backward, 10
wait: 1
ani wait: 2
skill effect: dmg
wait: 2
animation 167: user
</target action>

<follow action>
wait: 30
stance: target, struck
move target: backward, 30
animation 153: target
wait: 15
stance: target, break
show nonfocus
afterimage: user, false
immortal: targets, false
</follow action>

<finish action>
animation 174: user
wait: 3
vanish: user, true
wait: 3
teleport user: origin
stance: user, break
wait: 30
vanish: user, false
move target: origin
wait for move
</finish action>
 
Last edited by a moderator:

Sarkoth131

Villager
Member
Joined
Mar 20, 2014
Messages
9
Reaction score
2
First Language
English
Primarily Uses
I originally followed that guide but I'm still having some problems (outside of the pictures in that guide no longer showing). I downloaded the yanfly casting animations script and tried the <no cast ani> but it still showed an initial animation before everything else happened in my test battles just like before. I'm having trouble figuring out what I'm doing wrong. I don't think I need all 5 tags for the basic movement I'm trying to do but I'm not sure(and honestly if I was supposed to I'm not 100% sure on how to but that guide said I could just go with targeting).

 
Last edited by a moderator:

XPhater

Veteran
Veteran
Joined
Apr 27, 2014
Messages
129
Reaction score
32
First Language
english
Primarily Uses
Well here's what I have for basic generic attacks:

<cast ani: 117>

<whole action>
immortal: targets, true
stance: user, advance
move user: target, base, wait
</whole action>

<target action>
stance: user, attack
wait: 1
create icon: user, weapon
icon: user, weapon, swing
autosymphony: attack full
wait: 15
</target action>

<follow action>
wait: 15
delete icon: user, weapon
wait: 1
stance: user, break
stance: target, break
immortal: targets, false
</follow action>

<finish action>
stance: user, retreat
move user: origin
move target: origin
wait for move
stance: user, break
</finish action>

Animation 117 is just a simple custom animation with the character flashing white and the Wind7 sound effect, reminiscent of older RPGmakers.  Everything else works as you would want it to, so try copying that all into your box.  Also not that <no cast ani> is specific to Yanfly Skill Animations, so if you don't have that the tag won't do anything.
 
Last edited by a moderator:

Sarkoth131

Villager
Member
Joined
Mar 20, 2014
Messages
9
Reaction score
2
First Language
English
Primarily Uses
After tweaking your tags a little to my visual liking it works! Earlier I was able to get my old animation to work after a lot of trial and error but I realized it only ran smoothly when I changed the "hit type" from "certain" to "physical". Someone had said to use auto symphony tags but I had no idea how. But after looking at the code you linked and scanning through the script I found section III of the script where the autosymphony tags were. Anyway thanks for the help since what you posted was able to bypass the whole "can only be physical" dilemma I was going through.
 
Last edited by a moderator:

Fjordkeeper

Warper
Member
Joined
Jun 28, 2014
Messages
1
Reaction score
0
First Language
German
Primarily Uses
Hello everyone

I just started using the RPG Maker and I'm still a noob.

Now I have kind of a problem with my Symphony tags :S

Today I reset my whole weapon list and I'm redoing it from scratch. So the idea came to my mind, that I could use a script which makes my weapons have level requirements.

I found one from Fomor here: http://cobbtocs.co.uk/wp/?p=113

The problem is: When I add the requirement tag <levelreq X> to my weapons, the Symphony tags stop working for this weapon :(

(Also the standard symphony moves stop working when I merely add the <levelreq X> tag)

I guess the scripts are not compatible with each other, but I really wanted to have level requirements. 

I'd be really glad if someone could help me out with this.

Nevermind,

I figured it out.

I didn't realize that the requirement also applies to the battle test.

So it doesn't work if you select a lvl 5 weapon on a lvl 1 actor. xD
 
Last edited by a moderator:

TheTrueCyprien

Multipurpose Dude
Veteran
Joined
Jan 23, 2014
Messages
42
Reaction score
12
First Language
German
Primarily Uses
Does anyone know how to change the action that's executed when the target get's 0 damage? I searched through the default actions, but I can't find it...

EDIT: Added one myself. There is none by default as it seems...
 
Last edited by a moderator:

Rose Guardian

Veteran
Veteran
Joined
Mar 26, 2012
Messages
395
Reaction score
84
First Language
English
Primarily Uses
N/A
Hi, first of all I love your script.  However I keep getting this error after awhile during my boss fight when the boss uses the same skill he been using a while and I didn't edit anything and the only other script I am using Battle Hud Ex and it is compatable because mog said it is.

WhatHappened.png

Please help me fix this. I never had this problem before so why am I now?
 

RaZzi

My Peculiar Brother
Veteran
Joined
Jul 19, 2013
Messages
423
Reaction score
206
First Language
Finnish
Primarily Uses
@Rose Guardian: What does your game_battler say at line 360?     @result.make_damage(value.to_i, item) ?
 

Rose Guardian

Veteran
Veteran
Joined
Mar 26, 2012
Messages
395
Reaction score
84
First Language
English
Primarily Uses
N/A
Yes it says that and click the attach and you'll see the error I am getting.

EDIT:
Please help me fix this error.  I keep getting no matter what I do and I never ever had this problem. I need help! I don't know how to script. Sorry if I sound rude but I really, really, really, want to use this script in my game.
 
Last edited by a moderator:

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,789
Reaction score
941
First Language
Chinese
Primarily Uses
N/A
Yes it says that and click the attach and you'll see the error I am getting.

EDIT:

Please help me fix this error.  I keep getting no matter what I do and I never ever had this problem. I need help! I don't know how to script. Sorry if I sound rude but I really, really, really, want to use this script in my game.
Your error stems from the value of "value" as the error log implies that part of the default RMVXA script failed to convert the float number "value" to an integer.

I don't know why the value of "value" can be so problematic though, but at least you can add "msgbox_p(value)" right before the problematic line, i.e.:

def make_damage_value(user, item) value = item.damage.eval(user, self, $game_variables) value *= item_element_rate(user, item) value *= pdr if item.physical? value *= mdr if item.magical? value *= rec if item.damage.recover? value = apply_critical(value) if @result.critical value = apply_variance(value, item.damage.variance) value = apply_guard(value) # ADD THIS LINE msgbox_p(value) # @result.make_damage(value.to_i, item)endWhen you try again, a message box displaying the value of "value" should appear right before the crash.
 
Last edited by a moderator:

Rose Guardian

Veteran
Veteran
Joined
Mar 26, 2012
Messages
395
Reaction score
84
First Language
English
Primarily Uses
N/A
Infinity pops up right before the crash. Could anyone help me fix it so that it the error will go away? Thank you in advance
 

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,789
Reaction score
941
First Language
Chinese
Primarily Uses
N/A
Infinity pops up right before the crash. Could anyone help me fix it so that it the error will go away? Thank you in advance
I've guessed that it's Infinity like what the error log stated. I just want to make sure "value" is the root cause. Now you can try to use the below "diagnosis" which gives more clues:

def make_damage_value(user, item) value = item.damage.eval(user, self, $game_variables) # ADD THIS LINE msgbox_p("item.damage.eval", value) # value *= item_element_rate(user, item) # ADD THIS LINE msgbox_p("item_element_rate", value) # value *= pdr if item.physical? # ADD THIS LINE msgbox_p("pdr", value) if item.physical? # value *= mdr if item.magical? # ADD THIS LINE msgbox_p("mdr", value) if item.magical? # value *= rec if item.damage.recover? # ADD THIS LINE msgbox_p("rec", value) if item.damage.recover? # value = apply_critical(value) if @result.critical # ADD THIS LINE msgbox_p("apply_critical", value) if @result.critical # value = apply_variance(value, item.damage.variance) # ADD THIS LINE msgbox_p("apply_variance", value) # value = apply_guard(value) # ADD THIS LINE msgbox_p("apply_guard", value) # @result.make_damage(value.to_i, item)endWhen you try again, message boxes should appear one after another before the crashes happen. These messages should tell you when the value of "value" becomes problematic.
 
Last edited by a moderator:

Rose Guardian

Veteran
Veteran
Joined
Mar 26, 2012
Messages
395
Reaction score
84
First Language
English
Primarily Uses
N/A
The message boxes said right before the crash:

Infinity

"item.damage.eval"

Infinity

"item_element.rate"

infinity

"mdr"

Infinity

I would like it if you would just tell me what to add or change to get rid of the error because I don't understand any scripting period. If possible could I pm you the project and let you see if you can fix it? I really don't know how.
 
Last edited by a moderator:

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,789
Reaction score
941
First Language
Chinese
Primarily Uses
N/A
The message boxes said right before the crash:

Infinity

"item.damage.eval"

Infinity

"item_element.rate"

infinity

"mdr"

Infinity

I would like it if you would just tell me what to add or change to get rid of the error because I don't understand any scripting period. If possible could I pm you the project and let you see if you can fix it? I really don't know how.
So the value of "value" is infinity already when the method's just evaluating the damage formula of the skill or item used... It seems that something probably go really wrong in your skill or item database.

As it's extremely unlikely that custom scripts alone can create such problems, I definitely have to access your project to know what really cause your crash. You can pm me or just post here XD
 
Last edited by a moderator:

Dr.Yami

。◕‿◕。
Developer
Joined
Mar 5, 2012
Messages
1,003
Reaction score
757
First Language
Vietnamese
Primarily Uses
Other
Maybe you have problem with skill damage formula? 
 

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,789
Reaction score
941
First Language
Chinese
Primarily Uses
N/A
Maybe you have problem with skill damage formula? 
I've solved his issue and indeed it's nothing to do with any custom script. Sorry for being forgotten to post here that his problem's solved already XD
 

Zell

Nothing for something
Member
Joined
Jun 18, 2013
Messages
2
Reaction score
0
First Language
english
Primarily Uses
Can anyone tell me how to make summoning scene like FFIV ???
 

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Profile Posts

This is relevant so much I can't even!
Frostorm wrote on Featherbrain's profile.
Hey, so what species are your raptors? Any of these?
... so here's my main characters running around inside "Headspace", a place people use as a safe place away from anxious/panic related thinking.
Stream will be live shortly! I will be doing some music tonight! Feel free to drop by!
Made transition effects for going inside or outside using zoom, pixi filter, and a shutter effect

Forum statistics

Threads
105,999
Messages
1,018,221
Members
137,778
Latest member
br11an
Top