Page MenuHomeFeedback Tracker

several Problems with leaveVehicle,addVehicle,assignAsCargo,orderGetIn,allowGetIn,unassignVehicle etc...
Closed, ResolvedPublic

Description

Find the Error:
The following code is executet on Server only!
It works fine on client hosted Server!
It fails on dedicated Server.

the addVehicle command must contain something like "if (isDedicated)..."
The waypointcondition "{_x in (crew T3)} count units _grp == count units _grp" is totally ignored!

what is this? Somekind of VBS copy protection or a bad joke?
To create a Helicopter-Extraktion for AI Units under enemy fire in dedicated Server environment, is a horrible nightmare!

check the code of the following commands:
addVehicle,leaveVehicle,assignAsCargo,assignAsDriver,assignAsGunner,assignAsCommander,unassignVehicle,setWayPointStatements... etc. for (isDedicated) or similar stuff.
There must be some bad ass code!

Details

Legacy ID
809384048
Severity
None
Resolution
Unable To Duplicate
Reproducibility
Random
Category
AI Control / Commanding
Steps To Reproduce

T3 is a Transport chopper; (flying)
T4 is a Combat chopper; (flying)
Hos1 and Hos2 are hostages;
EP is an invisible Helipad


this is a triggeractivation code for condition "{_x distance EP < 30} count [Hos1,Hos2] > 0":

if (isServer) then {

        null = [] spawn {
        private["_grHos","_grT3","_grT4","_WP0","_WP1","_DT3","_DT4","_GT4"];
        _DT3 = driver T3;
        _DT4 = driver T4;
        _GT4 = gunner T4;
        _grT3 = group _DT3;
        _grT4 = group _DT4;
        _DT3 allowFleeing 0;
        _DT3 disableAI "THREAT_PATH";
        _DT3 disableAI "PATHPLAN";
        _DT3 disableAI "AUTOTARGET";
        _DT3 disableAI "TARGET";
        _DT4 allowFleeing 0;
        _DT4 disableAI "THREAT_PATH";
        _DT4 disableAI "PATHPLAN";
        _DT4 disableAI "WAYPOINT_STOP";
        _WP1 = _grT4 addWaypoint [T3,0];
        _WP1 setWaypointType "MOVE";
        _WP1 setWaypointSpeed "FULL";
        _WP1 setWaypointBehaviour "COMBAT";
        _grHos = createGroup west;
        {if (!isNull _x || !alive _x) then {[_x] joinsilent _grHos}} forEach [Hos1,Hos2];
        Hostages = _grHos;
        _WP0 = _grHos addWaypoint [EP,0];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointBehaviour "CARELESS";
        _WP0 setWaypointSpeed "LMITED";
        _WP1 = _grHos addWaypoint [EP,1];
        _WP1 setWaypointType "GETIN";
        _WP1 setWaypointBehaviour "CARELESS";
        _WP1 setWaypointSpeed "LMITED";
        {deleteWaypoint _x} forEach waypoints _grT3;
        {deleteWaypoint _x} forEach waypoints _grT3;
        _WP0 = _grT3 addWaypoint [[2114,1941,20],0];
        _WP0 setWPPos [2114,1941,20];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointSpeed "NORMAL";
        _WP0 setWaypointBehaviour "COMBAT";
        _WP0 setWaypointCombatMode "RED";
        _WP0 setWaypointCompletionRadius 200;
        _WP0 setWaypointStatements ["true","{_x assignAsCargo T3} forEach [Hos1,Hos2];[Hos1,Hos2] orderGetIn true;Hostages addVehicle T3;"];
        _WP1 = _grT3 addWaypoint [EP,1];
        _WP1 setWaypointType "LOAD";
        _WP1 setWaypointSpeed "LIMITED";
        _WP1 setWaypointBehaviour "SAVE";
        _WP1 setWaypointCombatMode "GREEN";
        _WP1 setWaypointCompletionRadius 10;
        _WP1 setWaypointStatements ["true",""];
        [_grT3, 1] synchronizeWaypoint [[_grHos, 1]];
        [_grHos, 1] synchronizeWaypoint [[_grT3, 1]];
        _WP0 = _grT3 addWaypoint [[0,0,20],2];
        _WP0 setWPPos [0,0,20];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointSpeed "FULL";
        _WP0 setWaypointBehaviour "SAVE";
        _WP0 setWaypointCompletionRadius 200;
        _WP0 setWaypointStatements ["{_x in (crew T3)} count [Hos1,Hos2] == count [Hos1,Hos2]","HostSave = true;{deleteVehicle _x} forEach ((crew T3) + [T3])"];
        while {alive T4} do {
                sleep 10;
                {deleteWaypoint _x} forEach waypoints _grT4;
                {deleteWaypoint _x} forEach waypoints _grT4;
                _WP0 = _grT4 addWaypoint [T3,0];
                _WP0 setWaypointType "MOVE";
                _WP0 setWaypointSpeed "FULL";
                _WP0 setWaypointBehaviour "COMBAT";
                _WP0 setWaypointCombatMode "RED";
                if ({_x in (crew T3)} count units _grHos == count units _grHos) exitWith {
                        _DT4 disableAI "AUTOTARGET";
                        _DT4 disableAI "TARGET";
                        {deleteWaypoint _x} forEach waypoints _grT4;
                        {deleteWaypoint _x} forEach waypoints _grT4;
                        _WP0 = _grT4 addWaypoint [[1614,936,80],0];
                        _WP0 setWPPos [1614,936,80];
                        _WP0 setWaypointType "MOVE";
                        _WP0 setWaypointCombatMode "BLUE";
                        _WP0 setWaypointSpeed "FULL";
                        _WP0 setWaypointCompletionRadius 200;
                        _WP1 = _grT4 addWaypoint [[0,0,80],1];
                        _WP1 setWPPos [0,0,80];
                        _WP1 setWaypointType "MOVE";
                        _WP1 setWaypointCombatMode "BLUE";
                        _WP1 setWaypointSpeed "FULL";
                        _WP1 setWaypointCompletionRadius 200;
                        _WP1 setWaypointStatements ["true","{deleteVehicle _x} forEach ((crew T4) + [T4])"];
                        };
                    };
                };
            };

