Staredit Network > Forums > Modding Discussion > Topic: Aiscript debug plugin
Aiscript debug plugin
Mar 17 2018, 1:12 pm
By: Neiv  

Mar 17 2018, 1:12 pm Neiv Post #1



The limit plugin I had written has some aiscript debugging features, so I took them out to a separate plugin that should work fine with nearly every other plugin/vanilla 1.16.1.

Screenshots:

Guards (show ai, show ai guards)


A massive 3-dragoon attack by Blizzard AI (show ai player, show ai units, show regions)


Showing which town buildings belong to (show ai units)


The AI determined that those resources are a expansion location (show resareas)

The debug info is controlled through console that can be opened with the ~ key, with following commands:

show ai (Abbreviation sai)
Toggles the main debug output on/off. Shows the request queue of AI players in topleft corner, the AI will always only look at the first request on the queue until it can start working on it, or discard it completely.

show ai guards (Abbreviation saig)
Shows guard positions, for both alive guards and ones that the AI tries to build.

show ai units (Abbreviation saiu)
Draws lines from each AI unit to their related location. For workers and buildings the line shows their town, for military it shows the current region they are allocated to, and guards show their home point.

show ai player <player id> (Abbreviation saip <player id>)
Limits debug info to specific player and shows region info of a player. The player-id is 0-based, you can also use `player` command to show what player owns the currently selected unit.

show ai player all
Reverts `show ai player <n>`

show resareas
Shows the base resource areas, which are locations the AI will be able to expand to.

show regions
Shows the pathfinding regions. Useful with `show ai player <n>`, which shows extra info for each region.

show collision
Shows unit collision boxes.

show range
Shows an *approximation* of unit range. BW's distance algorithm causes the range to be more of a
12-gon than a circle, so the shown circle is not perfect representation.

show locations
Draws location borders on screen.

gsw <n>
Sets the game to wait *about* <n> milliseconds between frames. Slowest working value is around 150, holding down the + key will go even faster than `gsw 0`


Download:
https://github.com/neivv/ai_debug_1161/releases/tag/v3


And yes, I know the info text often overlaps/covers things, and may go off screen. I don't think I'm going to ever fix it though.

Edit 26th May: Added abbreviations and regions show their defense priority.

Post has been edited 2 time(s), last time on May 26 2018, 7:25 pm by Neiv.



None.

Mar 17 2018, 5:40 pm Pr0nogo Post #2



An amazing tool I've used for quite a while now with great results. Endlessly helpful, and even more so now that it can be hotswapped without removing GPTP plugins.

Does `gsw n` still work for setting a specific speed?




Mar 17 2018, 5:54 pm Neiv Post #3



Yes.



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[01:06 am]
SiberianTiger -- anyone wanna play footmen frenzy with me on us west?
[12:50 am]
O)FaRTy1billion[MM] -- NudeRaider
NudeRaider shouted: Lanthanide ya, I was pretty sure this must be the case, but I was referring to FaRTy1billion
i was mostly joking. I haven't seen any specs for it or anything other than vague comments
[10:02 pm]
Suicidal Insanity -- jjf28
jjf28 shouted: if you do parse those correctly I'll probably turn on sub-string recycling by default since it makes smaller map sizes, else I'll prompt the user before turning it on
I won't parse those correctly - I do not remember why, maybe it was the embedded nulls in stat_txt.tbl, but I clip strings at the next offset in the table header and don't search for a nul byte
[04:26 pm]
Dem0n -- ya he's in there
[03:52 pm]
NudeRaider -- Lanthanide
Lanthanide shouted: i don't know, but Armo does, so he can be asked
whcih discord? SEN?
[03:51 pm]
NudeRaider -- Lanthanide
Lanthanide shouted: and also there are tools right now that let you use it, so to say "no one can use it" is wrong
ya, I was pretty sure this must be the case, but I was referring to FaRTy1billion
FaRTy1billion shouted: nobody knows
[02:02 pm]
jjf28 -- if you do parse those correctly I'll probably turn on sub-string recycling by default since it makes smaller map sizes, else I'll prompt the user before turning it on
[02:01 pm]
jjf28 -- e.g. "asdf<NUL>" and "df<NUL" occupy the same space in character data but have two different offsets
[02:00 pm]
jjf28 -- hey SI, are you parsing STR sections with sub-string recycling?
[12:52 pm]
Moose -- spicy memes
Please log in to shout.


Members Online: Roy, oxysuner, addisonevans