Jump to content

Recommended Posts

Hello, I'm trying to get the server gametime into the script but it won't work for me. 
This is Weather.sqf and game shows error in _time = daytime; . When I tried to make _hour = floor daytime;  it again shows error. I'm really lost with this. Could anyone help me please? 

while {true} do
      _time = daytime;
      _hour = floor _time;
      _delayOvercast = 1800;
      _delayRain = 1800;
      _delayFog = 1800;
      _value = selectRandom [0.1, 0.2, 0,3];

      if (_hour == 2) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0;
      }
      if (_hour == 4) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.5;
      };
      if (_hour == 5) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.0;
      }
      if (_hour == 12) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.0;
      }
      if (_hour == 16) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.0;
      }
      if (_hour == 18) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.0;
      }
      if (_hour == 22) then
      {
            _delayOvercast setOvercast 1;
            _delayRain setRain 1;
            _delayFog setFog 0.5;
      }
      if (_hour == 24) then
      {
            _delayOvercast setOvercast _value;
            _delayRain setRain 0;
            _delayFog setFog 0.3;
      }
sleep 1800;
};

 

Share this post


Link to post
Share on other sites
Quote

No spam or advertising:

Advertising of any commercial or personal project, product or service on these forums is not permitted. Chain letters and pyramid schemes are similarly prohibited. This includes the Personal Message service and clan recruitment outside of the Clan Recruitment forum. Threads older than 4 months should not be dug up unless something significant is being added. Please do not post duplicate threads in more than one forum and do not "Bump" threads. Posting "any news", "is it out yet" or asking for a release date type posts are also spam.

https://forums.bohemia.net/guidelines/

 

You missed { after while {true} do, and many of missing ;s

  • Thanks 1

Share this post


Link to post
Share on other sites

 

3 minutes ago, POLPOX said:

https://forums.bohemia.net/guidelines/

 

You missed { after while {true} do, and many of missing ;s

Oh I see. Thank you. I'm sorry for "spam", I didn't want to spam in any way but I wanted just different thing now. If I was able delete the "old" thread I would do it but it's not in my permission here. 
I'm not very experienced with scripting so that's why I asking here. Do you think you could help me with it please? To get the daytime into script to make it work? 

Share this post


Link to post
Share on other sites
5 minutes ago, HonzaVinCZ said:

I'm not very experienced with scripting so that's why I asking here. Do you think you could help me with it please? To get the daytime into script to make it work? 

Please read my post again...

while {true} do {
      _time = dayTime; 
      _hour = floor _time; 
      _delayOvercast = 1800;
      _delayRain = 1800; 
      _delayFog = 1800; 
      _value = selectRandom [0.1, 0.2, 0,3]; 
 
      if (_hour == 2) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0; 
      };
      if (_hour == 4) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.5; 
      }; 
      if (_hour == 5) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 12) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 16) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      } ;
      if (_hour == 18) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 22) then 
      { 
            _delayOvercast setOvercast 1; 
            _delayRain setRain 1; 
            _delayFog setFog 0.5; 
      };
      if (_hour == 24) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.3; 
      };
      sleep 1800; 
};

 

  • Thanks 1

Share this post


Link to post
Share on other sites
6 minutes ago, POLPOX said:

Please read my post again...


while {true} do {
      _time = dayTime; 
      _hour = floor _time; 
      _delayOvercast = 1800;
      _delayRain = 1800; 
      _delayFog = 1800; 
      _value = selectRandom [0.1, 0.2, 0,3]; 
 
      if (_hour == 2) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0; 
      };
      if (_hour == 4) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.5; 
      }; 
      if (_hour == 5) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 12) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 16) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      } ;
      if (_hour == 18) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.0; 
      };
      if (_hour == 22) then 
      { 
            _delayOvercast setOvercast 1; 
            _delayRain setRain 1; 
            _delayFog setFog 0.5; 
      };
      if (_hour == 24) then 
      { 
            _delayOvercast setOvercast _value; 
            _delayRain setRain 0; 
            _delayFog setFog 0.3; 
      };
      sleep 1800; 
};

 

Oh I didn't realised the ; must be after }s. I also didn't realised what did you mentioted by ";s" I think it's a smile. :-) Seems it works now. Thank you a lot! 

Share this post


Link to post
Share on other sites

So there is my final script. It changes weather every hour depending on game time acceleration. This is my first script I did by myself. I'm so happy. 
But there could be some better way how to write this, am I right? Can be this stressful for server? 

_weather = true;        // Set dynamic weather on/off. Value: true/false. Default: true
_timeMultiplier = 24;   // Set time acceleration. Value: 0.1-120. Default: 1

_delay1Hour = 3600 / _timeMultiplier;
_delay1HourFloored = floor _delay1Hour;
_delayHalfHour = _delay1HourFloored / 2;
_delayHalfHourFloored = floor _delayHalfHour;

setTimeMultiplier _timeMultiplier;

while {_weather} do {
      _daytime = floor daytime;
      _value = selectRandom [0.1, 0.2, 0.3, 0.4, 0.5];

      if (_daytime == 1) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 2) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 3) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0.5;
      };
      if (_daytime == 4) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 5) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 6) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 7) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 8) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 9) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 10) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 11) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 12) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0.0;
      };
      if (_daytime == 13) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 14) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 15) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 16) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0.0;
      };
      if (_daytime == 17) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 18) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0.0;
      };
      if (_daytime == 19) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 20) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 21) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0;
      };
      if (_daytime == 22) then
      {
            _delayHalfHourFloored setOvercast 1;
            _delayHalfHourFloored setRain 1;
            _delayHalfHourFloored setFog 0.5;
      };
      if (_daytime == 23) then
      {
            _delayHalfHourFloored setOvercast 1;
            _delayHalfHourFloored setRain 1;
            _delayHalfHourFloored setFog 0.5;
      };
      if (_daytime == 24) then
      {
            _delayHalfHourFloored setOvercast _value;
            _delayHalfHourFloored setRain 0;
            _delayHalfHourFloored setFog 0.3;
      };
sleep _delayHalfHourFloored;
};

 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×