Jump to content

MOOSE - Mission Object Oriented Scripting Framework


Recommended Posts

After looking through the the moose GitHub I have figured out one thing that would be REALLY cool but I am not sure if it's possible.

 

Take the basic principle from AI_A2A_DISPATCHER and make a AI_G2G_DISPATCHER or some way to spawn a group of ground units provided from templates and then dynamically give them a order to attack something.

 

I am willing to bet that you can already do it in the framework but I am still working on learning how to put everything into the framework.

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Spawn random from template is already in the demo missions.

 

If you want to provide orders to them, use CONTROLLABLE.

 

Remember that if dynamically spawning you need to use the OnSpawnGroup function to control them.

 

I had some random code laying open, snipping it, so you can quickly see parts;

 

KobZoneB = ZONE_POLYGON:New( "kobBLUEspawnzone", GroupPolygonB )

bKobZoneTable = {KobZoneB} -- you can obviously fill this up with multiple zones

TemplateTableRed = { 'rAtk1', 'rAtk2', 'rAtk3', 'rAtk4' }

Bluekobatk = SPAWN

:New("recon kobuleti")

:InitRandomizeZones(bKobZoneTable)

:InitRandomizeTemplate( TemplateTableRed )

:InitLimit(6,0)

:OnSpawnGroup(function( SpawnGroupB )SpawnGroupB:TaskRouteToZone( ZONE:New( "Kobuleti" ), true, 40, "Off Road" )end)

:SpawnScheduled(300,.5)

 

Spawns a random group from the table TemplateTableRed, in a random part of one of the zones from bKobZoneTable and tells it to go to a zone called Kouleti, between 150-450 seconds repeatedly, reaching a max unit count of 6.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Hi mooseheads. Just trying to get started with this. Lotta info guys. Anyway, are we supposed to be able to try the demo missions? I tried the multiplay scoring demo 1 mission and air to air tasking missions. Anyway, they wouldn't load without some debug errors. They're supposed to be good to go right? Sorry can't get specific about the errors. First one was--11: can't open 'Scripts/Moose/Utilities/Routines.lua' then couple others I couldn't make sense of. Sorry, not much of a geek. Thanks guys. This was in 1.5.7 stable release latest update. Thanks.


Edited by Chicki
more info
Link to comment
Share on other sites

Hi mooseheads. Just trying to get started with this. Lotta info guys. Anyway, are we supposed to be able to try the demo missions? I tried the multiplay scoring demo 1 mission and air to air tasking missions. Anyway, they wouldn't load without some debug errors. They're supposed to be good to go right? Sorry can't get specific about the errors. First one was--11: can't open 'Scripts/Moose/Utilities/Routines.lua' then couple others I couldn't make sense of. Sorry, not much of a geek. Thanks guys. This was in 1.5.7 stable release latest update. Thanks.

 

 

The errors you experienced were because of the wrong branch you were using.

 

As a result of your message, I have reworked the branch structure of the MOOSE MISSIONS repository this afternoon.

 

This should greatly make it more easy to try out test missions.

 

The base branch of the MOOSE MISSIONS repository is called Release. This is the branch you will see by default when accessing the github repo. The missions in this release branch will all load MOOSE the normal way, that is a complete moose.lua file is integrated into each of these missions.

 

So you shouldn't anymore experience errors like you had before.

 

I've also updated the MOOSE MISSIONS release page of the MISSIONS repository so you can download all the latest missions in a zip file.

 

Hope this helps!

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Does anyone know how I can get the speed of a ground group or unit?

 

I can't find a class that will tell me that, but I believe it's do-able somehow. I want to monitor a ground vehicle and have a block of code execute if its velocity goes down to zero.

 

Thanks!

 

In various forms...

 

As a vector:

POSITIONABLE:GetVelocity()

 

In Kilometer per Hour

POSITIONABLE:GetVelocityKMH()

 

In Meters per Second

POSITIONABLE:GetVelocityMPS()

 

Note that GROUP and UNIT have the following inheritance hierarchy in MOOSE:

 

GROUP: OBJECT -> IDENTIFIABLE -> POSITIONABLE -> CONTROLLABLE -> GROUP

 

UNIT: GROUP: OBJECT -> IDENTIFIABLE -> POSITIONABLE -> CONTROLLABLE -> UNIT

 

