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)

This TBS is brilliant. It will defiantly help in the creation of Final Fantasy Tactics - The Magitek Wars. I am still having a bit of trouble on adding ranged abilities. If any one could help that would be nice. I'm kinda a newbie at scripting.

Also I have a suggestion make so you can have more than four party members. If even possible.

Anyway this is the best TBS I have ever seen. Keep up the good work. ;)   
 
SuperXero,
Why yes I have played FFT and it is one of the best games ever! Anyways, yes you can but not completely yet.  Currently you can give a player an item that will set an auto state for walk on watter, or flying, but that is it right now.  I implemented a teleport system into the next update, but as far as +1 move or whatever, I havent done those yet.  I am sure that they will be soon coming.

BlackShadow, to add a ranged skill. 
1. define the skill in the database
2. open the script editor to module_GTBS
3. find def skill_range(id) and add a WHEN statement for the id defined in the skill database.
4. Then do it just like all the others... first cell is overall skill range, while 2nd is field.

if you arent sure what to set or whatever, look up and there are some quick instructions.
As for the party members thing... you are welcome to add as many as you want.  This TBS will support how ever many you can throw at it! You simply need to set the limit.  If you want to up the limit, goto Game_Party in the script editor and find add_actor and change the max value to whatever you want or use a large party script.

Thanks for taking a look!  Good luck on your projects.
 
It was made that way to use each position without having to jump to an alternate sprite.  I figured it would probably be a little easier that way.  It could be split up as well, but that was more complex for me to care with bothering.  Yes, we can cut it down to a smaller size, but to do that you need to choose what poses get the ax! 
Just look at Sprite_battler and you will find a line saying bitmap.height / 11 / 4 where 11 is the number of poses and 4 is the directions.  Change that.  Then look down under if @tile_id != 0 for all the when statements.  Remove the poses and update the multiplication accordingly.
 

Kyo651

Member

thanks alot on the info i guess i would just use the original stlye and pose. hmmm i still think its alot of work if u want to add more battler.
 
You can use some of the poses, you dont have to use all of them.  I would obviously recommend using wait, move, attack, pain, heal and death.  The others are extras, but if you want them to strike those poses, they must exist.  That is all I can say.  The big thing that makes this more annoying is that fact that you must do this for all 4 directions.  Anyway, let me know if you have any further questions.
 
Kyo651":2rohwi5j said:
Gubid how come the animation battler sprites sheet its so long? can it be shorter?
Take Gubid's advice, you don't have to animate every frame. I have 3 fully animated characters ripped from Rudra. It's a big sheet, but a lot of the animation is used for different actions so it's mostly copy&paste anyway.
 
Gubid":3mndmb47 said:
SuperXero,
Why yes I have played FFT and it is one of the best games ever! Anyways, yes you can but not completely yet.  Currently you can give a player an item that will set an auto state for walk on watter, or flying, but that is it right now.  I implemented a teleport system into the next update, but as far as +1 move or whatever, I havent done those yet.  I am sure that they will be soon coming.

BlackShadow, to add a ranged skill. 
1. define the skill in the database
2. open the script editor to module_GTBS
3. find def skill_range(id) and add a WHEN statement for the id defined in the skill database.
4. Then do it just like all the others... first cell is overall skill range, while 2nd is field.

if you arent sure what to set or whatever, look up and there are some quick instructions.
As for the party members thing... you are welcome to add as many as you want.  This TBS will support how ever many you can throw at it! You simply need to set the limit.  If you want to up the limit, goto Game_Party in the script editor and find add_actor and change the max value to whatever you want or use a large party script.

Thanks for taking a look!  Good luck on your projects.

Thanks Gubid. This is an excellent script. I'll be sure to always check for updates often.
 
OK, this is a really awesome CBS. Great work! And yeah, I can't wait for the updates, it sounds like it's just gonna get better from here!
 
I would love it if someone could rip me some more battle sprites.  I want to get some new ones for the next demo.

Thanks again guys, I appreciate the comments.
 
