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.

Sideview Battle System Tankentai XP - Version 2.2xp

Status
Not open for further replies.

Atoa

Member

"This happens every time a battle ends"
"I also have a script that edits the way the Battle Result is shown"

It's called incompatibility...

Get rid of the battle result edit and you will have everything working fine.
 

BaouX

Member

Hello I'm new to this forum and I've just downloaded the demo.

Great job with script!

By far, I've tested many things and I found a bug.

When you're going to use an item, you can see the description of it in the upper window:
item_1.png

But when you're going to use an item again, the description is no longer showed and the window is blank:
item_2.png

why does this happen?
 
This is a great script, dude, everything works perfect, but when I use the Actor Advanced Status script all weapons like guns and throwing weapons (kunai,shuriken) act like melee weapons and the actors just hit the enemies, they dont throw nor shoot, do I have to change something in the script?
 

Seda

Member

Alright so this is gonna sound a little odd, but I'm not understanding how the scripts know how to handle skills. For example, I tried to create my own version "Rapid Attack" skill, but I can't seem to find anything that makes the skill do its rapid attacks. There are no "Elements" or "Statuses" to check. I searched though the scripts, and couldn't find anything uses the skill ID 86 (that was the skill number in the list). What the heck is it that is triggering these skills act so unique over others?
 
Ok, I'm currently using your sideview battle script, along with the ATB add-on, and I must say it's very well done.

However, I am attempting to use another script, Blizzard's level-up notification screen, as well. However, something in the ATB script is causing the battle-end sequence to go twice as fast as normal. Every time I press enter, it seems as though I pressed it twice. It's hard to explain with words, so here are some videos to help explain better:

Without the ATB system (notice how each window and dialogue box appears one at a time):
View My Video

With the ATB system (watch how the level up windows show up two at a time):
View My Video

I'm not sure what's causing this, but it seems to be in the ATB script since when I remove that add-on the glitch stops (as you can see in the videos). I'd like to be able to use both your script and his, as they're both incredibly well done, but I'm wondering if you might be able to tell me what is causing this so I can fix it.

I'll put the level-up notice script here as well, since it might help identify where the issue is:

Code:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

# Easy LvlUp Notifier by Blizzard

# Version: 2.0

# Type: Battle Report Display

# Date: 27.8.2006

# Date v1.2b: 3.11.2006

# Date v1.3b: 11.3.2007

# Date v1.4b: 22.8.2007

# Date v2.0: 25.9.2007

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#   

#  This work is protected by the following license:

# #----------------------------------------------------------------------------

# #  

# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported

# #  ( [url=http://creativecommons.org/licenses/by-nc-sa/3.0/]http://creativecommons.org/licenses/by-nc-sa/3.0/[/url] )

# #  

# #  You are free:

# #  

# #  to Share - to copy, distribute and transmit the work

# #  to Remix - to adapt the work

# #  

# #  Under the following conditions:

# #  

# #  Attribution. You must attribute the work in the manner specified by the

# #  author or licensor (but not in any way that suggests that they endorse you

# #  or your use of the work).

# #  

# #  Noncommercial. You may not use this work for commercial purposes.

# #  

# #  Share alike. If you alter, transform, or build upon this work, you may

# #  distribute the resulting work only under the same or similar license to

# #  this one.

# #  

# #  - For any reuse or distribution, you must make clear to others the license

# #    terms of this work. The best way to do this is with a link to this web

# #    page.

# #  

# #  - Any of the above conditions can be waived if you get permission from the

# #    copyright holder.

# #  

# #  - Nothing in this license impairs or restricts the author's moral rights.

# #  

# #----------------------------------------------------------------------------

# 

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

# 

# Compatibility:

# 

#   98% compatible with SDK v1.x. 80% compatible with SDK 2.x. WILL corrupt old

#   savegames. May cause slight problems with following systems and would need

#   therefore slight recalibration:

#   - exotic CBS-es

#   - exotic skill systems

#   - exotic stat systems (additional stats like Wisdom, Luck etc.)

# 

# 

# Features:

# 

#   - shows increased stats and learned skills at level up

#   - animated

#   - shows EXP gain for each actor (!) only after gaining EXP after a battle

#   - more simple and less laggy than other Level Up Notifiers

#   - you can set up any sound to be played when a higher level is reached or a

#     new skill is learned (LVLUP_SE and LEARN_SE further below)

# 

# new in v1.2b:

#   - better window movement

#   - higher compatibility

#   - fixed a few "eventual" bugs

# 

# new in v1.3b:

#   - fully compatible with Tons of Add-ons

# 

# new in v1.4b:

#   - improved coding

#   - rewritten conditions using classic syntax to avoid RGSS conditioning bug

# 

# new in v2.0:

#   - completely overworked and improved

#   - now MUCH more simple than other Level Up Notifiers

#   - halved the number of lines of code

#   - much more compatible: can show increase of any stats after the battle in

#     combination with any script, just put this script below those attribute

#     modifying scripts

# 

# 

# Instructions:

# 

# - Explanation:

# 

#   This script will notify you when any character is leveled up after a

#   battle. It will show any stats that were increased and any skills that were

#   learned. The windows are animated, the code is less complex than any other

#   so far and it is most efficient as well as highly optimized and detailed

#   worked out.

# 

# - Configuration:

#   

#   There are a few options you can set up below.

#   

#   LVLUP_SE            - sound effect played when a new level was reached

#   LEARN_SE            - sound effect played when a new skill was learned,

#                         keep in mind that the script takes into account that

#                         skills can only be learned after a level up

#   WINDOW_BACK_OPACITY - set this value to the window's back opacity (0-255)

#   NO_EXP_DISPLAY      - set this value to true if you want to disable the EXP

#                         gaining display in the level up windows

#   OLD_EXP_DISPLAY     - set this value to true if you want to display the EXP

#                         in the normal result window again

# 

# 

# If you find any bugs, please report them here:

# [url=http://forum.chaos-project.com]http://forum.chaos-project.com[/url]

#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

 

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

# START Configuration

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 

#          RPG::AudioFile.new('FILENAME', VOLUME, PITCH)

LVLUP_SE = RPG::AudioFile.new('106-Heal02', 70, 100)

LEARN_SE = RPG::AudioFile.new('155-Support13', 100, 100)

WINDOW_BACK_OPACITY = 150

NO_EXP_DISPLAY = true

OLD_EXP_DISPLAY = true

 

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

# END Configuration

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

 

$easy_lvlup_notifier = true

 

#============================================================================== 

# Game_Actor 

#============================================================================== 

 

class Game_Actor < Game_Battler 

  

  def all_exp

    return @exp

  end 

  

  def all_exp=(exp)

    @exp = exp

  end 

 

end

 

#==============================================================================

# Window_BattleResult

#==============================================================================

 

class Window_BattleResult < Window_Base

  

  alias easy_lvlup_notfier_refresh refresh

  def refresh

    if $tons_version != nil && $tons_version >= 4.02 &&

        $game_system.WINDOW_BATTLERESULT || OLD_EXP_DISPLAY

      easy_lvlup_notfier_refresh

    else

      self.contents.clear

      x = 4

      self.contents.font.color = system_color

      cx = contents.text_size('Gained').width

      self.contents.draw_text(x, 0, cx+4, 32, 'Gained')

      x += cx + 4

      self.contents.font.color = normal_color

      cx = contents.text_size(@gold.to_s).width

      self.contents.draw_text(x, 0, cx+4, 32, @gold.to_s)

      x += cx + 4

      self.contents.font.color = system_color

      self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)

      (0...@treasures.size).each {|i| draw_item_name(@treasures[i], 4, (i+1)*32)}

    end

  end

  

end

 

#==============================================================================

# Window_LevelUp

#==============================================================================

 

