werr92 Posted March 5, 2018 Share Posted March 5, 2018 I agree with kitcat, remote events are more elegant for this. I would catch the Stage set even from MQ101 or MQ102. Compounds like these proved to be working for me in the current wip. Link to comment Share on other sites More sharing options...
pra Posted March 5, 2018 Share Posted March 5, 2018 I was wondering about this.Could it be that the player also gets all perks removed at that point? Link to comment Share on other sites More sharing options...
SKKmods Posted March 5, 2018 Author Share Posted March 5, 2018 It is frustrating that the mod authors/publishers who are unaware of the new game start edge scenario are unlikely to read this forum anyway. & my last word: having logged thousands of new game starts with many sh1t mods active, pMQ101.IsCompleted() is the simplest and safest trigger for may and varied conditions. Whether you use a dirty Uility.Wait() loop, OnTimer or RegisterForRemoteEvent please help raise awareness for this new game start consideration. Link to comment Share on other sites More sharing options...
kitcat81 Posted March 5, 2018 Share Posted March 5, 2018 It is frustrating that the mod authors/publishers who are unaware of the new game start edge scenario are unlikely to read this forum anyway. & my last word: having logged thousands of new game starts with many sh1t mods active, pMQ101.IsCompleted() is the simplest and safest trigger for may and varied conditions. Whether you use a dirty Uility.Wait() loop, OnTimer or RegisterForRemoteEvent please help raise awareness for this new game start consideration.You are right, not all modders read the forum, some modders don't speak English, some have left because of busy life and don't update their mods anymore, Many mod authors especially new ones don't know about that problem. I did not know about that too until some users reported the issue. But It is likely that eventually they will learn about it from bug reports. What you could do, is creating a tutorial on how to add holotapes /items after mod installation. You can provide different versions of the script such as your own, BigAndFlabby, mine or potentially someone's else examples (I believe BigAndFlabby would not mind, I would not mind for sure). it would help new modders to catch the idea and give them enough material to compose their own scripts. Most probably the thread will be buried after some time, but tutorials is something that people often seek themselves when they are doing something for the first time. So it's more likely that your attempt to spread the info would lead to some changes. Link to comment Share on other sites More sharing options...
JonathanOstrus Posted March 5, 2018 Share Posted March 5, 2018 Yeah I'm good with that. I'm of the philosophy "The more you know." Link to comment Share on other sites More sharing options...
Carreau Posted March 5, 2018 Share Posted March 5, 2018 I do something similar to BigAndFlabby, except I register for OnStageSet. Event OnInit() If(MQ102.IsObjectiveCompleted(1)) ;Check if player has exited vault 111 and either add holotape or register to wait for exit to add holotape debug.trace("MQ102 already completed stage 10. Adding holotape") Game.GetPlayer().AddItem(ModConfigHolotape, 1, false) Else debug.trace("MQ102 has not completed stage 10. Registering for OnStageSet event") RegisterForRemoteEvent(MQ102, "OnStageSet") EndIf EndEvent Event Quest.OnStageSet(Quest akSender, Int auiStageID, Int auiItemID) debug.trace("Quest MQ102 set stage " + auiStageID + " akSender " + akSender) If(akSender == MQ102 && auiStageID == 10) ;Watching for stage 10 Vault 111 exit first time of the main quest to finish. Game.GetPlayer().AddItem(ModConfigHolotape, 1, false) UnregisterForRemoteEvent(MQ102, "OnStageSet") EndIf EndEvent If I remember correctly, I had issues with checking the stage directly during OnInit() but checking if the objective was complete worked fine. Link to comment Share on other sites More sharing options...
JonathanOstrus Posted March 5, 2018 Share Posted March 5, 2018 The primary reason I used location change instead of OnStagSet is to deal with alternate start mods. Also it's worth pointing out that once you finish up adding your holotape or whatever you should stop the quest. There's no need to leave it running using memory once it did its job. Link to comment Share on other sites More sharing options...
kitcat81 Posted March 5, 2018 Share Posted March 5, 2018 That's a cool idea to use objectives. My version makes player get the item when he leaves the vault location (goes away from the etrance enough far). Not just when you exit the vault. I made it so because I wanted to avoid my message being stopmed by other messages ( mostly radio stuff)And that's right, it's better to stop the quest unless you need it running for another purpose. Link to comment Share on other sites More sharing options...
payl0ad Posted March 6, 2018 Share Posted March 6, 2018 Dear mod authors, having published a new game fast start mod with 80k actives that enables many new games to be started (rather than re-cycling the same old vault exit savegame) I have received much correspondence from users about your mods that add items to the player inventory on startup disappearing. The base game clears the player inventory between pre-war sanctuary and vault 111 (MQ101 quest fragment line 1722 RemoveAllItems). Whilst my mod does not clear the player inventory out of courtesy, some mods are stuffing the player inventory before it is even active around the looks menu. When you are next creating or updating mods which stuff holotapes and such in the player inventory, I would suggest a test to check that MQ101 has completed. Thank-You. That's really good to know. I have a script in that precise situation. Thank you! Link to comment Share on other sites More sharing options...
wim95 Posted March 7, 2018 Share Posted March 7, 2018 (edited) You can use the vanilla script added by Creation Club. Fallout 4\Data\scripts\creationclub\StartAfterCharGenScript.pex ;/ Decompiled by Champollion V1.0.6 PEX format v3.9 GameID: 2 Source : g:\_F4\Art\Raw\Scripts\CreationClub\StartAfterCharGenScript.psc Modified : 2017-06-28 18:02:49 Compiled : 2018-02-19 17:48:04 User : builds Computer : RKVBGSBUILD05 /; ScriptName CreationClub:StartAfterCharGenScript extends Quest ;-- Properties -------------------------------------- int Property MyStageToSet Auto Const mandatory Quest Property MQ102 Auto Const mandatory int Property CharGenStageToWatch = 10 Auto Const ;-- Variables --------------------------------------- ;-- Functions --------------------------------------- Event Quest.OnStageSet(Quest akSendingQuest, int CharGenStage, int StageItem) Self.CheckStageToSet() EndEvent Function CheckStageToSet() If (MQ102.GetStageDone(CharGenStageToWatch) == True) Self.SetStage(MyStageToSet) Else Self.RegisterForRemoteEvent(MQ102 as ScriptObject, "OnStageSet") EndIf EndFunction Event OnInit() Self.CheckStageToSet() EndEvent Edited March 7, 2018 by wim95 Link to comment Share on other sites More sharing options...
Recommended Posts