2009 to 2013 Date Fix v1
771
22
771
22
This is an extremely simple fire-and-forget ScriptHookV.NET script for fixing a minor inconsistency in the base game. Did you know that the in-game date in Grand Theft Auto V reports as 2009 rather than as the canon date of 2013? I didn't, either, until @kryo4lex pointed it out in the Jet HUD mod!
This simple script checks to see if the game has passed the prologue and, if so, changes the in-game date to 2013 to reflect the "official" date of the Grand Theft Auto series.
It runs once shortly after the game loads and then disables itself, so it should have absolutely no frame rate impact or any other problems. You can leave it installed as it won't change anything if your date is already correct. However, if you're still concerned, it does not need to remain installed after it has run at least once and your game has been saved to reflect the new date, as the saved game will remember the new date thereafter.
Installation:
1) Install ScriptHookV.
2) Install ScriptHookVDotNet. (mirror) (Designed for v2. Will probably work just fine with v3.)
3) Place DateFix.cs in your /Grand Theft Auto V/Scripts folder.
Licence:
Public domain. Feel free to use/abuse/claim as your own.
This simple script checks to see if the game has passed the prologue and, if so, changes the in-game date to 2013 to reflect the "official" date of the Grand Theft Auto series.
It runs once shortly after the game loads and then disables itself, so it should have absolutely no frame rate impact or any other problems. You can leave it installed as it won't change anything if your date is already correct. However, if you're still concerned, it does not need to remain installed after it has run at least once and your game has been saved to reflect the new date, as the saved game will remember the new date thereafter.
Installation:
1) Install ScriptHookV.
2) Install ScriptHookVDotNet. (mirror) (Designed for v2. Will probably work just fine with v3.)
3) Place DateFix.cs in your /Grand Theft Auto V/Scripts folder.
Licence:
Public domain. Feel free to use/abuse/claim as your own.
Първо качено на: 31 декември 2017
Последно обновено на: 31 декември 2017
Последно изтеглено: Преди 4 дена
8 Коментари
This is an extremely simple fire-and-forget ScriptHookV.NET script for fixing a minor inconsistency in the base game. Did you know that the in-game date in Grand Theft Auto V reports as 2009 rather than as the canon date of 2013? I didn't, either, until @kryo4lex pointed it out in the Jet HUD mod!
This simple script checks to see if the game has passed the prologue and, if so, changes the in-game date to 2013 to reflect the "official" date of the Grand Theft Auto series.
It runs once shortly after the game loads and then disables itself, so it should have absolutely no frame rate impact or any other problems. You can leave it installed as it won't change anything if your date is already correct. However, if you're still concerned, it does not need to remain installed after it has run at least once and your game has been saved to reflect the new date, as the saved game will remember the new date thereafter.
Installation:
1) Install ScriptHookV.
2) Install ScriptHookVDotNet. (mirror) (Designed for v2. Will probably work just fine with v3.)
3) Place DateFix.cs in your /Grand Theft Auto V/Scripts folder.
Licence:
Public domain. Feel free to use/abuse/claim as your own.
This simple script checks to see if the game has passed the prologue and, if so, changes the in-game date to 2013 to reflect the "official" date of the Grand Theft Auto series.
It runs once shortly after the game loads and then disables itself, so it should have absolutely no frame rate impact or any other problems. You can leave it installed as it won't change anything if your date is already correct. However, if you're still concerned, it does not need to remain installed after it has run at least once and your game has been saved to reflect the new date, as the saved game will remember the new date thereafter.
Installation:
1) Install ScriptHookV.
2) Install ScriptHookVDotNet. (mirror) (Designed for v2. Will probably work just fine with v3.)
3) Place DateFix.cs in your /Grand Theft Auto V/Scripts folder.
Licence:
Public domain. Feel free to use/abuse/claim as your own.
Първо качено на: 31 декември 2017
Последно обновено на: 31 декември 2017
Последно изтеглено: Преди 4 дена
This is actually a nice idea for people who like immersion - like me :)
One suggestion: add a feature which sets the game date to the real life date? After playing a while, the in-game date will be "in front of" or "higher" than the real life date, but this would somehow still be nice. Or you could add that the in-game time and date is synced with the real life date. (Not just like some native trainers which only sync the time and not the date)
Btw after looking on your code: is it really necessary to periodically set the date? Or does it work, if you set it only one time?
It sets it once, then removes itself from the SHVDN tick handler for that game session -- so it doesn't loop again. My original version had an instantiator+boolean check that forced it to wait until the "second" loop before working, but I nixed it when it turned out not to add any significant load time to the game (I sort of figured it wouldn't anyway). The loop is just there now to catch the possibility that the game is lagging hard during other script instantiations -- so it should fire immediately after game load unless something goes wrong. It often ticks immediately after construction as soon as SHVDN initialises the scripts, and then never ticks again. (Just to clarify, of course, it will still run the script once again every time the game boots up, since it doesn't delete the actual script file or force it to be permanently unloaded. However, since it checks to ensure the date is less than 2013 before changing anything, it won't screw with causality and force it to be 2013 forever -- it is possible for the in-game time to progress to 2014 naturally.)
Since it comes in .cs form, I figured everyone would just be able to make their own little tweaks to what they wanted the date to be. Pulling the standard C# library DateTime.Today.Year in place of 2013 would set it to the user's current year, for instance. Removing the safety check for < 2013 and its matching brace would allow users to synch the game to the current date as well, just by popping in DateTime.Today in place of World.CurrentDate. =)
The other variant I considered was setting the in-game date to the detected date plus four years (again, ensuring that the in-game date was past the prologue and hadn't already been altered to 2013+), so that it would ensure that if a player had already played in-game from 2009 to 2010, it would correctly claim 2014 when the mod was first installed... but I decided that it was probably just my OCD kicking in... =P
@jtgibson ah you are right yes, I didn't see the line which removes the OnTick :)
So you mean putting it in the constructor probably doesn't work, because when the constructor is called, the game isn't ready and loaded yet?
Haha but what I also got before was that you set it to 2013 and not +4 years.
So we both share the OCD ^^
@Kryo4lex It might work in the constructor, since SHVDN probably already has an active script context before it starts instantiating scripts, but I was raised not to play around with "live" code inside constructors. =)
Cool simple mod! Good thinking. :)
Some time ago I made the same thing for my Date Display mod as a third-part script. You can check it out, except I reassigned the whole date for two cases - for both "Prologue" mission and "Franklin & Lamar" mission in case when the date is not reassigned originally, that is the very beginning of the new game. The former is set from NOV-15-2003 to JAN-02-2004 (according to decorations in the bank it's supposed to be the time somewhere about Christmas) and the latter is set from JUN-06-2009 to NOV-07-2013 (with the usual walkthrough speed you visit North Yankton in the "Bury the Hatchet" mission within a month, that is about December, when it snows).
i thought that date was because the rockstar started to make gta v on 2009 lol
Thank you, nice mod btw!
Hey dude! You might not have noticed this, but this mod can also fix the "random events not spawning" bug in saves with a corrupted ingame date! (corruption seems to happen because the game sometimes sets the year as the day, so you'd get something ludicrous like "2013th of december, year 10")
for that you deserve even more stars than the site allows :D