class Window_LevelUp < Window_Base

  

  attr_reader :limit

  

  def initialize(a, d)

    if $tons_version != nil && $tons_version >= 4.98 &&

        $game_system.CENTER_BATTLER

      x = case $game_party.actors.size

      when 1 then 240

      when 2 then a.index * 320 + 80

      when 3 then a.index * 160 + 80

      when 4 then a.index * 160

      end

    else

      x = a.index * 160

    end

    text = []

    text.push(['Level:', d[0], a.level]) if d[0] != a.level

    text.push(['HP'[0, 3], d[1], a.maxhp]) if d[1] != a.maxhp

    text.push(['SP'[0, 3], d[2], a.maxsp]) if d[2] != a.maxsp

    text.push([$data_system.words.str[0, 3], d[3], a.str]) if d[3] != a.str

    text.push([$data_system.words.dex[0, 3], d[4], a.dex]) if d[4] != a.dex

    text.push([$data_system.words.agi[0, 3], d[5], a.agi]) if d[5] != a.agi

    text.push([$data_system.words.int[0, 3], d[6], a.int]) if d[6] != a.int

    h = text.size * 24 + (NO_EXP_DISPLAY ? 32 : 56)

    @limit, y = 320 - h, 480 - h + (h/64+1)*64

    super(x, y, 160, h)

    self.z = 10000

    self.z, self.back_opacity = 255, WINDOW_BACK_OPACITY

    self.contents = Bitmap.new(self.width - 32, self.height - 32)

    if $fontface != nil

      self.contents.font.name = $fontface

    elsif $defaultfonttype != nil

      self.contents.font.name = $defaultfonttype

    end

    self.contents.font.size, self.contents.font.bold = 20, true

    unless NO_EXP_DISPLAY

      self.contents.font.color = normal_color

      self.contents.draw_text(0, 0, 128, 24, "#{a.exp - d[7]} EXP", 1)

    end

    text.each_index {|i|

        index = NO_EXP_DISPLAY ? i : i + 1

        self.contents.font.color = system_color

        self.contents.draw_text(0, index*24, 128, 24, text[i][0])

        self.contents.draw_text(80, index*24, 32, 24, '»')

        self.contents.font.color = normal_color

        self.contents.draw_text(0, index*24, 76, 24, text[i][1].to_s, 2)

        if text[i][1] > text[i][2]

          self.contents.font.color = Color.new(255, 64, 0)

        else

          self.contents.font.color = Color.new(0, 150, 0)

        end

        self.contents.draw_text(0, index*24, 128, 24, text[i][2].to_s, 2)}

  end

  

end

 

#============================================================================== 

# Scene_Battle

#============================================================================== 

 

class Scene_Battle

  

  alias main_lvlup_later main

  def main

    @lvlup_data = {}

    @moving_windows, @pending_windows = [], []

    (1...$data_actors.size).each {|i|

        actor = $game_actors[i]

        @lvlup_data[actor] = [actor.level, actor.maxhp, actor.maxsp, actor.str,

            actor.dex, actor.agi, actor.int, actor.exp, actor.skills.clone]}

    main_lvlup_later

    (@moving_windows + @pending_windows).each {|win| win.dispose if win != nil}

  end

  

  alias start_phase5_lvlup_later start_phase5

  def start_phase5

    start_phase5_lvlup_later

    @skill_texts = []

    $game_party.actors.each {|actor|

        actor.remove_states_battle

        if @lvlup_data[actor][0, 7] != [actor.level, actor.maxhp, actor.maxsp,

            actor.str, actor.dex, actor.agi, actor.int]

          @pending_windows.push(Window_LevelUp.new(actor, @lvlup_data[actor]))

          @skill_texts.push('')

          new_skills = actor.skills - @lvlup_data[actor][8]

          if new_skills.size > 0

            new_skills.each {|id|

                @skill_texts.push("#{actor.name} learned #{$data_skills[id].name}!")}

          end

        elsif @lvlup_data[actor][7] != actor.exp && !NO_EXP_DISPLAY

          @moving_windows.push(Window_LevelUp.new(actor, @lvlup_data[actor]))

        end}

  end

  

  def update_phase5

    if @phase5_wait_count > 0

      @phase5_wait_count -= 1

      if @phase5_wait_count == 0

        @result_window.visible, $game_temp.battle_main_phase = true, false

        @status_window.refresh

      end

      return

    end

    @moving_windows.each {|win|

        win.y -= [((win.y - win.limit) / 2.0).ceil, 64].min if win.y > win.limit}

    if Input.trigger?(Input::C)

      @result_window.visible = false

      if @skill_texts.size > 0

        text = @skill_texts.shift

        if text == ''

          $game_system.se_play(LVLUP_SE)

          @moving_windows.push(@pending_windows.shift)

          @help_window.visible = false

        else

          $game_system.se_play(LEARN_SE)

          @help_window.set_text(text, 1)

        end

      else

        battle_end(0)

      end

    end

  end

  

end

 

Thank you for helping. :smile:
 
