Jump to content
roguetrooper

Check if initial multiplayer-map has been closed?

Recommended Posts

Is there a way to check if the initial map (that has to be closed by clicking "continue" in the lower right corner) in a multiplayer game has been closed?

 

Note: "visibleMap" can not be used.

Share this post


Link to post
Share on other sites

Thanks for your reply, Mister developer :-)

 

I'd like to add something. There still seems to remain the very old problem: The character is still added to the world (ready to be killed and all this) while there is still a loading screen (after you've clicked "continue" in the initial map) and the player isn't in actual control of him.

 

When you place a trigger with

condition: getClientState == "BRIEFING READ"
onActivation: systemchat "briefing read";

 

the "briefing read" text is displayed while there is still a loading screen and before the player can control his character (btw, I have a SSD, 16GB and 4GB VRAM).

 

I'd like to capture the point of time, when the player is actually in control of his character. Is this possible at all? (Without some clumsy workarounds like checking if the player has moved a millimeter from where he started).

 

Share this post


Link to post
Share on other sites

Imma just guessing but something like waitUntil player == player or (!isNull player) ??

Share this post


Link to post
Share on other sites

Imma just guessing but something like waitUntil player == player or (!isNull player) ??

That wouldn't be helpful, since it's not a question if the player exists, but if he is hidden behind that loading screen.

Share this post


Link to post
Share on other sites

Can try...

!isNil "BIS_fnc_init"

Which is set true when the loading progress reaches 100% meaning..

All functions have been defined and all pre and post function have been initialised

All modules have been initialised

All EventScripts ("initServer.sqf", "initPlayerServer.sqf", "initPlayerLocal.sqf") have been initialised.

Share this post


Link to post
Share on other sites

 

killzone_kid, on 16 Nov 2015 - 14:01, said:snapback.png

Hosted or dedicated?

 

Both.

 

I beleive the display idds for the RscDisplayClientReady and RscDisplayServerReady are 18 and 17 respectively (this should work on all machines except for dedicated, you would have to use hasInterface).

Code for holding execution would be

waitUntil {(isNull (findDisplay 17)) && (isNull findDisplay 18))};

Code not tested

 

 

Hope this helps,

 

Bull

Share this post


Link to post
Share on other sites

Thanks again for your answers. Just a bit feedback:

!isNil "BIS_fnc_init"

does not "work" (for this purpose). It is triggered although there is still a loading screen.

 

Concerning "findDisplay x". I have done some testing by executing this

systemChat format ["%1",allDisplays]

Results:

* Before you click "continue" in the initial briefing map, it returns [0,8,17,70].

* Right after clicking "continue", it returns [0,8,17,70,46,12,63].

* Executing it by a radio trigger (i.e. 100% sure that it is executed when the player is actually in control of his character), it returns [0,8,17,70,46,12] (equally while having the map shown and while not).

 

So the only value that is unique when the player is in control of his character is 63.

 

But when I have a trigger with

[/code]condition: isNull (findDisplay 63)[/code]

activation: systemChat "test"[/code]

 

the text "test" is already shown... yeah... before you are in control.

 

There really doesn't seem to be a solution to that loading-screen-problem. As far as I can remember, already before Arma 3 alpha was released, BIS announced that this problem allegedly has been fixed. But it remained in Arma 2, Arma 3 and even in DayZ standalone it is still a problem. It is not a map-breaking and totally insurmountable bug, but yet quite annoying.

 

One can test this on his own. Create a MP map on Altis with just placing a playable soldier on the map (this allowdamage false) and a hostile soldier a few meters away who is facing the player (and maybe with this reveal [player,4]). Noticeably before the player is in control and while there is still a loading screen, you hear the hostile AI fire at the player "behind that curtain".

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×