So any method defined in the parent classes is also available in GROUP and UNIT.

 

So you can write:

 

GroupObject = GROUP:FindByName( ... )
SpeedKMH = GroupObject:GetVelocityKMH()

Hope this helps...

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hey FC. Wrong branch eh? Story of my life pal. Lol! Got it going now. Thanks for your reply.

 

I was the one who messed up :doh:, not you.

I should have checked this a long time ago.

 

Hope you enjoy the demos and code examples.

You know where to find us in case of questions.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hey FC. Wrong branch eh? Story of my life pal. Lol! Got it going now. Thanks for your reply.

 

Quick question does MOOSE have anything that will work for troops mounting and dismounting from APCs and the like?

 

Planned in release 2.3 and a long time ago promised to Gunterlund. This module is a long due request. I plan to start with release 2.3 very soon., and it will be focused on expanding the CARGO and other functions like A2G and MEDIVAC.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Planned in release 2.3 and a long time ago promised to Gunterlund. This module is a long due request. I plan to start with release 2.3 very soon., and it will be focused on expanding the CARGO and other functions like A2G and MEDIVAC.

 

 

 

Very cool. I would really love to see some type of system that uses ground units kind of like the gcicap system

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

Very cool. I would really love to see some type of system that uses ground units kind of like the gcicap system

 

 

Sent from my iPhone using Tapatalk

 

I think you misunderstood :-) I meant to have Air to Ground, so AI air units attacking ground targets. This to bring the immersion to the players and to allow for AI attack assistance.

 

There are many aspect that are different from AI A2G dispatching in comparison to AI A2A dispatching, is that the definition of threat is different and the AI engagement results in different tactics and patterns to be applied.

 

So, the tactics needs to be defined in terms of:

- Zones: If ground units reach certain areas, then engage.

- Time: If certain detected ground forces aren't engaged for a period of time by human playes, engage with AI.

- Threat level: only engage till a certain threat level.

- Assisted attacks. AI assists attacks by players, through menus.

 

 

In your case, having ground forces doing something like an A2A dispatcher, requires a who new approach, because there you have the terrain that plays a role. That is going to be the G2G dispatcher, which is planned later.

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Some more important fixes done today and published on the release 2.2.0.pre page of the MOOSE framework.

 

Please download the latest moose.lua.

 

Fixes include:

 

 

  • AI_A2A_DISPATCHER: Corrected the calculation to the distance to the airbase, when the intercept calculation is used. Now the intercept point is not anymore interfering with the gci radius validation and gci radius is now correctly respected and validated.
  • AI_A2A_CAP and AI_A2A_GCI: Player disconnecting will not result in coordinate calculation problems while engaged with the player machine. The engagement will stop.
  • DESIGNATE: Unless autolase is activated, lase will stop after 60 seconds by the JTAC.
  • Fixed CAP not engaging issue when there was more than one CAP squadron defined. A stupid typo in the logic overwrote the friendlies prefixes of the first squadron when a second squadron was defined.
  • Stability fixes for AI_A2A_DISPATCHER in multi player. Players can exit units due to unexpected disconnects...
  • Squadron and Default overhead is now correctly interpreted in GCI engagements. 1 is the neutral number for the Overhead parameter. Any fractional number larger than 1 will calculate additional overhead of defenses. Any fractional number smaller than 1 will calculate less overhead of defenses. Note that overhead is calculated in terms of GCI, not in terms of calculating the engagement of CAP and returning GCI aircraft!

 

 

Thanks for the bug alerts and the great support in testing and helping to fix them!

Enjoy your weekend and happy flying.

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

I am not a programmer. But still, i am trying a way to create random radio frequencies.

This seems to work fine with the tanker, but can't make it work with AFAC.

Is there a better way to do it? or is it even possible?

 

Tks in adv.

 

