---
name: "setRain"
type: command
status: ok
groups: ["Environment"]
arma3_since: "0.50"
locality: {"argument": null, "effect": "global", "server_exec": true}
source: https://community.bistudio.com/wiki/setRain
revid: 377884
updated: 2026-01-04T16:27:04Z
---

# setRain

*Command · Environment · Arma 3 v0.50 · introduced in Operation Flashpoint v1.75*

Locality: effect **global** · **server execution only**

## Description

Sets rain density smoothly over the given transition time. A transition time of zero means an immediate change.
A rain density of zero is no rain, one is maximum rain. Rain is not possible when [overcast](../commands/overcast.md) is less than 0.7.

> [!NOTE]
> **Arma 3:** Since Arma 3 this command is multiplayer-synchronised:
> - if executed on the server, the changes will propagate globally.
> - if executed on a client, the effect is local, temporary and will soon change to the server setting.
> Minimum [overcast](../commands/overcast.md) needed for rain in Arma 3 is **0.5**.

> [!IMPORTANT]
> Alternative syntaxes ([#Syntax 2](../commands/setRain.md#syntax-2) and [#Syntax 3](../commands/setRain.md#syntax-3)):
> - set rain particle params. Rain particles params are client-side params and are ignored on dedicated server. Use helper function [BIS_fnc_setRain](../functions/BIS_fnc_setRain.md) if sync is needed in Multiplayer
> - have a **[local](../topics/Multiplayer_Scripting.md#locality)** Local Effect effect

## Syntax

### Syntax 1

```sqf
time setRain rain
```

**Parameters:**

- `time`: [Number](../topics/Number.md) - transition time in seconds to the new value
- `rain`: [Number](../topics/Number.md) in range 0..1 - new rain value

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

### Syntax 2

*since arma3 2.08 · effect: local*

```sqf
setRain rainParams
```

**Parameters:**

- `rainParams`: [Array](../topics/Array.md) of [Anything](../topics/Anything.md) - custom `RainParticles` params - see [rainParams](../commands/rainParams.md). Use empty array [] to reset to default config values

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

### Syntax 3

*since arma3 2.08 · effect: local*

```sqf
setRain config
```

**Parameters:**

- `config`: [Config](../topics/Config.md) - config path to a custom class, which contains `RainParticles` class. Use [configNull](../commands/configNull.md) to reset to default config values

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

## Examples

### Example 1

```sqf
60 setRain 1;
```

### Example 2

Force no rain:

```sqf
0 setRain 0;
forceWeatherChange;
999999 setRain 0;
```

### Example 3

See also [BIS_fnc_setRain](../functions/BIS_fnc_setRain.md) since Arma 3 v2.10:

```sqf
0 setOvercast 1;
0 setRain 1;
0 setFog 0.1;        // snow affects visibility at distance
setHumidity 0.9;    // don't want to see dust clouds
enableEnvironment [false, true];    // don't want to see snakes and butterflies either
forceWeatherChange;
[
    "a3\data_f\snowflake4_ca.paa",    // rainDropTexture - 4 means it has 4 flakes in it. Other available textures: snowflake8_ca.paa, snowflake16_ca.paa
    4,                // texDropCount - 4 because we are using texture with 4 flakes. Change to 8 or 16 in accordance with other textures used
    0.01,            // minRainDensity
    25,                // effectRadius
    0.05,            // windCoef
    2.5,            // dropSpeed
    0.5,            // rndSpeed
    0.5,            // rndDir
    0.07,            // dropWidth
    0.07,            // dropHeight
    [1, 1, 1, 0.5],    // dropColor
    0.0,            // lumSunFront
    0.2,            // lumSunBack
    0.5,            // refractCoef
    0.5,            // refractSaturation
    true,            // snow
    false            // dropColorStrong
]
call BIS_fnc_setRain;
```

## Multiplayer

Prior to Arma 3, each client and the server could have different rain values.

## See also

[rainParams](../commands/rainParams.md) · [BIS_fnc_setRain](../functions/BIS_fnc_setRain.md) · [overcast](../commands/overcast.md) · [setOvercast](../commands/setOvercast.md) · [rain](../commands/rain.md) · [nextWeatherChange](../commands/nextWeatherChange.md) · [forceWeatherChange](../commands/forceWeatherChange.md) · [setFog](../commands/setFog.md) · [setHumidity](../commands/setHumidity.md)

## Community notes

**Zapat** — 2015-12-15

[setTimeMultiplier](../commands/setTimeMultiplier.md) does **not** affect transition time.

---

**Killzone_Kid** — 2016-11-16

Using [#Example 2](../commands/setRain.md#example-2) on dedicated server might need additional interference on JIP clients. The reason is that JIP has [rain](../commands/rain.md) value > 0 slowly changing to 0. To force client to sync one can execute this on client:

```sqf
skipTime 1; skipTime -1;
```

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