Leopard20 813 Posted July 15, 2019 Hello guys. Does anyone know a way to prevent functions from launching in the main menu? When I set up my functions as pre-init or post-init, they also execute in the main menu but I don't want this to happen. Share this post Link to post Share on other sites
pierremgi 4862 Posted July 16, 2019 Your mods? (you are the author?) Share this post Link to post Share on other sites
Leopard20 813 Posted July 16, 2019 5 hours ago, pierremgi said: Your mods? (you are the author?) Of course! My AIO AI Menu mod! Share this post Link to post Share on other sites
mrcurry 496 Posted July 16, 2019 @Leopard20 This thread belongs more in the mod-making section but it's an interesting problem. Found this, unfortunately solution not included: Your problem stems from that the menu is considered a mission from the engines point of view. Remember the good old menu with fighting in the background? Ye technical setup hasn't really changed much with A3. The solution seems to me would be to write your functions to detect when the functions run in menu and abort in those cases. I don't know what the condition could be but a good place to start is maybe looking at these: https://community.bistudio.com/wiki/missionName https://community.bistudio.com/wiki/worldName Run some tests and see if you can figure out what could work. If you figure it out please post back. If not qoute or @ me and I'll take look next time I'm on my PC. 5 hours ago, pierremgi said: Your mods? (you are the author?) The way he phrased it the obvious answer seems yes. Besides, let's not begin replies by assuming a malign intent. 1 Share this post Link to post Share on other sites
Leopard20 813 Posted July 16, 2019 13 minutes ago, mrcurry said: @Leopard20 This thread belongs more in the mod-making section but it's an interesting problem. Found this, unfortunately solution not included: Your problem stems from that the menu is considered a mission from the engines point of view. Remember the good old menu with fighting in the background? Ye technical setup hasn't really changed much with A3. The solution seems to me would be to write your functions to detect when the functions run in menu and abort in those cases. I don't know what the condition could be but a good place to start is maybe looking at these: https://community.bistudio.com/wiki/missionName https://community.bistudio.com/wiki/worldName Run some tests and see if you can figure out what could work. If you figure it out please post back. If not qoute or @ me and I'll take look next time I'm on my PC. The way he phrased it the obvious answer seems yes. Besides, let's not begin replies by assuming a malign intent. I always assumed the two sections can be used interchangeably. Sorry. There are also "custom" cut scenes and worlds to account for (e.g ALiVE and Firewill's AWS). So that may not be possible. If the startup screen's displayName or ID is different, that could be useful right? I'll run a hint or something at startup to see what I can find. Share this post Link to post Share on other sites
mrcurry 496 Posted July 16, 2019 22 minutes ago, Leopard20 said: There are also "custom" cut scenes and worlds to account for (e.g ALiVE and Firewill's AWS). So that may not be possible. It might be that missionName is always the same for the menu and that would then be quite useful. At this point rule nothing out, try everything. 22 minutes ago, Leopard20 said: If the startup screen's displayName or ID is different, that could be useful right? Checking the displays out is also a good idea, keep in mind it's pre-init/post-init we're talking. Some stuff might not be loaded. Definitely worth investigating though. Share this post Link to post Share on other sites
Leopard20 813 Posted July 16, 2019 13 minutes ago, mrcurry said: It might be that missionName is always the same for the menu and that would then be quite useful. At this point rule nothing out, try everything. Checking the displays out is also a good idea, keep in mind it's pre-init/post-init we're talking. Some stuff might not be loaded. Definitely worth investigating though. OK, found a solution. Not sure if it's perfect! if (allDisplays isEqualTo [findDisplay 0]) exitWith {}; This code prevented function initialization at startup! Yay! I still have to test it during mission briefings and stuff like that. But so far looks good! 2 Share this post Link to post Share on other sites