Difference between revisions of "DCS server gameGUI"
(2 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
{{Template: listOfDCSHooks}} | {{Template: listOfDCSHooks}} | ||
+ | |||
== DCS Control API == | == DCS Control API == | ||
{{Template: listOfDCSControlFuncs}} | {{Template: listOfDCSControlFuncs}} | ||
== Network API == | == Network API == | ||
+ | Some network functions are also available in the mission scripting enviroment. See [[DCS_singleton_net]] for details. | ||
+ | |||
{{Template: listOfNetFuncs}} | {{Template: listOfNetFuncs}} | ||
Latest revision as of 23:15, 17 September 2021
DCS uses a special API for use in multiplayer. Specifically it is best used as part of a game server to automate assorted administration functionality. Eagle Dynamics maintains documentation for this API in a file as part of your install. This wiki article is simply for easy of use. The original documentation can be found here:
INSTALL/API/DCS_ControlAPI.html
Callbacks/Hooks
When loading, DCS searches for Saved Games\DCS\Scripts\Hooks\*.lua files, sorts them by name and then loads into the GUI Lua-state. Each user script is loaded into an isolated environment, so the only thing they share is the state of the simulator. You can use any lua file in this folder to execute any of the API calls below or call other scripts.
The lua is referenced by calling `DCS.setUserCallBacks(myHandler)` in your hook.
onMissionLoadBegin, onMissionLoadProgress, onMissionLoadEnd, onSimulationStart, onSimulationStop, onSimulationFrame, onSimulationPause, onSimulationResume, onGameEvent, onNetConnect, onNetMissionChanged, onNetConnect, onNetDisconnect, onPlayerConnect, onPlayerDisconnect, onPlayerStart, onPlayerStop, onPlayerChangeSlot, onPlayerTryConnect, onPlayerTrySendChat, onPlayerTryChangeSlot
DCS Control API
setPause, getPause, stopMission, exitProcess, isMultiplayer, isServer, getModelTime, getRealTime, getMissionOptions, getAvailableCoalitions, getAvailableSlots, getCurrentMission, getMissionName, getMissionFilename, getMissionResult, getUnitProperty, getUnitType, getUnitTypeAttribute, writeDebriefing, setUserCallbacks, reloadUserScripts, makeScreenShot
Network API
Some network functions are also available in the mission scripting enviroment. See DCS_singleton_net for details.
send_chat, send_chat_to, recv_chat, load_mission, load_next_mission, get_player_list, get_my_player_id, get_server_id, get_player_info, kick, get_stat, get_name, get_slot, set_slot, force_player_slot, lua2json, json2lua, dostring_in, log, trace
Export
The export lua environment is available here, however all functions called are prefaced with Export. For example Export.functionName