Good luck

Event Timeline

CHIMERACyborg edited Additional Information. (Show Details)
CHIMERACyborg set Category to AI Control / Commanding.
CHIMERACyborg set Reproducibility to Random.
CHIMERACyborg set Severity to None.
CHIMERACyborg set Resolution to Unable To Duplicate.
CHIMERACyborg set Legacy ID to 809384048.May 7 2016, 8:13 PM
F2kSel added a comment.Mar 7 2015, 1:54 AM

Came across this today, units eject but the chopper stops and won't follow waypoints.

Only when I use both unassignvehicle and a setpos on the ejecting units will the chopper move on to the next waypoint.

Information overload. Too many commands mentioned, finally you're referring to editor waypoints.

Please make your case clear, narrow it down, avoid wall of text.

need more Info??

Hey, i am not working for BI. Thats an very old Problem! You have Arma3 installed on your PC? What information you need? I am not here to solve your problems.

maybe you begin with F2k Sels´s Note:
"Came across this today, units eject but the chopper stops and won't follow waypoints.

Only when I use both unassignvehicle and a setpos on the ejecting units will the chopper move on to the next waypoint."

That's info enough?
Now it should be clear why the wage is so low, right?
Dont worry ;)

I don't work for BI if that was you were aiming for, I'm doing this in my spare time.

I was saying for a good bug report, this report is overloaded. Please edit it to make a clear case.

there was a specific problem if units of different groups assigned to the same Vehicle at first.
if a unit is "moveinCargo"´ed it seems that the unit is assigned to the vehicle?
check?
if the unit is "moveout"´ed this binding will not be removed.
check?
further the action "eject" does nothing else than a moveout?
check?
why the helo pilot is waiting for units which are assigned to his helo, if this units where´nt assigned to his helo? btw... it is not possible to unassign them.
check?
I can´t check the damn source code of commands...so i need your help and not you need my help???
check?
... confused ... ?)

Find the Error:
The following code is executet on Server only!
It works fine on client hosted Server!
It fails on dedicated Server.

the addVehicle command must contain something like "if (isDedicated)..."
The waypointcondition "{_x in (crew T3)} count units _grp == count units _grp" is totally ignored!

