purpvamp Posted June 30 Share Posted June 30 (edited) Gives a courier a perk that teleports player to a random marked location on the map every 24 hours severly dehydrated,hungry,sleepy > But gives a player +1 to everystat Edited June 30 by purpvamp Link to comment Share on other sites More sharing options...
NYG1997 Posted October 10 Share Posted October 10 (edited) okay i think i made it. but its a little different sort of? I checked it by applying a "timer" at 60 seconds to test to see if it worked. and it did. the script took a while to fire but it did it without any issue. you get a little message that explains your situation and then you will ultimately spawn in a random location on the map based on some values i have set in the script. you also get to add +1 special point to one of your stats to any state so it's not quite what you asked for where you get +1 to every stat basically waking up somewhere random but i think i like it this way preferably but that's my taste. i will test it further to see if it works when setting the timer to 86400 seconds which is approximately 24 hours in real time no idea how it works in-game time which is why i had it set to 60 seconds to test it first to make sure it works correctly first and then i'm going to test it further with 86400 and get back to you when it does finally trigger me to go somewhere else after 24 hours. i'll see you later. probably tomorrow. maybe unless it works pretty quickly. edit: i'm pretty proud of myself i got this working actually it took a while to write the script and set up the quest but it worked. i think. Hopefully it will continue to work and not have any hiccups. as well i used another mod as reference it was the "More Perks" mod which has a similar style perk called "Where my Pants Go?" or something and it does something to a similar effect so it may be a bit similar to that script as i used it as a baseline to work with and get an idea how to do it. Edited October 10 by NYG1997 Link to comment Share on other sites More sharing options...
uhmattbravo Posted October 11 Share Posted October 11 https://geckwiki.com/index.php?title=Special_Variables Link to comment Share on other sites More sharing options...
NYG1997 Posted October 11 Share Posted October 11 5 minutes ago, uhmattbravo said: https://geckwiki.com/index.php?title=Special_Variables i'm not sure what this means but i don't think it's going to work since when i tested the large amount of seconds i put in it just takes forever to fire. probably because it's based on irl time rather then in-game time. So drat now i will need to find a way to get the appriopriate amount of time in-game and somehow translate it to real-life time but that is probably close to 48 minutes since that means it's been 24 hours i think in-game but whenever i set it to something like which is more like 2880 seconds. but it still won't work since it probably will take roughly 48 minutes irl time since game time can speed up quickly by the sleep-wait-time menu which whenever i do that it doesn't fire the script and transport the player to a random location. but i know it works with 30/60 seconds or anything smaller then what i'm trying to do to make it work only in the cases of a 24-hour cycle. probably something how i wrote the script probably going to need to be rewritten at some point but i think it should do for now until i at least get the thing solved to make it more based on a 24-hour cycle rather then 30/60 seconds timers. Link to comment Share on other sites More sharing options...
uhmattbravo Posted October 11 Share Posted October 11 What I'm saying is using GameDaysPassed or GamehoursPassed will base it on game time rather than secondsPassed which is based off of real time, so using either of those will account for not only sleeping and waiting, but also external changes to the game's timescale. SecondsPassed will make you wait 24 real hours of time in game regardless of those factors. Don't get me wrong, secondsPassed has it's uses, but in this case,I think you're better off trying one of the other two. Link to comment Share on other sites More sharing options...
NYG1997 Posted October 11 Share Posted October 11 33 minutes ago, uhmattbravo said: What I'm saying is using GameDaysPassed or GamehoursPassed will base it on game time rather than secondsPassed which is based off of real time, so using either of those will account for not only sleeping and waiting, but also external changes to the game's timescale. SecondsPassed will make you wait 24 real hours of time in game regardless of those factors. Don't get me wrong, secondsPassed has it's uses, but in this case,I think you're better off trying one of the other two. would setting the secondspassed to 2880 which is 48 real life minutes which roughly should equal to 24 in-game hours. i believe. since 1 hour in game time = 2 minutes in our time. so basically the same effect only that you can't use the 24 hour clock in sleep-wait-time since it would mean skipping time rather then letting it naturally come towards you after 48 real life minutes go by. it may be kind of long for testing purposes but it should work like that just the same except you can't use the Sleep=wait=time to any degree since it would skip time and not make it go by faster. As for GameDaysPassed or GamehoursPassed i can't seem to get that to work for some reason in the code. GetSecondsPassed works just fine without any issue. GameDaysPassed works but it's already set to 5 since 5 days have passed since the start of New Vegas so basically if i use that then it would be saying Days >= 1 which it would be 5 so it would pass and the script would fire non-stop based on how i wrote it. if i set it to 6 meaning one extra day needs to pass in order for Days >= 6 to follow through the script and run it and execute the other if block. then it would have the same effect as it would be consistently re-occurring every second since it would be days >= 6 and it would already pass that condition. either i need more conditions here. or find some way to reset GameDaysPassed to 0 which will probably break the game in some way since it would mean 5 days haven't passed in-game time to be Friday/Saturday in New Vegas start date since i keep constantly resetting it to 0 in order to work in the script. about the only way i can get this work is through GetSecondsPassed and setting the value to 2,880 seconds so that it equals 48 minutes to mean 24 hours in-game time. the only problem after that is that it will constantly reset to zero for the timer meaning now that it will whenever you for some reason die and reload a save i think it will reset the timer to 0 i believe since i died (Since i waited to long and i'm on hardcore to test it so i ended up dying from starvation/hunger/thirst/sleep) due to my morning walk. so i tried to see if it would refire in-game onload of the last saved game that autosaved for me. but it seems like the timer was reset to zero by default since it already passed through that part of the script by meeting the if-statement block conditions for it on the timer and the requirement for having the perk/trait. Link to comment Share on other sites More sharing options...
uhmattbravo Posted October 11 Share Posted October 11 Yeah, you could absolutely use secondsPassed still like that. It just won't account for sleeping, waiting, and timescale. I just wouldn't advise 24 real hours, at least not for testing purposes. GameDaysPassed and GameHoursPassed shouldn't reset, but rather continue progressing as you play, so you basicly need another variable to adjust for it. This is adapted from the fast travel on my vertibird mod. I haven't tested this adaptation of it specifically, but it should be a pretty good idea of how to go about it: Float Timer Float TimerTick Begin GameMode If Timer > 0 Set timer to ( timer - (GameHoursPassed - TimerTick ) ) Set TimerTick to GameHoursPassed elseif timer <= 0 player.Do Stuff Set Timer to 24 endif End Link to comment Share on other sites More sharing options...
laclongquan Posted October 12 Share Posted October 12 I would suggest a 3 days passed duration. It's far enough that players wont get tired of the frequency. But it's not far enough that people get too surprised with it. Link to comment Share on other sites More sharing options...
Recommended Posts