local st = SCHEDULER:New( nil, 
function()

-- 116,151 AM 225,399 AM UHF 30,76 FM 
-- Random freq for tanker
freq1 = math.random ( 116,151 )
Tanker1 = UNIT:FindByName("Pilot #002")
Tanker1Radio = Tanker1:GetRadio()
Tanker1Radio:SetFrequency(freq1)
Tanker1Radio:SetModulation(radio.modulation.AM)
OutFreq1 = 'Tanker radio frequency is ' .. tostring(freq1) .. 'Mhz AM. TACAN channel 1X.'

-- Random freq for AFAC
freq2 = math.random ( 30,76 )
Fac1 = UNIT:FindByName("Pilot #004")
Fac1Radio = Fac1:GetRadio()
Fac1Radio:SetFrequency(freq2)
Fac1Radio:SetModulation(radio.modulation.FM)
OutFreq2 = 'AFAC radio frequency is ' .. tostring(freq2) .. 'Mhz FM.'

trigger.action.outText(OutFreq1 .. '\n' .. OutFreq2 ,60,false)

end, {}, 10
)

[sIGPIC][/sIGPIC]

Asteroids

____________________________________________

Update this

 

:D
Link to comment
Share on other sites

I am not a programmer. But still, i am trying a way to create random radio frequencies.

This seems to work fine with the tanker, but can't make it work with AFAC.

Is there a better way to do it? or is it even possible?

 

Tks in adv.

 

Hi.

 

First a couple of silly questions from me:

 

1. Does it help if you set the modulation before the frequency?

 

2. Can the frequency and modulation be varied in the Mission Editor and does it work then for AWACS? Try an example with a fixed frequency that works in the mission editor. Then try another.

Maybe not all frequencies work....

 

FC

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

FC. Been out of the loop for a while and wiill soon start working on a mission for our community but i have limited time atm.

Does the GCICAP work properly for me to use it as a defending force?

 

Yes, Invisibull and Shawowze have been testing with me a lot of stuff.

I am still working on improvements, like spawning at the airbase etc.

 

But most of it is now functional.

 

There is however a bug that i am still trying to find out with CAP.

They seem to work okay, but then suddenly they don't engage, and

still don't know why.

 

So in order to find this bug, we need to find a way to resimulate it.

And the only way of doing that is by using it, and seeing if it works okay.

And if not, please help to explain what went wrong and what was the situation.

 

Be careful with spawning planes from the runway, that is also one that may cause troubles.

 

This stuff is complicated, but we have now a couple of servers live that use the module and have a large audience battling the AI_A2A_DISPATCHER.

 

There is also a lot of tricks in the sleeve that you can apply to randomize units spawned, and to modify the templates etc as the mission goes on.

 

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Done a couple of new fixed on the framework:

 

Markings have been added to A2G taskings.

 

Screen_170915_135950.jpg

 

Screen_170915_140210.jpg

 

Spawns can now be done at airbases of choice (airdromes, ships, farps) upon command:

 

Screen_170914_121428.jpg

 

-- Name: SPA-131 - Air Ops - SpawnAtAirbase

-- Author: FlightControl

-- Date Created: 14 Sep 2017

--

Spawn_Plane = SPAWN:New( "Plane" )

Spawn_Plane:SpawnAtAirbase( AIRBASE:FindByName( AIRBASE.Caucasus.Krymsk ), SPAWN.Takeoff.Cold )

Spawn_Plane:SpawnAtAirbase( AIRBASE:FindByName( AIRBASE.Caucasus.Krymsk ), SPAWN.Takeoff.Hot )

Spawn_Plane:SpawnAtAirbase( AIRBASE:FindByName( AIRBASE.Caucasus.Krymsk ), SPAWN.Takeoff.Runway )

 

Spawn_Plane:SpawnAtAirbase( AIRBASE:FindByName( "Carrier" ), SPAWN.Takeoff.Cold )

 

Spawn_Heli = SPAWN:New( "Heli")

 

Spawn_Heli:SpawnAtAirbase( AIRBASE:FindByName( "FARP Cold" ), SPAWN.Takeoff.Cold )

Spawn_Heli:SpawnAtAirbase( AIRBASE:FindByName( "FARP Hot" ), SPAWN.Takeoff.Hot )

Spawn_Heli:SpawnAtAirbase( AIRBASE:FindByName( "FARP Runway" ), SPAWN.Takeoff.Runway )

Spawn_Heli:SpawnAtAirbase( AIRBASE:FindByName( "FARP Air" ), SPAWN.Takeoff.Air )

 

Spawn_Heli:SpawnAtAirbase( AIRBASE:FindByName( "Carrier" ), SPAWN.Takeoff.Cold )

 

 

 

