Jump to content
Sign in to follow this  
anusmangler

skip time problem

Recommended Posts

ok so how does one use skip time without the weather changing. I have a addaction hooked up with a skip time thing and it works great. however if i "skip" a few days in it gets REALLY foggy or rains and thunders all the time and it never goes back to being sunny? how do i stop this?

Share this post


Link to post
Share on other sites

Of course the Heavens unleash their fury when man dabbles in the dark arts of advancing time unaturally! What did you expect from your hubris?!

Share this post


Link to post
Share on other sites

although I would agree with you, this is cridical to the mission. you are "sleeping" so you can decide what time to strike the base. you can either do a early morning thing. I night thing, mid day all out assault, or late evening. its up to the player......so any way of fixing this problem?

Share this post


Link to post
Share on other sites

Does the same thing happen if you just change the hour and not the day? I've never really played time skipping missions so haven't seen this happen.

Share this post


Link to post
Share on other sites

example please...on my tent I have " this addAction ["Rest for 1 hours","skiptime 1"]; this addAction ["Rest for 3 hours","skiptime 3"]; this addAction ["Rest for 5 hours","skiptime 5"]; "

Share this post


Link to post
Share on other sites

//setOvercast uses seconds for time, so make sure you: seconds = hours * 60 * 60
this addAction ["skip 24 hours","86400 setOvercast overcast;skipTime 24;_nil = [] spawn {0 setFog 0;}"];

or for a quicker code change, with less chance of screwups:

//only change _hours = 24;
this addAction ["skip 24 hours","_hours = 24;(_hours * 3600) setOvercast overcast;skipTime _hours;_nil = [] spawn {0 setFog 0;}"];

I had to throw in the _nil = [] spawn {0 setFog 0} because setOvercast wouldn't effect Fog on my computer (would properly set the overcast, but fog would seem random) and the wiki states that you cannot run both setOvercast & setFog at the same time or the latter will halt the formers change...

p.s, if you weren't already aware, spawn launches the code in the {} in a separate game thread, so it will run independent of the other code in your addAction

Share this post


Link to post
Share on other sites

awesome man thank you....now i hate to sound like a ass, but how about dynamic weather? I really didnt mind the fog and the rain but it just seemed to stay like that forever now if it could change back.....anyone have a addon/script/ idea?

Share this post


Link to post
Share on other sites

Quick question about this, how would you remove the addAction command once you have chose 1?

I now have this in the truck I am travelling in at the start of my mission. I have the option of advancing time by 3, 6, 12 and 18 hours. Once a player has chosen 1 of those how do I stop the player choosing another 1?

Share this post


Link to post
Share on other sites

Just remove it with the script.

_this select 0 is the object that had the action and _this select 2 is the action ID.

So within your script just put:

_obj = _this select 0;
_act = _this select 2;

_obj removeAction _act;

For multiplayer it gets more complicated since you'd need to run that on all clients.

Share this post


Link to post
Share on other sites

Hi mate,

I am not using a script at all. I have put this into the init of the truck:

this addAction ["Rest for 3 hours","skipTime 3"]; this addAction ["Rest for 6 hours","skipTime 6"]; this addAction ["Rest for 12 hours","skipTime 12"]; this addAction ["Rest for 18 hours","skipTime 18"];

Once a player has chosen 1 of those options how do I stop the player choosing another 1?

Share this post


Link to post
Share on other sites

clearTimes = {
{_this removeAction _x} forEach [time3, time6, time12, time18]
}; 
time3 = this addAction ["Rest for 3 hours",{skipTime 3; (_this select 0) call clearTimes}]; 
time6 = this addAction ["Rest for 6 hours",{skipTime 6; (_this select 0) call clearTimes}]; 
time12 = this addAction ["Rest for 12 hours",{skipTime 12; (_this select 0) call clearTimes}]; 
time18 = this addAction ["Rest for 18 hours",{skipTime 18; (_this select 0) call clearTimes}]; 

To make it more MP friendly, place a trigger down:

Condition:

!isNil "timeSkipValue"

onAct:

skipTime timeSkipValue;
{truck removeAction _x} forEach [time1, time2, time3, time4];

Truck (named truck) init:

time1 = this addAction ["Rest for 3 hours",{timeSkipValue = 3; publicVariable "timeSkipValue";}]; 
time2 = this addAction ["Rest for 6 hours",{timeSkipValue = 6; publicVariable "timeSkipValue";}]; 
time3 = this addAction ["Rest for 12 hours",{timeSkipValue = 12; publicVariable "timeSkipValue";}]; 
time4 = this addAction ["Rest for 18 hours",{timeSkipValue = 18; publicVariable "timeSkipValue";}]; 

Edited by kylania
  • Like 1

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
Sign in to follow this  

×