mirror of
https://github.com/FlightControl-Master/MOOSE_Demos.git
synced 2025-08-15 10:37:47 +00:00
67 lines
2.5 KiB
Lua
67 lines
2.5 KiB
Lua
---
|
|
-- Author: kaltokri
|
|
-- Created: 16.03.2024
|
|
-- Contributors: -
|
|
-- Modified: -
|
|
--
|
|
-- # Documentation:
|
|
-- https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/Core.Menu.html
|
|
--
|
|
-- # Description:
|
|
--
|
|
-- Very simple example of the MENU_GROUP.
|
|
-- We added two planes and give them different menu entries.
|
|
-- We need a timer to check regularly if someone entered the plane.
|
|
--
|
|
-- # Guide:
|
|
--
|
|
-- 1. Start the mission.
|
|
-- 2. Enter as Plane-1.
|
|
-- 3. Wait for "loaded successfully" message and then 5 seconds more.
|
|
-- 4. Open menu by pressing #
|
|
-- 5. Choose F11. Parent Menu
|
|
-- 6. Choose F10. Other...
|
|
-- 7. Select F2. Menu for Plane-1...
|
|
-- 8. Select F1. Accept CAS mission and see the message.
|
|
-- 9. Switch to Plane-2 and wait 5 seconds.
|
|
-- 10. Open menu by pressing #
|
|
-- 11. Choose F11. Parent Menu
|
|
-- 12. Choose F10. Other...
|
|
-- 13. Select F2. Menu for Plane-2...
|
|
-- 12. Select F1. Accept BAI mission and see the message.
|
|
|
|
|
|
-- Example function
|
|
local function PrintTheTextToBlue( text )
|
|
MESSAGE:New( text, 25, "INFO" ):ToBlue()
|
|
end
|
|
|
|
-- Start a scheduler after a delay of 5 seconds and repeat it's execution very 5 seconds
|
|
SCHEDULER:New( nil,
|
|
function()
|
|
-- Find both groups and save them in an object
|
|
local PlaneGroup1 = GROUP:FindByName( "Plane-1" )
|
|
local PlaneGroup2 = GROUP:FindByName( "Plane-2" )
|
|
|
|
-- Add menu for the first group
|
|
if PlaneGroup1 and PlaneGroup1:IsAlive() then
|
|
local MenuGroup1 = MENU_GROUP:New( PlaneGroup1, "Menu for Plane-1" )
|
|
MENU_GROUP_COMMAND:New( PlaneGroup1, "Accept CAS mission", MenuGroup1, PrintTheTextToBlue, "Plane-1 accepts the CAS mission" )
|
|
MESSAGE:New( "Menu added to Group1.", 1, "INFO" ):ToLog()
|
|
else
|
|
MESSAGE:New( "Group1 is not available.", 1, "INFO" ):ToLog()
|
|
end
|
|
|
|
-- Add menu for the second group
|
|
if PlaneGroup2 and PlaneGroup2:IsAlive() then
|
|
local MenuGroup2 = MENU_GROUP:New( PlaneGroup2, "Menu for Plane-2" )
|
|
MENU_GROUP_COMMAND:New( PlaneGroup2, "Accept BAI mission", MenuGroup2, PrintTheTextToBlue, "Plane-2 accepts the BAI mission" )
|
|
MESSAGE:New( "Menu added to Group2.", 1, "INFO" ):ToLog()
|
|
else
|
|
MESSAGE:New( "Group2 is not available.", 1, "INFO" ):ToLog()
|
|
end
|
|
end, {}, 5, 5 )
|
|
|
|
MESSAGE:New( "Mission script loaded successfully", 25, "INFO" ):ToAll():ToLog()
|
|
MESSAGE:New( "The script will check every 5 seconds if group is available and add the menu.", 25, "INFO" ):ToAll():ToLog()
|