Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

ACBS - Atoa Custom Battle System 3.2

Atoa

Member

Like i said its incompatiblity, there's nothing to do about it. Only wait for an patch.
Remove *ALL* non ACBS script an test. if it's works without them it's surely incompatiblity, so you will need to provide me *wich* scripts is causing this so i can fix.


Current bugs:
- Consum Items Actions
Error on line 5944: Argument Error occurred.
Error on line 220: Name Error occurred
- Battle Camera + Skill Combination
Error on line 873: Name Error occurred
 
Atoa":u2qph4vr said:
Like i said its incompatiblity, there's nothing to do about it. Only wait for an patch.
Remove *ALL* non ACBS script an test. if it's works without them it's surely incompatiblity, so you will need to provide me *wich* scripts is causing this so i can fix.


Current bugs:
- Consum Items Actions
Error on line 5944: Argument Error occurred.
Error on line 220: Name Error occurred
- Battle Camera + Skill Combination
Error on line 873: Name Error occurred

Ah okay. While I do not know enough about scripting to figure out what scripts are causing incompatibility, I am almost certain that it's the transition-into-battle script, as it is the only one that in anyway touches the battle engine. I will remove all scripts from the game but yours and continue testing the game until your patches come out.

Hopefully, this is what you are referring to, Atoa. I'm not sure what else I can do. Would it helped if I tested each and every single other script I use, one at a time, and see if the engine bugs up? I'll do that, if it will hlp you and not cause more of a headache.

Edit: Okay, I have verified that the following plugins work with your battle engine v3:
Battle BGM Anti-Reset ver. 1.00 (by ParaDog)
Universal Message System (by Ccoa)
Breaking the "Show Choices" Character Limit (by RPG Advocate)
? [XP] ? Call Event ? (by Woratana)
Law's Custom Save System (The Law G14)
CMS #3 (by Rune)
New Particle Engine (by arevulopapo)
Journal (author unknown)

It seems that so long as things do not modify any of the battle classes, it's okay. I'll test the other ten or so scripts I use tonight. Thanks again, Atao!
 
Okay Atoa, here is one that can't be the other plugins, because I tested it out on a stripped version as well with the above verified plugins. Same error both times. I fight a battle, win it, anm supposed to level up, but I get this:

2vnjof6.png


Following plugins are installed: Atoa ATB, New Status, Skill Reflect, Skill Overdrive, Skill Charge, Skill Scan, Victory Window 1 (Blizzard), Atoa Summon, & Atoa Bestiary
 
There is a bug with "Change SP Cost" that causes the game to crash when its booted up. It was a simple fix though, I changed line 11 from "Sp_Cost_Change_Equip" to "Sp_Cost_Change"

I'm testing the scripts right now and will edit this post if I find anymore bugs.

EDIT 1: I'm having issues with Battle Events with using the ATB. I set up an event to run "Turn 1X" (should trigger every turn) and span to Turn. This event will trigger the first time, but it won't trigger for the rest of the battle.

EDIT 2: Bestiary gives me this error when I try to use it:

bestiaryerroratoa1.png

atoacurrentaddons.png
 

No ID

Sponsor

Finally. I'm downloading this later and I'll see what I can add to my game. Honestly Atoa have you uploaded a donate button yet? If so I got you.
 

Atoa

Member

@dani3
All these errors was arealdy reported and fixed, thanks anway.

Just an side note: if you find any other erros, be more detailed as possible, just posting the erro messega don't help too much, also post an list of add ons used on the time of the error.
 
If they are fixed where can i download the newer version?

because i already replaced my data folder with the 3.01 folder and i still have those bugs
 

Atoa

Member

@dylstew
Nowhere yet.
They're fixed, but i didn't upload the fix.
There's still other small glitches and i will solve them before updatintg it.

The 3.0.1 had only an fix on the main code (wich made it crash on the battle against celsius)
 

Atoa

Member

Version 3.0.2
# V3.0.2 | 06 - 08 - 2010
# • Bug Fixes.
#
# • Scripts Updated:
# - ACBS | Battle Main Code
#
# • Add-Ons Updated:
# - Atoa ATB
# - Atoa CTB
# - New Resistance System
# - Change SP Cost
# - Custom Window Settings
# - Enemy Name Window
# - Battle Camera
# - Skill Blitz
# - Skill Combination
# - Atoa Summon
#
# • Utilities Updated:
# - Easy LvlUp Notifier (called before 'Victory Window 1 (Blizzard)')
 

No ID

Sponsor

OK so im tryna figure out why my background is in the middle of the screen. When the background the way that it is, all animations are y, coordinates are alot lower which makes the animation show above the characters.

Also I cannot get the overdrive bar to show. I'm sure this is something I did wrong as well so the second screen is of my overdrive settings.

bg%20error.png

overdrivedf.png

script%20listing.png
 
Atoa! Your battle system is amazing! I'm developing what seems to be a fairly complex game, and for every new feature I decide to include, there's some way to finangle out of your system. So thank you!

