setRain: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([a-zA-Z0-9_]+) +\[\[([a-zA-Z0-9_]+)\]\] +([a-zA-Z0-9_]+);?<\/code>" to "<sqf>$1 $2 $3;</sqf>")
No edit summary
 
(28 intermediate revisions by 4 users not shown)
Line 31: Line 31:
A rain density of zero is no rain, one is maximum rain. Rain is not possible when [[overcast]] is less than 0.7.
A rain density of zero is no rain, one is maximum rain. Rain is not possible when [[overcast]] is less than 0.7.


{{Feature | arma3 | Since {{arma3}} this command is multiplayer synchronised:
{{Feature|arma3|
* If executed on server, the changes will propagate globally.
Since {{arma3}} this command is multiplayer-synchronised:
* If executed on client, the effect is temporary and will soon change to the server setting.
* if executed on the server, the changes will propagate globally.
Minimum [[overcast]] needed for rain in {{arma3}} is '''0.5'''.}}
* if executed on a client, the effect is local, temporary and will soon change to the server setting.
Minimum [[overcast]] needed for rain in {{arma3}} is '''0.5'''.
}}
 
{{Feature|important|
Alternative syntaxes ({{Link|#Syntax 2}} and {{Link|#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]] if sync is needed in Multiplayer
* have a '''[[Multiplayer Scripting#Locality|local]]''' {{Icon|localeffect|32}} effect
}}


|mp= Prior to {{arma3}}, each client and the server could have different rain values.
|mp= Prior to {{arma3}}, each client and the server could have different rain values.
Line 40: Line 48:
|s1= time [[setRain]] rain
|s1= time [[setRain]] rain


|p1= time: [[Number]] - Transition time in seconds to the new value
|p1= time: [[Number]] - transition time in seconds to the new value


|p2= rain: [[Number]] - New rain value in range 0 to 1.
|p2= rain: [[Number]] - new rain value in range 0..1.


|r1= [[Nothing]]
|r1= [[Nothing]]


|s2= [[setRain]] rainParams
|s2= [[setRain]] rainParams
|p21= rainParams: [[Array]] - array of custom [[Arma_3:_CfgWorlds_Config_Reference#class_RainParticles | RainParticles]] params, see [[rainParams]]. Use empty array [] to reset to default config values
|s2effect= local
|s2since= arma3 2.08
|s2since= arma3 2.08


|s3= [[setRain]] config
|p21= rainParams: [[Array]] - array of custom [[Arma 3: CfgWorlds Config Reference#class RainParticles | {{hl|RainParticles}}]] params - see [[rainParams]]. Use empty array [] to reset to default config values
|p41= config: [[Config]] - config path to a custom class, which contains [[Arma_3:_CfgWorlds_Config_Reference#class_RainParticles | RainParticles]] class. Use [[configNull]] to reset to default config values
 
|r2= [[Nothing]]
 
|s3= [[setRain]] config
|s3effect= local
|s3since= arma3 2.08
|s3since= arma3 2.08
|p41= config: [[Config]] - config path to a custom class, which contains [[Arma 3: CfgWorlds Config Reference#class RainParticles | {{hl|RainParticles}}]] class. Use [[configNull]] to reset to default config values
|r3= [[Nothing]]


|x1= <sqf>60 setRain 1;</sqf>
|x1= <sqf>60 setRain 1;</sqf>


|x2= Force no rain: <code>0 [[setRain]] 0;
|x2= Force no rain:
[[forceWeatherChange]];
<sqf>
999999 [[setRain]] 0;</code>
0 setRain 0;
forceWeatherChange;
999999 setRain 0;
</sqf>


|x3= Snow like effect (Since Arma 3 v2.08):<code>0 [[setOvercast]] 1;
|x3= See also [[BIS_fnc_setRain]] since {{arma3}} v2.10:
0 [[setRain]] 1;
<sqf>
[[forceWeatherChange]];
0 setOvercast 1;
[[setRain]] [
0 setRain 1;
"a3\data_f\rainnormal_ca.paa", {{cc|rainDropTexture}}
0 setFog 0.1; // snow affects visibility at distance
1, {{cc|texDropCount}}
setHumidity 0.9; // don't want to see dust clouds
0.01, {{cc|minRainDensity}}
enableEnvironment [false, true]; // don't want to see snakes and butterflies either
15, {{cc|effectRadius}}
forceWeatherChange;
0.1, {{cc|windCoef}}
[
2, {{cc|dropSpeed}}
"a3\data_f\snowflake4_ca.paa", // rainDropTexture - 4 means it has 4 flakes in it. Other available textures: snowflake8_ca.paa, snowflake16_ca.paa
0.5, {{cc|rndSpeed}}
4, // texDropCount - 4 because we are using texture with 4 flakes. Change to 8 or 16 in accordance with other textures used
0.5, {{cc|rndDir}}
0.01, // minRainDensity
0.02, {{cc|dropWidth}}
25, // effectRadius
0.02, {{cc|dropHeight}}
0.05, // windCoef
[0.1,0.1,0.1,1], {{cc|dropColor}}
2.5, // dropSpeed
0.1, {{cc|lumSunFront}}
0.5, // rndSpeed
0.1, {{cc|lumSunBack}}
0.5, // rndDir
5.5, {{cc|refractCoef}}
0.07, // dropWidth
0.3, {{cc|refractSaturation}}
0.07, // dropHeight
true, {{cc|snow}}
[1, 1, 1, 0.5], // dropColor
false {{cc|dropColorStrong}}
0.0, // lumSunFront
];</code>
0.2, // lumSunBack
0.5, // refractCoef
0.5, // refractSaturation
true, // snow
false // dropColorStrong
]
call BIS_fnc_setRain;
</sqf>


|seealso= [[rainParams]] [[overcast]] [[setOvercast]] [[rain]] [[nextWeatherChange]] [[forceWeatherChange]] [[setFog]] [[setHumidity]]
|seealso= [[rainParams]] [[BIS_fnc_setRain]] [[overcast]] [[setOvercast]] [[rain]] [[nextWeatherChange]] [[forceWeatherChange]] [[setFog]] [[setHumidity]]
}}
}}


<dl class="command_description">
{{Note
|user= Zapat
|timestamp= 20151215143100
|text= [[setTimeMultiplier]] does '''not''' affect transition time.
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on December 15, 2015 - 14:31 (UTC)</dd>
|user= Killzone_Kid
<dt class="note">[[User:Zapat|Zapat]]</dt>
|timestamp= 20161116220600
<dd class="note">
|text= Using {{Link|#Example 2}} on dedicated server might need additional interference on JIP clients. The reason is that JIP has [[rain]] value > 0 slowly changing to 0. To force client to sync one can execute this on client:
[[setTimeMultiplier]] does '''not''' affect transition time.
<sqf>skipTime 1; skipTime -1;</sqf>
</dd>
}}
 
<dt><dt>
<dd class="notedate">Posted on November 16, 2016 - 22:06 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
Using '''Example 2''' on dedicated server might need additional interference on JIP clients. The reason is that JIP has [[rain]] value > 0 slowly changing to 0. To force client to sync one can execute this on client: <code>[[skipTime]] 1; [[skipTime]] -1;</code>
</dd>
 
</dl>

Latest revision as of 18:12, 14 November 2024

Hover & click on the images for description

Description

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 is less than 0.7.
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 needed for rain in Arma 3 is 0.5.
Alternative syntaxes (Syntax 2 and 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 if sync is needed in Multiplayer
  • have a local LELocal effect
Multiplayer:
Prior to Arma 3, each client and the server could have different rain values.
Groups:
Environment

Syntax 1

Syntax:
time setRain rain
Parameters:
time: Number - transition time in seconds to the new value
rain: Number - new rain value in range 0..1.
Return Value:
Nothing

Syntax 2

Syntax:
setRain rainParams
Parameters:
rainParams: Array - array of custom RainParticles params - see rainParams. Use empty array [] to reset to default config values
Return Value:
Nothing

Syntax 3

Syntax:
setRain config
Parameters:
config: Config - config path to a custom class, which contains RainParticles class. Use configNull to reset to default config values
Return Value:
Nothing

Examples

Example 1:
60 setRain 1;
Example 2:
Force no rain:
0 setRain 0; forceWeatherChange; 999999 setRain 0;
Example 3:
See also BIS_fnc_setRain since Arma 3 v2.10:
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;

Additional Information

See also:
rainParams BIS_fnc_setRain overcast setOvercast rain nextWeatherChange forceWeatherChange setFog setHumidity

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
Zapat - c
Posted on Dec 15, 2015 - 14:31 (UTC)
setTimeMultiplier does not affect transition time.
Killzone_Kid - c
Posted on Nov 16, 2016 - 22:06 (UTC)
Using Example 2 on dedicated server might need additional interference on JIP clients. The reason is that JIP has rain value > 0 slowly changing to 0. To force client to sync one can execute this on client: