Gui Debug Tools 0.10.2 for 1.16.x BfW

Discussion of Lua and LuaWML support, development, and ideas.

Moderator: Forum Moderators

SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.9 for BfW 1.14

Post by SigurdFireDragon »

Celtic_Minstrel wrote: August 15th, 2018, 12:13 am ...what's an AMLA slider? And level slider? Huh? That's not normally something you want to adjust, is it?
The level slider allows for easy advancing or declining of a unit (ie, turn a Great Mage back into a Mage)
The amla slider allows applying the specified amount of additional leveling to a unit at max level (as determined by an empty advances_to field)
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
User avatar
Celtic_Minstrel
Developer
Posts: 1927
Joined: August 3rd, 2012, 11:26 pm
Location: Canada
Contact:

Re: Gui Debug Tools 0.9.9 for BfW 1.14

Post by Celtic_Minstrel »

Okay, so basically pushing the sliders up is equivalent to :unit advances=n?

In other news, it looks like this was probably the cause of the set_wml_metatable debug message I was seeing, as it seems to be gone after I upgraded (yay!). Now I just have to figure out where the other two debug messages that don't seem to be in my campaign are coming from...
Author of The Black Cross of Aleron campaign and Default++ era.
Maintainer of Steelhive.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.9 for BfW 1.14

Post by SigurdFireDragon »

Celtic_Minstrel wrote: August 15th, 2018, 3:01 am Okay, so basically pushing the sliders up is equivalent to :unit advances=n?
Yes
Celtic_Minstrel wrote: August 15th, 2018, 3:01 am In other news, it looks like this was probably the cause of the set_wml_metatable debug message I was seeing, as it seems to be gone after I upgraded (yay!). Now I just have to figure out where the other two debug messages that don't seem to be in my campaign are coming from...
set_wml_metatable debug message was one of the ones fixed. It's possible there might still be others needing fixing somewhere in GDT.
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
denispir
Posts: 184
Joined: March 14th, 2013, 12:26 am

Re: Gui Debug Tools 0.9.9 for BfW 1.14

Post by denispir »

Waow, I just discover this thread. Your tool looks fantastic SigurdFireDragon. I don't really need it yet because I am just startind to explore Lua AI design & realisation, but surely in the future, yes. Not only to avoid" back to main menu + F5", but to have variants of execution with the base code unchanged (I'd say).
Thank you, diniz
(By the way, where are documented features like F5? Guess I probably learnt it one day reading a thread, but how can one know it else?)
User avatar
Ravana
Forum Moderator
Posts: 2587
Joined: January 29th, 2012, 12:49 am
Location: Estonia
Contact:

Re: Gui Debug Tools 0.9.9 for BfW 1.14

Post by Ravana »

F5 is only for WML changes. If you work with Lua, you never need it.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.10 for BfW 1.14

Post by SigurdFireDragon »

Version 0.9.10 is up

Changes
Fixed <Invalid WML Found> unknown conditional wml: [debug_status](4) error that occurs when giving saves/replays made when this add-on was present to those without this add-on. Fixed by removing the need to define a conditional tag. Thanks for reporting it, octalot
Also removed defining the lua console action tag.

@denispir: Thanks
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.11 for BfW 1.14

Post by SigurdFireDragon »

Version 0.9.11 is up

Changes
Gamestate Inspector
Shows version number of GDT in the upper right corner

Unit Debug
Objects textbox: allows copying any object currently held by a unit or removing objects from a unit
Traits: allows traits from all known races, as well as traits held by all existing units. How traits are handled has been changed, though there shouldn't be any use visible differences.
Alma slider: renamed to Advancements, reports the current number of advancements and can raise and lower number of advancements if the unit is at max level. 0 always clears a unit's advancements
Location: simplified instruction and now only empty string places on recall
Attack: Cleaned up code, changed how attack objects are removed. If you created an attack object with a previous version of GDT, this field will not be able to remove it. Use Objects field for this case.
Abilities: Same changes as Attack

Side Debug
Seed Recall: Now includes all leader extra_recruits
Clear Recall: functionality has been merged into the Seed Recall slider
Starting Location label has been added.
Location has been renamed Teleport. Can now send all non-leaders to recall with single space.
Recall Units textbox: Accepts a comma separated list of unit ids. units will be recalled for free next to location the dialog was triggered at.

Misc
Use of 'Unit' in some field names has been dropped where it was superfluous
Files renamed for clarity & simplification
Code cleanup and simplification throughout
Removed all tag creation
Dofile now used everywhere except for loading helper
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: Gui Debug Tools 0.9.11 for BfW 1.14

Post by vghetto »

Hi

I got this error when I selected side debug on a unit that has no leader and no starting position.
You might be able to reproduce this error on mainline scenarios such as Invaders in 'The Hammer of Thursagan' or Northern Outpost in 'Eastern Invasion'. Click on the units that pop out of the villages.

Code: Select all

20191228 20:10:46 error scripting/lua: ~add-ons/Gui_Debug_Tools/lua/side_debug.lua:747: bad argument #1 to 'concat' (table expected, got nil)
stack traceback:
	[C]: in function 'table.concat'
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:747: in function <~add-ons/Gui_Debug_Tools/lua/side_debug.lua:742>
	[C]: in field 'show_dialog'
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:832: in function <~add-ons/Gui_Debug_Tools/lua/side_debug.lua:796>
	[C]: in field 'synchronize_choice'
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:836: in local 'side_debug'
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:873: in main chunk
	[C]: in field 'dofile'
	[string "wesnoth.dofile( '~add-ons/Gui_Debug_Tools/lua..."]:1: in local 'bytecode'
	lua/wml-tags.lua:272: in local 'cmd'
	lua/wml-utils.lua:145: in field 'handle_event_commands'
	lua/wml-flow.lua:6: in function <lua/wml-flow.lua:5>
20191228 20:10:46 error scripting/lua: ~add-ons/Gui_Debug_Tools/lua/side_debug.lua:868: attempt to concatenate a nil value (local 'return_value')
stack traceback:
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:868: in local 'side_debug'
	~add-ons/Gui_Debug_Tools/lua/side_debug.lua:873: in main chunk
	[C]: in field 'dofile'
	[string "wesnoth.dofile( '~add-ons/Gui_Debug_Tools/lua..."]:1: in local 'bytecode'
	lua/wml-tags.lua:272: in local 'cmd'
	lua/wml-utils.lua:145: in field 'handle_event_commands'
	lua/wml-flow.lua:6: in function <lua/wml-flow.lua:5>
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.12 for BfW 1.14

Post by SigurdFireDragon »

@vghetto : Thanks for the report.

Version 0.9.12 is up.

Changes:
Side Debug: Fix bug when side lacks a starting location
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.9.13 for BfW 1.14

Post by SigurdFireDragon »

Version 0.9.13 is now available on the Wesnoth 1.14.x add-on server!

Changes:
Unit Debug
Window size slightly increased
Add Super Heal check button
Side Debug
Fix Super Heal not healing statuses like poison & slow
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.10.0 for BfW 1.15

Post by SigurdFireDragon »

Version 0.10.0 is now available on the Wesnoth 1.15.x add-on server!

Changes:
Gui Debug Tools is now a modification and must be selected as such before starting a scenario/campaign in order to be available when debug mode is active.
Moved version number display to the modification description.
Replaced all deprecated Lua code in favor of the new LuaAPI
Some code cleanup and simplification.
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Gui Debug Tools 0.10.1 for BfW 1.15.14 and up

Post by SigurdFireDragon »

Version 0.10.1 is now available on the Wesnoth 1.16.x add-on server for BfW 1.15.14 and up!

Changes:
Unit Debug: Add checkboxes for unslowable & unpetrifiable status

Some more deprecated lua replacements:
Replace wesnoth.synchronize_choice with wesnoth.sync.evaluate_single
Replace wesnoth.message with wesnoth.interface.add_chat_message
Replace wesnoth.open_help with gui.show_help
Replace wesnoth.get_traits() with wesnoth.game_config.global_traits table
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Gui Debug Tools 0.10.2 for 1.16.x BfW

Post by SigurdFireDragon »

Gui Debug Tools 0.10.2 is now available on the Wesnoth 1.16.x add-on server!

Changes:
Unit Debug:
  • Add Recall Cost slider
Side Debug:
  • Add Recall Cost slider
  • Add Is Local label
  • Controller: Remove invalid values
  • Defeat Condition: is now a toggle_button like Controlller
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
GraceWalker
Posts: 2
Joined: February 8th, 2022, 4:25 pm

Re: Gui Debug Tools 0.10.2 for 1.16.x BfW

Post by GraceWalker »

So I have a few questions because I’m smooth brain.

First: what exactly is the lua console for, and how do you use it? I’ve tried a few simple commands and they haven’t done anything.

Second: the abilities section under unit debug seems broken. Any ability I enter gives an error and abilities for units that already have them don’t show up.

Lastly: is there a way to spawn items? Many campaigns have items you need that either buff a character or are needed to progress the mission, but I haven’t figured out how to do anything on that front.
SigurdFireDragon
Developer
Posts: 534
Joined: January 12th, 2011, 2:18 am
Location: Pennsylvania, USA

Re: Gui Debug Tools 0.10.2 for 1.16.x BfW

Post by SigurdFireDragon »

GraceWalker wrote: February 8th, 2022, 4:33 pm So I have a few questions...
Welcome to the forum.

1. The Lua console allows running lua code to query or affect the game state.
As an example, if you input:
wesnoth.sides[1].gold
it will tell you how much gold side 1 has
if you input:
wesnoth.sides[1].gold = 1000
side 1 will then have 1000 gold.

https://wiki.wesnoth.org/LuaAPI is a starting point about lua.
As for what to do with the console, if there's something you want to do that can't be done with Gui Debug Tools, or in the game's command mode, you could write up some lua code, paste it into the console and run it.
Such as:
wesnoth.game_config.combat_experience = 2; wesnoth.game_config.kill_experience = 16
would make it so all units get unit level * 2 experience for attacking a unit instead of the default unit level * 1
and level * 16 for killing a unit instead of the default level * 8.

2. Abilities is working, usage instructions are shown when holding the mouse over the text box for abilities.
It works as follows:
If you have an Elvish Lord on the map and want to give him leadership, enter the unit type of a unit that has leadership, such as 'Elvish Marshal' (such unit types do not need to be present on the map or recall list)
If you want to give the Elvish Lord leadership and teleport, entering 'Elvish Marshal,Silver Mage' would do the trick.

3. Gui Debug Tools can't spawn items on the map. However, the 'Objects' field can be used to copy an item/object a unit has to another unit.
Co-Author of Winds of Fate
My Add-ons: Random Campaign, Custom Campaign, Ultimate Random Maps, Era of Legends, Gui Debug Tools
Erfworld: The comic that lead me to find Wesnoth.
Post Reply