what is this? Somekind of VBS copy protection or a bad joke?
To create a Helicopter-Extraktion for AI Units under enemy fire in dedicated Server environment, is a horrible nightmare!

check the code of the following commands:
addVehicle,leaveVehicle,assignAsCargo,assignAsDriver,assignAsGunner,assignAsCommander,unassignVehicle,setWayPointStatements... etc. for (isDedicated) or similar stuff.
There must be some bad ass code!

T3 is a Transport chopper; (flying)
T4 is a Combat chopper; (flying)
Hos1 and Hos2 are hostages;
EP is an invisible Helipad


if (isServer) then {

		null = [] spawn {
		private["_grHos","_grT3","_grT4","_WP0","_WP1","_DT3","_DT4","_GT4"];
		_DT3 = driver T3;
		_DT4 = driver T4;
		_GT4 = gunner T4;
		_grT3 = group _DT3;
		_grT4 = group _DT4;
		_DT3 allowFleeing 0;
        _DT3 disableAI "THREAT_PATH";
        _DT3 disableAI "PATHPLAN";
        _DT3 disableAI "AUTOTARGET";
        _DT3 disableAI "TARGET";
        _DT4 allowFleeing 0;
        _DT4 disableAI "THREAT_PATH";
        _DT4 disableAI "PATHPLAN";
        _DT4 disableAI "WAYPOINT_STOP";
		_WP1 = _grT4 addWaypoint [T3,0];
        _WP1 setWaypointType "MOVE";
        _WP1 setWaypointSpeed "FULL";
        _WP1 setWaypointBehaviour "COMBAT";
        _grHos = createGroup west;
        {if (!isNull _x || !alive _x) then {[_x] joinsilent _grHos}} forEach [Hos1,Hos2];
        Hostages = _grHos;
        _WP0 = _grHos addWaypoint [EP,0];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointBehaviour "CARELESS";
        _WP0 setWaypointSpeed "LMITED";
        _WP1 = _grHos addWaypoint [EP,1];
        _WP1 setWaypointType "GETIN";
        _WP1 setWaypointBehaviour "CARELESS";
        _WP1 setWaypointSpeed "LMITED";
        {deleteWaypoint _x} forEach waypoints _grT3;
        {deleteWaypoint _x} forEach waypoints _grT3;
        _WP0 = _grT3 addWaypoint [[2114,1941,20],0];
        _WP0 setWPPos [2114,1941,20];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointSpeed "NORMAL";
        _WP0 setWaypointBehaviour "COMBAT";
        _WP0 setWaypointCombatMode "RED";
        _WP0 setWaypointCompletionRadius 200;
        _WP0 setWaypointStatements ["true","{_x assignAsCargo T3} forEach [Hos1,Hos2];[Hos1,Hos2] orderGetIn true;Hostages addVehicle T3;"];
        _WP1 = _grT3 addWaypoint [EP,1];
        _WP1 setWaypointType "LOAD";
        _WP1 setWaypointSpeed "LIMITED";
        _WP1 setWaypointBehaviour "SAVE";
        _WP1 setWaypointCombatMode "GREEN";
        _WP1 setWaypointCompletionRadius 10;
        _WP1 setWaypointStatements ["true",""];
        [_grT3, 1] synchronizeWaypoint [[_grHos, 1]];
        [_grHos, 1] synchronizeWaypoint [[_grT3, 1]];
        _WP0 = _grT3 addWaypoint [[0,0,20],2];
        _WP0 setWPPos [0,0,20];
        _WP0 setWaypointType "MOVE";
        _WP0 setWaypointSpeed "FULL";
        _WP0 setWaypointBehaviour "SAVE";
        _WP0 setWaypointCompletionRadius 200;
        _WP0 setWaypointStatements ["{_x in (crew T3)} count [Hos1,Hos2] == count [Hos1,Hos2]","HostSave = true;{deleteVehicle _x} forEach ((crew T3) + [T3])"];
        while {alive T4} do {
        		sleep 10;
                {deleteWaypoint _x} forEach waypoints _grT4;
                {deleteWaypoint _x} forEach waypoints _grT4;
                _WP0 = _grT4 addWaypoint [T3,0];
                _WP0 setWaypointType "MOVE";
                _WP0 setWaypointSpeed "FULL";
                _WP0 setWaypointBehaviour "COMBAT";
                _WP0 setWaypointCombatMode "RED";
                if ({_x in (crew T3)} count units _grHos == count units _grHos) exitWith {
                		_DT4 disableAI "AUTOTARGET";
        				_DT4 disableAI "TARGET";
                        {deleteWaypoint _x} forEach waypoints _grT4;
                        {deleteWaypoint _x} forEach waypoints _grT4;
                        _WP0 = _grT4 addWaypoint [[1614,936,80],0];
                        _WP0 setWPPos [1614,936,80];
                        _WP0 setWaypointType "MOVE";
                        _WP0 setWaypointCombatMode "BLUE";
                        _WP0 setWaypointSpeed "FULL";
                        _WP0 setWaypointCompletionRadius 200;
                        _WP1 = _grT4 addWaypoint [[0,0,80],1];
                        _WP1 setWPPos [0,0,80];
                        _WP1 setWaypointType "MOVE";
                        _WP1 setWaypointCombatMode "BLUE";
                        _WP1 setWaypointSpeed "FULL";
                        _WP1 setWaypointCompletionRadius 200;
                        _WP1 setWaypointStatements ["true","{deleteVehicle _x} forEach ((crew T4) + [T4])"];
                        };
                    };
                };
            };