I have an issue with the Advanced Actor Status Add-on:

This is the code:
scriperror1.jpg

I equip the items:
scriperror2.jpg

But the skills do not appear. They are not in battle either.
scriperror3.jpg

I double-checked the ID's and they are all correct. What do you think is the problem is?
 

Atoa

Member

In version 2.3 (wich i don't have any idea when i will relase) i will remove the Actors Advanced Status add on (wich has been really a pain) and replace it with independet add-ons with his features, this will fix most of the bugs on it.

@blademan0186
The blizard level up notifies is incompatible with the SBS, so ask for someone else to try compatibilize it. I'm no loger adding new features to this script, only bug fixes.
 
I must say that you did a brilliant job on this. :)

One thing that bugs me, though, is the shadow on enemies. With the very large bosses in the demo, the shadow is not at the enemy's feet but floating behind it in the center. With the ghosts, the shadow is stretched vertically, making it look very unnatural and out of perspective. Is there a way to fix this?

Also, something not related to bugs, is it possible to have a particle/projectile come out of the target and return to the user? E.g. with 'Absorb' a green orb could come out of the target and drift into the spell-caster. In fact, is it possible to have projectiles at all? Like a fireball launched at the target. You have arrows and throwing weapons, so I figure it might be possible already?

And then I have a question: is it possible to make battle formations? E.g. 'Front' characters actually stand more to the front than the others. And (on another topic) maybe even slight random enemy placement.

I look forward to your reply. :)
 

Atoa

Member

@TickTock
If you search on the Config, theres a method to adjust Battlers Shadow Postions.

And yes you can have such animations but you would need make an deep study on the animation system.

And also you can set custom battler postions.
 
Thank you for the reply. :)

I've been studying the script and I found a few 'issues'. I hope there aren't too many. ^^

1) I've been checking out the EXTRA demo for RMVX by Mr. Bubble, as you recommended on the first page of this topic, and found a few interesting add-ons. In particular Bub's TK Slam Add-on. I can't figure out why this is an add-on? It seems to me like you could just make that skill in the SBS Configurations? The same goes for Bub's Harp Add-on. I don't see why it needs to be a seperate add-on. [EDIT] Since it's an add-on simply for easier editing, can I copy & paste it into the XP version without having to edit anything?

2) Is it already possible to make an MP Charge skill in the current XP version of the script, or do I need to wait for someone to make AlphaWhelp's add-ons compatible with the XP version? Aside from MP REGEN.

3) Float looks very off. Characters 'teleport' down to the ground when hit, performing skills, etc. instead of remaining on the floating height level. But I reckon you already know about this and it can't be easily fixed?

4) I can't get "OBJ_ANIM_WEAPON" or any damage-dealing anime to be performed without the target getting bumped back by "DAMAGE". How do I fix this / make an "anime" that doesn't bump the target back?

5) I can't figure out why the Ghosts' shadow is so vertically stretched?

6) After an attack (even normal attacks), when the hero battler returns to its position (either by COORD_RESET or FLEE_RESET), the y-position of the battler goes down a little before he returns. It 'teleports' (for lack of a better word) down, it doesn't 'move' down. I'm using your demo, and have not touched the 2nd and 3rd actors, yet they display this glitch as well. The VX version doesn't have this problem.
 

cairn

Member

Tick, some things are made as add-ons for the purpose of easier editing, debugging and fixing. It would be a pain to find said animation in thousands and thousands of lines and commands.

Edit: I'm making a video to show the potential of this script. Obviously I'm not going to show everything I know I can do, otherwise my game would lose its originality ;). Probably tomorrow i'll be posting it here and on youtube.
 
Uhuh, and I agree. I would prefer making new battle sequences, etc. as an add-on, too. But since the add-on is in VX and not in XP, I don't know if I can simply move it to the XP version without having to edit anything? With the modules and everything.

Looking forward to your video, btw!
 
That SBS is really AMAZING.
I'm using it for a few days now but there is a problem I cannot get to solve concerning gun/throw actions add-on :
My characters will only use a gun in range mode or throw the weapon (not the skill throw_weapon) if the first weapon I give them in the hero database is a gun/throw weapon :sad: if not they will attack with it the normal way :/
And btw if I give them a gun/throw weapon in the hero database they will attack from distance with every weapon (even melee weapon...)
If someone can help me with that I'll give him all my internet points :thumb: No seriously I really need help :/

