setObjectTextureGlobal: Difference between revisions
Jump to navigation
Jump to search
m (fixed text that fell outside of the note due to misplaced }}) |
Killzone Kid (talk | contribs) No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 26: | Line 26: | ||
|p2= selection: [[Number]] or {{GVI|arma3|2.10|size= 0.75}} [[String]] - index of the selection. It is defined in the [[CfgVehicles Config Reference#hiddenSelections|hiddenSelections]] array in the vehicle's config (starting with 0). If a string is given, it referes to a hiddenSelection name or clan selection instead of an index. | |p2= selection: [[Number]] or {{GVI|arma3|2.10|size= 0.75}} [[String]] - index of the selection. It is defined in the [[CfgVehicles Config Reference#hiddenSelections|hiddenSelections]] array in the vehicle's config (starting with 0). If a string is given, it referes to a hiddenSelection name or clan selection instead of an index. | ||
|p3= texture: [[String]] - path to texture | |p3= texture: [[String]] - path to texture. Since {{GVI|arma3|2.20}} using '''"#reset"''' would reset to default texture. | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
Line 69: | Line 68: | ||
|timestamp= 20220913210401 | |timestamp= 20220913210401 | ||
|text= Following Killzone_Kid's note, a [[sleep]] after the [[setObjectMaterialGlobal]] and before the setObjectTextureGlobal command is sometimes needed to ensure the texture effect is carried out correctly. | |text= Following Killzone_Kid's note, a [[sleep]] after the [[setObjectMaterialGlobal]] and before the setObjectTextureGlobal command is sometimes needed to ensure the texture effect is carried out correctly. | ||
<sqf>private _block = createVehicle ["Land_VR_Block_02_F", player getPos [20, getDir player], [], 0, "CAN_COLLIDE"]; | <sqf> | ||
private _block = createVehicle ["Land_VR_Block_02_F", player getPos [20, getDir player], [], 0, "CAN_COLLIDE"]; | |||
_block setObjectMaterialGlobal [0, "\a3\data_f\default.rvmat"]; | _block setObjectMaterialGlobal [0, "\a3\data_f\default.rvmat"]; | ||
sleep 0.01; | sleep 0.01; | ||
_block setObjectTextureGlobal [0, "#(rgb,8,8,3)color(1,0,0,1)"];</sqf> | _block setObjectTextureGlobal [0, "#(rgb,8,8,3)color(1,0,0,1)"]; | ||
</sqf> | |||
Note that you need to run above code in a [[Scheduler|scheduled environment]].}} | Note that you need to run above code in a [[Scheduler|scheduled environment]].}} |
Latest revision as of 00:21, 28 October 2024
Description
- Description:
- Set the texture of the given selection on all computers in a network session.
- Multiplayer:
- The effect is JIP compatible.
- Problems:
- If executed from an object's init field (which should not be done anyway for GEGlobal commands), execution may happen too early and fail to broadcast over the network and to be JIP compatible.
- Groups:
- Object Manipulation
Syntax
- Syntax:
- object setObjectTextureGlobal [selection, texture]
- Parameters:
- object: Object
- selection: Number or 2.10 String - index of the selection. It is defined in the hiddenSelections array in the vehicle's config (starting with 0). If a string is given, it referes to a hiddenSelection name or clan selection instead of an index.
- texture: String - path to texture. Since 2.20 using "#reset" would reset to default texture.
- Return Value:
- Nothing
Examples
- Example 1:
- Example 2:
- // Set up a 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 private _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
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
- Posted on Oct 24, 2016 - 12:13 (UTC)
-
Sometimes it could be necessary to set default material on an object for the texture to take effect:
Courtesy of Larrowprivate _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)"];
- Posted on Sep 13, 2022 - 21:04 (UTC)
-
Following Killzone_Kid's note, a sleep after the setObjectMaterialGlobal and before the setObjectTextureGlobal command is sometimes needed to ensure the texture effect is carried out correctly.
Note that you need to run above code in a scheduled environment.private _block = createVehicle ["Land_VR_Block_02_F", player getPos [20, getDir player], [], 0, "CAN_COLLIDE"]; _block setObjectMaterialGlobal [0, "\a3\data_f\default.rvmat"]; sleep 0.01; _block setObjectTextureGlobal [0, "#(rgb,8,8,3)color(1,0,0,1)"];