mirror of
https://github.com/FlightControl-Master/MOOSE_MISSIONS.git
synced 2026-08-23 02:08:06 +00:00
Restructuring of folder tree
This commit is contained in:
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
-- Name: AID-CGO-100 - APC - Pickup and Deploy
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+17
@@ -0,0 +1,17 @@
|
||||
---
|
||||
-- Name: AID-CGO-110 - APC - Deploy at Group Zones
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
local ZoneGroup = GROUP:FindByName( "Deploy Group")
|
||||
local DeployZone = ZONE_GROUP:New( "Deploy Group", ZoneGroup, 200 )
|
||||
|
||||
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
-- Name: AID-CGO-100 - APC - Pickup and Deploy
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+172
@@ -0,0 +1,172 @@
|
||||
---
|
||||
-- Name: AID-CGO-100 - APC - Pickup and Deploy
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetPickupZones = SET_ZONE:New():FilterPrefixes( "Pickup" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, SetPickupZones, SetDeployZones )
|
||||
AICargoDispatcherAPC:SetHomeZone( ZONE:New("Home") )
|
||||
|
||||
--- Pickup Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed towards a new pickup Coordinate and a specified Speed.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The coordinate of the pickup location.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the pickup Coordinate.
|
||||
-- @param #number Height Height in meters to move to the pickup coordinate.
|
||||
-- @param Core.Zone#ZONE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAPC:OnAfterPickup( From, Event, To, CarrierGroup, Coordinate, Speed, Height, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is picking up cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Load Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup has initiated the loading or boarding of cargo within reporting or near range.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAPC:OnAfterLoad( From, Event, To, CarrierGroup, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is loading cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
--- PickedUp Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a carrier has picked up all cargo objects into the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAPC:OnAfterPickedUp( From, Event, To, CarrierGroup, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " has loaded all cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deploy Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed to a deploy coordinate, to Unload all cargo objects in each CarrierUnit.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterDeploy
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The deploy coordinate.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the deploy Coordinate.
|
||||
-- @param #number Height Height in meters to move to the deploy coordinate.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAPC:OnAfterDeploy( From, Event, To, CarrierGroup, Coordinate, Speed, Height, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is starting deployment of all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--- Unloaded Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has unloaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were unloading or unboarding from the CarrierUnit, then this event can be fired multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @function OnAfterUnloaded
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo unloading operation.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAPC:OnAfterUnloaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, DeployZone )
|
||||
|
||||
local CargoGroup = Cargo:GetObject() -- Wrapper.Group#GROUP
|
||||
|
||||
-- Get the name of the DeployZone
|
||||
local DeployZoneName = DeployZone:GetName()
|
||||
|
||||
local DeployBuildingNames = {
|
||||
["Deploy A"] = "Building A",
|
||||
}
|
||||
|
||||
|
||||
-- Now board the infantry into the respective warehouse building.
|
||||
if DeployZoneName then
|
||||
local Building = STATIC:FindByName( DeployBuildingNames[DeployZoneName] )
|
||||
Cargo:__Board( 5, Building, 25 )
|
||||
end
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. ", Unit " .. CarrierUnit:GetName() .. " has unloaded cargo " .. Cargo:GetName() .. " in zone " .. DeployZone:GetName() .. " and cargo is moving to building " .. DeployBuildingNames[DeployZoneName], MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deployed Handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a carrier has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterDeployed
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAPC:OnAfterDeployed( From, Event, To, CarrierGroup, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Home event handler OnAfter for AICargoDispatcherAPC.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is returning to the HomeZone, after it has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- If there is no HomeZone is specified, the CarrierGroup will stay at the current location after having deployed all cargo.
|
||||
-- @param #AICargoDispatcherAPC self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The home coordinate the Carrier will arrive and stop it's activities.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the home Coordinate.
|
||||
-- @param #number Height Height in meters to move to the home coordinate.
|
||||
-- @param Core.Zone#ZONE HomeZone The zone wherein the carrier will return when all cargo has been transported. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAPC:OnAfterHome( From, Event, To, CarrierGroup, Coordinate, Speed, Height, HomeZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo and going home to zone " .. HomeZone:GetName(), MESSAGE.Type.Detailed ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
-- Name: AID-CGO-150 - APC - Manpads against enemy helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 17 May 2018
|
||||
--
|
||||
-- This simulates manpads to fight against enemy helicpters.
|
||||
-- So when the enemy helicopters are within combat range, the manpads will unload and will attack the helos.
|
||||
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
local ZoneGroup = GROUP:FindByName( "Deploy Group")
|
||||
local DeployZone = ZONE_GROUP:New( "Deploy Group", ZoneGroup, 200 )
|
||||
|
||||
|
||||
-- For the manpads to unload on time, a range of 8000 meters is appropriate.
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones, 8000 )
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+26
@@ -0,0 +1,26 @@
|
||||
---
|
||||
-- Name: AID-CGO-151 - APC - Manpads and not defending the carrier
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 08 Sep 2018
|
||||
--
|
||||
-- This simulates manpads to board APCs and won't disembark to defend the enemy carrier when enemies are nearby..
|
||||
-- So when the enemy helicopters are within combat range, the manpads will NOT unload and will NOT attack the helos.
|
||||
-- This is because the combat range was not provided, and thus is 0.
|
||||
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
local ZoneGroup = GROUP:FindByName( "Deploy Group")
|
||||
local DeployZone = ZONE_GROUP:New( "Deploy Group", ZoneGroup, 200 )
|
||||
|
||||
|
||||
-- For the manpads to unload on time, a range of 8000 meters is appropriate.
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones )
|
||||
|
||||
-- This will work too, so the combat range can be provided, but must be 0.
|
||||
--AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones, 0 )
|
||||
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+28
@@ -0,0 +1,28 @@
|
||||
---
|
||||
-- Name: AID-CGO-152 - APC - Defending the carrier
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 18 Oct 2018
|
||||
--
|
||||
-- This simulates infantry to board APCs and will disembark to defend the enemy carrier when enemies are nearby..
|
||||
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
local ZoneGroup = GROUP:FindByName( "Deploy Group")
|
||||
local DeployZone = ZONE_GROUP:New( "Deploy Group", ZoneGroup, 200 )
|
||||
|
||||
|
||||
-- For the manpads to unload on time, a range of 8000 meters is appropriate.
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones, 800 )
|
||||
|
||||
-- This will work too, so the combat range can be provided, but must be 0.
|
||||
--AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones, 0 )
|
||||
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
Sound = USERSOUND:New( "Sounds/BOS05ej9982.ogg" )
|
||||
|
||||
Sound:ToAll()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+43
@@ -0,0 +1,43 @@
|
||||
---
|
||||
-- Name: AID-CGO-160 - APC - Spawning of cargo objects
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 11 Sep 2018
|
||||
--
|
||||
-- In this demo cargo objects are spawned at random locations within the battle field.
|
||||
--
|
||||
-- This simulates manpads to board APCs and won't disembark to defend the enemy carrier when enemies are nearby..
|
||||
-- So when the enemy helicopters are within combat range, the manpads will NOT unload and will NOT attack the helos.
|
||||
-- This is because the combat range was not provided, and thus is 0.
|
||||
|
||||
|
||||
-- Spawn some random cargo in a zone.
|
||||
|
||||
SpawnInfantry = SPAWN:New( "Infantry" )
|
||||
:InitLimit( 30, 100 )
|
||||
:InitRandomizePosition(true,500,100)
|
||||
:InitRandomizeZones( { ZONE:New( "SpawnZone" ) } )
|
||||
:OnSpawnGroup(
|
||||
function( SpawnGroup )
|
||||
CARGO_GROUP:New(SpawnGroup,"InfantryType",SpawnGroup:GetName(),150,10)
|
||||
end
|
||||
)
|
||||
:SpawnScheduled( 30, 0 )
|
||||
|
||||
|
||||
local CargoInfantrySet = SET_CARGO:New():FilterTypes( "InfantryType" ):FilterStart()
|
||||
local SetAPC = SET_GROUP:New():FilterPrefixes( "APC" ):FilterStart()
|
||||
local PickupZonesSet = SET_ZONE:New():FilterPrefixes( "Spawn" ):FilterOnce()
|
||||
local DeployZonesSet = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterOnce()
|
||||
|
||||
-- For the manpads to unload on time, a range of 8000 meters is appropriate.
|
||||
AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, CargoInfantrySet, PickupZonesSet, DeployZonesSet )
|
||||
|
||||
-- This will work too, so the combat range can be provided, but must be 0.
|
||||
--AICargoDispatcherAPC = AI_CARGO_DISPATCHER_APC:New( SetAPC, SetCargoInfantry, nil, SetDeployZones, 0 )
|
||||
|
||||
-- Now also make the carriers spawn in.
|
||||
CarrierSpawn = SPAWN:New( "APC" ):InitLimit( 10, 10 ):InitRandomizePosition( true, 200, 50 ):SpawnScheduled( 10, 0 )
|
||||
|
||||
|
||||
AICargoDispatcherAPC:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+17
@@ -0,0 +1,17 @@
|
||||
---
|
||||
-- Name: AID-CGO-300 - Airplane - Pickup and Deploy
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Aug 2018
|
||||
--
|
||||
|
||||
local CargoInfantrySet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local AirplanesSet = SET_GROUP:New():FilterPrefixes( "Airplane" ):FilterStart()
|
||||
local PickupZoneSet = SET_ZONE:New()
|
||||
local DeployZoneSet = SET_ZONE:New()
|
||||
|
||||
PickupZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Gudauta ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Sochi_Adler ) )
|
||||
|
||||
AICargoDispatcherAirplanes = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplanesSet, CargoInfantrySet, PickupZoneSet, DeployZoneSet )
|
||||
AICargoDispatcherAirplanes:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+21
@@ -0,0 +1,21 @@
|
||||
---
|
||||
-- Name: AID-CGO-310 - Airplane - Pickup and Deploy Multiple
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 03 Aug 2018
|
||||
--
|
||||
|
||||
local CargoInfantrySet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local AirplanesSet = SET_GROUP:New():FilterPrefixes( "Airplane" ):FilterStart()
|
||||
local PickupZoneSet = SET_ZONE:New()
|
||||
local DeployZoneSet = SET_ZONE:New()
|
||||
|
||||
PickupZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Gudauta ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Sochi_Adler ) )
|
||||
|
||||
AICargoDispatcherAirplanes = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplanesSet, CargoInfantrySet, PickupZoneSet, DeployZoneSet )
|
||||
AICargoDispatcherAirplanes:Start()
|
||||
|
||||
for CargoName, Cargo in pairs( CargoInfantrySet:GetSet() ) do
|
||||
AICargoDispatcherAirplanes:I( { Cargo = Cargo:GetName() } )
|
||||
end
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+153
@@ -0,0 +1,153 @@
|
||||
---
|
||||
-- Name: AID-CGO-340 - Airplane - Event Handling
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 02 Aug 2018
|
||||
--
|
||||
|
||||
local CargoInfantrySet = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local AirplanesSet = SET_GROUP:New():FilterPrefixes( "Airplane" ):FilterStart()
|
||||
local PickupZoneSet = SET_ZONE:New()
|
||||
local DeployZoneSet = SET_ZONE:New()
|
||||
|
||||
PickupZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Gudauta ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Sochi_Adler ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Maykop_Khanskaya ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Mineralnye_Vody ) )
|
||||
DeployZoneSet:AddZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Vaziani ) )
|
||||
|
||||
AICargoDispatcherAirplanes = AI_CARGO_DISPATCHER_AIRPLANE:New( AirplanesSet, CargoInfantrySet, PickupZoneSet, DeployZoneSet )
|
||||
AICargoDispatcherAirplanes:SetHomeZone( ZONE_AIRBASE:New( AIRBASE.Caucasus.Kobuleti ) )
|
||||
|
||||
--- Pickup Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed towards a new pickup Coordinate and a specified Speed.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The coordinate of the pickup location.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the pickup Coordinate.
|
||||
-- @param #number Height Height in meters to move to the pickup coordinate.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAirplanes:OnAfterPickup( From, Event, To, CarrierGroup, Coordinate, Speed, Height, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is picking up cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Load Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup has initiated the loading or boarding of cargo within reporting or near range.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAirplanes:OnAfterLoad( From, Event, To, CarrierGroup, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is loading cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
--- PickedUp Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- Use this event handler to tailor the event when a carrier has picked up all cargo objects into the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherAirplanes:OnAfterPickedUp( From, Event, To, CarrierGroup, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " has loaded all cargo at airbase " .. PickupZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deploy Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed to a deploy coordinate, to Unload all cargo objects in each CarrierUnit.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterDeploy
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The deploy coordinate.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the deploy Coordinate.
|
||||
-- @param #number Height Height in meters to move to the deploy coordinate.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAirplanes:OnAfterDeploy( From, Event, To, CarrierGroup, Coordinate, Speed, Height, DeployZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is starting deployment of all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Unloaded Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has unloaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were unloading or unboarding from the CarrierUnit, then this event can be fired multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @function OnAfterUnloaded
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo unloading operation.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAirplanes:OnAfterUnloaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, DeployZone )
|
||||
|
||||
-- Write here your own code.
|
||||
local CargoGroup = Cargo:GetObject() -- Wrapper.Group#GROUP
|
||||
|
||||
-- Get the name of the DeployZone
|
||||
local DeployZoneName = DeployZone:GetName()
|
||||
|
||||
local DeployBuildingNames = {
|
||||
["Deploy A"] = "Building A",
|
||||
}
|
||||
|
||||
|
||||
-- Now board the infantry into the respective warehouse building.
|
||||
if DeployZoneName then
|
||||
local Building = STATIC:FindByName( DeployBuildingNames[DeployZoneName] )
|
||||
Cargo:__Board( 5, Building, 25 )
|
||||
end
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. ", Unit " .. CarrierUnit:GetName() .. " has unloaded cargo " .. Cargo:GetName() .. " in zone " .. DeployZone:GetName() .. " and cargo is moving to building " .. DeployBuildingNames[DeployZoneName], MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deployed Handler OnAfter for AICargoDispatcherAirplanes.
|
||||
-- @function OnAfterDeployed
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherAirplanes:OnAfterDeployed( From, Event, To, CarrierGroup, DeployZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
AICargoDispatcherAirplanes:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
-- Name: AID-CGO-200 - Helicopter - Pickup and Deploy
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+14
@@ -0,0 +1,14 @@
|
||||
---
|
||||
-- Name: AID-CGO-201 - Helicopter - DeployZone Orbit
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+18
@@ -0,0 +1,18 @@
|
||||
---
|
||||
-- Name: AID-CGO-202 - Helicopter - Spawning of Helicopters
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 19 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
HelicopterSpawn = SPAWN
|
||||
:New( "Helicopter" )
|
||||
:InitLimit( 4, 20 )
|
||||
:InitLateActivated( true )
|
||||
:SpawnScheduled( 20, 0.5 )
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+30
@@ -0,0 +1,30 @@
|
||||
---
|
||||
-- Name: AID-CGO-203 - Helicopter - Spawning of Infantry
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 19 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
HelicopterSpawn = SPAWN
|
||||
:New( "Helicopter" )
|
||||
:InitLimit( 4, 20 )
|
||||
:InitLateActivated( true )
|
||||
:SpawnScheduled( 20, 0.5 )
|
||||
|
||||
InfantrySpawn = SPAWN
|
||||
:New( "Infantry" )
|
||||
:InitLimit( 20, 60 )
|
||||
:OnSpawnGroup(
|
||||
function( SpawnGroup )
|
||||
CARGO_GROUP:New( SpawnGroup, "Infantry", SpawnGroup:GetName(), 500, 25 )
|
||||
end
|
||||
)
|
||||
:InitRandomizePosition( true, 1000, 250 )
|
||||
:SpawnScheduled( 10, 0.5 )
|
||||
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+13
@@ -0,0 +1,13 @@
|
||||
---
|
||||
-- Name: AID-CGO-210 - Helicopter - Home
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+16
@@ -0,0 +1,16 @@
|
||||
---
|
||||
-- Name: AID-CGO-220 - Helicopter - Randomize Coordinates
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 10 May 2018
|
||||
--
|
||||
-- Demonstrates the way how the pickup and deploy locations can be randomized.
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
AICargoDispatcherHelicopter:SetPickupRadius( 100, 50 )
|
||||
AICargoDispatcherHelicopter:SetDeployRadius( 100, 50 )
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+18
@@ -0,0 +1,18 @@
|
||||
---
|
||||
-- Name: AID-CGO-230 - Helicopter - DeployZone Probability
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 May 2018
|
||||
--
|
||||
-- Demonstrates the way how the deploy locations can be set to a specific probability distribution.
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, nil, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) )
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
|
||||
SetDeployZones:SetZoneProbability( "Deploy A", 0.1 )
|
||||
SetDeployZones:SetZoneProbability( "Deploy B", 0.1 )
|
||||
SetDeployZones:SetZoneProbability( "Deploy C", 0.8 )
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+176
@@ -0,0 +1,176 @@
|
||||
---
|
||||
-- Name: AID-CGO-240 - Helicopter - Unloaded Event Handling
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 15 May 2018
|
||||
--
|
||||
-- Demonstrates the way how the deploy locations can be set to a specific probability distribution.
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetPickupZones = SET_ZONE:New():FilterPrefixes( "Pickup" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Deploy" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) )
|
||||
|
||||
|
||||
|
||||
--- Pickup Handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed towards a new pickup Coordinate and a specified Speed.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The coordinate of the pickup location.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the pickup Coordinate.
|
||||
-- @param #number Height Height in meters to move to the pickup coordinate.
|
||||
function AICargoDispatcherHelicopter:OnAfterPickup( From, Event, To, CarrierGroup, Coordinate, Speed, Height )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is picking up cargo.", MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Load Handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup has initiated the loading or boarding of cargo within reporting or near range.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
function AICargoDispatcherHelicopter:OnAfterLoad( From, Event, To, CarrierGroup )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is loading cargo.", MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Loaded event handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has loaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were loading or boarding into the CarrierUnit, then this event can be triggered multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo loading operation.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherHelicopter:OnAfterLoaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " has loaded cargo " .. Cargo:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
--- Deploy Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed to a deploy coordinate, to Unload all cargo objects in each CarrierUnit.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterPickedUp
|
||||
-- @param self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The deploy coordinate.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the deploy Coordinate.
|
||||
-- @param #number Height Height in meters to move to the deploy coordinate.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterDeploy( From, Event, To, CarrierGroup, Coordinate, Speed, Height, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is starting deployment of all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--- Unloaded Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has unloaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were unloading or unboarding from the CarrierUnit, then this event can be fired multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @function OnAfterUnloaded
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo unloading operation.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterUnloaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, DeployZone )
|
||||
|
||||
local CargoGroup = Cargo:GetObject() -- Wrapper.Group#GROUP
|
||||
|
||||
-- Get the name of the DeployZone
|
||||
local DeployZoneName = DeployZone:GetName()
|
||||
|
||||
local DeployBuildingNames = {
|
||||
["Deploy A"] = "Building A",
|
||||
["Deploy B"] = "Building B",
|
||||
["Deploy C"] = "Building C",
|
||||
}
|
||||
|
||||
|
||||
-- Now board the infantry into the respective warehouse building.
|
||||
if DeployZoneName then
|
||||
local Building = STATIC:FindByName( DeployBuildingNames[DeployZoneName] )
|
||||
Cargo:__Board( 5, Building, 25 )
|
||||
end
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. ", Unit " .. CarrierUnit:GetName() .. " has unloaded cargo " .. Cargo:GetName() .. " in zone " .. DeployZone:GetName() .. " and cargo is moving to building " .. DeployBuildingNames[DeployZoneName], MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deployed Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a carrier has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterDeployed
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterDeployed( From, Event, To, CarrierGroup, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Home event handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is returning to the HomeZone, after it has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- If there is no HomeZone is specified, the CarrierGroup will stay at the current location after having deployed all cargo.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The home coordinate the Carrier will arrive and stop it's activities.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the home Coordinate.
|
||||
-- @param #number Height Height in meters to move to the home coordinate.
|
||||
-- @param Core.Zone#ZONE HomeZone The zone wherein the carrier will return when all cargo has been transported. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterHome( From, Event, To, CarrierGroup, Coordinate, Speed, Height, HomeZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo and going home to zone " .. HomeZone:GetName(), MESSAGE.Type.Detailed ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
AICargoDispatcherHelicopter:Start()
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
+206
@@ -0,0 +1,206 @@
|
||||
---
|
||||
-- Name: AID-CGO-250 - Helicopter - Front-Line Enforcements
|
||||
-- Author: FlightControl
|
||||
-- Date Created: 20 Sep 2018
|
||||
--
|
||||
-- Demonstrates the way how front-line enforcements can be setup using helicopter transportations.
|
||||
|
||||
local SetCargoInfantry = SET_CARGO:New():FilterTypes( "Infantry" ):FilterStart()
|
||||
local SetHelicopter = SET_GROUP:New():FilterPrefixes( "Helicopter" ):FilterStart()
|
||||
local SetPickupZones = SET_ZONE:New():FilterPrefixes( "Pickup" ):FilterStart()
|
||||
local SetDeployZones = SET_ZONE:New():FilterPrefixes( "Defense" ):FilterStart()
|
||||
|
||||
AICargoDispatcherHelicopter = AI_CARGO_DISPATCHER_HELICOPTER:New( SetHelicopter, SetCargoInfantry, SetPickupZones, SetDeployZones )
|
||||
AICargoDispatcherHelicopter:SetHomeZone( ZONE:FindByName( "Home" ) )
|
||||
|
||||
|
||||
-- Here we setup the spawning of Infantry.
|
||||
SpawnCargoInfantry = SPAWN
|
||||
:New( "Infantry" )
|
||||
:InitLimit( 40, 60 )
|
||||
:InitRandomizeZones( { ZONE_POLYGON:NewFromGroupName( "Pickup Location" ) } )
|
||||
:OnSpawnGroup(
|
||||
function( SpawnGroup )
|
||||
-- This will automatically add also the CargoInfantry object to the SetCargoInfantry (in the background through the event system).
|
||||
local CargoInfantry = CARGO_GROUP:New( SpawnGroup, "Infantry", SpawnGroup:GetName(), 150 )
|
||||
end
|
||||
)
|
||||
:SpawnScheduled( 60, 0.5 )
|
||||
|
||||
-- Now we create 4 zones based on GROUP objects within the battlefield, which form the front line defense points.
|
||||
local ZoneDefense1 = ZONE_GROUP:New( "Defense 1", GROUP:FindByName("Defense #001"), 1500 )
|
||||
local ZoneDefense2 = ZONE_GROUP:New( "Defense 2", GROUP:FindByName("Defense #002"), 1500 )
|
||||
local ZoneDefense3 = ZONE_GROUP:New( "Defense 3", GROUP:FindByName("Defense #003"), 1500 )
|
||||
local ZoneDefense4 = ZONE_GROUP:New( "Defense 4", GROUP:FindByName("Defense #004"), 1500 )
|
||||
|
||||
|
||||
-- Here we setup the spawning of Helicopters.
|
||||
|
||||
|
||||
|
||||
--- Pickup Handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed towards a new pickup Coordinate and a specified Speed.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherAirplanes self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The coordinate of the pickup location.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the pickup Coordinate.
|
||||
-- @param #number Height Height in meters to move to the pickup coordinate.
|
||||
function AICargoDispatcherHelicopter:OnAfterPickup( From, Event, To, CarrierGroup, Coordinate, Speed, Height )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is picking up cargo.", MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Load Handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup has initiated the loading or boarding of cargo within reporting or near range.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
function AICargoDispatcherHelicopter:OnAfterLoad( From, Event, To, CarrierGroup )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is loading cargo.", MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Loaded event handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has loaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were loading or boarding into the CarrierUnit, then this event can be triggered multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo loading operation.
|
||||
-- @param Core.Zone#ZONE_AIRBASE PickupZone (optional) The zone from where the cargo is picked up. Note that the zone is optional and may not be provided, but for AI_CARGO_DISPATCHER_AIRBASE there will always be a PickupZone, as the pickup location is an airbase zone.
|
||||
function AICargoDispatcherHelicopter:OnAfterLoaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, PickupZone )
|
||||
|
||||
-- Write here your own code.
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " has loaded cargo " .. Cargo:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
--- Deploy Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is routed to a deploy coordinate, to Unload all cargo objects in each CarrierUnit.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterPickedUp
|
||||
-- @param self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The deploy coordinate.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the deploy Coordinate.
|
||||
-- @param #number Height Height in meters to move to the deploy coordinate.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterDeploy( From, Event, To, CarrierGroup, Coordinate, Speed, Height, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName().. " is starting deployment of all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--- Unloaded Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a CarrierUnit of a CarrierGroup has unloaded a cargo object.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- Note that if more cargo objects were unloading or unboarding from the CarrierUnit, then this event can be fired multiple times for each different Cargo/CarrierUnit.
|
||||
-- A CarrierUnit can be part of the larger CarrierGroup.
|
||||
-- @function OnAfterUnloaded
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Cargo.Cargo#CARGO Cargo The cargo object.
|
||||
-- @param Wrapper.Unit#UNIT CarrierUnit The carrier unit that is executing the cargo unloading operation.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterUnloaded( From, Event, To, CarrierGroup, Cargo, CarrierUnit, DeployZone )
|
||||
|
||||
local CargoGroup = Cargo:GetObject() -- Wrapper.Group#GROUP
|
||||
|
||||
-- Get the name of the DeployZone
|
||||
local DeployZoneName = DeployZone:GetName()
|
||||
|
||||
local DeployBuildingNames = {
|
||||
["Deploy A"] = "Building A",
|
||||
["Deploy B"] = "Building B",
|
||||
["Deploy C"] = "Building C",
|
||||
}
|
||||
|
||||
|
||||
-- Now board the infantry into the respective warehouse building.
|
||||
if DeployZoneName then
|
||||
local Building = STATIC:FindByName( DeployBuildingNames[DeployZoneName] )
|
||||
Cargo:__Board( 5, Building, 25 )
|
||||
end
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. ", Unit " .. CarrierUnit:GetName() .. " has unloaded cargo " .. Cargo:GetName() .. " in zone " .. DeployZone:GetName() .. " and cargo is moving to building " .. DeployBuildingNames[DeployZoneName], MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Deployed Handler OnAfter for AI_CARGO_DISPATCHER.
|
||||
-- Use this event handler to tailor the event when a carrier has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- @function OnAfterDeployed
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was fired.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was fired.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was fired.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Zone#ZONE DeployZone The zone wherein the cargo is deployed. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterDeployed( From, Event, To, CarrierGroup, DeployZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo in zone " .. DeployZone:GetName(), MESSAGE.Type.Information ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
--- Home event handler OnAfter for AICargoDispatcherHelicopter.
|
||||
-- Use this event handler to tailor the event when a CarrierGroup is returning to the HomeZone, after it has deployed all cargo objects from the CarrierGroup.
|
||||
-- You can use this event handler to post messages to players, or provide status updates etc.
|
||||
-- If there is no HomeZone is specified, the CarrierGroup will stay at the current location after having deployed all cargo.
|
||||
-- @param #AICargoDispatcherHelicopter self
|
||||
-- @param #string From A string that contains the "*from state name*" when the event was triggered.
|
||||
-- @param #string Event A string that contains the "*event name*" when the event was triggered.
|
||||
-- @param #string To A string that contains the "*to state name*" when the event was triggered.
|
||||
-- @param Wrapper.Group#GROUP CarrierGroup The group object that contains the CarrierUnits.
|
||||
-- @param Core.Point#COORDINATE Coordinate The home coordinate the Carrier will arrive and stop it's activities.
|
||||
-- @param #number Speed The velocity in meters per second on which the CarrierGroup is routed towards the home Coordinate.
|
||||
-- @param #number Height Height in meters to move to the home coordinate.
|
||||
-- @param Core.Zone#ZONE HomeZone The zone wherein the carrier will return when all cargo has been transported. This can be any zone type, like a ZONE, ZONE_GROUP, ZONE_AIRBASE.
|
||||
function AICargoDispatcherHelicopter:OnAfterHome( From, Event, To, CarrierGroup, Coordinate, Speed, Height, HomeZone )
|
||||
|
||||
MESSAGE:NewType( "Group " .. CarrierGroup:GetName() .. " deployed all cargo and going home to zone " .. HomeZone:GetName(), MESSAGE.Type.Detailed ):ToAll()
|
||||
|
||||
end
|
||||
|
||||
|
||||
AICargoDispatcherHelicopter:SetPickupRadius( 30, 10 )
|
||||
AICargoDispatcherHelicopter:SetDeployRadius( 200, 100 )
|
||||
AICargoDispatcherHelicopter:SetPickupSpeed( 300, 200 )
|
||||
AICargoDispatcherHelicopter:SetDeploySpeed( 300, 200 )
|
||||
AICargoDispatcherHelicopter:SetPickupHeight( 100, 30 )
|
||||
AICargoDispatcherHelicopter:SetDeployHeight( 100, 30 )
|
||||
|
||||
AICargoDispatcherHelicopter:ScheduleOnce( 10, AICargoDispatcherHelicopter.Start, AICargoDispatcherHelicopter )
|
||||
BIN
Binary file not shown.
+121488
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user