Jump to content
Sign in to follow this  
charonos

TroopMon V 0.7 Mission debugger

Recommended Posts

Hi,

i have written a little tool to debug my missions,

as there is always some units just lying around or

are in the wrong place and i wanted to share that

early version with the community as there is

currently/yet no similar tool available.

It is very easy to use, a simple object addon placed

in your map adds the player-action to run the tool.

The UI is kinda like Xcam,

but more combat-data-related. Things like :

Who is the checkunit targetting?

Who is he firing at?

And in turn, who is targetting/firing upon him?

are always visible as well as a troop count display

that shows the number of alive/dead units of all sides.

The most useful function is the ability to switch the view

to the enemy unit that is targetting the checkunit and back

More features are dynamic group creation functions which

can be given a basic waypoint.

TroopMon_Sample1.jpg

There is 4 camera views. One is like the 3rd person view from behind the unit,

the second one allows a freely adjustable camera position. The 3rd one is a view

through the ironsight of the units weapon (also for vehicles) and the 4th is a normal POV

of the checkunit.

TroopMon_Sample3.jpg

Also camera positions can be saved/loaded.

TroopMon_Sample2.jpg

Generally the tool is working nicely so far, a few little bugs still remain and some of the waypoint creation stuff

needs to be improved and it can really help mission makers to optimize their unit

placement and combat settings. Feel free to let me know what you would like to

see improved/considered for an update.

I hope you have fun with it and can use it for your missions!

Charon

Download links:

Armaholic mirror : TroopMon V0.7 beta

freedatahost: TroopMon V0.7 beta

Share this post


Link to post
Share on other sites

looks interesting. more tactical awareness. i like it. looks like this has alot of potential.well done charonos

Share this post


Link to post
Share on other sites

Jup pretty good stuff thumbs-up.gif

If i get it right you can see what's wrong and what's working good...?

I really don't understant "Debug"...

Well if you found something wrong you can change it with this tool too or is it only for looking for wrong thing's?

There's another thing like that: Debug Console

Damn what the helll is this for? crazy_o.gif

Share this post


Link to post
Share on other sites

@ SNKMAN,

well that's exactly the point, you don't always see what all

of your placed/spawned units are exactly doing and people

tend to overspawn scenarios to have objectives accomplished.

Already in OFP that was giving me such a headache to be aware

of having 20 living russian attackers somewhere on my map

that would not do anything because they were constantly

in "COVER" mode, lying on the ground or were issued other strange

orders. Remember the OFP/ArmA AI is not working perfectly,

so it's all about checking what the AI is really doing out of what

you intended it to do. To code a good AI and still keep the FPS

high, is a task that is very hard to achieve for every game company.

Still the most annoying thing about the AI is that units

open fire at target distances of 50m+ easily, but sometimes would stand

around carelessly right next to each other at 10m- at not open fire even

with perfect combat settings, that must be possible to fix, again was like that in

OFP already.

Gaia's console is a time-saving tool for people that want to check variable

values and not put "hint" or "chat"-"format" lines in their code, but be able to decide

while the mission is running which variables to check.

I am working on a little update for TroopMon, it will have

a very accurate (to the bullet) ammo count statistic for all sides,

which is a tactical feature to evaluate firepower/efficiency.

Share this post


Link to post
Share on other sites

I quickly checked out this addon, my first impression is that why does it need the OBJECT placed on mission editor to activate it, why not use same method as the other debug console ESC -> Enter, or any other method of transparent activation so mission.sqm is not effected?

In my view it defeats the purpose of this debugger, I stopped using mission debug radio triggers/stuff long time ago as they are ALWAYS left into the released mission by mistake. Always.

Share this post


Link to post
Share on other sites

Snakeman,

i primarily did not want to interfere other debuggers.

Most of all i did not want people to have to insert a description.ext

into their mission folder.

Your point about the OBJECT remaining in the final mission

is valueable, i honestly did not anticipate people might forget

to remove it. smile_o.gif

I will look into alternative easy ways of starting the tool without

affecting the mission.sqm.

Thanks for the input.

Share this post


Link to post
Share on other sites

Considering the other debugger is in czech and quite small/featureless (or perhaps I just dont understand the cz language?) there is no fear of interfering with that. Just use the ESC -> Enter method, its excellent. Just drop the addon into addons dir and then dont worry about nothing, use it if you like, no problems with mission.sqm infestation etc.

I tried the debugger bit more now, definitely looks worth using. But I plea to you to change the way it operates, not to mess with mission.sqm, please smile_o.gif

Share this post


Link to post
Share on other sites

I have finally found a very >>clean<< solution, where other debuggers can be started as usual and TroopMon can be

started by pressing a button right under the ABORT button.

And if future tool hackers will conform to clean methods of implementing their stuff into the main config.bin then

