- Jos tulee muita parametrejä kuin nämä kaksi, muista tarkistaa järjestys paramsArray select x; komentoa käyttäessä. Weather sqf olettaa että parametrit ovat ensimmäisen.
- Description.ext[+] Spoiler
Code: Select all
class Params { class f_param_timeOfDay { title = "Time of day"; values[] = {0,1,2,3,4,5,6,7}; texts[] = {"Dawn","Early Morning","Morning","Noon","Afternoon","Evening","Dusk","Night"}; default = 3; }; class f_param_weather { title = "Weather"; values[] = {0,1,2,3,4,5,6,7,8,9,10}; texts[] = {"Clear (Calm)","Clear (Light Winds)","Clear (Strong Winds)","Overcast (Calm)","Overcast (Light Winds)","Overcast (Strong Winds)","Rain (Light Winds)","Rain (Strong Winds)","Storm","Light Fog","Heavy Fog"}; default = 1; }; };
- Weather.sqf[+] Spoiler
Code: Select all
// F3 - Mission Conditions Selector // Credits: Please see the F3 online manual (http://www.ferstaberinde.com/f3/en/) // ==================================================================================== // DECLARE VARIABLES AND FUNCTIONS private ["_timeOfDay","_weather","_MissionOvercast","_MissionRain","_MissionRainbow","_MissionLightnings","_MissionWindStr","_MissionWindGusts","_MissionFog","_MissionWaves","_MissionHumidity"]; // ==================================================================================== // JIP CHECK // Prevents the script executing until the player has synchronised correctly: if (!isDedicated && (player != player)) then { waitUntil {player == player}; waitUntil {time > 10}; }; // ==================================================================================== // SET KEY VARIABLES // Conditions are set in the parameters screen (during mission set-up). _timeOfDay = paramsArray select 0; _weather = paramsArray select 1; // ==================================================================================== // SELECT MISSION WEATHER // Using the value of _weather, values for _MissionOvercast and _MissionFog are set. switch (_weather) do { // Clear (Calm) case 0: { _MissionOvercast = 0.01; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0; _MissionWindGusts = 0; _MissionFog = 0; _MissionWaves = 0.1; _MissionHumidity = 0.2; }; // Clear (Light Winds) case 1: { _MissionOvercast = 0.01; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.25; _MissionWindGusts = 0.5; _MissionFog = 0; _MissionWaves = 0.25; _MissionHumidity = 0.2; }; // Clear (Strong Winds) case 2: { _MissionOvercast = 0.01; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.75; _MissionWindGusts = 1; _MissionFog = 0; _MissionWaves = 0.75; _MissionHumidity = 0.2; }; // Overcast (Calm) case 3: { _MissionOvercast = 0.8; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0; _MissionWindGusts = 0; _MissionFog = 0; _MissionWaves = 0.1; _MissionHumidity = 0.2; }; // Overcast (Light Winds) case 4: { _MissionOvercast = 0.8; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.25; _MissionWindGusts = 0.5; _MissionFog = 0; _MissionWaves = 0.25; _MissionHumidity = 0.2; }; // Overcast (Strong Winds) case 5: { _MissionOvercast = 0.8; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.75; _MissionWindGusts = 1; _MissionFog = 0; _MissionWaves = 0.75; _MissionHumidity = 0.2; }; // Rain (Light Winds) case 6: { _MissionOvercast = 1; _MissionRain = 1; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.25; _MissionWindGusts = 0.5; _MissionFog = 0; _MissionWaves = 0.75; _MissionHumidity = 0.9; }; // Rain (Strong Winds) case 7: { _MissionOvercast = 1; _MissionRain = 1; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0.75; _MissionWindGusts = 1; _MissionFog = 0; _MissionWaves = 0.75; _MissionHumidity = 0.9; }; // Storm case 8: { _MissionOvercast = 1; _MissionRain = 1; _MissionRainbow = 0; _MissionLightnings = 1; _MissionWindStr = 1; _MissionWindGusts = 1; _MissionFog = 0; _MissionWaves = 1; _MissionHumidity = 1; }; // Light Fog case 9: { _MissionOvercast = 0.25; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0; _MissionWindGusts = 0; _MissionFog = 0.3; _MissionWaves = 0; _MissionHumidity = 0.7; }; // Heavy Fog case 10: { _MissionOvercast = 0.8; _MissionRain = 0; _MissionRainbow = 0; _MissionLightnings = 0; _MissionWindStr = 0; _MissionWindGusts = 0; _MissionFog = 0.7; _MissionWaves = 0; _MissionHumidity = 0.7; }; }; // ==================================================================================== // SELECT MISSION TIME OF DAY // Using the value of _timeOfDay, a new date is set. switch (_timeOfDay) do { // Dawn case 0: { setDate [2030, 5, 11, 5, 0]; }; // Early Morning case 1: { setDate [2030, 5, 11, 6, 0]; }; // Morning case 2: { setDate [2030, 5, 11, 9, 0]; }; // Noon case 3: { setDate [2030, 5, 11, 12, 0]; }; // Afternoon case 4: { setDate [2030, 5, 11, 15, 0]; }; // Evening case 5: { setDate [2030, 5, 11, 17, 40]; }; // Dusk case 6: { setDate [2030, 5, 11, 19, 10]; }; // Night case 7: { setDate [2030, 5, 11, 0, 0]; }; }; // ==================================================================================== // reset the values here, to make sure nothing freaky happens ,like rain. // BUM: https://community.bistudio.com/wiki/setOvercast <- Bugi skipTime -24; 86400 setOvercast _MissionOvercast; skipTime 24; 0 = [] spawn { sleep 0.1; simulWeatherSync; }; 0 setFog _MissionFog; 0 setRain _MissionRain; 0 setRainbow _MissionRainbow; 0 setWindStr _MissionWindStr; 0 setWindForce _MissionWindGusts; 0 setWaves _MissionWaves;
Code: Select all
[] execVM "Weather.sqf";