I have a tricky problem for you to solve... I'm currently trying to implent an idea where an enemy will die or lose HP if exposed to daylight. The original idea was to lure an enemy in front of a window, then "attack" the curtains to expose him to the light. I have a basic idea for how the curtains will work. For that I could just add an enemy with no move or attack command with like 1HP. After "killing" the curtain I would have to have it so that a switch is triggered to display the daylight through either the same or some other events.

The daylight would have to be an battle_event or extra(to have graphic for the light) wich is triggered on event touch. There is an option in the event menu where you can change an enemy's HP, so it's possible to kill/damage him through that. I can even trigger a function called "enemy transform", where I could make the enemies transform to some weaker enemies. This is where I am stuck: How can I make it so that the playable characters won't trigger the event by stepping upon the switch? And how I can make it so that the specific enemy that steps on the switch takes the damage, if I have more than one enemy.


Edit: Decided to visualize my idea to some extenct;) http://img129.imageshack.us/img129/4392/daylightzk4.th.png[/img]
 
Ok... *dust of keyboard for quick entry* Lets get down to business.

First create a parallel event at where the "sun will shine" this is the tile(s) that will affect the specific enemy.  To cause damage to the specific enemy do this..  script in common event.
Code:
if $game_variables[ID] != $game_temp.battle_turn
  $game_variables[ID] = $game_temp.battle_turn
  enemy = nil
  for en in $game_system.tactics_enemies
    if en.name = "Undead Guy"
      enemy = en
    end
  end
  event = get_character(0)
  if en.x == event.x and en.y == event.y
    en.damage = 10000
    en.damage_pop = true
    en.hp -= 10000
  end
else
  $game_variables[ID] = $game_temp.battle_turn
end

That was fun.  Let me know if it gives you any trouble.

EDIT: This will only work if the guy is on the battle field.  So you might set this inside a conditional branch and have it check $game_temp.in_battle == true else, nothing. 
Also, he will only take the damage if the turn changes and he is standing on that spot, not at the end of his turn. (FYI)
 
Thanks!

I'm having some trouble setting up the script, though. I renamed the enemy to "Undead Guy" and I've set up the scripted event in common events. Am I simply supposed to call common event on the events where I want the sun to shine using on event touch?
 
Actually that was a miss typing on my part. 
You are intended to put all that in a script in the parallel event, in the location in which the sun is shining.  You can change it from undead guy to whatever you would like, I was just using that as an example.

EDIT:
GTBS v1.2 is here.  See the main page for updated thread.  Here are the download links if you dont want to go back to the beginning.
Non-Animated
Animated

Please see the first page for new features in this release.
 
Looks good. What problems are you having with move variable? I will see if I can help. At elast, I can try. Doom skills are very cool.

I really support your decision to use the mouse. It owns.

Really great work,

-Syv

P.S. Still working on edits. :P
 
Ok, I think the problem is becuase you had to split it into 2 scripts instead of 1.  Lets have you copy the code out of those.. move it to a new script line in the script editor and make it look like this...
Code:
class Interpreter
  def get_enemy(id)
    temp = Game_Enemy.new(id, 0)
    name = temp.name
    temp.dispose
    for enemy in $game_system.tactics_enemies
      if enemy.name == name
        return enemy
      end
    end
  end
end

Then do this in your event...

conditional branch ($game_temp.in_battle)
  wait 1
Code:
  if $game_variable[id] != $game_temp.battle_turn
    $game_variable[id] = $game_temp.battle_turn
    en = get_enemy(enemy_id)
    event = get_character(0)
    if en.x == event.x and en.y == event.y
      en.damage = 10000
      en.damage_pop = true
      en.hp -= 10000
    end
  end
Let me know if that doesnt work.
     
 
Thanks for sticking with me here!

I should mention that I haven't coded a single line of code in my entire life. All I have is some experience coding using events in rm2k. I'm not entirely sure how to refer the scripts to one another and where I should insert the names for events and such.

I've added the first script to the script editor. The other event seems unresponsive, though. I tried adding a text event to see if the event was triggered at all, but it doesn't show at all.
 

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