Theolized Sideview Battle System (Now with EDITOR!)

Discussion in 'RGSS3 Scripts (RMVX Ace)' started by TheoAllen, Jun 30, 2014.

  1. Farr

    Farr Veteran Veteran

    Messages:
    247
    Likes Received:
    92
    Location:
    C-bus, Ohio
    First Language:
    Portuguese
    Altimos
    Try disabling some map stuff on Theo`s Core script.
     
    Last edited by a moderator: Sep 27, 2015
  2. Altimos

    Altimos Villager Member

    Messages:
    17
    Likes Received:
    4
    Location:
    USA
    First Language:
    English
    I'm currently not using a Ring Menu, but I do thank you for your suggestion.

    This actually worked for me. Under TSBS Basic Model, where it says Theo_BitmapAddons, I changed it from true to false. Which produced a new error for the 'Plane Fix' script, I'm using this because I've got a larger resolution size (1024x768). So I disabled the Plane Fix script for now, and changed Theo_BitmapAddons back to true, and no longer have that error problem coming up.

    I however have a new TSBS error coming up. The only thing I changed was Theo_BitmapAddons, and of course I changed it back. I have changed nothing else since the last time TSBS was working solid for me. So I'm not sure what changed or why this new error is coming up. I'm pretty sure it has nothing to do with removing Plane Fix since the two scripts have nothing to do with each other (that I know of, it did work fine with each other before I put the edge map transfer script in). I did disable the map edge transfer script, re-enabled the Plane Fix script, and still got the original error as before. So I don't think it's the map edge transfer, it just made it easier to transfer between maps and doing it over and over again for so many transfers showed the original error. So map edge transfer enabled, Plane Fix disabled, and Theo_BitmapAddons set to true, and I have a new error.

    Honestly, I'm not sure if this error was present before or after adding the map edge transfer (new error appears when map edge transfer is disabled), or after disabling Plane Fix (I know it worked when plane fix was enabled as this was the first script I added when I increased the resolution).

    Error shown below.

    TSBS Script Error 2.png

    If anybody has any further assistance they can provide, I would greatly appreciate it.

    Again, thanks for everybody's help.

    Altimos

    EDIT: I forgot to mention, the error occurs when I attack, not when using an item.
     
    Last edited by a moderator: Sep 28, 2015
  3. Sixth

    Sixth Veteran Veteran

    Messages:
    2,130
    Likes Received:
    800
    First Language:
    Hungarian
    Primarily Uses:
    RMVXA
    What is that line exactly? Can you paste it here?


    Do you use KGC's Bitmap Extension script? I know Luna Engine uses it (or can use it, is it optional only?). If you use it, you must turn off Theo's Bitmap Addons in his Core script.


    The Plane Fix script alone is not causing errors with Theo's SBS (not crashes at least), so that is not the problematic script for sure.
     
  4. Altimos

    Altimos Villager Member

    Messages:
    17
    Likes Received:
    4
    Location:
    USA
    First Language:
    English
    Code in spoiler.



    # -------------------------------------------------------------------------- # Overwrite method : use item # Compatibility? I will think that later ~ # -------------------------------------------------------------------------- def use_item item = @subject.current_action.item @log_window.display_use_item(@subject, item) @subject.use_item(item) if $imported["YEA-LunaticObjects"] lunatic_object_effect:)before, item, @subject, @subject) end refresh_status targets = @subject.current_action.make_targets.compact show_action_sequences(targets, item) end 

    I'm not using Luna Engine, I'm using Yuna Engine. I posted an image of all the scripts I'm currently using in my game below... remember that Plane Fix is disable (at the moment).

    Script List.png

    I'm not sure as to the cause for the original issue, when I set Theo_BitmapAddons to false, a new error message came up regarding "failure to "do something with bitmaps (can't remember)" and directed the error to a line item in Plane Fix. I disabled Plane Fix, and changed Theo_BitmapAddons back to true, and the original error never happened again.

    Thanks again for the help,

    Altimos
     
  5. Sixth

    Sixth Veteran Veteran

    Messages:
    2,130
    Likes Received:
    800
    First Language:
    Hungarian
    Primarily Uses:
    RMVXA
    If "Sixth's Viewpoint" is my Viewport fix for higher resolutions, than you must put that at the top of your custom script list.


    If you use Yanfly's or Dekita's Core Engine, you must put that script below them.


    The scripts "Fullscreen" and "Text Cache" should also go at the top.


    Theo's Basic Model should also go at the top of your script list, since that one overwrites many things too.


    That TSBS Patch should also be put at the very top of you custom script list, since that one only overwrites 2 methods calling super on them.


    While it might sound and look good to organize your scripts by authors or by types, sometimes it just can't be done. You have to know where to put the scripts and in which order, or you might end up with some issues.
     
    Last edited by a moderator: Sep 28, 2015
  6. Altimos

    Altimos Villager Member

    Messages:
    17
    Likes Received:
    4
    Location:
    USA
    First Language:
    English
    I thought I put everything in the order they were suppose to, looks like I messed up on that.

    So I placed everything in the order you suggested.

    Unfortunately, the screen flickers from 1024x768 back down to the normal size and it pops up with an error.

    Viewpoint Script Error 1.png

    Sixth's Viewpoint is your script from the HD Resolution thread, I'm not sure what is causing that error now (while my background music is playing).

    I'm trying to figure out at least to try and get back to 1024x768.

    The fullscreen script is actually Yanfly's Core Script Cleanup, presented in the spoiler tags (which I put at the top of the list under Sixth's Viewpoint).

    #==============================================================================## ▼ Yanfly Engine Ace - Ace Core Engine v1.09# -- Last Updated: 2012.02.19# -- Level: Easy, Normal# -- Requires: n/a##==============================================================================module YEA module CORE #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Screen Resolution Size - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # RPG Maker VX Ace has the option of having larger width and height for # your games. Resizing the width and height will have these changes: # # Default Resized Min Tiles Default Min Tiles New # Width 544 640 17 20 # Height 416 480 13 15 # # * Note: Maximum width is 640 while maximum height is 480. # Minimum width is 110 while maximum height is 10. # These are limitations set by RPG Maker VX Ace's engine. # # By selecting resize, all of the default menus will have their windows # adjusted, but scripts provided by non-Yanfly Engine sources may or may # not adjust themselves properly. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- RESIZE_WIDTH = 1024 RESIZE_HEIGHT = 768 end # COREend # YEA #==============================================================================# ▼ Editting anything past this point may potentially result in causing# computer damage, incontinence, explosion of user's head, coma, death, and/or# halitosis so edit at your own risk.#============================================================================== Graphics.resize_screen(YEA::CORE::RESIZE_WIDTH, YEA::CORE::RESIZE_HEIGHT) #==============================================================================# ■ Game_Event#============================================================================== class Game_Event < Game_Character #-------------------------------------------------------------------------- # overwrite method: near_the_screen? #-------------------------------------------------------------------------- def near_the_screen?(dx = nil, dy = nil) dx = [Graphics.width, $game_map.width * 256].min/32 - 5 if dx.nil? dy = [Graphics.height, $game_map.height * 256].min/32 - 5 if dy.nil? ax = $game_map.adjust_x(@real_x) - Graphics.width / 2 / 32 ay = $game_map.adjust_y(@real_y) - Graphics.height / 2 / 32 ax >= -dx && ax <= dx && ay >= -dy && ay <= dy end end # Game_Event#==============================================================================# ■ Game_Map#============================================================================== class Game_Map #-------------------------------------------------------------------------- # overwrite method: scroll_down #-------------------------------------------------------------------------- def scroll_down(distance) if loop_vertical? @display_y += distance @display_y %= @map.height * 256 @parallax_y += distance if @parallax_loop_y else last_y = @display_y dh = Graphics.height > height * 32 ? height : screen_tile_y @display_y = [@display_y + distance, height - dh].min @parallax_y += @display_y - last_y end end #-------------------------------------------------------------------------- # overwrite method: scroll_right #-------------------------------------------------------------------------- def scroll_right(distance) if loop_horizontal? @display_x += distance @display_x %= @map.width * 256 @parallax_x += distance if @parallax_loop_x else last_x = @display_x dw = Graphics.width > width * 32 ? width : screen_tile_x @display_x = [@display_x + distance, width - dw].min @parallax_x += @display_x - last_x end end end # Game_Map #==============================================================================# ■ Spriteset_Map#============================================================================== class Spriteset_Map #-------------------------------------------------------------------------- # overwrite method: create_viewports #-------------------------------------------------------------------------- def create_viewports if Graphics.width > $game_map.width * 32 && !$game_map.loop_horizontal? dx = (Graphics.width - $game_map.width * 32) / 2 else dx = 0 end dw = [Graphics.width, $game_map.width * 32].min dw = Graphics.width if $game_map.loop_horizontal? if Graphics.height > $game_map.height * 32 && !$game_map.loop_vertical? dy = (Graphics.height - $game_map.height * 32) / 2 else dy = 0 end dh = [Graphics.height, $game_map.height * 32].min dh = Graphics.height if $game_map.loop_vertical? @viewport1 = Viewport.new(dx, dy, dw, dh) @viewport2 = Viewport.new(dx, dy, dw, dh) @viewport3 = Viewport.new(dx, dy, dw, dh) @viewport2.z = 50 @viewport3.z = 100 end #-------------------------------------------------------------------------- # new method: update_viewport_sizes #-------------------------------------------------------------------------- def update_viewport_sizes if Graphics.width > $game_map.width * 32 && !$game_map.loop_horizontal? dx = (Graphics.width - $game_map.width * 32) / 2 else dx = 0 end dw = [Graphics.width, $game_map.width * 32].min dw = Graphics.width if $game_map.loop_horizontal? if Graphics.height > $game_map.height * 32 && !$game_map.loop_vertical? dy = (Graphics.height - $game_map.height * 32) / 2 else dy = 0 end dh = [Graphics.height, $game_map.height * 32].min dh = Graphics.height if $game_map.loop_vertical? rect = Rect.new(dx, dy, dw, dh) for viewport in [@viewport1, @viewport2, @viewport3] viewport.rect = rect end end end # Spriteset_Map #==============================================================================# ■ Scene_Map#============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # alias method: post_transfer #-------------------------------------------------------------------------- alias scene_map_post_transfer_ace post_transfer def post_transfer @spriteset.update_viewport_sizes scene_map_post_transfer_ace end end # Scene_Map 
    Thanks again for the help,

    Altimos

    EDIT: Putting the Fullscreen script above your script does not cause the error, but doesn't put the resolution back to 1024x768.
     
    Last edited by a moderator: Sep 28, 2015
  7. Sixth

    Sixth Veteran Veteran

    Messages:
    2,130
    Likes Received:
    800
    First Language:
    Hungarian
    Primarily Uses:
    RMVXA
    My Viewport fix must be below Yanfly's Core.


    I tought that Fullscreen script is Fullscreen++ made by Zeus, that's why I wrote that it should be above everything. But if that is Yanfly's Core, you should put it above my script.


    I just realized, that both scripts must be above my script, so it doesn't really matter. :D


    As for the resolution change, you can search for this line (SHIFT+CTRL+F in the script editor):

    Code:
    Graphics.resize_screen(
    And comment out any lines like this except the one from Yanfly's Core.
     
    Last edited by a moderator: Sep 28, 2015
  8. Altimos

    Altimos Villager Member

    Messages:
    17
    Likes Received:
    4
    Location:
    USA
    First Language:
    English
    It's all good now, there was a Graphics.resize_screen in the windows_engine section that I commented out. So the resolution is back to 1024x768, also with plane fix enabled and I initiate the same scenario from the first ever error, it does not come up as a TSBS bitmap error, but it points out the Plane Fix script. So same scenario and error, but this time the real culprit is revealed.

    Now, everything outside of combat (to include shifting between maps) is good to go. Now in combat (after all the moving of scripts) everything is the same except for my characters who are all located at the top of the screen versus the side where they were at. I went into Config 1 to verify that they are set up at the locations I want them to be and it appears to be the same, but they won't move from the top of the screen.

    Also, after selecting attack for all 5 characters, it errors out with a brand new error, shown below. In Theo's original post about TSBS, it says to have the Patch script under all the TSBS scripts, not sure if he changed that since I last read it. Ignore all strike-through's, I fixed this when I realized that Yanfly's Battle Engine wasn't up at the top... duh.

    Though the same second TSBS error still occurs after selecting what the player is going to do (e.g. attack, special ability, guard). A refresh of the error is displayed below.

    TSBS Script Error 2.png

    Portion of the script in spoilers.

    # -------------------------------------------------------------------------- # Overwrite method : use item # Compatibility? I will think that later ~ # -------------------------------------------------------------------------- def use_item item = @subject.current_action.item @log_window.display_use_item(@subject, item) @subject.use_item(item) if $imported["YEA-LunaticObjects"] lunatic_object_effect:)before, item, @subject, @subject) end refresh_status targets = @subject.current_action.make_targets.compact show_action_sequences(targets, item) end 
    I'm going to play around with it more now that the scripts are in the proper spots as indicated by you. I do apologize for dumping error after error after error on you, but this has been the most time consuming and stress producing portion of this build. Getting past this and not having anything wrong with the scripts would be like hitting the lottery at this point, and would allow me to really get down to build the content of the game.

    Everything you're doing is much appreciated,

    Altimos
     
    Last edited by a moderator: Sep 28, 2015
  9. Sixth

    Sixth Veteran Veteran

    Messages:
    2,130
    Likes Received:
    800
    First Language:
    Hungarian
    Primarily Uses:
    RMVXA
    That TSBS Patch is not what I thought it to be.

    It indeed has to be below the Implementation script.

    But than you miss a little snippet called "TSBS Base Fix" in Theo's demo. That should be placed at the top.

    Btw, what version of TSBS are you using?

    Because the 'use_item' method should look like this:

    def use_item item = @subject.current_action.item @log_window.display_use_item(@subject, item) @subject.use_item(item) if $imported["YEA-LunaticObjects"] lunatic_object_effect:)before, item, @subject, @subject) end refresh_status targets = @subject.current_action.make_targets.compact show_action_sequences(targets, item, @subject) end
    Your method misses the last argument called '@subject'.

    It's also at line 6000+ in my version, so I assume you use an outdated version, or don't you?
     
  10. Altimos

    Altimos Villager Member

    Messages:
    17
    Likes Received:
    4
    Location:
    USA
    First Language:
    English
    Your method misses the last argument called '@subject'.

    It's also at line 6000+ in my version, so I assume you use an outdated version, or don't you?
    I'm currently using Version: 1.3c

    With no base fix... I'll have to look that up.

    It would suck if I update to a newer version, I'll have to redo all the additions I did to Config 2... that'll be rough.

    Thanks,

    Altimos
     
  11. DoubleX

    DoubleX Just a nameless weakling Veteran

    Messages:
    1,462
    Likes Received:
    543
    First Language:
    Chinese
    Primarily Uses:
    N/A
    Found some more places where I can't understand:

    # -------------------------------------------------------------------------- # Alias method : bitmap= # -------------------------------------------------------------------------- alias tsbs_bitmap= bitmap= def bitmap=(bmp) self.tsbs_bitmap = bmp @used_bitmap.push(bmp) @used_bitmap.uniq! return unless @battler && @battler.data_battler.use_sprite && bitmap wr = bitmap.width / self.class::MaxCol hr = bitmap.height / self.class::MaxRow yr = 0 xr = 0 src_rect.set(xr,yr,wr,hr) src_rect.y = (@anim_cell / MaxCol) * height src_rect.x = (@anim_cell % MaxCol) * width self.mirror = @battler.battler_flip end
    I don't know how that original bitmap= works, but it seems to me that the old bitmap will be no longer referenced as thus "garbage collected". If that's the case, then those bitmaps that are supposed to be gone will remain there instead, as they'll be referenced by @used_bitmap, which will only dispose all its stored bitmaps at the end of a battle.

    As I've checked that @used_bitmap is only used to store all used bitmaps and disposes them all at the end of a battle, I think it can be safely removed, if I do get how the original bitmap= works.

    I suspect @used_bitmap.push(bmp) can lead to undisposed bitmaps, and @used_bitmap.uniq! can lead to memory leak, but I'm not sure on this one.
     
  12. Punisher699

    Punisher699 Veteran Veteran

    Messages:
    84
    Likes Received:
    17
    Location:
    Quebec Canada
    First Language:
    French
    Hey guys ! 

    I have a question about an attack sequence . I want to create a monster attack by moving to the target but sliding left to right during its movement. (diagonal/isometric battle)

    Do you have any ideas ? If you don't understand I can put a link for a video

    I tried this but it doesn't work

      [:move_to_target, -50, -30, 100, 0],

      [:slide, -30, 0, 25, 0],

      [:slide, 60, 0, 25, 0],

      [:slide, -60, 0, 25, 0],

      [:slide, 60, 0, 25, 0],  

    Second question :

    I want to make an idle sequence for the same enemy , I want him just to jump up . that's it . It works but it's buggy and I don't know why. This is like I can't put slide without putting 

    something else .

     

      [:pose, 1, 0, 10],

      [:slide, 0, 0, 55, 3],

      [:pose, 1, 1, 40],

      [:pose, 1, 0, 15],

      ],

    thx !  [​IMG]
     
  13. Krad1213

    Krad1213 Laughin-Prince Veteran

    Messages:
    51
    Likes Received:
    22
    Location:
    California
    First Language:
    English
    Primarily Uses:
    RMMV
    I'm completely new to rpgmaker and would like some help getting this to work with my own characters ;-; or even adding it to my own game ;n;

    HELP ;n;
     
  14. KeyToTruth12

    KeyToTruth12 Grammar Nazi Veteran

    Messages:
    124
    Likes Received:
    7
    Location:
    http://forums.pcsx2.net/User-KeyToTruth12
    First Language:
    English
    Er, you better learn the basics before jumping to scripts.
     
  15. Chelsea95

    Chelsea95 Warper Member

    Messages:
    3
    Likes Received:
    0
    First Language:
    English
    Hio all, I'm trying to implement this into my own game (because its AMAZING) however I'm trying to run it along a few other Yanfly Scripts, when I try to do a battle test I get a weird error saying     "Stack Level too Deep"

    Even just creating a whole new project and then copy/pasting the scripts directly from the sample game gives the same error. I would love to have a battle system like this in my project, if anyone has any ideas or solutions I'd love to hear it.

    error 1.PNG

    error 2.PNG
     
  16. Kyonko802

    Kyonko802 Villager Member

    Messages:
    27
    Likes Received:
    10
    First Language:
    English
    Okay, having a bit of a problem here. I thought I had everything good to go and figured out. I know how to set up the animations and everything looks stellar, except for one, tiny, itty bitty little thing. I can't get the built in damage counter to show up on anything aside from the normal attack no matter what I do. I assumed :target_damage was what did that, but now I'm not so sure. How do I get the damage counter to show on the screen? The damage is obviously happening, since the orc dies, but Theolized isn't showing it.

    EDIT: DISREGARD I'M A DUMMY! The script is searching the second slot for Guard, and I didn't have Guard implemented yet, so when it found the attack and did it there was no damage drawn for the counter.

    1.png

    2.png

    3.png

    4.png
     
    Last edited by a moderator: Nov 19, 2015
  17. Dragon Brother

    Dragon Brother Survive, Adapt, Infest. Veteran

    Messages:
    100
    Likes Received:
    127
    Location:
    BG-386.
    First Language:
    English
    Primarily Uses:
    RMVXA
    A splendid system to be sure, reminiscent to FF series, well done.
     
  18. LeeOccleshaw

    LeeOccleshaw Stone Dragon Workshop Veteran

    Messages:
    155
    Likes Received:
    82
    Location:
    UK
    First Language:
    English
    Seems like a solid battle system - just checking it out now!
     
    Last edited by a moderator: Jan 10, 2016
  19. Jaymonius

    Jaymonius Veteran Veteran

    Messages:
    232
    Likes Received:
    74
    Location:
    Calgary Alberta
    First Language:
    English
    Hoo boy, looks like I'm back with a new question in mind. I'm trying to do a ranged attack from an enemy to an ally, but it is not working. 

    "Behemoth_Charge" => [  #[Loop, afterimage, flip]  [false, false],  [:camera, 1, [0, -10], 55, 2.00],  [:cast, 230],  [:pose,     1,   1,   50],  [:camera, 2, [0, 0], 55, 2.00],  [:pose,     1,   7,   20],  [:cast, 345],  [:slide, 70, 0, 15, 0],  [:pose,     1,   6,   15],  [:pose,     1,   7,   1],  [:if, "target_range < 0",    [    [:action, "Target Damage"],    [:target_slide, 20, 0, 40, 4],    ],  ],  [:pose,     1,   7,   50],  [:goto_oripost, 30, 3],  [:pose,     1,   6,   30],  ],
    It's mostly on the IF command there, I'm a little confused on how to make it register hitting say a front row of characters but not the back row.
     
  20. XeMage

    XeMage Warper Member

    Messages:
    1
    Likes Received:
    0
    First Language:
    English
    I was wondering how you got your sprites to be battlers? It may seem like a novice question but my folder is empty for battlers and new ones dont appear when i create a new character.
     

Share This Page