there should be no conflicts at all between all the scripts started with the Esc-Menu-method.

I will release an update later this week, which will have the new

start option and accurate ammo count/efficiency statistics

as well as an additional detail display of the checkunit's config attributes.

Share this post


Link to post
Share on other sites

Awesome project! Haven't even used it yet but i'm sure I like it! Gonna help a million with the mission editing and especially debugging AI-Enhancement scripts smile_o.gif

Share this post


Link to post
Share on other sites
Considering the other debugger is in czech and quite small/featureless

My console is made for people who want to use and check only what they want, without dozens of informations around. It's made to be simple and clear, but it also requires some scripting knowledge.

You console is full of features and user friendlier (especially for newcomers), but it's not suitable for quick check of values and parameters during mission. And I could not live without command line smile_o.gif (or is there some? I didn't find any).

Just two comments:

1) Text is barely readable when using 800x600 resolution.

2) On 16:10 screen it looks weird (especially the buttons on right): http://str.rival.cz/items/troopmon.jpg

BTW: My console is in czech only if you have czech version (language="Czech"; in arma.cfg)

Share this post


Link to post
Share on other sites
I have finally found a very >>clean<< solution, where other debuggers can be started as usual and TroopMon can be

started by pressing a button right under the ABORT button.

Just awesome, cant wait to try the new version. Also I'll report any bugs or issues I find when testing it. This will be great piece of addon with the transparent activation. Good job, much appreciated.

Quote[/b] ]My console is made for people who want to use and check only what they want, without dozens of informations around.

Yeah I guess its like in OFP the vektorbosons console and xcam comparison. Both have their uses.

Quote[/b] ]My console is in czech only if you have czech version (language="Czech"; in arma.cfg)

Naturally I have the czech version patched with 6th sense english patcher.

Share this post


Link to post
Share on other sites
Naturally I have the czech version patched with 6th sense english patcher.

Hehe smile_o.gif Great wink_o.gif

Tip for the TroopMon... Some of the scripts are called multiple times over and over and over again. Especially in this case it would be recommended to read the scripts into variables and spawn them, so they aren't read from disc over and over:

at the init of TroopMon:<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> CHN_TroopMon_CamScript1=compile preprocessfile (CHN_TMPATH + "scripts\CamScript1.sqf");

CHN_TroopMon_DiaReg=compile preprocessfile (CHN_TMPATH + "scripts\DiaReg.sqf");

CHN_TroopMon_DisplayGroup=compile preprocessfile (CHN_TMPATH + "scripts\DisplayGroup.sqf");

CHN_TroopMon_DisplayGroup2=compile preprocessfile (CHN_TMPATH + "scripts\DisplayGroup2.sqf");

CHN_TroopMon_FavList=compile preprocessfile (CHN_TMPATH + "scripts\FavList.sqf");

CHN_TroopMon_GroupsLBFill=compile preprocessfile (CHN_TMPATH + "scripts\GroupsLBFill.sqf");

CHN_TroopMon_LBAlt=compile preprocessfile (CHN_TMPATH + "scripts\LBAlt.sqf");

CHN_TroopMon_InitDisplay=compile preprocessfile (CHN_TMPATH + "scripts\InitDisplay.sqf");

CHN_TroopMon_MonInit=compile preprocessfile (CHN_TMPATH + "scripts\MonInit.sqf");

CHN_TroopMon_MonExit=compile preprocessfile (CHN_TMPATH + "scripts\MonExit.sqf");

CHN_TroopMon_RefreshUnits=compile preprocessfile (CHN_TMPATH + "scripts\RefreshUnits.sqf");

CHN_TroopMon_RefreshGroups=compile preprocessfile (CHN_TMPATH + "scripts\RefreshGroups.sqf");

CHN_TroopMon_RefreshLBs=compile preprocessfile (CHN_TMPATH + "scripts\RefreshLBs.sqf");

CHN_TroopMon_Switchback=compile preprocessfile (CHN_TMPATH + "scripts\Switchback.sqf");

CHN_TroopMon_Switchto=compile preprocessfile (CHN_TMPATH + "scripts\Switchto.sqf");

CHN_TroopMon_TroopExit=compile preprocessfile (CHN_TMPATH + "scripts\TroopExit.sqf");

CHN_TroopMon_TroopMap=compile preprocessfile (CHN_TMPATH + "scripts\TroopMap.sqf");

CHN_TroopMon_TroopMon=compile preprocessfile (CHN_TMPATH + "scripts\TroopMon.sqf");

CHN_TroopMon_UnitsLBFill=compile preprocessfile (CHN_TMPATH + "scripts\UnitsLBFill.sqf");

CHN_TroopMon_VToggle=compile preprocessfile (CHN_TMPATH + "scripts\VToggle.sqf");