Here a high level overview of the changes:

 

  • MARKINGS: Added markings to the A2G tasking. Now a mark can be placed on the map where detected targets are located and includes target details. There is a new option added in "Join Task" menu that allows to automatically place a marker on the map. Note that the marker is done for the player group only, not for the whole coalition.
  • SETTINGS: The settings menu has been added with display times... Added new functions that allow to configure the display timings of messages. Not all messages that are generated by moose have been converted into this system, but i plan to gradually do this. There are basically 5 different message display types:
    • Update Messages: these provide a short info (like route info, status update info etc.). Important is that these kind of messages can be switched off!
    • Information Messages: these provide information to the pilot. Can't be switched off.
    • Briefing Reports: The briefing reports are typically to be displayed a bit longer.
    • Overview Reports: Reports that provide an overview. Can be displayed a bit longer than normal messages, but not too long. These reports may become large. So, they are not to be used for long-time displays. They are used to generate an "impression".
    • Detailed Reports: Reports that provide details of a subject. These also may need to be viewed longer, as they may contain important information.
      The SETTINGS menu has been added now with options to configure the display timings of these reports, both on a system level, as on a player level.

     

    [*] SPAWN: Updated SpawnAtAirbase() method to fix a couple of very hidden defects in the logic, and to ensure that spawning is now correctly done on airdromes, ships and farps...

 

 

Ensure you download and include the latest moose.lua from the MOOSE release page:

https://github.com/FlightControl-Master/MOOSE/releases

  • Like 1

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Hi thats awesome! Is there a functionality where you can, in addition to spawning planes at a designated airbase (like above), make them land at a designated airbase OnAfterRTB for example?

 

Hi 132nd,

 

http://flightcontrol-master.github.io/MOOSE/Documentation/Group.html##(GROUP).RouteRTB

 

But here are side effects. There is a BUG in dcs. It is impossible route an airplane to an airbase and make it land using (mission) tasking (using setTask API). When you try this, the airplane will fly to the airbase of your choice, but won't land and will fly back to its home base (from where it departed).

 

So I am respawing the airborne group and making a new route template from its current location that flies towards the base as the base of your choice. Then it will land...

 

The API is very easy to use, if you understand the potential side effects.

Please have a careful read through the documentation.

 

The API uses an AIRBASE object.

You create an AIRBASE object by finding the relevant airbase as was allocated in the mission editor or on the map. Airbases are Airdromes, ships, farps. You need to use the AIRBASE:FindByName() method to find the airbase from the MOOSE database. The AIRBASE:FindByName takes a string with the exact name of the airbase.

 

for example:

 

PlanesGroup:RouteRTB( AIRBASE:FindByName( "Batumi" ), 900 )

 

This makes the PlanesGroup fly back to the Batumi base at 900 km/h.

 

Pls don't ask how this was implemented, because it is complicated.

 

kind regards,

Sven

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Thank you for replying. Sry for delayed feedback. Being kinda busy.

Also too many mouse clicks/try and error editing lua scripts in DCS can sometimes be a PITA specially for newbies on this like me.

 

Hi.

 

First a couple of silly questions from me:

 

1. Does it help if you set the modulation before the frequency?

 

2. Can the frequency and modulation be varied in the Mission Editor and does it work then for AWACS? Try an example with a fixed frequency that works in the mission editor. Then try another.

Maybe not all frequencies work....

 

FC

 

This actually worked for AWACS ^^, but no luck with AFAC.

Those are the freqs we can set on the hog and they all work in the ME.

 

function SetTankersRadioFrequencies()

-- 116,151 AM 30,76 FM 225,399 UHF AM

-- Random freq for tanker texano
freq1 = math.random ( 225,397 )
Tanker1 = UNIT:FindByName("Texaco")
Tanker1Radio = Tanker1:GetRadio()
Tanker1Radio:SetModulation(radio.modulation.AM)
Tanker1Radio:SetFrequency(freq1)
OutFreq1 = 'Tanker Texano radio frequency is ' .. tostring(freq1) .. 'Mhz AM. TACAN channel 33Y.'

-- Random freq for tanker arco
freq2 = freq1 + 1
Tanker2 = UNIT:FindByName("Arco")
Tanker2Radio = Tanker2:GetRadio()
Tanker2Radio:SetModulation(radio.modulation.AM)
Tanker2Radio:SetFrequency(freq2)
OutFreq2 = 'Tanker Arco     radio frequency is ' .. tostring(freq2) .. 'Mhz AM. TACAN channel 31Y.'

