---
name: "switchLight"
type: command
status: ok
groups: ["Lights"]
arma3_since: "0.50"
locality: {"argument": null, "effect": "local", "server_exec": false}
source: https://community.bistudio.com/wiki/switchLight
revid: 364994
updated: 2024-07-04T19:58:05Z
---

# switchLight

*Command · Lights · Arma 3 v0.50 · introduced in Operation Flashpoint v1.00*

Locality: effect **local**

## Description

Controls whether a lamp is lit or not.

> [!NOTE]
> 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.

## Syntax

```sqf
lamp switchLight mode
```

**Parameters:**

- `lamp`: [Object](../topics/Object.md)
- `mode`: [String](../topics/String.md) - mode can be: "ON", "OFF" or "AUTO" (*lamp* is on only during nighttime, default)

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
(object 12345) switchLight "OFF";
```

### Example 2

```sqf
nearestObject [player, "Streetlamp"] switchLight "OFF";
```

### Example 3

```sqf
cursorObject switchLight "ON";
```

## See also

[lightIsOn](../commands/lightIsOn.md) · [BIS_fnc_switchLamp](../functions/BIS_fnc_switchLamp.md)

## Community notes

**Killzone_Kid** — 2013-09-16

*Before Arma 3 v1.92* use [setHit](../commands/setHit.md) instead:

```sqf
_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:

```sqf
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** — 2023-03-01

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:

```sqf
{
    _x switchLight "OFF";
} forEach (1 allObjects 0);
```

Disable all script-spawned and editor-placed lamps:

```sqf
{
    _x switchLight "OFF";
} forEach (8 allObjects 0);
```

These snippets iterate through all buildings and run [switchLight](../commands/switchLight.md) on them. If they're lamps, they'll be turned off.

<sub>Source: [BI Community Wiki — switchLight](https://community.bistudio.com/wiki/switchLight) (revision 364994).</sub>