CHN_TroopMon_VToggle2=compile preprocessfile (CHN_TMPATH + "scripts\VToggle2.sqf");

CHN_TroopMon_CreateAir=compile preprocessfile (CHN_TMPATH + "scripts\CreateAir.sqf");

CHN_TroopMon_CreateCar=compile preprocessfile (CHN_TMPATH + "scripts\CreateCar.sqf");

CHN_TroopMon_CreateCenter=compile preprocessfile (CHN_TMPATH + "scripts\CreateCenter.sqf");

CHN_TroopMon_CreateMan=compile preprocessfile (CHN_TMPATH + "scripts\CreateMan.sqf");

CHN_TroopMon_CreateStat=compile preprocessfile (CHN_TMPATH + "scripts\CreateStat.sqf");

CHN_TroopMon_CreateShip=compile preprocessfile (CHN_TMPATH + "scripts\CreateShip.sqf");

CHN_TroopMon_CreateTank=compile preprocessfile (CHN_TMPATH + "scripts\CreateTank.sqf");

CHN_TroopMon_FiredEH=compile preprocessfile (CHN_TMPATH + "scripts\FiredEH.sqf");

CHN_TroopMon_HitEH=compile preprocessfile (CHN_TMPATH + "scripts\HitEH.sqf");

CHN_TroopMon_IncomingEH=compile preprocessfile (CHN_TMPATH + "scripts\IncomingEH.sqf");

CHN_TroopMon_KilledEH=compile preprocessfile (CHN_TMPATH + "scripts\KilledEH.sqf");

Then when you need them in the dialogs or other scripts, use for instance:

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">d=[298] spawn CHN_TroopMon_Vtoggle

I have a version 0.7 rewritten with these spawns etc, I know ur working on a new version, but if you wish I can send you the updated v0.7 with all sqf execVM's replaced and all _filename# removed smile_o.gif

Not that it matters that much, but I came across createcenter.sqf where there are a lot of ifs instead of Switch - Cases wink_o.gif

Share this post


Link to post
Share on other sites

Thanks for the tip, i very much appreciate it!

I will look into that matter.

Currently i am doing a full waypoint implementation,

which makes you feel like playing chess against yourself. smile_o.gif

You can have created and existing groups board choppers, move the choppers to waypoints, unload the group etc. Also there is a join option now,

so one group can join the other.

I am still having problems making a quick check which side resistance is friendly to, for 3 side battle scenarios.

Share this post


Link to post
Share on other sites
Thanks for the tip, i very much appreciate it!

I will look into that matter.

Currently i am doing a full waypoint implementation,

which makes you feel like playing chess against yourself. smile_o.gif

You can have created and existing groups board choppers, move the choppers to waypoints, unload the group etc. Also there is a join option now,

so one group can join the other.

I am still having problems making a quick check which side resistance is friendly to, for 3 side battle scenarios.

Ok, you received a PM with updated TroopMon...

Changelog:

- All ExecVM's replaced for spawns

- All _filename variables removed and moved&replaced by CHN_TroopMon_xxxx  global variables in TMStart.SQF

- CreateCenter.SQF if's replaced for switch with cases.

- All static script paths replaced by (CHN_TMPATH + "scripts\scriptname.sqf")

Looking very much forward to your updated version smile_o.gif

About the resistance side, I am unsure how to test this aswell... you could leave it up to the mission maker to create a variable: CHN_ResSide which you either number or use strings with smile_o.gif

Share this post


Link to post
Share on other sites

Hi charonos!

Just slowly getting back into editing/scripting in ArmA I was missing Silolas XCam from OFP but your TroopMon is a VERY good alternative even if still in beta version.

Thanks for sharing and hope you will continue to work on it since tools like this are invaluable when debugging scripts or larger missions. Should be the first thing in every missionmaker/scripters "toolbox"!

Thanks again!

/KC

Share this post


Link to post
Share on other sites

You should see his next version... jummi jummi smile_o.gif

Nice to read ur getting back into the World of Editing m8 smile_o.gif

Share this post


Link to post
Share on other sites

Here is a demonstration video on youTube that shows the new waypoint functionality of TroopMon V0.8.

This update will be released in 1 or 2 days.

Share this post


Link to post
Share on other sites

Here another video demonstrating the new viewport unit selection and camera mouse control features:

Share this post


Link to post
Share on other sites

Any chance you could add like "Action Camera" which would try to follow the combat around all the units?

This is a mission debugger as topic says, but many times when debugging a mission its just to sit back and watch what happens, so why not add a special camera for such enjoyment which you don't have to manually control all the time. Many times I just sit back and watch some cutscene movie with looping script around all units, I love to observe what the AI is up to.

Just a thought.

PS, less videos more releases biggrin_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×