setObjectTextureGlobal

From Bohemia Interactive Community
Revision as of 10:44, 13 May 2019 by Killzone Kid (talk | contribs) (when setObjectTextureGlobal fails)
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Set the texture of the given selection on all computers in a network session.

NOTES:
  • Do not put global commands such this one into init field in editor and expect it to work in Multiplayer. See Talk:setObjectTextureGlobal for the explanation.
  • Not all objects could be textured this way. To find out, run getObjectTextures command on an object. Empty array [] usually indicates it cannot be textured.
  • All textures must have resolution 2^x / 2^y (e.g. 16 / 16, 16 / 32, 64 / 256, 512 / 512, etc). The largest texture size commonly supported by graphics cards and RV engine is 4096x4096
If setObjectTextureGlobal is executed from init of a vehicle, it may be too soon and fail to broadcast to other vehicle instances on network and become JIP compatible. The workaround is to delay setting the texture until after the vehicle is fully initialised
Groups:
Uncategorised

Syntax

Syntax:
obj setObjectTextureGlobal [selection, texture]
Parameters:
obj: Object
[selection,texture]: Array
selection: Number
texture: String
Return Value:
Nothing

Examples

Example 1:
player setObjectTextureGlobal [0, "\MyAddon\blue.paa"];
Example 2:
//set up persistent texture keeper player addEventHandler ["Take", { (getObjectTextures player + [uniformContainer player getVariable "texture"]) params ["_texUniform", "_texInsignia", "_texCustom"]; if (isNil "_texCustom") exitWith {}; if (_texUniform == _texCustom) exitWith {}; player setObjectTextureGlobal [0, _texCustom]; false }]; //Example: make current uniform persistently blue _texture = "#(rgb,8,8,3)color(0,0,1,1)"; //blue texture player setObjectTextureGlobal [0, _texture]; //set it on player uniformContainer player setVariable ["texture", _texture, true]; //store it on uniform

Additional Information

See also:
setObjectTexturegetObjectTexturessetObjectMaterialforceFlagTexture

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Bottom Section

Posted on March 8, 2015 - 21:15 (UTC)
Sxp2hiiigh
The effect is persistent and will be synchronized for players who join in progress. (Tested with Arma 3 v1.40)
Posted on December 29, 2015 - 18:13 (UTC)
Elch2070
In some cases the ".paa" files do not work. Instead you can try ".jpg" files.
Posted on October 24, 2016 - 12:13 (UTC)
Killzone Kid
Sometimes it could be necessary to set default material on an object for the texture to take effect: _block = createVehicle ["Land_VR_Block_02_F", player getPos [20, getDir player], [], 0, "CAN_COLLIDE"]; _block setObjectMaterialGlobal [0, "\a3\data_f\default.rvmat"]; _block setObjectTextureGlobal [0, "#(rgb,8,8,3)color(1,0,0,1)"]; Courtesy of Larrow