{"name":"setGusts","title":"setGusts","type":"command","url":"https://community.bistudio.com/wiki/setGusts","revid":376959,"updated":"2026-01-01T05:50:49Z","groups":["Environment"],"status":"ok","games":{"arma3":"0.50"},"since":"arma3 0.50","arma3_since":"0.50","locality":{"effect":"local"},"description":"Changes the gusts value smoothly during the given time (in seconds). A time of zero means there will be an immediate change.","syntaxes":[{"syntax":"time setGusts value","params":[{"name":"time","type":"Number","type_expr":"Number"},{"name":"value","type":"Number in range 0..1","type_expr":"Number"}],"returns":{"type":"Nothing","type_expr":"Nothing"},"form":"binary","left":{"text":"time"},"right":{"text":"value"}}],"examples":[{"code":["60 setGusts 0.75;"]}],"see_also":["gusts","wind","setWind"],"notes":[{"user":"Sa-Matra","date":"2022-07-06T04:17:09Z","text":"Unlike most of weather commands, this one does not set gusts instantly but on next frame (in 2 frames in practice), so running it multiple times will overwrite each other. setRainbow has same behavior. In order to set gusts to some value and then have it change to another over time, you need to first do `0 setGusts 0` and then `100 setGusts 1` after 2 frames. Example:\n\n```sqf\n// Initial gusts you want\n0 setGusts 0;\n\n// A thread to wait for 2 frames\n(diag_frameNo + 2) spawn {\n    waitUntil {\n        // Code in braces is not executed until wanted frame is reached because of lazy evaluation\n        diag_frameNo >= _this && {\n            100 setGusts 1;\n            true; // positive condition result to end waitUntil and spawned thread\n        };\n    };\n};\n```"}]}