-- Random freq for AWACS Overlord
freq3 = math.random ( 116,151 )
Tanker3 = UNIT:FindByName("AWACS")
Tanker3Radio = Tanker3:GetRadio()
Tanker3Radio:SetModulation(radio.modulation.AM)
Tanker3Radio:SetFrequency(freq3)
OutFreq3 = 'AWACS Overlord   radio frequency is ' .. tostring(freq3) .. 'Mhz AM.'

-- Random freq for AFAC Uzi	
--freq3 = math.random ( 30,76 )
freq4 = 43
Tanker4 = UNIT:FindByName("Reaper1")
Tanker4Radio = Tanker4:GetRadio()
Tanker4Radio:SetModulation(radio.modulation.FM)
Tanker4Radio:SetFrequency(freq4)
OutFreq4 = 'AFAC Uzi        radio frequency is ' .. tostring(freq4) .. 'Mhz FM.'

trigger.action.outText (OutFreq1 .. '\n' .. OutFreq2 .. '\n' .. OutFreq3 .. '\n' .. OutFreq4 ,60,false)
end

 

The issue might well be on my side. This is part of a bigger mission with a lot of objects and other scripts.

Anyway, i take this opportunity to congratulate you guys for this moose stuff. It really helps the design of random missions, witch makes me wonder how come we still don't have a full dynamic campaign with all this script tools (MIST and others) available.

 

Keep on like this.

 

:thumbup:

 

Edit : Found the bug.

 

Insted of :

Tanker4 = UNIT:FindByName("Reaper1")

 

Should be :

Tanker4=ReaperGroup1:GetUnit(1)

 

All good now.


Edited by Cyb0rg
update

[sIGPIC][/sIGPIC]

Asteroids

____________________________________________

Update this

 

:D
Link to comment
Share on other sites

I'm trying to get one aircraft to patrol shifting zones (as in Patrol mission example) but I want the aircraft to be Su-27 and it should engage enemy withing distance. Can't seem to get a spawned aircraft out of this, I'm blind :(

 

I'm editing your example Sven:

PatrolZoneGroup1 = GROUP:FindByName( "Patrol Zone 1" )
PatrolZone1 = ZONE_POLYGON:New( "Patrol Zone 1", PatrolZoneGroup1 )
PatrolZone1:SetEngageRange( 20000 ) -- Set the Engage Range to 20.000 meters. The AI won't engage when the enemy is beyond 20.000 meters.

PatrolZoneGroup2 = GROUP:FindByName( "Patrol Zone 2" )
PatrolZone2 = ZONE_POLYGON:New( "Patrol Zone 2", PatrolZoneGroup2 )
PatrolZone2:SetEngageRange( 20000 ) -- Set the Engage Range to 20.000 meters. The AI won't engage when the enemy is beyond 20.000 meters.

--PatrolGroup = GROUP:FindByName( "Patrol Group" )
PatrolSpawn = SPAWN:New( "Patrol Group" )
PatrolGroup = PatrolSpawn:Spawn()

Patrol1 = AI_PATROL_ZONE:New( PatrolZone1, 3000, 6000, 400, 600 )
Patrol1:ManageFuel( 0.2, 60 )
Patrol1:SetControllable( PatrolGroup )
Patrol1:__Start( 5 )

Patrol2 = AI_PATROL_ZONE:New( PatrolZone2, 600, 1000, 300, 400 )
Patrol2:ManageFuel( 0.2, 0 )

function Patrol1:OnLeaveRTB( AIGroup )
 AIGroup:MessageToRed( "Returning to base", 20 )
end 

function Patrol1:OnAfterRTB( AIGroup )
 local NewGroup = PatrolSpawn:Spawn()
 Patrol2:SetControllable( NewGroup )
 Patrol2:__Start( 1 )
end 

function Patrol1:OnEnterPatrol( AIGroup )
 AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone1:GetName() , 20 )
end 

function Patrol2:OnBeforeRTB( AIGroup )
 AIGroup:MessageToRed( "Returning to base", 20 )
end 

