Arma 3 sääskripti

Post Reply
Bummeri
Posts: 3009
Joined: 09 Nov 2013, 14:35

Arma 3 sääskripti

Post by Bummeri »

Lisää Description.ext tiedostoon

- 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;
	};
};
Lisää Weather.sqf tehtävä kansioon
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;
Käynnistä skripti kaikille init.sqf

Code: Select all

[] execVM "Weather.sqf";
"Dataa on saatava." -DataNummi
"Toteutus on pilalla, pelkkää paskaa tilalla." -MyösNummi
Post Reply