-
Notifications
You must be signed in to change notification settings - Fork 0
/
lua.json
4 lines (4 loc) · 3.57 KB
/
lua.json
1
2
3
4
{
"version": "1.0",
"lua": "function default(basicParams, additionalParams, actualThresholds)\r\n\r\nlocal fpm_in = basicParams[\"landingRate\"]\r\nlocal fpm = -tonumber(fpm_in)\r\nprint(\"lua: \" .. actualThresholds[\"SMOOTH\"] .. \" \" .. actualThresholds[\"STANDARD\"] .. \" \" .. actualThresholds[\"FIRM\"] .. \" \" .. actualThresholds[\"HARD\"] .. \" \" .. fpm_in .. \" \" .. fpm)\r\n\r\nif fpm <= actualThresholds[\"SMOOTH\"] then\r\nreturn [[\r\n{ \"title\": \"Smooth Landing\",\r\n\"content\": \"\"\r\n}\r\n]]\r\nelseif fpm <= actualThresholds[\"STANDARD\"] then\r\nreturn [[\r\n{ \"title\": \"Standard Landing\",\r\n\"content\": \"\"\r\n}\r\n]]\r\nelseif fpm <= actualThresholds[\"FIRM\"] then\r\nreturn [[\r\n{ \"title\": \"Firm Landing\",\r\n\"content\": \"\"\r\n}\r\n]]\r\nelse\r\nreturn [[\r\n{ \"title\": \"Hard Landing\",\r\n\"content\": \"\"\r\n}\r\n]]\r\nend\r\nend\r\n\nfunction ingame_jet(basicParams, additionalParams)\r\nlocal title_in = default(basicParams, additionalParams, {\r\nSMOOTH = 100,\r\nSTANDARD = 350,\r\nFIRM = 600,\r\nHARD = 700\r\n})\r\nlocal title = jsonParse(title_in)[\"title\"]\r\n\r\nlocal content = \"This is a test of the emergency broadcast system. This is only a test.\"\r\n\r\nreturn [[\r\n{ \"title\": \"]] .. title .. [[\",\r\n\"content\": \"]] .. content .. [[\"\r\n}\r\n]]\r\nend\n\r\n\r\nfunction requestParameters()\r\nreturn [[\r\n[\r\n{ \"name\": \"MAX GROSS WEIGHT\", \"unit\": \"pounds\" },\r\n{ \"name\": \"IS TAIL DRAGGER\", \"unit\": \"bool\" },\r\n{ \"name\": \"ON ANY RUNWAY\", \"unit\": \"bool\" },\r\n{ \"name\": \"SURFACE CONDITION\", \"unit\": \"enum\" },\r\n{ \"name\": \"SURFACE INFO VALID\", \"unit\": \"bool\" },\r\n{ \"name\": \"SURFACE TYPE\", \"unit\": \"enum\" }\r\n]\r\n]]\r\nend\r\n\r\nfunction processParameters(basicParams_s, additionalParams_s)\r\nlocal basicParams = jsonParse(basicParams_s)\r\nlocal additionalParams = jsonParse(additionalParams_s)\r\n\r\nlocal title = basicParams[\"title\"]\r\n\r\n\r\nif title:find(\"A320\") or title:find(\"A330\") or title:find(\"747\") or title:find(\"787\") or title:find(\"A310\") or title:find(\"737\") then\r\nreturn ingame_jet(basicParams, additionalParams)\r\nend\r\n\r\nprint(\"lua: processing weights\")\r\nlocal grossWeight = tonumber(additionalParams[\"MAX GROSS WEIGHT\"]) * 0.453592\r\n\r\nif grossWeight < 1000 then\r\nreturn ultralight(basicParams, additionalParams)\r\nelseif grossWeight < 3000 then\r\nreturn lightplane(basicParams, additionalParams)\r\nelseif grossWeight < 12000 then\r\nreturn midsize(basicParams, additionalParams)\r\nelseif grossWeight < 40000 then\r\nreturn lightjet(basicParams, additionalParams)\r\nelse\r\nreturn jet(basicParams, additionalParams)\r\nend\r\nend\r\n\r\nfunction ultralight(basicParams, additionalParams)\r\nreturn default(basicParams, additionalParams, {\r\nSMOOTH = 70,\r\nSTANDARD = 150,\r\nFIRM = 200,\r\nHARD = 300\r\n})\r\nend\r\n\r\nfunction lightplane(basicParams, additionalParams)\r\nreturn default(basicParams, additionalParams, {\r\nSMOOTH = 80,\r\nSTANDARD = 150,\r\nFIRM = 300,\r\nHARD = 400\r\n})\r\nend\r\n\r\nfunction midsize(basicParams, additionalParams)\r\nreturn default(basicParams, additionalParams, {\r\nSMOOTH = 100,\r\nSTANDARD = 200,\r\nFIRM = 300,\r\nHARD = 400\r\n})\r\nend\r\n\r\nfunction lightjet(basicParams, additionalParams)\r\nreturn default(basicParams, additionalParams, {\r\nSMOOTH = 100,\r\nSTANDARD = 300,\r\nFIRM = 500,\r\nHARD = 600\r\n})\r\nend\r\n\r\nfunction jet(basicParams, additionalParams)\r\nreturn default(basicParams, additionalParams, {\r\nSMOOTH = 100,\r\nSTANDARD = 350,\r\nFIRM = 600,\r\nHARD = 700\r\n})\r\nend\n"
}