Wispmage 0 Posted October 15, 2020 (edited) Hey everyone. Anyone aware of a script that can implement a visual turn tracker (Hero 1, Monster 1, Hero 2, Monster 3, etc) to the battle screen? From what I understand, VX Ace doesn't compute turns in advance during battles, so this might be a big ask. That said, any help or advice would be much appreciated. Thanks! Edited October 15, 2020 by Wispmage Share this post Link to post Share on other sites
Coolie 148 Posted October 16, 2020 (edited) Spoiler # ╔══════════════════════════════════════════════════════╤═══════╤════════════╗ # ║ Battle Turn Indicator │ v1.00 │ 10/16/2020 ║ # ╠══════════════════════════════════════════════════════╧═══════╧════════════╣ # ║ Author : Coolie ║ # ║ E-Mail : cooliebk18@yahoo.com ║ # ║ Website : http://twitch.tv/CoolieBK18 ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ABOUT ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ This script adds a battle turn indicator in battles. It starts at turn 1 ║ # ║ even though a battle is actually at turn 0 when a battle begins. ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ TERMS OF USE ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ► Do not edit the script's header or comments. ║ # ║ ► Free to use in commercial projects as long as proper credit is given to ║ # ║ ALL the names individually in the above header. ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ FEATURES ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ► Adds a battle turn indicator in battle. ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ KNOWN ISSUES ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ► None so far! ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ CHANGE LOG ║ # ╠═════════════════════════════════════════════════════════════════╤═════════╣ # ║ ■ October 16, 2020 : Initial version │ (v1.00) ║ # ╠═════════════════════════════════════════════════════════════════╧═════════╣ # ║ NEXT VERSION ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ ■ TBA ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ NEW METHODS ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ There is one new class and several new methods added. ║ # ╟───────────────────────────────────────────────────────────────────────────╢ # ║ ■ class Window_TurnCount < Window_Base ║ # ║ ► def initialize ║ # ║ ► def window_width ║ # ║ ► def update ║ # ║ ► def def refresh ║ # ║ ■ class Scene_Battle < Scene_Base ║ # ║ ► def create_all_windows [Alias] ║ # ║ ► def create_turn_count_window ║ # ║ ► def battle_start [Alias] ║ # ║ ► def turn_start [Alias] ║ # ║ ► def turn_end [Alias] ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ INSTRUCTIONS ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ Simply paste this script anywhere above the Main Process script and below ║ # ║ the "Materials" section. ║ # ╠═══════════════════════════════════════════════════════════════════════════╣ # ║ IMPORT SETTING ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ $imported = {} if $imported.nil? # Do not edit $imported["WC-Turn-Indicator-1.00"] = true # Do not edit # ╔═══════════════════════════════════════════════════════════════════════════╗ # ║ NEW CLASS: Window_TurnCount ║ # ╟───────────────────────────────────────────────────────────────────────────╢ # ║ This window displays the turn count in battle ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ class Window_TurnCount < Window_Base # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Object Initialization ║ # ╚═════════════════════════════════════════════════════════════════════════╝ def initialize super(0, 0, window_width, fitting_height(1)) self.opacity = 0 self.back_opacity = 0 self.contents_opacity = 255 refresh end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Get Window Width ║ # ╚═════════════════════════════════════════════════════════════════════════╝ def window_width return 80 end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Frame Update ║ # ╚═════════════════════════════════════════════════════════════════════════╝ def update super end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Refresh ║ # ╚═════════════════════════════════════════════════════════════════════════╝ def refresh contents.clear $turn_counter = 1 + $game_troop.turn_count change_color(system_color) # Change "Turn" to whatever text you want to display in battle draw_text(0, 0, 68, 24, "Turn ", 0) change_color(normal_color) draw_text(36, 0, 68, 24, $turn_counter.to_s, 0) end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ End: Window_TurnCount ║ # ╚═════════════════════════════════════════════════════════════════════════╝ end # ╔═══════════════════════════════════════════════════════════════════════════╗ # ║ Scene_Battle ║ # ╟───────────────────────────────────────────────────────────────────────────╢ # ║ This class performs battle screen processing. ║ # ╚═══════════════════════════════════════════════════════════════════════════╝ class Scene_Battle < Scene_Base # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Alias: Create All Windows ║ # ╚═════════════════════════════════════════════════════════════════════════╝ alias coolie_create_all_windows create_all_windows def create_all_windows coolie_create_all_windows create_turn_count_window end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ New: Create Turn Count Window ║ # ╚═════════════════════════════════════════════════════════════════════════╝ def create_turn_count_window @turn_count_window = Window_TurnCount.new @turn_count_window.x = Graphics.width - 96 @turn_count_window.width = 80 @turn_count_window.y = 60 end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Alias: Battle Start ║ # ╚═════════════════════════════════════════════════════════════════════════╝ alias coolie_battle_start battle_start def battle_start coolie_battle_start @turn_count_window.show end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Alias: Start Turn ║ # ╚═════════════════════════════════════════════════════════════════════════╝ alias coolie_turn_start turn_start def turn_start coolie_turn_start @turn_count_window.refresh end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ Alias: End Turn ║ # ╚═════════════════════════════════════════════════════════════════════════╝ alias coolie_turn_end turn_end def turn_end coolie_turn_end @turn_count_window.refresh end # ╔═════════════════════════════════════════════════════════════════════════╗ # ║ End: Scene_Battle ║ # ╚═════════════════════════════════════════════════════════════════════════╝ end This oughta work. Edited October 16, 2020 by WCouillard Share this post Link to post Share on other sites
Wispmage 0 Posted October 16, 2020 (edited) Thanks for suggesting this. While it is a turn tracker, I was thinking more something akin to the system in FFX, with the hero and enemy turn order being displayed ahead of their actual turn. I should've been more specific in my initial request. Edited October 16, 2020 by Wispmage Share this post Link to post Share on other sites
Coolie 148 Posted October 16, 2020 Oh, you're looking for a CTB (Conditional Turn Battle) system for battles. There are a few for VX Ace, if I'm remembering right. Share this post Link to post Share on other sites
Wispmage 0 Posted October 16, 2020 (edited) Yeah, I found Archeia's CTB suite of scripts. After a lot of experimentation I finally have them working together with my existing Victor scripts without getting any program-crashing errors. My issue now is that the Hero and Monsters aren't dealing any damage with their basic attacks. The battle log is saying that they're having no effect, and BattleLuna Popups are indicating that the strikes are "Failed" and "Null". Not sure what's causing it. I haven't looked at the CTB scripts in detail yet, so it's possible that I need to configure things. Any idea why that might be happening? EDIT 1: I just removed Yanfly's Battle Symphony and that has solved my no-damage issue. My primary concern now is that my Hero has three turns for every one turn that a Monster has. That, and I've got a black border around the battle screen. Seems like the Turn Order display in the upper left might be causing it. My script list is below. I can provide any additional screenshots or full scripts if need be. Any help or advice would be much appreciated! EDIT 2: I've got everything running pretty smoothly. Thanks for your suggestions Coolie. This thread can be closed. Yanfly's Ace Core Engine Lunatic States Star Passability Bug Fix Event Jitter Fix Archeia's CTB Archeia's Battle Manager Archeia's Battle Core Archeia's Turn Order Archeia's Fixes BattleLuna Battle Popups Victor's Basic Module Victor's Direct Commands Victor's Animated Battle Victor's Actors Battlers Victor's Leap Attack Yanfly's Steal Item Yanfly's Message System Casper Ghost's Vehicle Interiors NerdiGaming's Custom Title Menu Edited October 17, 2020 by Wispmage Share this post Link to post Share on other sites