Can't seem to get bright sunny days?

muggerfugger

Well-Known Member
I never had this problem before. I took half a year break off of Dayz Mod so i don't know if this is just the way it is now.

Seems I can't get bright summer days. the sun seems to stay on the edge of the sky, and never across the middle as it used to (creating a bright summer day).


I thought maybe was due to it being winter now, and in winter it never gets super sunny.
Always seems shadowy and gloomy, even on clear skies.

I manually changed the time in the hiveext.ini to june, but it didn't change anything with the sun.

[Time]
Type = Static
Hour = 11
Year = 2014
Month = 6
Date = 20

Am i doing something wrong?

this is 9am, 11am, 3pm
9am.jpg

11am.jpg

3pm.jpg


thanks
 
I think we went over this in another post. If you are using the latest epoch admin script, it overrides the hiveext.ini 'static' settings so you can set the time to whatever you want but its always local time.
The solution was to disable one publicvariable in the admin script.
Did you open up a watch and see what time it was in game? That certainly isn't 11am, but see if it maintains the servers local time.
 
oh i should've mentioned im using the latest dayzmod 1.8.3
search on these forums and google sucks anymore, couldn't find nearly anything.

1pm
1pm.jpg
 
okay. so the watch says 1pm .. but the sun looks on the horizon. let me check on mine right now.

As you can see, the screenshots are all facing south. The sun never leaves that side of the sky. Never high up in the sky and sunny. Always low.
Which leads me to think it ignores the month day set in the hive file. Stuck on the winter calendar i suppose.

It follows the time set though.
 
time was set to static 14 in hive.ini and this is what i see ..

3dZtYfa.png



Changed time to static 11
The time is now NOON (which is wrong)according to the watch but the sun is obvioulsy not high in the sky. Its just behind the top of that tree which is basically same as where yours was.

zVaN8Gd.png



So I hate to say it but ... 1.8.3 .. has been totally broken .. I think EVERYONE should revert to 1.8.2 as that was nearly perfect.
 
As you can see, the screenshots are all facing south. The sun never leaves that side of the sky. Never high up in the sky and sunny. Always low.
Which leads me to think it ignores the month day set in the hive file. Stuck on the winter calendar i suppose.

It follows the time set though.

I guess that would be possible, but My time was set to 11 and the watch showed noon. .. Daylight savings time? My month is set to april ..
I have to go to work but I will come up with a script and post that will put the date in a hint box ... Or check the logs ..
 
I guess that would be possible, but My time was set to 11 and the watch showed noon. .. Daylight savings time? My month is set to april ..
I have to go to work but I will come up with a script and post that will put the date in a hint box ... Or check the logs ..

Were are you located? My server time and local time are exactly the same (Central Time). When DST goes into affect i have to put an offset (server is like an hour or so ahead then).

the sun in your sky seems slightly higher than mine, but still not normal.

Maybe they're going for an annoying gloomy effect, or its just winter months. lol
 
EST. and it wouldnt matter anyways, if it was DST and i had time set for 11 then it would be 10, not noon.

check the logs, every 5 minutes the time is set, see what date and time is being set
 
I may have resolved it for now (unless issues show up).

I searched the server code, and only found 2 instances that sync the time.
Nearly identical code, i think the one in server_monitor.sqf sets the initial date, while the sched_sync.sqf just syncs it every 15 minutes.

changed _date = _result select 1; to _date = [2012,7,2,_hour,_minute];

The code:
Code:
//Set the Time
_key = "CHILD:307:";
_result = _key call server_hiveReadWrite;
_outcome = _result select 0;
if(_outcome == "PASS") then {
   _date = _result select 1;

   //date setup
   _year = _date select 0;
   _month = _date select 1;
   _day = _date select 2;
   _hour = _date select 3;
   _minute = _date select 4;

   if(dayz_ForcefullmoonNights) then {
     _date = [2012,8,2,_hour,_minute];
   };
   diag_log [ "TIME SYNC: Local Time set to:", _date, "Fullmoon:",dayz_ForcefullmoonNights, "Date given by HiveExt.dll:", _result select 1];
   setDate _date;
   dayzSetDate = _date;
   publicVariable "dayzSetDate";
};

and i changed it to

Code:
//Set the Time
_key = "CHILD:307:";
_result = _key call server_hiveReadWrite;
_outcome = _result select 0;
if(_outcome == "PASS") then {
   _date = [2012,7,2,_hour,_minute];
   //date setup
   _year = _date select 0;
   _month = _date select 1;
   _day = _date select 2;
   _hour = _date select 3;
   _minute = _date select 4;

   if(dayz_ForcefullmoonNights) then {
     _date = [2012,8,2,_hour,_minute];
   };
   diag_log [ "TIME SYNC: Local Time set to:", _date, "Fullmoon:",dayz_ForcefullmoonNights, "Date given by HiveExt.dll:", _result select 1];
   setDate _date;
   dayzSetDate = _date;
   publicVariable "dayzSetDate";
};