Good luck

X39 added a subscriber: X39.May 7 2016, 8:13 PM
X39 added a comment.Sep 14 2015, 12:33 PM

dude ...
this is the most horrible bug report i ever had to read

  1. No actual bug ever mentioned
  2. Information overload
  3. no steps to reproduce (this is no 'need help with my script' forum)

my recommendation to the mods: close this issue as cannot reproduce
to the bug reporter: add something to this ticket to make your problem clear or get over to the BI forums for help

Terox added a subscriber: Terox.May 7 2016, 8:13 PM
Terox added a comment.Sep 14 2015, 8:22 PM

I voted this down to try and stop folks wasting their time even looking at this.

This is a fine example of what not to do.
This is not a place to try and get folks to debug your script for you.

LOL...
A server side executed code, which contains only commands, that belongs to units, which are local on the server. This has two different behaviours depending on server environment. And you say, you can´t understand the problem?
What should this express to me?

Terox added a comment.Sep 26 2015, 7:42 PM

this is a media to raise bug reports,
to do this sensibly, there should only be one command in here to be reported and how that command is not working and how to reproduce the issue.

So if you are serious at creating a sensible ticket, strip out all elements of the script until you have as simplified a script as possible highlighting the "supposedly" broken command and then report on that

Take a look at other tickets in this bug tracker for better reference on how to report it in such a way that the devs can look into it

You started your ticket with the line...

Find the Error:

In other words, I am assuming you mean "Can you fix my badly written script for me ?"

This bug tracker is not the place for that, take it to the editing forums

No, you have to understand, that BI does not check their code. The community is "used" for this. We are "used" for this.
This, and some other serious problems existing since Arma2 or OPF. And it is not my duty to save developer jobs or search an error and sniffing to it´s roots.
To find out, why something is´nt work, is BI job. And the code is not "badly written", it only work in two diffrent ways, but it should not.

what do you think is the difference of a (_vehicle land "land") executed on server and dedicated server?

It's BI job to find or explain this behaviour.
The magic words are "backwards compatibility" and "went bad".
All i see, are workarounds...Task Framework? remoteEcec? double and tripple versions of commands, doing the same? Crazy known sound bugs which survive since 1.24....

If i would work for this company, a frosty wind were blowing, that's sure.

X39 added a comment.Oct 4 2015, 12:03 PM

dude
the fuck you do not understand on NO FUCKING BODY is having ANY clue what you want to tell anybody with this bug
its just a bunch of garbage

/voteban so that such shit cannot happen anymore ...

Terox added a comment.Oct 4 2015, 1:04 PM

You can take a horse to water but.......
You may find this useful to help you resolve your issue

http://forums.bistudio.com/showthread.php?176096-Zeu-Debugging-Tutorial-amp-Foundation-Template

Please consider making a new report using the aids and recommendations provided in this ticket.