PS : sorry for my english or if I'm not very clear I'm not english :sad:
PS 2 : I don't know if I need to say it but I'm using RMXP
 

Atoa

Member

@TickTock
1-
You can use the VX skills add-ons, some use special graphics and/or SE so just make sure to have them on you project (or change them on the script)
Some may need slight edits due to VX charset heights.

2-
To make "mp heal" skills just add the "SPDAMAGE" effect to healing skills.

3-
It's an glitch from the original script. the float effect just changes the the idle animation.

4-
The only way i can think of doing this is adding 2 animations, one normal animation, an wait time, then an "dummy" animation (just some empty frames) then the damge. I didn't test it to see if that works.

5-
Ghots are using and different shadow graphic file.

6-
I didn't notice this.

@ZaWorudo
The animation is based on the weapon they're currently equiped, it's not set by characters.
 
Yes I know that but the gun animation is only showing when the character is equiped with a gun from the beginning :/
If i I give him a melee weapon (or no weapon) in the database, he will always fight in melee and vice versa :sad:
 

Rikki

Member

I get this message, only sometimes, when I try to escape from battle.

whenescaping.jpg


I'm not sure why it happens on some battles and not others, but it does. When I tried changing the battler graphic for one of the battles it gave this error for, I was able to run from that one. (It would give this error when I tried to run from 1x 046-Grappler, and 2x 046-Grappler, and when I changed the 046-Grappler to 089-Monster03, I could run from those battles.)

It's doing this for quite a few of my troops. I have this white wolf character set that I'm using as a battler too, and when I have 2 of them in a battle I can run from it, but when there is just 1, I get the error.

These are my scripts. I'm using a cutscene script, an AMS script and a text scroll script, but I don't see any of them causing this (but I could be wrong)
scripts.jpg

Again, it's only some of the troops that cause this when I try to run from them (and I only started running from them all because it happened once).

Edit: For one of the battles I have 2 052-Undead02. If I run immediately I get the error, but if I kill one then try to run I can (if that helps any).

Edit2: I have about 9 Troops per map. Some maps I can run from all troops, others I can only run from 1 or 2.
 
Thanks. :)

4) Hmm, I don't quite understand yet. Dealing damage by doing an "anime" that gives an empty animation would still knock the target back? Actually, on that note, is it even possible to make an animation without dealing damage and thus knocking the target back?

7) About the Victory sequence. This is currently the script:

Code:
  "VICTORY"            => ["WAIT(FIXED)","16","RIGHT(FIXED)","VICTORY_JUMP",

                          "WAIT(FIXED)","Don't Wait","CAT_STATE",

                          "START_MAGIC_ANIM","TRANSFORM_CANCEL","WAIT(FIXED)","Don't Wait"],

How would I have to edit it, if I have multiple possible transform states? 'Cause with this code, it stops at CAT_STATE if no one is currently a Cat. So if after the CAT_STATE I repeat the same but for, say, DRAGON_STATE, it would never even check for that if no one is a Cat. I hope you know what I mean.

And actually, that brings me to a second problem with this. TRANSFORM_CANCEL is set to a certain sprite (040-Mage08 in the demo). But what if somewhere in the game, the actor permanently changes appearance. After performing TRANSFORM_CANCEL, the actor would change into the wrong (old) appearance until the battle is over. This would be fixed if there's a way to set TRANSFORM_CANCEL not to a specific sprite, but to the actor's Database-assigned sprite (which is the up-to-date one). However, I don't see how I can do this.
 

Atoa

Member

@ZaWorudo
Are you using the "Advanced Weapons"?
You should take a look at the other posts.
It's was already said that the weapons animations aren't working properly with the advanced weapons add-on.

@Rikki
I will check it later

@TickTok
4 -
The "knock back" is caused by the damage pop up. The way i explained it's (teorically) delays the damage pop so it's only shows at the end of the animation. You can remove the "knock back" just by making it equal de idle anim, but this will remove all "knoc back" anim.

7 -
This is an fairule of the original code, to add the same "transform" skill for different characters you actually would need to make different skills for each.
I particullary think the transfor system of the tankentai it self sux.
 
Status
Not open for further replies.

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