which seems to have done the job, and makes it a bright and sunny July day.

before:
before.jpg


after (sun is so high cant see it :p ):
after.jpg


no issues yet, but we'll see.
 
thats odd, the way you 'fixed' it is how dayz has always been ... until now.
there will be no issues.

every day its a new issue where previously working code has been broken. and apparently so few people are playing dayz anymore they go mostly unnoticed.

all bugs and errors should be reported to https://github.com/DayZMod/DayZ so they can be fixed.

i looked at the code and,right below what you fixed is this
Code:
if(dayz_ForcefullmoonNights) then {
_date = [2012,8,2,_hour,_minute];
so apparently if you set that variable in the init, it should be august, otherwise its january.
 
Last edited:
^ Yeah that full moon code is what gave me the idea to copy and paste it above, and just change the date. I'm just glad it worked.

i dont know but its annoying.
The last dayz version i really liked was 1.7.7.1. been down hill since that it seems.

Adding broken features, and taking away stuff that works just fine.

But then again. i think the coding/modding for us is some of the fun.
 
^
The last dayz version i really liked was 1.7.7.1. been down hill since that it seems.

Adding broken features, and taking away stuff that works just fine.

But then again. i think the coding/modding for us is some of the fun.
Really? I found it a steady improvement until 1.8.1-1.8.2 which I thought was perfection, no bugs everything working as it should, plenty of features. The only thing I didnt like was the Blood Types ...

The only reason I am here is the coding/modding. I haven't actually played the game in 8 months or so
 
i dont have this code on server_monitor, i have in server_functions and in server_clenup, i replaced in both and is what i get:
is working, with erros for me in "Epoch", but is working.

Code:
 2:13:27 "TIME SYNC: Local Time set to [2012,7,2,any,any]"
2:13:27 Error in expression <

_date = [2013,8,3,_hour,_minute];
};

setDate _date;
PVDZE_plr_SetDate = _date>
2:13:27   Error position: <setDate _date;
PVDZE_plr_SetDate = _date>
2:13:27   Error Type Any, expected Number
 
that error ANY,ANY means the variable is undefined. _date in this case where it uses _hour and _minute

This issue with 'bright sunny days' is a 1.8.3 issue, in epoch you should be having normal daytime.
as usual, post the code block from your sqf file that it shows in that error.
 
server_functions.sqf
Code:
server_timeSync = {
    //Send request
    private ["_hour","_minute","_date","_key","_result","_outcome"];
    _key = "CHILD:307:";
    _result = _key call server_hiveReadWrite;
    _outcome = _result select 0;
    if(_outcome == "PASS") then {
        _date = [2012,7,2,_hour,_minute];
       
        if(dayz_fullMoonNights) then {
            _hour = _date select 3;
            _minute = _date select 4;
            //Force full moon nights
            _date = [2013,8,3,_hour,_minute];
        };

        setDate _date;
        PVDZE_plr_SetDate = _date;
        publicVariable "PVDZE_plr_SetDate";
        diag_log ("TIME SYNC: Local Time set to " + str(_date));   
    };
};

server_cleanup.sqm
Code:
   /*%FSM</STATE>*/
    /*%FSM<STATE "sync_the_time">*/
    class sync_the_time
    {
      name = "sync_the_time";
      init = /*%FSM<STATEINIT""">*/"//Send request" \n
       "_key = ""CHILD:307:"";" \n
       "_result = _key call server_hiveReadWrite;" \n
       "_outcome = _result select 0;" \n
       "if(_outcome == ""PASS"") then {" \n
       "    _date = [2012,7,2,_hour,_minute]; " \n
       "    _dateNum = dateToNumber(_date); " \n
       "    _diff = ( _dateNum - dateToNumber (date) )*365*24*60;" \n
       "    if ( abs(_diff)>5 ) then {" \n
       "        //[""dayzSetDate"",_date] call broadcastRpcCallAll;" \n
       "        diag_log (""TIME SYNC: Local Time set to "" + str(_date));" \n
       "    };" \n
       "};" \n
       ""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };

thx for the help
 
see this line at the top partbof your first bit of code
_date = [2012,7,2,_hour,_minute];

as i predicted, _hour and _minute have not been assigned any value. those are assigned values IF full moon nIghts are enabled. you need to move the assignment of hour and minute above the _date = code

Code:
if(dayz_fullMoonNights) then {
            _hour = _date select 3;
            _minute = _date select 4;
            //Force full moon nights
            _date = [2013,8,3,_hour,_minute];
        };
 
like this?

Code:
if(_outcome == "PASS") then {
        _hour = _date select 3;
        _minute = _date select 4;
        _date = [2012,7,2,_hour,_minute];

i did this and still getting the error :/
 
Last edited:
okay, something is wrong there. check the original code to see how its written.
i just noticed _date = ... .. _hour _minute
and then
_hour is _date select 3


this is where we get the actual date and time from the query
_date = _result select 1;
NOW you can get the _hour with
_hour =_date select 3
and do whatever you want with the,_hour.
 
Back
Top