Jump to content

Furyk

Member
  • Content Count

    27
  • Joined

  • Last visited

  • Medals

Posts posted by Furyk


  1. Thanks very much for the reply, but I'm not advanced enough to make this work at present.

    Would I place this in the trigger condition field the truck's name is truck1 what other variables do I need if any ? because at the moment the trigger activates as soon as the task create trigger activates.

    {vehicle _x == truck1} count playableunits == count playableunits;

    AT the moment I am using in the trigger condition " player in truck1 " for testing but when it comes to MP testing this will not be sufficient.

    Thanks again


  2. Hi,

    I am trying to create a mission with tasks I have the basics working,

    Mission starts a task is created to enter a truck, I have a task succeed already set up but need to know the best way to activate it on all players having entered the truck,

    What I need to know is how do I set up a trigger to detect when all players have entered the truck so I can sync this to my task succeed module.

    Or if there is an easier way ?

    Many thanks


  3. Mission run down, players travel to trig1 which will activate when all enemy units are dead in the area, the players are then prompted to move to trig2 which will activate on there detection in the area ending the mission.

    What I want to prevent is anyone entering the area of trig2 and ending the mission prematurely before the enemy's at trig1 have been eliminated.

    I tried using triggerActivated before and as soon trig1 activated it also activated trig2 before the players moved to the area, I more then likely did something wrong so I'll check it all again when I get home.

    Thanks for the reply's :bounce3:


  4. 3) I've created a bunch of Create Tasks/Update Task Status modules that are applied to "Groups of synchronized object" and then linked them to the player team lead. In a MP coop mission, if noone chooses the team lead, noone sees the tasks. Anyway around that? Or if not, is there any way to force it so someone has to pick the Team Lead Playable char slot?
    Sync them to every player and set the them on sync objects. I was told this was the only way to do it

    Can anyone confirm if this fix would work for my similar issue with tasks/task updates only being seen but the server host "me" and not other players in MP.

    Thanks


  5. Hi,

    I'm having issues with my MP mission task modules they are working fine for the group leader "Player" but other players aren't receiving any updates or tasks listed on the map screen.

    I have synchronized them like this "trigger" > "set task state" > "create task" > "Player" with default values the rest of the playable units are grouped to the main Player.

    I have tried syncing to each playable unit but with no success.

    Any one know what I'm doing wrong ?

    Many thanks


  6. Hi,

    Since todays update on the DEV branch the vehicle respawn scipt I have been using has stopped working has any one else had this issue ?

    I have been using this script with the init line,

    veh = [this] execVM "vehicle.sqf"

    if (!isServer) exitWith {};

    // Define variables

    _unit = _this select 0;

    _delay = if (count _this > 1) then {_this select 1} else {30};

    _deserted = if (count _this > 2) then {_this select 2} else {120};

    _respawns = if (count _this > 3) then {_this select 3} else {0};

    _explode = if (count _this > 4) then {_this select 4} else {false};

    _dynamic = if (count _this > 5) then {_this select 5} else {false};

    _unitinit = if (count _this > 6) then {_this select 6} else {};

    _haveinit = if (count _this > 6) then {true} else {false};

    _hasname = false;

    _unitname = vehicleVarName _unit;

    if (isNil _unitname) then {_hasname = false;} else {_hasname = true;};

    _noend = true;

    _run = true;

    _rounds = 0;

    if (_delay < 0) then {_delay = 0};

    if (_deserted < 0) then {_deserted = 0};

    if (_respawns <= 0) then {_respawns= 0; _noend = true;};

    if (_respawns > 0) then {_noend = false};

    _dir = getDir _unit;

    _position = getPosASL _unit;

    _type = typeOf _unit;

    _dead = false;

    _nodelay = false;

    // Start monitoring the vehicle

    while {_run} do

    {

    sleep (2 + random 10);

    if ((getDammage _unit > 0.8) and ({alive _x} count crew _unit == 0)) then {_dead = true};

    // Check if the vehicle is deserted.

    if (_deserted > 0) then

    {

    if ((getPosASL _unit distance _position > 10) and ({alive _x} count crew _unit == 0) and (getDammage _unit < 0.8)) then

    {

    _timeout = time + _deserted;

    sleep 0.1;

    waitUntil {_timeout < time or !alive _unit or {alive _x} count crew _unit > 0};

    if ({alive _x} count crew _unit > 0) then {_dead = false};

    if ({alive _x} count crew _unit == 0) then {_dead = true; _nodelay =true};

    if !(alive _unit) then {_dead = true; _nodelay = false};

    };

    };

    // Respawn vehicle

    if (_dead) then

    {

    if (_nodelay) then {sleep 0.1; _nodelay = false;} else {sleep _delay;};

    if (_dynamic) then {_position = getPosASL _unit; _dir = getDir _unit;};

    if (_explode) then {_effect = "M_AT" createVehicle getPosASL _unit; _effect setPosASL getPosASL _unit;};

    sleep 0.1;

    deleteVehicle _unit;

    sleep 2;

    _unit = _type createVehicle _position;

    _unit setPosASL _position;

    _unit setDir _dir;

    if (_haveinit) then

    {_unit setVehicleInit format ["%1;", _unitinit];

    processInitCommands;};

    if (_hasname) then

    {_unit setVehicleInit format ["%1 = this; this setVehicleVarName ""%1""",_unitname];

    processInitCommands;};

    _dead = false;

    // Check respawn amount

    if !(_noend) then {_rounds = _rounds + 1};

    if ((_rounds == _respawns) and !(_noend)) then {_run = false;};

    };

    };

    Many thanks

    *update*

    Fixed using this script

    if (!isServer) exitWith {};

    // Define variables

    _unit = _this select 0;

    _delay = if (count _this > 1) then {_this select 1} else {30};

    _deserted = if (count _this > 2) then {_this select 2} else {120};

    _respawns = if (count _this > 3) then {_this select 3} else {0};

    _explode = if (count _this > 4) then {_this select 4} else {false};

    _dynamic = if (count _this > 5) then {_this select 5} else {false};

    _unitinit = if (count _this > 6) then {_this select 6} else {};

    _haveinit = if (count _this > 6) then {true} else {false};

    _hasname = false;

    _unitname = vehicleVarName _unit;

    if (isNil _unitname) then {_hasname = false;} else {_hasname = true;};

    _noend = true;

    _run = true;

    _rounds = 0;

    if (_delay < 0) then {_delay = 0};

    if (_deserted < 0) then {_deserted = 0};

    if (_respawns <= 0) then {_respawns= 0; _noend = true;};

    if (_respawns > 0) then {_noend = false};

    _dir = getDir _unit;

    _position = getPosASL _unit;

    _type = typeOf _unit;

    _dead = false;

    _nodelay = false;

    // Start monitoring the vehicle

    while {_run} do

    {

    sleep (2 + random 10);

    if ((getDammage _unit > 0.8) and ({alive _x} count crew _unit == 0)) then {_dead = true};

    // Check if the vehicle is deserted.

    if (_deserted > 0) then

    {

    if ((getPosASL _unit distance _position > 10) and ({alive _x} count crew _unit == 0) and (getDammage _unit < 0.8)) then

    {

    _timeout = time + _deserted;

    sleep 0.1;

    waitUntil {_timeout < time or !alive _unit or {alive _x} count crew _unit > 0};

    if ({alive _x} count crew _unit > 0) then {_dead = false};

    if ({alive _x} count crew _unit == 0) then {_dead = true; _nodelay =true};

    if !(alive _unit) then {_dead = true; _nodelay = false};

    };

    };

    // Respawn vehicle

    if (_dead) then

    {

    if (_nodelay) then {sleep 0.1; _nodelay = false;} else {sleep _delay;};

    if (_dynamic) then {_position = getPosASL _unit; _dir = getDir _unit;};

    if (_explode) then {_effect = "M_AT" createVehicle getPosASL _unit; _effect setPosASL getPosASL _unit;};

    sleep 0.1;

    deleteVehicle _unit;

    sleep 2;

    _unit = _type createVehicle _position;

    _unit setPosASL _position;

    _unit setDir _dir;

    if (_haveinit) then

    {

    _unit call compile format ["%1=_This; PublicVariable '%1'",_unitinit];

    };

    if (_hasname) then

    {

    _unit setVehicleVarName _unitname;

    _unit call compile format ["%1=_This; PublicVariable '%1'",_unitname];

    };

    _dead = false;

    // Check respawn amount

    if !(_noend) then {_rounds = _rounds + 1};

    if ((_rounds == _respawns) and !(_noend)) then {_run = false;};

    };

    };

×