Arma 3 Scripting

Command in Object Manipulation

disableCollisionWith

Also available as Markdown and JSON, or read the original wiki page.

Description

Disable collision between provided objects. The collision is always disabled for both objects in the arguments.

Important

  • this command does not disable collision between PhysX objects
  • this command has to be executed where objects are local, and as long as they do not change locality, the effect of this command will be global:
    • if the two objects are not local to the same computer, then it has to be executed on both computers to achieve the desired effect
    • if one or both objects change locality, the command needs to be executed again on the new owner's machine(s) to maintain the effect
  • the feature works by having an object registering a reference to the other object; this command stores such reference on both objects - see #Example 3

Syntax

vehicle1 disableCollisionWith vehicle2

Parameters:

Returns: Nothing

Examples

Example 1

player disableCollisionWith myWall;

Example 2

[_veh1, _veh2] remoteExecCall ["disableCollisionWith", 0, _veh1];

Example 3

// this command stores a reference to the other object on both arguments:
_obj1 disableCollisionWith _obj2;    // _obj1 has a reference to _obj2, disabling collision with it
                                    // _obj2 has a reference to _obj1, disabling collision with it

// only one reference is required to disable collision, allowing more than one disabled collision
_obj1 disableCollisionWith _obj3;    // _obj1 has a reference to _obj3, disabling collision with it
                                    // _obj2 has a reference to _obj1, disabling collision with it
                                    // _obj3 has a reference to _obj1, disabling collision with it
                                    // factually, _obj1 has collisions disabled with _obj2 and _obj3

// note that _obj1 collision can be changed without using the command on it directly
_obj2 disableCollisionWith _obj3;    // _obj1 has no more reference to _obj3 and can collide with it
                                    // _obj2 has a reference to _obj3, disabling collision with it
                                    // _obj3 has a reference to _obj2, disabling collision with it

See also

collisionDisabledWith · enableCollisionWith · setPhysicsCollisionFlag

Community notes

Ranwer

disableCollisionWith is basically a script that when you apply it to an object, and your unit can go through it like a ghost. However, if you wish the object to be solid again, you may wish to use enableCollisionWith.

An example for this is:

// name of unit in editor such as player1
// name of object in editor such as barrel1
barrel1 disableCollisionWith player1;

// to make the barrel solid again, do this as vice versa if you know what you are doing!
barrel1 enableCollisionWith player1;

On a side note: this can come in handy a lot if you want a unit to sit on the back of a car or on top of a container

bloodwyn1756

This command does not disable the roadway LOD.