Save-Point
Moonpearl script Animated Battlers help!! x(( - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Games Development (https://www.save-point.org/forum-4.html)
+--- Forum: Code Support (https://www.save-point.org/forum-20.html)
+--- Thread: Moonpearl script Animated Battlers help!! x(( (/thread-5786.html)

Pages: 1 2


Moonpearl script Animated Battlers help!! x(( - Starmage - 05-06-2016

Hello all, I really need help regarding Moonpearl's animated battlers script which is what I'm using in the game I'm working on, it's just that:

when characters in my party are dead, and I fight alone (with 1 surviving party member) an error pops up when I try to target attack an enemy in battles:
Content Hidden

I really am not very good at this, but what is causing the problem? thankyou so much for those who can answer! :)

And here's the link to moonpearl's scripts!
http://moonpearl-gm.blogspot.fr/2012/11/monnpearls-animated-battlers.html


RE: Moonpearl script Animated Battlers help!! x(( - Starmage - 05-17-2016

Bump!! I really need help on this one x(( I just have no idea how scripting works in general! I've been looking for help regarding this problem anywhere, and it seems I had no luck..

also, I'm using other moonpearl scripts for my project, here's the order:

- SDK/Basic stuff
- MP Animated Battlers
- MP Balloon messages
- MP Animated costume menu system

here is my script file from my project:
https://www.mediafire.com/?gauahjb7nc2a5as

I would be very happy if anyone can help me regarding this! x((


RE: Moonpearl script Animated Battlers help!! x(( - DerVVulfman - 05-17-2016

Gonna take a while... *grimaces* His 'script' download says it only needs his "MP Common" package, but that isn't true. The Scene_Base code he wrote is also needed.

Full on package too large for me to DL right now.


RE: Moonpearl script Animated Battlers help!! x(( - Starmage - 05-17-2016

Hello DerVVulfman! thanks so much for checking! ohh! I see!!

I included the script file for my project above, maybe you can get an idea on my project's scripts order there on what might be the cause of the errors x(( it seems there was also a problem on the animated battler script regarding characters on a "state"!

I've been thinking of replacing my current scripts to different stable ones but it was deemed difficult seeing as I've already progressed quite far enough on my project!! x(( and my only hope now is to find a solution for Moonpearl's scripts x((

Thanks so much once again DerVVulfman! it will really mean alot to me if this gets solved, and you don't know how big a contribution that is on my project! ^^


RE: Moonpearl script Animated Battlers help!! x(( - Starmage - 05-18-2016

Also, there's another error when dying while a character is under a state (confuse/venom/silence etc.):
[Image: RrH0uxv.png]
There is also a known issue with enemy's names in the battle-system aren't showing correctly when you point the cursor on them..

Alot of the issues have something to do with Moonpearl's animated battler script. xx((


RE: Moonpearl script Animated Battlers help!! x(( - DerVVulfman - 05-18-2016

What I have done so far is this.
1) I downloaded the actual 11MB Animated Battlers Demo
2) I downloaded your script package, pasting it into Data
---- and seeing that I didn't have the menu graphics for your animated menu theme...
3) I pasted the graphics from the currently downloaded MoonPearl CMS into the graphics folder and pasted the theme page in place

As it stands, the demo I have been testing now holds all of your scripts and is using the menu graphics from the actual 'Moon Pearl' theme.



PROBLEM. I am not getting the errors you have described, so there must be something more to it. Something in the database and/or graphics package you are using. Your demo is needed. Or at least a demo stripped down but still functional for testing and still shows the errors you describe. Doesn't do any good if it (1) cannot be tested or (2) doesn't show the problem. IF you can make 'saves' just before the error happens, even better.


RE: Moonpearl script Animated Battlers help!! x(( - Starmage - 05-18-2016

Hello DerVVulfman!! Thanks so much for taking your time!! Hmm, I will send you the raw file of my project itself!! I'll PM it to you along with a save-file indicating the problems!!


RE: Moonpearl script Animated Battlers help!! x(( - DerVVulfman - 05-20-2016

Hey Starmage!

I read the PM you sent me about how someone in ChaosProject told you how to fix your battlesystem. While it may appear patched, his solution wasn't at the result of a proper diagnosis. It is one thing to find a fix. It is another to find the root cause of your issue. However, his fix is in the proper location.


Your code in the MP Animated Battlers: Scene_Battle code occurs at line 104 on down, resembling this:

Code:
alias mp_abattlers_update_phase4_step2 update_phase4_step2

def update_phase4_step2
mp_abattlers_update_phase4_step2
# Raise damaged flag
for target in @target_battlers
  if target.damage.is_a?(Fixnum)
    etc....

Your helper in ChaosProject figured out that this page was running while the system thought it was in the first step of phase 2, which is why he suggested:
Code:
return if @phase4_step == 1

Well, it goes much deeper than that. You see, your problem was that the system cycles through your dead members and their targets. The method in Moonpearl's script acts like this:
Code:
mp_abattlers_update_phase4_step2  ... Perform the original code
for target in @target_battlers    ... for every target that the battler has in his scope
if target.damage.is_a?(Fixnum)    ... if the target has numeric damage (it isn't the word 'Miss!')
... etc.

You would think that the code would work fine. But when you have a dead actor, you have no @target_battlers to cycle through. No @target battlers, and it goes 'BOOM'.

THAT is the actual source of your problem with Moonpearl's system. I ran tests to see what battler(s) were going through the motions, and it was always the DEAD one... the dead one that does not get to target any battlers.

So instead of the code that your guy from ChaosProject suggested (granted, a mere one line), I suggest this... an exerpt from the original method that tests for DEAD guys and skips to the next step.

Code:
alias mp_abattlers_update_phase4_step2 update_phase4_step2

def update_phase4_step2

  # Insert Here
  # If not forcing action
  unless @active_battler.current_action.forcing
    # If restriction is [cannot perform action]
    if @active_battler.restriction == 4
      # Clear battler being forced into action
      $game_temp.forcing_battler = nil
      # Shift to step 1
      @phase4_step = 1
      return
    end
  end  
  # End of Insert

  mp_abattlers_update_phase4_step2
  # Raise damaged flag
  for target in @target_battlers
    if target.damage.is_a?(Fixnum)
      etc....

The main facet of this code is that it checks to ensure that a battler who is incapable of performing an action SKIPS to the next battler and next phase. In otherwords, it looks for Luna, sees Luna, then SKIPS Luna before going to the next living battler. After that, it is business as usual.


Ya know? I think I said something in the CMS system request that there were no safeguards. Yup......


RE: Moonpearl script Animated Battlers help!! x(( - Starmage - 05-20-2016

Wow DerVVulfman!! Thanks so much for figuring this all out on it's deeper problems!! This is really a very detailed and helpful diagnosis of why that error occurred in the first place!! xDD

Your code works just as perfectly fine and I can feel it's stability now!! wow! thanks so much for all these DerVVulfman!! in my project's next update it will be a more stable codes for the script!! :)

I am really beginning to be quite intrigued with how all the scripting works! though they may be quite a brain-pain for me!! lol! xD but thanks alot for this DerVVulfman! it was indeed very informative and helpful!! :D you don't know how big a help these all are for my project!! xDD

now for the CMS, so there wansn't any safe-guards! that is really quite unfortunate x(( so is there any way to make the code of the CMS just so it will lock the first character during party switching?

Thanks so much again DerVVulfman! xD


RE: Moonpearl script Animated Battlers help!! x(( - DerVVulfman - 05-20-2016

I have been stretching my coding time between Sil's DDR and Cassie's CMS system.

With the CMS and other demos he uses, he has a Scene_Base package. Funny enough, the Scene_Battle script in his Scene_Base package has an untouched/unchanged 'def update_phase4_step2' method which was the actual method aliased in the animated battler script. Because he made no changes to update_phase4_step2, there was no need for him to include it in his Scene_Base package... totally a waste. Tongue sticking out



Oh, alias is a way to attach new code to an existing method. It's might be easy to look at it like this:
Code:
alias new_update  update
def update
  new_update
  new_code
end
First an alias statement that links the two names. It'll assume that running 'new_update' will execute your original code.
Then 'def' (or define method) of the revised update method
Then we call 'new_update' which is the new name to the 'original' update method... ala alias. So we're running the original update.
THEN we run 'new_code' ... whatever that may be.
Then we end the method... done