Jump to content

MIssion Scripting Tools (Mist)- enhancing mission scripting Lua


Recommended Posts

  • 2 weeks later...

MIST doesn't work at all for me, no random flights or anything is spawned

ASUS ROG Strix Helios Case - ASUS AM4 ROG Strix X-570E MB - AMD Ryzen 5 3600 - 64 GB DDR4 3200 G.SKILL Ripjaws V Series - ASUS DualGeForce GTX 1070 - SSD 2x 1TB - HDD 10 TB - Windows 10 Home -

Thrustmaster Warthog HOTAS - Thrustmaster TPR Pedels - TrackIR

Link to comment
Share on other sites

Well it works here, latest OB (as of yesterday).

We've got an intensively dynamic training mission, and everything still works as advertised.

Zip - VEAF :pilotfly:

 

If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum

If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !

Link to comment
Share on other sites

Don't know if this has been reported but mist.flagFunc.mapobjs_dead_polygon is not working in the current build of DCS, either OB or stable. It was just working before the last DCS update. We've tested and used this frequently but now it's broken. I've been using the development branch of MIST, 4-4-78. Any thoughts on what might be causing the problem and how to make it work again?

Nvidia GTX-1080

Intel i7-4820K 3.7 Ghz

ASUS ROG Rampage IV Extreme MB

32 GB Memory

Windows 7 Pro 64 Bit

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

Flew a mission last night with many folks that used to work and now doesn't. Going to investigate, but it heavily uses get.unit. mist.flagFunc.units_in_zones and mist.flagFunc.units_in_polygon...that sort of thing.

 

A while back get.group was broken and so we were forced to use get.unit...maybe something similar is happening here. Not sure how mist.flagFunc.mapobjs_dead_polygon works, but I'm guessing ED changed something in the base scripting engine.

 

I also would love any insight one of the smart people on here might have to share.

Link to comment
Share on other sites

For me, Black Sea and aircraft. Both by name and by using the built in filters... blue, airplane, helicopter, etc.

 

As far as I know CTLD was still working fine, so IDK. I'm going to fly it a bit tonight as check out the logs and such and see if I can provide more info.

Link to comment
Share on other sites

Ok Grimes, reloading the scripts into the mission fixed most of it, but I was still getting some weirdness with the flags being triggered like an airplane busted a zone, but no airplane was active or anywhere near said zone. And it was triggering after a set amount of time...which also didn't make sense because the mist function starts almost at mission start.

 

TLDR, I have two zones defined by the waypoints of 2 helos, both late activated, that butt up against each other in some areas. The helos are of opposing coaltions... I changed them to the same coalition and problem solved.

 

It seems to me that mist.flagFunc.units_in_polygon was detecting when, given it's flight path and speed, the opposing coalition late activated helo WOULD have crossed into that polygon had it been active.

 

Anyway, original question of getUnit vs getGroup seems to have been faulty.

 

I hope that's a datapoint that's useful somehow. Thanks ~

Link to comment
Share on other sites

Which map and what type of object is it trying to detect?

Anything, buildings, bridges, runways. I can do a test again if you want and send you the file. Everything was working fine up till the last patch. Are you still working on a new version of MIST?

Nvidia GTX-1080

Intel i7-4820K 3.7 Ghz

ASUS ROG Rampage IV Extreme MB

32 GB Memory

Windows 7 Pro 64 Bit

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

File would help. I did try it on a tester version so it is always possible that it works on that but not the current patch. But I tested on a bridge on Caucuses.

 

Please keep the file as simple as possible.

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

I tested this back 3 or 4 weeks ago and I was successfully getting the runway as being destroyed. It is working for buildings in all the different versions so I'm not sure why it's not working in our dynamic mission. I'll have to look it over again. But I tried adding some static object mines and I'm guessing that MIST won't detect objects that have been added in. Any thoughts would be appreciated.

MIST 4-3-73 Map Objects Test.miz

MIST 4-3-74 Map Objects Test.miz

MIST 4-4-78 Map Objects Test.miz

Nvidia GTX-1080

Intel i7-4820K 3.7 Ghz

ASUS ROG Rampage IV Extreme MB

32 GB Memory

Windows 7 Pro 64 Bit

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

There are two factors at play here.

 

1. Location of the zone relative to the position of the "airbase." In short the airbase object is not where you think it is. It is just a single point in 3d space that for some reason or another on Cacuases is at one end of the runway and off to the side. So it is possible for the zone covering the runway to not have the center of the runway within it.

 

2. It is dependent on the death event occurring. I switched the aircraft to the Su-25T because when I test stuff like this I am a lazy keyboard pilot and don't plug my joystick in. As such I used proper runway destroying bombs and got the message to appear fairly easily.

 

 

That functionality only checks for map objects, or in other words scenery objects. Which are objects that are placed on the map by default. It ignores anything you place in the editor. It is actually kind of a fluke that it detects the airbase because it returns enough of the same data as a world object to classify it as such.

Screen_190702_180549.thumb.jpg.438ec3be7c8bf5059c16a5c6d14581b2.jpg

Screen_190702_180635.thumb.jpg.08042754a722f6b6a1e5a618e4c0ace4.jpg

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

  • 3 weeks later...

Hi Montrose

 

This is the error:

 

'RedAir1'.... (look at the end, you miss this sign ')

 

But anyway, I'd try this script to work, and I can't, if you have succeed tell me how please.

 

having trouble trying to respawn when a group is dead - I am very very very new to this

 

mist.flagFunc.group_dead {

units='RedAir1,flag=100, toggle=true,}

 

I get [strin "mist.flagFunc.group_dead {…"]:2:unfinished string near'<eof>

 

 

I checked to make sure RedAir1 is alive (its set to uncontrolled and present)

 

 

I know this will be something silly I am missing but ….. Any help would be appreciated

[sIGPIC][/sIGPIC]

Intel(R) Core(TM) i9-10900KF CPU @ 3.70GHz   3.70 GHz ROG STRIX Z490-E GAMING
RAM 128 M.2*2 2T total SSD*3 2.5T total
GeForce RTX 3090   Orion2 HOTAS F-16EX  Saitek Pro Rudder

Link to comment
Share on other sites

mist.flagFunc.units_in_polygon help

 

Hello all!

 

Checking the examples on the hoggit wiki, it would seem the following code should fire flag 300 to true work whenever a BLUE aircraft enters the zone...

 

do
mist.flagFunc.units_in_polygon {
units = {'[blue][plane]'}, --unit names
zone = mist.getGroupPoints('poly'),
flag = 300,
}
end

 

However, it seems to be making the flag true at almost random times..... Anywhere from 10 seconds after the script is loaded, to a few minutes. The problem is, there are no BLUE aircraft anywhere near the Polygon I've defined (unit name is poly).

 

Any suggestions?

Link to comment
Share on other sites

Sedlo, I was having weird issues with one of my missions a little while ago and the solution might apply here. If your units waypoints that define the polygons cross, even if they are late activated and never would actually be there, the flag might get tripped.

 

I had two borders that were defined by late activated helos, and it seemed that the flag was getting tripped at the time that the helo's would have crossed paths had they been activated and flying at their assigned speeds. I moved the waypoints around to make sure they didn't cross and the problem was solved.

 

I don't know if this applies in your case because it is random for you but it might be worth checking out especially if you have randomly activated units that might cross that boundary.

 

Good luck ~

Link to comment
Share on other sites

I had two borders that were defined by late activated helos, and it seemed that the flag was getting tripped at the time that the helo's would have crossed paths had they been activated and flying at their assigned speeds. I moved the waypoints around to make sure they didn't cross and the problem was solved.

 

Yeah that was a lovely bug that was fixed and reappeared less than a year later. Think its actually getting fixed in the next patch. Anyway I always use ground units to define polygons and set their probability of appearing to 0%. Mist just needs the path to be in the mission file to find it.

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

  • 2 weeks later...

Hi,

I'm building a mission with scrypt but I can not make it all work ..

 

I want try a mark spot. I copy past the cod from her: https://forums.eagle.ru/showthread.php?t=193232 For apply to my tanker but it did not work.

Tanker name group is KC135mprs. What wrong?

 

Thank

 

 

Plane = Group.getByName( "KC135mprs" )

 

if Plane and Plane:isExist() then

local Vec3 = Plane:getUnit(1):getPosition().p

local GroupID = Plane:getID()

trigger.action.markToCoalition( 2, "Plane Marking", Vec3, GroupID )

end

Link to comment
Share on other sites

  • 2 weeks later...

I am trying to have AI aircraft spawn in a random location in a zone for ACM. I have them activated via a radio message, then immediately run the mist.teleportInZone, which does randomize their location - but it is like it creates a new aircraft. It has a different skin and doesn't follow it's task/waypoint - just heads for the closest airfield and lands. I even flew right up behind it and shot it with no reaction.

 

I have even tried Triggered Action after a 10 sec wait to change waypoint/engage Player aircraft etc but it does not respond at all.

Any suggestions?

Asus Maximus VIII Hero Alpha| i7-6700K @ 4.60GHz | nVidia GTX 1080ti Strix OC 11GB @ 2075MHz| 16GB G.Skill Trident Z RGB 3200Mhz DDR4 CL14 |

Samsung 950 PRO 512GB M.2 SSD | Corsair Force LE 480GB SSD | Windows 10 64-Bit | TM Warthog with FSSB R3 Lighting Base | VKB Gunfighter Pro + MCG | TM MFD's | Oculus Rift S | Jetseat FSE

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

I am trying to have AI aircraft spawn in a random location in a zone for ACM. I have them activated via a radio message, then immediately run the mist.teleportInZone, which does randomize their location - but it is like it creates a new aircraft. It has a different skin and doesn't follow it's task/waypoint - just heads for the closest airfield and lands. I even flew right up behind it and shot it with no reaction.

 

I have even tried Triggered Action after a 10 sec wait to change waypoint/engage Player aircraft etc but it does not respond at all.

Any suggestions?

 

It does create a new aircraft, just it shares as many parameters of the old one as possible and erases the old one. Its not actually a teleport, it just mimics it. Make sure it has the 2nd value for the command since that defines whether or not it keeps the same task.

 

mist.teleportInZone('group', true)

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

  • 3 weeks later...

Is their a way to set a timer on when a group respawns. I have a FreeFlight missions build and trying to put a delay spawn on to the drones that i have flying around. Here is a copy of the script that i use to respawn them

 

 

 

 

 

 

 

 

 

 

 

for k, v in pairs(droneACDB) do

if not Group.getByName(v['group']) then

local msg = {}

msg.text = "Respawning" .. v['name'] .. "Drone Group."

msg.displayTime = 30

msg.msgFor = {coa = {'all'}}

mist.message.add(msg)

mist.respawnGroup(v['group'], true)

local con = Group.getByName(v['group']):getController()

con:setOption(AI.Option.Air.id.ROE, AI.Option.Air.val.ROE.WEAPON_HOLD)

con:setOption(AI.Option.Air.id.RADAR_USING, AI.Option.Air.val.RADAR_USING.NEVER)

con:setOption(AI.Option.Air.id.SILENCE, true)

con:setOption(AI.Option.Air.id.REACTION_ON_THREAT, AI.Option.Air.val.REACTION_ON_THREAT.EVADE_FIRE)

end

TFP Kane"Sticks"

 

 

 

The Flying Pandas Info

 

Website: http://www.tfpgaming.com

Teamspeak: 66.150.214.230

Discord: https://discord.gg/EdVprTy

[sIGPIC][/sIGPIC]

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...