SandMouseAnarchy Posted February 10, 2019 Share Posted February 10, 2019 hi everyone, im having a very wierd issue with one of the mods im working on, its never happened before and i have no idea why its happening... ((So, ive made changes to the vanilla Vault111Suit - ive added a script (to open an options menu when equipped) ive added an attach point keyword "ap_armor_SM_Style, and ive added an OMod to the armor object template (iarmorindex, set, 1). the Vaultsuit now has 4 armorindex's 1,2,3,4, with 1 being the vanilla AA record.)) The outfit is fully skinned etc and works perfectly in an existing game.... But when i go to test the outfit in a new game, i get stuck on a black loading screen that goes on forever (20 mins and still not loading a new game) Does anyone know why this is happening?Can the vanilla 111 suit not be edited?does anyone know how to solve the issue? Link to comment Share on other sites More sharing options...
SandMouseAnarchy Posted February 10, 2019 Author Share Posted February 10, 2019 OK, for some reason - just pressing a button is now starting the new game, no idea why this is happening? Link to comment Share on other sites More sharing options...
DieFeM Posted February 10, 2019 Share Posted February 10, 2019 Note that the player actor wears the vault suit as default outfit, so when you run a new game the engine loads the actor in to the world and the vault suit is equipped by the player in the background, then it loads the main quest which changes the outfit for the player, but in first place the player equips the vault suit, this happens while loading. So when you load a new game the message that you added to the vault suit is shown in the background, so when you press A button it continues loading, because you just closed the message box. There are two solutions to this problem, (1) add a "first load variable" to the script which avoids loading the message for the first time, or (2) do a copy of the vanilla suit instead of modifying it. The second option would be the best one for compatibility, but if you are willing to replace vanilla content, instead of adding new content, you're going to deal with this kind of situations. Also there may be other mods replacing the default record of the vanilla suit, they would be incompatible with yours, so my recommendation is that you make a duplicate of the suit and leave the default record vanilla. You can use xEdit to remove changes from your esp that affect to the vanilla suit. Link to comment Share on other sites More sharing options...
SandMouseAnarchy Posted February 10, 2019 Author Share Posted February 10, 2019 Thanks again DieFeM! I bet that's exactly what the problem is. But I don't know what a "first load" variable is, or how to use it, and I can't find anything on google about it? haha Could you give me an example of it? Or maybe explain it a little? Link to comment Share on other sites More sharing options...
DieFeM Posted February 11, 2019 Share Posted February 11, 2019 (edited) Well, while a simple variable that changes from true to false after the first time its equipped would work to avoid this situation on a new game, this would do the same for someone loading your mod from a saved game.Checking if the mirror scene is already done should be enough to avoid this problem: Scriptname SM_Equip extends ObjectReference Message Property OptionsMESG Auto ObjectMod Property Mod_1 Auto ObjectMod Property Mod_2 Auto ObjectMod Property Mod_3 Auto ObjectMod Property Mod_4 Auto Quest Property MQ101 Auto Bool CurrentlyAttachingMod = False Bool NewGameStarted = True Event OnInit() If MQ101.GetStageDone(20) NewGameStarted = False Else RegisterForRemoteEvent(MQ101, "OnStageSet") EndIf EndEvent Event Quest.OnStageSet(Quest akQuest, Int auiStageID, Int auiItemID) If akQuest == MQ101 && auiStageID == 20 NewGameStarted = False UnregisterForRemoteEvent(MQ101, "OnStageSet") EndIf EndEvent Event OnEquipped(Actor Owner) If !NewGameStarted ;Check if the mirror scene of the beginning is already done. If Owner == Game.GetPlayer() && !CurrentlyAttachingMod CurrentlyAttachingMod = True Int iButton = OptionsMESG.Show() ; Shows your menu. If iButton == 0 ; Open AttachMod(Mod_1) Debug.Notification("Mod 1 equipped") ElseIf iButton == 1 ; Closed AttachMod(Mod_2) Debug.Notification("Mod 2 equipped") ElseIf iButton == 2 ; Unzipped AttachMod(Mod_3) Debug.Notification("Mod 3 equipped") ElseIf iButton == 3 ; Tied AttachMod(Mod_4) Debug.Notification("Mod 4 equipped") ElseIf iButton == 4 ; Cancel Debug.Notification("Style unchanged") EndIf CurrentlyAttachingMod = False EndIf EndIf EndEvent PS: Do not forget to use "Auto-Fill" in the script properties to get the quest property filled. Edited February 11, 2019 by DieFeM Link to comment Share on other sites More sharing options...
SandMouseAnarchy Posted February 11, 2019 Author Share Posted February 11, 2019 Thankyou again DieFeM, you are a legend! I tested the new script first thing this morning, and that fixed the issue completely :) :) :) Link to comment Share on other sites More sharing options...
Recommended Posts