switchLight: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "Samatra" to "Sa-Matra")
 
(66 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| ofp |= Game name
|game1= ofp
|version1= 1.00


|1.00|= Game version
|game2= ofpe
____________________________________________________________________________________________
|version2= 1.00


| Controls whether a lamp is lit or not. For working with CfgNonAIVehicles class "StreetLamp" only.|= Description
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


| lamp '''switchLight''' mode |= Syntax
|game4= arma2
|version4= 1.00


|p1= lamp: [[Object]] |= Parameter 1
|game5= arma2oa
|version5= 1.50


|p2= mode: [[String]] - Mode can be: "ON", "OFF" or "AUTO" (Lamp is on only during nighttime , default)  |= Parameter 2
|game6= tkoh
|version6= 1.00


| [[Nothing]] |= Return value
|game7= arma3
____________________________________________________________________________________________
|version7= 0.50
|x1 = <code>([[object]] 12345) switchLight "off" </code>|=
|x2 = <code>[[nearestObject]]  [player, "Streetlamp"] switchLight "OFF" </code>|=
|x3 = <code>[[if]] ([[count]] [[allMissionObjects]] "StreetLamp" == 0) [[then]] {
[[hint]] "Objects compatible with 'switchLight' are not found.";
} [[else]] {
[[hint]] "'switchLight' compatible objects are found!";
};</code>|=


| [[lightIsOn]] |= See also
|gr1= Lights


|eff= local
|descr= Controls whether a lamp is lit or not.
{{Feature|arma3|
This command was originally designed to only work with {{hl|CfgNonAIVehicles}} class {{hl|"StreetLamp"}} only.
Since {{arma3}} v1.92 this command was extended to work with street lights and some prop lights, like portable construction light.
}}
}}


<h3 style="display:none">Notes</h3>
|s1= lamp [[switchLight]] mode
<dl class="command_description">
 
<!-- Note Section BEGIN -->
|p1= lamp: [[Object]]
 
|p2= mode: [[String]] - mode can be: "ON", "OFF" or "AUTO" (''lamp'' is on only during nighttime, default)
 
|r1= [[Nothing]]
 
|x1= <sqf>(object 12345) switchLight "OFF";</sqf>


<dd class="notedate">Posted on January 23, 2010
|x2= <sqf>nearestObject [player, "Streetlamp"] switchLight "OFF";</sqf>
<dt class="note">'''[[User:Vasek7|vasek7]]'''
<dd class="note">
If you want turn street lamp off in ArmA2, the syntax is:<br>
ID959522=position player nearestObject 959522<br>
ID959522 switchLight "off"


<dd class="notedate">Posted on September 16, 2013
|x3= <sqf>cursorObject switchLight "ON";</sqf>
<dt class="note">'''[[User:Killzone_Kid|Killzone_Kid]]'''
|seealso= [[lightIsOn]] [[BIS_fnc_switchLamp]]
<dd class="note">
}}
In ArmA3 use [[setHit]] instead:


<code>_lamp = [[nearestObject]] <nowiki>[</nowiki>[[player]], "Lamps_base_F"];
{{Note
_lamp [[setHit]] ["light_1_hitpoint", 0.97]; //off
|user= Killzone_Kid
_lamp [[setHit]] ["light_1_hitpoint", 0]; //on</code>
|timestamp= 20130916111400
|text= ''Before {{arma3}} v1.92'' use [[setHit]] instead:
<sqf>
_lamp = nearestObject [player, "Lamps_base_F"];
_lamp setHit ["light_1_hitpoint", 0.97]; // off
_lamp setHit ["light_1_hitpoint", 0]; // on
</sqf>


Switch all lights off in the 500 radius of player:
Switch all lights off in the 500 radius of player:
<code>{
<sqf>
_x [[setHit]] ["light_1_hitpoint", 0.97];
private _lamps = nearestObjects [player, ["Lamps_base_F", "PowerLines_base_F", "PowerLines_Small_base_F"], 500];
_x [[setHit]] ["light_2_hitpoint", 0.97];
_x [[setHit]] ["light_3_hitpoint", 0.97];
_x [[setHit]] ["light_4_hitpoint", 0.97];
} [[forEach]] [[nearestObjects]] <nowiki>[</nowiki>[[player]], [
"Lamps_base_F",
"PowerLines_base_F",
"PowerLines_Small_base_F"
], 500];</code>
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
{
[[Category:Scripting Commands|SWITCHLIGHT]]
for "_i" from 0 to (count getAllHitPointsDamage _x -1) do
[[Category:Scripting Commands OFP 1.96|SWITCHLIGHT]]
{
[[Category:Scripting Commands OFP 1.46|SWITCHLIGHT]]
_x setHitIndex [_i, 0.97];
[[Category:Scripting Commands ArmA|SWITCHLIGHT]]
};
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
} forEach _lamps;</sqf>
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
 
[[Category:Command_Group:_Object_Manipulation|{{uc:{{PAGENAME}}}}]]
{{Note
|user= Sa-Matra
|timestamp= 20230301141231
|text= How to disable all lamps using the latest {{arma3}} commands, a modern method. Disable all lights that are pre-placed on the map, on the entire map:
<sqf>
{
_x switchLight "OFF";
} forEach (1 allObjects 0);
</sqf>
 
Disable all script-spawned and editor-placed lamps:
<sqf>
{
_x switchLight "OFF";
} forEach (8 allObjects 0);
</sqf>
These snippets iterate through all buildings and run [[switchLight]] on them. If they're lamps, they'll be turned off.
}}

Latest revision as of 20:58, 4 July 2024

Hover & click on the images for description

Description

Description:
Controls whether a lamp is lit or not.
Arma 3
This command was originally designed to only work with CfgNonAIVehicles class "StreetLamp" only. Since Arma 3 v1.92 this command was extended to work with street lights and some prop lights, like portable construction light.
Groups:
Lights

Syntax

Syntax:
lamp switchLight mode
Parameters:
lamp: Object
mode: String - mode can be: "ON", "OFF" or "AUTO" (lamp is on only during nighttime, default)
Return Value:
Nothing

Examples

Example 1:
(object 12345) switchLight "OFF";
Example 2:
nearestObject [player, "Streetlamp"] switchLight "OFF";
Example 3:
cursorObject switchLight "ON";

Additional Information

See also:
lightIsOn BIS_fnc_switchLamp

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
Killzone_Kid - c
Posted on Sep 16, 2013 - 11:14 (UTC)
Before Arma 3 v1.92 use setHit instead:
_lamp = nearestObject [player, "Lamps_base_F"]; _lamp setHit ["light_1_hitpoint", 0.97]; // off _lamp setHit ["light_1_hitpoint", 0]; // on
Switch all lights off in the 500 radius of player:
private _lamps = nearestObjects [player, ["Lamps_base_F", "PowerLines_base_F", "PowerLines_Small_base_F"], 500]; { for "_i" from 0 to (count getAllHitPointsDamage _x -1) do { _x setHitIndex [_i, 0.97]; }; } forEach _lamps;
Sa-Matra - c
Posted on Mar 01, 2023 - 14:12 (UTC)
How to disable all lamps using the latest Arma 3 commands, a modern method. Disable all lights that are pre-placed on the map, on the entire map:
{ _x switchLight "OFF"; } forEach (1 allObjects 0);
Disable all script-spawned and editor-placed lamps:
{ _x switchLight "OFF"; } forEach (8 allObjects 0);
These snippets iterate through all buildings and run switchLight on them. If they're lamps, they'll be turned off.