Arma 3 Scripting

disableCollisionWith

  • Local argument
  • Global effect
  • Arma 3 v0.50

Command · Markdown · JSON · 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.