function Patrol2:OnEnterRTB( AIGroup )
 local NewGroup = PatrolSpawn:Spawn()
 Patrol1:SetControllable( NewGroup )
 Patrol1:__Start( 1 )
end 

function Patrol2:OnEnterPatrol( AIGroup )
 AIGroup:MessageToRed( "Patrolling in zone " .. PatrolZone2:GetName() , 20 )
end

Link to comment
Share on other sites

Trying to create a mission where you need to take over an airfield.

My thought was that when the base switches sides the enemy cap will no longer spawn and the friendly cap will start spawn instead. But it seems like the blue cap will spawn, even if the base belongs to red. Is the side not controlled by the script? Im sure you can script it, but i dont know how.

 

red cap
RED_A2A_GCICAP:SetSquadron("Kobuleti_cap", "Kobuleti", "mig29cap", 16)
RED_A2A_GCICAP:SetSquadronGci( "Kobuleti_cap", 900, 1200  )
RED_A2A_GCICAP:SetSquadronCap( "Kobuleti_cap", ZONE:New( "Kobuleti_cap_zone" ), 4000, 10000, 700, 900, 800, 1100 )
RED_A2A_GCICAP:SetSquadronCapInterval( "Kobuleti_cap", 2, 30, 60, 1 )
RED_A2A_GCICAP:SetSquadronOverhead( "Kobuleti_cap", 1.5 )
RED_A2A_GCICAP:SetSquadronGrouping( "Kobuleti_cap", 2 )
RED_A2A_GCICAP:SetSquadronTakeoffFromRunway( "Kobuleti_cap" )
RED_A2A_GCICAP:SetSquadronLandingAtRunway("Kobuleti_cap")
blue cap
BLUE_A2A_GCICAP:SetSquadron("Kobuleti_cap_blue", "Kobuleti", "f16cap", 40)
BLUE_A2A_GCICAP:SetSquadronGci( "Kobuleti_cap_blue", 900, 1200  )
BLUE_A2A_GCICAP:SetSquadronCap( "Kobuleti_cap_blue", ZONE:New( "Kobuleti_cap_zone" ), 4000, 10000, 700, 900, 800, 1100 )
BLUE_A2A_GCICAP:SetSquadronCapInterval( "Kobuleti_cap_blue", 2, 30, 60, 1 )
BLUE_A2A_GCICAP:SetSquadronOverhead( "Kobuleti_cap_blue", 1.5 )
BLUE_A2A_GCICAP:SetSquadronGrouping( "Kobuleti_cap_blue", 2 )
BLUE_A2A_GCICAP:SetSquadronTakeoffFromRunway( "Kobuleti_cap_blue" )
BLUE_A2A_GCICAP:SetSquadronLandingAtRunway("Kobuleti_cap_blue")

[sIGPIC][/sIGPIC]

 

We are looking for Swedish members!

http://www.masterarms.se

Link to comment
Share on other sites

Trying to create a mission where you need to take over an airfield.

My thought was that when the base switches sides the enemy cap will no longer spawn and the friendly cap will start spawn instead. But it seems like the blue cap will spawn, even if the base belongs to red. Is the side not controlled by the script? Im sure you can script it, but i dont know how.

 

It is raining requirements lol :))))

 

No, airbase takeover is not yet implemented.

But it can be done. Question is, what is the process that needs to be put in place.

 

I wanna make this part of the finite state machine, so that upon airbase takeover,

An event is fired that you can catch and do your own processing...

 

For those who don't know what a fine state machine is....

AI_A2A_DISPATCHER is a fine state machine....

 

S0d0dpyeaWs

 

So after watching this video, think of the possibilities...

 

What would be the process a player would expect to happen?

Like resources of airbase change coalition?

 

And what possible extensions could be implemented.

I mean, what other processes could happen upon airbase takeover?

 

FC

  • Like 1

[TABLE][sIGPIC][/sIGPIC]|

[/TABLE]

Link to comment
Share on other sites

Will moose allow respawning of player groups in single player? I'm trying to create a dogfight module similar to BMS where player and target both respawn after one is killed. I think using a group:destroy and going through the crash recovery menu will work, but I'm looking for a way to autospawn the player to make it less clunky. A twist that may complicate this: Id like to be able to make multiple playable clients and have it automatically respawn you in the client you chose at the start.

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