FlightControl Posted December 18, 2017 Share Posted December 18, 2017 The Menu API of DCS should be improved a bit, the way menus work. It is great that the SSE provides methods to set menus to: - All players: Path missionCommands.addCommand(string name, Path or nil path, CommandFunction сommandFunction, any argument) - Only players to a coalition: Path missionCommands.addCommandForCoalition(enum coalition.side coalition, string name, Path or nil path, CommandFunction сommandFunction, any argument) - Only players to a group: Path missionCommands.addCommandForGroup(GroupId groupId, string name, Path or nil path, CommandFunction сommandFunction, any argument) The menu system calls the commandFunction, passing the given argument. However, by design, there is a big functionality that is missing in this design. The menu system is not providing to the commandFunction as a parameter the Unit object of the player who selected the menu option. If the Unit object would be passed, that would be a great help. Right now, the only way to know which group has used which menu, is to set a menu option for each group specifically!!!! And this is very bad! That requires a system to remove/add/replace menus constantly when players move from plane to plane in different tasking scenarios. It provides an overkill of menu API calls. We suspect that DCS in a MP environment is not able to handle all these menu relays correctly. On the client side, we see menus disappearing which should be there. So the requirement is that in these menu APIs, if the Unit object (or Group object) would be passed, that would be a great help. It would allow for a much more stable menu system. I suggest to provide as the 2nd parameter to the commandFunction, to pass the Unit object that used the menu option! FC [TABLE][sIGPIC][/sIGPIC]| Join MOOSE community on: DISCORD :thumbup: Website of the MOOSE LUA Framework. MOOSE framework Downloads. Check out Example Missions to try out and learn. MOOSE YouTube Channel for live demonstrations and tutorials. [/TABLE] Link to comment Share on other sites More sharing options...
FlightControl Posted December 19, 2017 Author Share Posted December 19, 2017 Is nobody reading this??? Come on guys. This is a key requirement. 1 [TABLE][sIGPIC][/sIGPIC]| Join MOOSE community on: DISCORD :thumbup: Website of the MOOSE LUA Framework. MOOSE framework Downloads. Check out Example Missions to try out and learn. MOOSE YouTube Channel for live demonstrations and tutorials. [/TABLE] Link to comment Share on other sites More sharing options...
Johnny_Rico Posted December 19, 2017 Share Posted December 19, 2017 +1 for this request METAR weather for DCS World missions Guide to help out new DCS MOOSE Users -> HERE Havoc Company Dedicated server info Connect IP: 94.23.215.203 SRS enabled - freqs - Main = 243, A2A = 244, A2G = 245 Please contact me HERE if you have any server feedback or METAR issues/requests Link to comment Share on other sites More sharing options...
Coug4r Posted December 20, 2017 Share Posted December 20, 2017 (edited) You can get the unit object by sending the unitName as one of the any arguments, then in the function you're calling use Unit.getByName or immediately send the unit object as a parameter. Edited December 20, 2017 by Coug4r - If man were meant to fly he'd be filled with helium. Link to comment Share on other sites More sharing options...
FlightControl Posted December 20, 2017 Author Share Posted December 20, 2017 You can get the unit object by sending the unitName as one of the any arguments, then in the function you're calling use Unit.getByName or immediately send the unit object as a parameter.I know, but this does not make sense for a coalition level menu. Sent from my SM-N950F using Tapatalk [TABLE][sIGPIC][/sIGPIC]| Join MOOSE community on: DISCORD :thumbup: Website of the MOOSE LUA Framework. MOOSE framework Downloads. Check out Example Missions to try out and learn. MOOSE YouTube Channel for live demonstrations and tutorials. [/TABLE] Link to comment Share on other sites More sharing options...
Coug4r Posted December 20, 2017 Share Posted December 20, 2017 Provides a lot of flexibility though and i bet you can create some 'higher level' functions to deal with the menu maintenance. - If man were meant to fly he'd be filled with helium. Link to comment Share on other sites More sharing options...
FlightControl Posted December 21, 2017 Author Share Posted December 21, 2017 Provides a lot of flexibility though and i bet you can create some 'higher level' functions to deal with the menu maintenance.These flexible functions have already been made and the result is highly inefficient, although the logic behind those functions are highly efficient including refresh logic that works with tagging and time stamps. Why? When you change for a large amount of group(s) the menu items, you need to remove those menus and create new ones... but for all those groups... If you have 20 clients connected to the host, then all these menu updates need to be synched over the network too... Sent from my SM-N950F using Tapatalk [TABLE][sIGPIC][/sIGPIC]| Join MOOSE community on: DISCORD :thumbup: Website of the MOOSE LUA Framework. MOOSE framework Downloads. Check out Example Missions to try out and learn. MOOSE YouTube Channel for live demonstrations and tutorials. [/TABLE] Link to comment Share on other sites More sharing options...
Recommended Posts