Jump to content
black_hawk_mw2_87

Text Visible For All AI Playable Units (Players) In Multiplayer

Recommended Posts

Hi, everyone from the community!

I have an old MP co-op mission that I am willing to remake or upgrade, using more slots, more mods, more options and extra content.

This is the mission I am talking about.

I, as a host, can see 4 different messages while in game. 2 of them are Text1.sqm and Text2.sqm, which are shown after the player (in this case me) gets close enough to an object as a condition. The other 2 are informations about 2 specific keys for a menu and CAS system, provided by AliVe.

1. I want to know if the other players who join the game are going to see these texts as well, as I guess, am going to be the only one having the files in my mission's folder, and when people join, they are only going to download the mission.sqf file without these additional files. Correct me if I am wrong.

2. Are there any other ways to make all players see these messages when joining the game session, using a specific and concrete condition checked by a trigger OR already existing in some of the mission's files, for example in init.sqf, so all the players would have this option as well?

3. If this way from p. 2 is possible, what code should I use? Is this something like a check (let's say: "waitUntil..." and then the result appears)?

Right now I am using an object for the player as a condition and I receive the messages, but I am not sure if all other players are going to see them, too, so what would make this possible for all playable units?

Thank you very much in advance!

Cheers! 🙂

Share this post


Link to post
Share on other sites

I was wondering if Example 2 and 3 from this page (BIS_fnc_MP) are going to do the trick - 1) sent a hint, representing my messages, to every player, including the ones who join later using JIP, and 2)executes a welcome.sqf file every time a player joins the server. This file can contain the messages I need the players to see. And can I simply put such examples in triggers with a condition "true" or use them in another way or file, and if so, how exactly? This part must be done with a code, I think, like:

 

if isDedicated then { // only dedicated };

if !isDedicated then { // live server // clients

if !isServer then { // only clients }; };

if isServer then { // dedicated server // live server };

But I am not absolutely sure what to do so, please,  help! 🙂

 

Share this post


Link to post
Share on other sites

You need to read some topics about MP. Your aim is easy but there are so much things to understand to make MP work properly.

MP scripting

Event scripts

initialization order

locality

code optimization

and most of their links, not mentioning extra knowledge to run it on a dedicated server.

 

All players must have all the sqf files to be run. That's not a problem, they are loaded at start if your fellows discover the mission. For example, you host your mission and when people join they download the mission.sqm but also all the sqf paa ogg... folders if any.

As a good habit, try to manage:

- server things through specific sqfs that you can call from initserver.sqf

- player things through initPlayerLocal.sqf  A very good place to run a text for JIP without boring the others.

- init.sqf is a common code for server and players. It runs at server start and alongside JIP. So its code can ruin (reset) your ongoing scenario by re-running some global effects and data. Same for all init fields of all objects/units in editor. That doesn't mean you can't use them but a server condition will be added most of the time.

Keeping on mind when / where / why any code runs is mandatory. And where the results /effects occur also.

 

One of the most powerful but probably hardest thing to understand is the remote execution. You can execute some codes remotely on other PCs. That doesn't mean you will send missing files like pictures or sounds, but you'll trigger some displays or events on whole or specific PCs.

Start to read. Bis_fnc_MP is obsolete.

Hard to resume.

Have fun!

 

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Me: "Yeah. Feels good. I'm finally starting to get it."
pierreMGI: "But wait! There's more!"

Me: 😫

 

@black_hawk_mw2_87,
Sign into the ArmA 3 discord while you're working (we call this work, right?). There's lot's of MP designers that can help in real-time, when available.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

Welcome text: Do what you want in initPlayerLocal.sqf

Message for special key or other stuff: think about briefing (intel module: create diary record,  in editor) At least, the player can read that when he wants.

General message: waitUntil condition on server (initServer.sqf or init.sqf and if(isServer) then ....) ; then, as example, remoteExec hint, add JIP param (all details in BIKI).

  • Like 1

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

×