Jump to content
wozzsta

BIS_fnc_dynamicText only showing to host of MP session.

Recommended Posts

Hi guys, as above really, when the trigger is activated, only the host of the MP session can see the text, any help would be great. thanks. 

 

here is an example of the code. 

["<t color='#ff0000' size = '.8'>Warning!<br />Wave 1 Incoming</t>",-1,-1,4,1,0,789] spawn BIS_fnc_dynamicText;

// vehicles to spawn
_spawns = ["B_Heli_Light_01_armed_F","O_MBT_02_cannon_F","O_MRAP_02_gmg_F"];

_loc = getmarkerpos "apwave1"; // spawn around this marker

// Spawn vehicles
{
_spw = _x;

_position = _loc findEmptyPosition [0,100,_spw]; // find free position


airwave1 = [_position, east, [_spw]] call BIS_fnc_spawnGroup;

apwp1 = airwave1 addWaypoint [getmarkerpos "apwp1", 0]; 
apwp1 setWaypointType "SAD"; 
apwp1 setWaypointSpeed "FULL"; 
apwp1 setWaypointBehaviour "AWARE"; 
apwp1 setWaypointFormation "WEDGE";


sleep 0.25;
} foreach _spawns;



// lastly spawn the infantry

sleep 5; // wait until the vehicles have driven away

_position = _loc findEmptyPosition [0,100];
_inf = ["O_Soldier_LAT_F","O_soldier_M_F","O_soldier_M_F","O_sniper_F","O_Urban_HeavyGunner_F","O_Urban_HeavyGunner_F"]; // men to spawn
airwave1 = [_position, east, _inf] call BIS_fnc_spawnGroup;

apwp1 = airwave1 addWaypoint [getmarkerpos "apwp1", 0]; 
apwp1 setWaypointType "SAD"; 
apwp1 setWaypointSpeed "FULL"; 
apwp1 setWaypointBehaviour "AWARE"; 
apwp1 setWaypointFormation "WEDGE";

Share this post


Link to post
Share on other sites
["<t color='#ff0000' size = '.8'>Warning!<br />Wave 1 Incoming</t>",-1,-1,4,1,0,789] remoteExec ["BIS_fnc_dynamicText",0,false];

try that

Share this post


Link to post
Share on other sites

or that:

[["<t color='#ff0000' size = '0.8'>Warning!<br />Wave 1 Incoming</t>",-1,-1,4,1,0,789],"BIS_fnc_dynamicText"] call BIS_fnc_MP;

Share this post


Link to post
Share on other sites

Do not use BIS_fnc_MP anymore, it only does a few more operations which are obsolete if one uses remoteExec/call directly. See:

 

 

/*
    Author: Karel Moricky

    Description:
    Send function or scripting command for remote execution (and executes locally if conditions are met)

    Parameter(s):
        0: ANY - function params
        1: STRING - function or scripting command name
        2 (Optional):
            BOOL - true to execute on each machine (including the one where the function was called from), false to execute it on server only [default: true]
            STRING - the function will be executed only where unit defined by the variable is local
            OBJECT - the function will be executed only where unit is local
            GROUP - the function will be executed only on client who is member of the group
            SIDE - the function will be executed on all players of the given side
            NUMBER - the function will be executed only on client with the given ID
            ARRAY - array of previous data types
        3 (Optional): BOOL - true for persistent call (will be called now and for every JIP client) [default: false]

    Returns:
    STRING - id if the JIP packet
*/

