Jump to content

MIssion Scripting Tools (Mist)- enhancing mission scripting Lua


Recommended Posts

Yeah its a bug with mist. Right now its simply a matter of the function used to get the groups information for teleportation, mist.getCurrentGroupData(), doesn't fully return everything from the DB that mist.getGroupData does. Which means that an important entry "playerCanDrive" is missing thus is assumed false, and you can't control them via Combined Arms. It'll be fixed soonish, just going to change how that function works slightly.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Yeah its a bug with mist. Right now its simply a matter of the function used to get the groups information for teleportation, mist.getCurrentGroupData(), doesn't fully return everything from the DB that mist.getGroupData does. Which means that an important entry "playerCanDrive" is missing thus is assumed false, and you can't control them via Combined Arms. It'll be fixed soonish, just going to change how that function works slightly.

 

Glad to hear, thanks Grimes!

Assaf.

Link to comment
Share on other sites

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

might be the wrong place but... is Group.getByID working in MP? Don't care if doesn't work for clients. Else, is there a fast and reliable way to get Group from Group ID whitout having to loop units?

 

thanks!

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

might be the wrong place but... is Group.getByID working in MP? Don't care if doesn't work for clients. Else, is there a fast and reliable way to get Group from Group ID whitout having to loop units?

 

There is no getByID function in DCS, only getByName.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Yeah, re-discovered for the 1000th time yesterday evening. :(

 

Inviato dal mio SM-G850F utilizzando Tapatalk

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

Morning all,

 

I'm trying to set up a ground patrol using,

mist.ground.patrol('tg1', doubleBack, 'On Road', 15)

When the units gets to the last WP DCS will crash and I get a pop up asking if I want to debug DCS.

 

Any ideals whats going on here? And what program would be best for the debug option that pops up?

Link to comment
Share on other sites

Can you post a mission file that causes the crash so I can take a look? There is nothing for you to debug, it'd be an issue with the game.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Can you post a mission file that causes the crash so I can take a look? There is nothing for you to debug, it'd be an issue with the game.

 

Ok this one I just put together to test it again. Once the units drive over the bridge they should double back but, at last WP it crashes the game both when viewing it from the ME or in multiplayer.

 

DCS World 1.5, updated to current.

 

Just set up the same mission in DCS World 2.0 and it runs just fine. So problem is just with 1.5.

test.miz


Edited by Highlander
Link to comment
Share on other sites

Ok, so I figured out what was wrong with the above mission and the patrol.

 

I was using this in the last WP for the unit and it was crashing DCS.

mist.ground.patrol('tg1', 'doubleBack', 'On Road', 15)

Found my notes form a year ago and started using this in the last WP for the unit and it works.

mist.ground.patrol('myGroupName', 'doubleBack')

You can put it in a trigger activated when group enters the zone or put it in groups last WP.

Link to comment
Share on other sites

I'm new to mission editor but I would need the following:

 

When "UNIT" passes "Trigger zone RESPAWN" re-spawn "GROUP X, Y and Z"

 

Can someone help me out how to implement this with MIST script if possible?


Edited by Nu-NRG

Aviate - Navigate - Communicate



Link to comment
Share on other sites

In the mission editor do

 

- TRIGGER ONCE

- UNIT INSIDE TRIGGERZONE "RESPAWN"

- DO SCRIPT

mist.respawnGroup('x', true)

mist.respawnGroup('y', true)

mist.respawnGroup('z', true)

And the first trigger is the one to load the script as written in documentation?

Aviate - Navigate - Communicate



Link to comment
Share on other sites

  • 2 weeks later...

Hi. I have a problem with if not Group.getByName. It doesnt work unless I deactivate the group.

 

How can I detect when a group is destroyed or how can I deactivate a group with mist?

 

Thanks.

 

Edit: this is my code.

 

for i = 1, cant_rus_sam, 1 do

trigger.action.outText('rus_sam '..i, 10) --group test

 

if not Group.getByName('rus_sam '..i) then

mist.respawnGroup('rus_sam '..i, true, 10)

end

end


Edited by Ignition
Link to comment
Share on other sites

I would like to know how to implement MIST in DCS for respawning enemy planes on mission created for target practice? Ty in advance.

 

Let me know if you prefer Caucuses, Nevada or both. I will send you a mission tomorrow based on the CGI / CAP script.

 

Sierra99

[sIGPIC][/sIGPIC]

Primary Computer

ASUS Z390-P, i7-9700K CPU @ 5.0Ghz, 32GB Patriot Viper Steel DDR4 @ 3200Mhz, ZOTAC GeForce 1070 Ti AMP Extreme, Samsung 970 EVO M.2 NVMe drives (1Tb & 500 Gb), Windows 10 Professional, Thrustmaster Warthog HOTAS, Thrustmaster Warthog Stick, Thrustmaster Cougar Throttle, Cougar MFDs x3, Saitek Combat Rudder Pedals and TrackIR 5.

 

-={TAC}=-DCS Server

Gigabyte GA-Z68XP-UD3, i7-3770K CPU @ 3.90GHz, 32GB G.SKILL Ripjaws DDR3 @ 1600Mhz, ZOTAC GeForce® GTX 970.

Link to comment
Share on other sites

Hi. I have a problem with if not Group.getByName. It doesnt work unless I deactivate the group.

 

Yeah thats been an issue of sorts for a while now. Easiest way is to see if you can get group data and if you can to use Group.getUnits() and simply count the number of units returned. I made this function for use in On Station. Basically it will do either isExist() and getUnits() checks if a group is returned, if the group isn't returned then the value is true.

 

local function groupIsDead(groupName)
	if (Group.getByName(groupName) and Group.getByName(groupName):isExist() == false) or (Group.getByName(groupName) and #Group.getByName(groupName):getUnits() < 1) or not Group.getByName(groupName) then
		return true
	end
	return false
end

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Hello Grimes.

 

I am using this... function.

 

function CASstop(CASgroup)		
	
	mist.goRoute(CASgroup, mist.getGroupRoute(CASgroup)) 
end

 

It works well, but it only gets the waypoints. What I do is:

 

I put a group of 2x10 doing wp 1 and 2, In the second wp, I put and advanced task to go to wp 1, so the unit is in a loop.

 

Then via F10 menu, i send a group to attack, and it works fine... But I would like the option to cancel the attack and come back to the original path. This function works fine, but it seems it looses the advance task, and once it goes to the wp 2 it goes to base.

 

ANy suggestion?? I used moose, but now, I dont know it is not working at all, or only works sometimes... I dont know.

 

So in the end... the question is:

 

Does mist.getGroupRoute(string groupName ) get advanced tasks too? if not. Any suggestion?

Link to comment
Share on other sites

And the documentation was missing a variable. There is an optional variable that defines whether or not the task data is retrieved.

 

Fixed the documentation.

The right man in the wrong place makes all the difference in the world.

Current Projects:  Grayflag ServerScripting Wiki

Useful Links: Mission Scripting Tools MIST-(GitHub) MIST-(Thread)

 SLMOD, Wiki wishlist, Mission Editing Wiki!, Mission Building Forum

Link to comment
Share on other sites

Thank for fast answer. I had: mist.respawnGroup('Spawnable', 10)

I have subsitude 10 for ture and it is working fine now.

So mist.respawnGroup('Spawnable', true) is correct. What does 10 mean? 10 minutes? I remember that it was 10 sec in the past.

 

Thank you for help

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...