All that being said, I'm a novice at Ruby and have encountered an error I can't figure out. Specifically, I'm trying to use your "Automatic Actions" add-on to improve the enemy AI. Unforunately, now I get the following error when I attempt to fight a battle with the enhanced enemies:

NoMethodError occured while running script.

undefined method 'active.strategy' for [1]:Array

I've been troubleshooting this for hours and have gotten a couple different results. First, though, here's the code I added to the "Automatic Actions" script:

Code:
  Battle_Strategy['LyovianSwordsman'] = [[5, 3, 0, 0, 1], [5, 3, 0, 0, 2],

                                         [3, 3, 0, 0, 3], [4, 2, 3, 1],

                                         [6, 2, 1, 1], [5, 3, 13, 2, 4],

                                         [4, 3, 3, 1, 5], [6, 3, 1, 1, 5],

                                         [4, 3, 8, 1, 6], [7, 3, 6, 1, 6]]

  

  Battle_Strategy['LyovianMedic'] = [[5, 3, 0, 0, 1], [5, 3, 0, 0, 2],

                                         [3, 3, 0, 0, 3], [4, 2, 3, 1],

                                         [6, 2, 1, 1], [5, 3, 13, 2, 4],

                                         [4, 3, 3, 1, 5], [6, 3, 1, 1, 5],

                                         [4, 3, 8, 1, 6], [7, 3, 6, 1, 6],

                                         [7, 3, 23, 2, 7], [8, 3, 23, 2, 8]]

 

  Battle_Strategy['LyovianAssualt'] = [[6, 3, 0, 2, 1], [6, 3, 0, 2, 2],

                                         [5, 3, 0, 2, 3], [4, 2, 3, 1],

                                         [6, 2, 1, 1], [4, 3, 13, 2, 4],

                                         [4, 3, 3, 1, 5], [6, 3, 1, 1, 5],

                                         [4, 3, 8, 1, 6], [7, 3, 6, 1, 6]]

                                         

  Battle_Strategy['LyovianCorporal'] = [[6, 3, 0, 2, 1], [6, 3, 0, 2, 2],

                                         [5, 3, 0, 2, 3], [4, 2, 3, 1],

                                         [6, 2, 1, 1], [4, 3, 13, 2, 4],

                                         [4, 3, 3, 1, 5], [6, 3, 1, 1, 5],

                                         [4, 3, 8, 1, 6], [7, 3, 6, 1, 6],

                                         [6, 3, 16, 1, 12], [6, 3, 15, 1, 13]]

                                         

  Enemy_Strategy[1] = 'LyovianMedic'

  Enemy_Skills[1] = [1, 2, 3, 4, 5, 6, 7, 8]

  Enemy_Strategy[2] = 'LyovianSwordsman'

  Enemy_Skills[2] = [1, 2, 3, 4, 5, 6]

  Enemy_Strategy[3] = 'LyovianCorporal'

  Enemy_Skills[3] = [1, 2, 3, 4, 5, 6, 12, 13]

With that code alone, I get no game-crashing errors. However, it also has no effect on the enemies' behavoir. (They attack with the priorities set by the database instead of the add-on.) I then add the following following code to the battle itself, set to execute on Round 0:

Code:
$game_troop.enemies

[1].active_strategy('LyovianMedic')

 

$game_troop.enemies

[2].active_strategy('LyovianSwordsman')

 

$game_troop.enemies

[3].active_strategy('LyovianCorporal')

This is when I get the error message.

I suspect that there's something really obvious that I'm missing, and hopefully you all can correct my newbie mistake without much hassle. I'll keep tinkering with this, too, and let you know if I figure out the problem.

Thanks!
Tuatha

UPDATE: After further experiemenation, I've narrowed down the problem. If I copy and paste Atoa's code for an actor, there is no problem. For instance:

Code:
$game_actors[1].active_strategy('Attacker')

However, if I right-click and choose to "Edit" the code, it will transform even if I don't actually add or remove anything:

Code:
$game_actors

[1].active_strategy('Attacker')

This is due to the space constrant of the editing window and the fact that the code auto-wraps. Unfortunately, when the code splits like this, it leads to the error I was experience. So now I know why this code isn't working, but I don't know how to fix it. How is it that Atoa was able to keep his code on a single line, while mine auto-wraps?

UPDATE 2: I found a program called expandtext.exe which expands the script window to accound for longer pieces of code. It's a part of the Pokemon Starter Kit, and although I get the feeling this isn't the typical solution, it works well enough. If anybody knows of one that doesn't require 3rd party software, I'd be happy to hear about it.

Now did it work? Kind of. I can now create AI commands for my actors, but there's still a problem with enemy AI, which is what this is really all about. The old error code is gone, but a new (similiar) one has replaced it:

NoMethodError occured while running script.

undefined method 'active.strategy' for nil:NilClass

I tinkered with it even more and discovered something interesting, though potentially irrelevent. If I reduce each enemy ID by 1, the game doesn't crash, but instead locks up at the beginning of the battle. For instance, typically the code would read:

Code:
$game_troop.enemies[1].active_strategy('LyovianMedic')

 

$game_troop.enemies[2].active_strategy('LyovianSwordsman')

 

$game_troop.enemies[3].active_strategy('LyovianCorporal')

I've changed it to:

Code:
$game_troop.enemies[0].active_strategy('LyovianMedic')

 

$game_troop.enemies[1].active_strategy('LyovianSwordsman')

 

$game_troop.enemies[2].active_strategy('LyovianCorporal')

Typically, it freezes at the start of the battle. However, if I change the condition for the code to activate for a later round, such as 4, than it plays normally until round 4, at which point it freezes again.

Any guidance would be apprecieted!
 

Atoa

Member

tuatha":2fqyxmbn said:
I tinkered with it even more and discovered something interesting, though potentially irrelevent. If I reduce each enemy ID by 1, the game doesn't crash, but instead locks up at the beginning of the battle. For instance, typically the code would read:

Code:
$game_troop.enemies[1].active_strategy('LyovianMedic')

 

$game_troop.enemies[2].active_strategy('LyovianSwordsman')

 

$game_troop.enemies[3].active_strategy('LyovianCorporal')

I've changed it to:

Code:
$game_troop.enemies[0].active_strategy('LyovianMedic')

 

$game_troop.enemies[1].active_strategy('LyovianSwordsman')

 

$game_troop.enemies[2].active_strategy('LyovianCorporal')
It's not an bug or glitch, the "$game_troop.enemies" don't use enemy ID, it uses Enemy INDEX, and indexes start at 0, so the first enemy is index 0, the second index 1...

tuatha":2fqyxmbn said:
Typically, it freezes at the start of the battle. However, if I change the condition for the code to activate for a later round, such as 4, than it plays normally until round 4, at which point it freezes again.
Maybe the problem is how you setting the event. there's some bugs on rmxp when you use script calls.

Also, instead of using events, why you don't set an default strategy for the enemy on the script?

@ No ID
Did you unlock the overdrive? an friend also had this problem, wich is strange since i don't had it in any tests.

Also i Have no idea what can be causing this bug with the battle back.
About the animation position, due to some changes on the script, i had to set new reference points to de animations.
But remember that now theres an whole new set of options to readjust animations position, so if any animation isn't in the right place, just fix it on the basic settings.
 
It's not an bug or glitch, the "$game_troop.enemies" don't use enemy ID, it uses Enemy INDEX, and indexes start at 0, so the first enemy is index 0, the second index 1...

Thanks for confirming that, Atoa! By chance, is the same true of actor and skill IDs?

Unfortunately, when I remove the script calls and give the enemies a default strategy, their behavoir is unaltered and they continue to use the skills and priorities set in the database instead of the script. I use the following code:

Code:
  Enemy_Strategy[0] = 'LyovianMedic'

  Enemy_Skills[0] = [1, 2, 3, 4, 5, 6, 7, 8]

  Enemy_Strategy[1] = 'LyovianSwordsman'

  Enemy_Skills[1] = [1, 2, 3, 4, 5, 6]

  Enemy_Strategy[2] = 'LyovianCorporal'

  Enemy_Skills[2] = [1, 2, 3, 4, 5, 6, 12, 13]

Also, the game only freezes when the script is called during a battle for a "Moment"'s duration. If I set it for "Turn" or "Battle," the game doesn't freeze, but neither do the scripts take effect. Additionally, if I call the scripts outside of battle, I immediately get the old error of:

NoMethodError occured while running script.

undefined method 'active.strategy' for nil:NilClass

Maybe the answer is in nil:NilClass? What does it mean?
 
In that case active is equal to nothing, there's no current value assigned to it but nil. So the strategy method cannot be executed since NilClass only method is nil...
 
After further experimentation, I'm beginning to think there might be a glitch in the code. I downloaded a fresh copy of ACBS, installed only "Automatic Actions" as an add-on, and then set the example enemy script to ID 0 so that it would apply to the phantoms:

Code:
  Enemy_Strategy[0] = 'Poisoner'

  Enemy_Skills[0] = [69]

I then fought the phantoms and found their behavoir unaltered. They did not have access to "Poison Blade" and continued follow the conditions set forth in the database. I then went to the database and released all conditions for the phantoms' actions as well as adding "Poison Blade" to their skillset. Their behavoir continued to be unaffected by the script. Although they did use "Poison Blade," they used it as regularly as they attacked, defended, and cast "Fire." By the script, they should have used "Poison Blade" far more often--and they also shouldn't have ever used "Fire."

After this, I tried calling the following script before the battle, inserting it right before "Show Choice: Easy, Medium, Hard, Very Hard":

$game_troop.enemies[0].active_strategy('Poisoner')

The result is the familiar error message:

NoMethodError occured while running script.

undefined method 'active.strategy' for nil:NilClass

If I'm using the scripts correctly, perhaps there's a glitch in the code? I hope it will be an easy one to fix, because this script has the potential to make some truly sophisticated AI enemies, which excites me to no end!
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top