with missionnamespace do
{
    params [
        ["_params",[]],
        ["_functionName","",[""]],
        ["_target",true,[objnull,true,0,[],sideUnknown,grpnull,""]],
        ["_isPersistent",false,[false,""]],
        ["_isCall",false,[false]]
    ];

    //remoteExec doesn't support bool param, retype to number is needed
    if (_target isEqualType []) then
    {
        _target =+ _target; //needed to not to mess-up the original array by retyping the bools or deleting the sub-arrays

        private _arrayIndexes = [];

        {
            if (_x isEqualType []) then
            {
                _arrayIndexes pushBack _forEachIndex;
                [_params,_functionName,_x,_isPersistent,_isCall] call bis_fnc_mp;
            }
            else
            {
                if (_x isEqualType true) then {_target set [_forEachIndex,[2,0] select _x];};
            };
        }
        forEach _target;

        //remove nested arrays from array of targets
        if (count _arrayIndexes > 0) then
        {
            reverse    _arrayIndexes;
            {_target deleteAt _x;} forEach _arrayIndexes;
        };
    }
    else
    {
        if (_target isEqualType true) then {_target = [2,0] select _target;};
    };

    if (_isCall) then
    {
        _params remoteExecCall [_functionName,_target,_isPersistent];
    }
    else
    {
        _params remoteExec [_functionName,_target,_isPersistent];
    };

    [0, _params, _functionName, _target, _isPersistent, _isCall]
};
  • Like 1

Share this post


Link to post
Share on other sites

Do not use BIS_fnc_MP anymore, it only does a few more operations which are obsolete if one uses remoteExec/call directly. See:

It is obsoleted, not deprecated. And it is backward-compatible by the way.

I have to backport any mission I want to play before I can actually play it. And it is pain btw. Guess why I'm here. I don't play anymore, instead I'm becoming an SQF worm.

Anyone using BIS_fnc_MP, please feel free to use it further (until finally VP releases ArmA 3 for Linux/Mac version >= 1.50). Thank you very much.

Share this post


Link to post
Share on other sites

It is obsoleted, not deprecated. And it is backward-compatible by the way.

I have to backport any mission I want to play before I can actually play it. And it is pain btw. Guess why I'm here. I don't play anymore, instead I'm becoming an SQF worm.

Anyone using BIS_fnc_MP, please feel free to use it further (until finally VP releases ArmA 3 for Linux/Mac version >= 1.50). Thank you very much.

 

So, you encourage people to use an obsolete function rather than an engine based command (wich is more FPS-friendly in MP)?

Nice work!

 

Good thing is, your useless suggestion doesn't make any difference since BIS_fnc_MP uses remoteExec since v1.50 anyway...

Share this post


Link to post
Share on other sites
["<t color='#ff0000' size = '.8'>Warning!<br />Wave 1 Incoming</t>",-1,-1,4,1,0,789] remoteExec ["BIS_fnc_dynamicText",0,false];

try that

 

 

 

thanks guys, worked perfectly!

Share this post


Link to post
Share on other sites

So, you encourage people to use an obsolete function rather than an engine based command (wich is more FPS-friendly in MP)?

No. Reread my post (part starting with "until finally", key word "until"). People sometimes write code much more FPS-unfriendly than BIS_fnc_MP.

 

Good thing is, your useless suggestion doesn't make any difference since BIS_fnc_MP uses remoteExec since v1.50 anyway...

IKR. And, btw it is not useless for the Linux/Mac ArmA 3 players community. remoteExec is instant 0 FPS for them.

Dont say for everyone. Even if you think those "everyone" do not exist.

Share this post


Link to post
Share on other sites

IKR. And, btw it is not useless for the Linux/Mac ArmA 3 players community. remoteExec is instant 0 FPS for them.

Dont say for everyone. Even if you think those "everyone" do not exist.

If you would bother reading Revo's spoiler, you would realize that bis_fnc_mp uses remoteExec...

Explain me how remoteExec is an instant 0 FPS while bis_fnc_MP isn't??

Share this post


Link to post
Share on other sites

If you would bother reading Revo's spoiler, you would realize that bis_fnc_mp uses remoteExec...

Explain me how remoteExec is an instant 0 FPS while bis_fnc_MP isn't??

Of course I've read Revo's spoiler. And I've read this function file before.

remoteExec simply does not exist in v1.42. BIS_fnc_MP does. Therefore not a single mission containing the former command will run on Linux or Mac.

Share this post


Link to post
Share on other sites

remoteExec simply does not exist in v1.42. BIS_fnc_MP does.

 

Interesting point, I actually thought Mac and Linux versions would be almost the same as Windows.

Share this post


Link to post
Share on other sites

Interesting point, I actually thought Mac and Linux versions would be almost the same as Windows.

Nope, sir! We almost a year behind now.

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

×