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.

GTBS v1.5.1.4 - A FFT Styled Battle System (5/19/2010)

Hi guys! Love your battle system btw GubiD.

But I have a couple of issues with it, it might just be me being picky.

1. Do you know how it gives the "congratulations, battle complete" message when you win the battle, and then runs the specified common event if you win? I want to know how I oculd possibly remove this, because I don't quite understand that character it gives at the end. Is that the amount of money you gain or something? If you need me to clarify anything, just let me know, and I did try to find that portion of the script btw, I was unsuccessful.

2. Can you tell me how to setup a successful battle event or map event so that I might set up treasure chests on the battlefield? I went to the help script but it wasn't clear enough for me (I know I'm a dumbass). I understand how to set up a battle_event, but for some reason it does not appear when my battle starts. Do I have to configure something in the module? And I have no clue how to set up a map_event, as again, it does not show up on my battlefield. (Extras show up, so no worries there).

Sorry for the long post, but again, if you could help me out, I'd greatly appreciate it. Thank you in advance. :smile:
 
Well, i can help you out with #1.

In the demo, the currency that he uses is that o character thing, you can go to the database(where you change the stats and stuff, and then go to the system tab and where you see "Gold (currency)" change it. and yes it is telling you the money you earn. The result phase is dealt in Scene_Battle_Tbs Around line 3898, try messing with that, i tried getting rid of pieces, but got errors.

Also around 4127 and 4147, you can edit the text to say nothing
 
Thank you digidog09! I'll try that right now...and I was so stupid for not looking in the database...

And I wasn't expecting such a quick response.

However, the event problem still remain and I can't seem to figure it out. The problem is probably riht under my nose though... :psy:
 
Well hey there GubiD and all that know what they are doing with this script.
I have a (maybe) small question.
In a map that my friend is demanding I make for this, after every 2 or 3 turns a section of the ground falls into nothing.
I want to know how one would have it so that a player standing on those tiles that fall to nothing, die.
I tried this and failed epically.
So could someone help me with?
Thank you and please.

~~Hungery12~~
 
If there was a way that you , or a certain character lost hp when landing on a event, you could do this very easly, i think, but then, i think every tile would need it's own switch. what do you think GubiD?
 
Rifri98a, yes the system is still being built to use both default and tbs systems. So you can switch as you please.
ragnaroa, #2.. Are you sure you are using 1.4?  In 1.3 the sprite didnt get created for battle events, but were used.  In 1.4 they should be showing.  You can confirm that I am getting the battle_event by looking at line 328 in Scene_Battle_TBS and make sure that this line exist.. nearby under event.name.include?("battle_event")
Code:
sprite = Sprite_Character.new(@spriteset.viewport1,event)
Otherwise, please upgrade to 1.4, or recopy the scripts from the demo(you dont need to recopy your settings in the scripts, but just the main scripts.  (as in only the scene_battle and stuff, but nothing under settings)

Thanks DB!

hungery12, Thats a good idea and sounds cool.  Well, you can do it manually or create a method to kill them.  I would recommend a method, because it will ensure no funny bugs.  This should work for you..  (keep in mind I havent tested this, but that it should work to remove the battler, based on x,y coords)
Code:
actor = $scene.occupied_by?(x,y)
if actor != nil
  if actor.is_a?(Game_Enemy)
    $scene.remove_battler("enemy",actor.id)
  else
    $scene.remove_battler("actor", actor.id)
  end
end
You must use this in a call script.  If that doesnt all fit in a script box, then ... do this instead...
Code:
class Interpreter
  def kill_battler_xy(x,y)
    actor = $scene.occupied_by?(x,y)
    if actor != nil
      if actor.is_a?(Game_Enemy)
        $scene.remove_battler("enemy",actor.id)
      else
        $scene.remove_battler("actor", actor.id)
      end
    end
  end
end
Then via event call script, just type "kill_battler_xy(X,Y)" where X,Y are the coords.  If you want to use a variable or something, you can do that also, just do $game_variables[ID_FOR_X], $game_variables[ID_FOR_Y].  Forgot to mention, that you will have to add the remove_battler script that i gave to probpe a couple post/pages back.

Anyway, hope that works, I dont have the time to test it now. 

Thanks everyone again for supporting me with this system.  I almost have the demo together for VX, just need to finish fixing a couple stupid little bugs.  I guess I should also do an iso map... meh, maybe not.  Well, later!


btw.. digidog09 - lol, I laughed for like 10 minutes after seeing your avatar.  Very nice indeed :D

Edit... yeah, that would work to, but the other method would probably be faster and less of a hassle. 
 
is there a way where a character walk and then after a random amount of steps, a battle will start exactly where you land and "place events" will automatically go behind you. Does seem kind of complex., or maybe after a random amout of step, you are teleported to a "fight map" and then when you are done, back to EXACTLY where you were when the battle engaged?

And how is the Party switcher thing going?
 
hungery12
Code:
class Scene_Battle_TBS
  def remove_battler(id, anim = 0, type = "enemy")
    case type
    when "enemy"
      actor = nil
      for e in $game_system.tactics_enemies
        if e.id == id
          actor = e
          break
        end
      end
      if actor != nil
        if anim != 0
          actor.animation_id = anim
          wait_count = $data_animations[anim].frame_max rescue wait_count = 1
          loop do
            @spriteset.update
            $game_screen.update
            actor.update
            wait_count -= 1
            break if wait_count == 0
          end
        end
        $game_system.tactics_enemies.delete(actor)
        for sprite in @spriteset.battler_sprites
          if sprite.bat == actor
            sprite.dispose
            @spriteset.battler_sprites.delete(sprite)
          end
        end
      end
      
    when "neutrual"
      actor = nil
      for e in $game_system.tactics_neutral
        if e.id == id
          actor = e
          break
        end
      end
      if actor != nil
        if anim != 0
          actor.animation_id = anim
          wait_count = $data_animations[anim].frame_max rescue wait_count = 1
          loop do
            @spriteset.update
            $game_screen.update
            actor.update
            wait_count -= 1
            break if wait_count == 0
          end
        end
        $game_system.tactics_enemies.delete(actor)
        for sprite in @spriteset.battler_sprites
          if sprite.bat == actor
            sprite.dispose
            @spriteset.battler_sprites.delete(sprite)
          end
        end
      end
    when "actor"
      actor = nil
      for e in $game_system.tactics_actors
        if e.id == id
          actor = e
          break
        end
      end
      if actor != nil
        if anim != 0
          actor.animation_id = anim
          wait_count = $data_animations[anim].frame_max rescue wait_count = 1
          loop do
            @spriteset.update
            $game_screen.update
            actor.update
            wait_count -= 1
            break if wait_count == 0
          end
        end
        $game_system.tactics_enemies.delete(actor)
        for sprite in @spriteset.battler_sprites
          if sprite.bat == actor
            sprite.dispose
            @spriteset.battler_sprites.delete(sprite)
          end
        end
      end
    end
  end
end

class Interpreter
  def kill_battler_at_xy(x,y)
    actor = $scene.occupied_by(x,y)
    if actor != nil
      if actor.is_a?(Game_Enemy)
        $scene.remove_battler(actor.id)
      else
        $scene.remove_battler(actor.id, 0, "actor")
      end
    end
  end
end
That should handle it for you.

Thats a little more complex.  I would need to read each event for something to find out where it is to ensure proper placement.    Party Changer?  You mean the 'GTMenu'? I havent made any progress since we last talked.  I have been working on gtbs and a side project for someone else.
 
LOL sry Gubid, I didn't try out 1.4...

Now that I did, I gotta say I luv u more!!! (I'm not gay) :lol:

I'm really liking that option where you can disable the gtbs and enable the dbs!
(And btw, #2 solved)
 

gannon

Member

:psy: Going back to probes battle royal question, could you make it so it is 2 player pvp? That would be a cool feature, play with a friend. Might be way too much work but it would be cool if you could.
 
Code:
NoMethodError occurred while running script.

undefined method 'kill_battle_xy' for#<Interpreter:0x5572f30>

well GubiD, this is the new crazy error I'm getting.
I don't have the map made quite yet, I'm just testing this mess, so I know I can do it.
 
hungery12.. that should be "kill_battler_at_xy" not kill_battle_xy.  That should resolve it.

DB - demo!  sorry, just dont have the time to go out and find the problems, I need them reported with a method to duplicate quickly, otherwise it will take me ages to get to it. 

Gannon - it has been requested before.  I am sure i will get it there eventually, but the only method I would use would be same computer type, and not over network.

Raganora - Glad it works. 

Update for VX... the demo is basically complete, just need to do a couple bug bashes on it.  Anyone want to beta it for me?
 
I can do it!
Aslong as there isn't to much graphic like moving fog, my computer is a bit... burned out. (Don't push it past it's specifications if you understand what I mean)

I got a personal reason to see this done since I want to use it so you can bet I will try anything I can come up with.
 

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