Jump to content

SKKmods

Premium Member
  • Posts

    2856
  • Joined

  • Last visited

Nexus Mods Profile

3 Followers

About SKKmods

Profile Fields

  • Website URL
    https://skkmods.com
  • Discord ID
    SKK50#0625
  • Country
    United Kingdom
  • Currently Playing
    Creation Kit
  • Favourite Game
    Fallout 4

Recent Profile Visitors

185113 profile views

SKKmods's Achievements

Grand Master

Grand Master (14/14)

36

Reputation

  1. Terminal text replacement is not an EZ thing to start learning on without a solid understanding of the form/object/script relationships. Attach script direct to the terminal to update when the player enters the terminal. If the values are dynamic and change WHILST the player is in the terminal, the terminal fragment or OnTerminalMenuItemRun needs to call the functions: Event OnTerminalMenuEnter(TerminalMenu akTerminalBase, ObjectReference akTerminalRef) ; this is not triggered by an activator with no animation. Debug.Trace("OnTerminalMenuEnter " + akTerminalBase + " " + akTerminalRef) Float fValueToSet = ; assign Global or Object.ActorValue Self.AddTextReplacementValue(asTokenLabel = "TheTokenTextValue", aValue = fValueToSet) EndEvent If you need a template look at SKK Outpost Attack Manager which dynamically updates names and values. Yes its horribly complicated.
  2. If you put a unique condition on the dialog and it works for your actors you do not need to test further. Examples: If your actors are unique lvActor forms condition GetIsID that form. Add your actors to a quest alias and condition GetIsAliasRef that Alias. Add a unique keyword to your actors and condition HasKeyword. Add your actors to a unique faction and condition GetInFaction. & many other methods. Since no other actors can be in your quest alias, keyword, faction or whatever there is no way your dialog can infect their stack.
  3. Other mods do not "conflict" to use your dialog. You need to constrain your dialog with conditions, otherwise it will "infect" other actors dialog stacks the voice type(s) apply to. OR if your dialog quest has a higher priority than the dialog quests it is overriding try a lower priority ... but this is not fullproof. TL:DR: its a you issue.
  4. No problem, several folks figured out that method independently in their solutions.
  5. (3) With fast travel fee enabled, if the player uses an internal/external load door within 1 second of closing the PipBoy that will be detected as fast travel and charged. Slow down.
  6. If there are multiple matches on any condition fill whether its LocRefType, Keyword, GetisID or whatever a ReferenceAlias will just fill the first one. If you cant guarantee one result, redesign to use a RefCollectionAlias and set Initial fill to 0 to collect 'em all. If you totally want to avoid persistence redesign to start/stop a finder quest with a dynamic search/fill every Player.OnLocationChange or Player.OnDistanceGreaterThan a moveable datum object and put the found results in the persistent owning quest to mark.
  7. MQ101 is hard coded into Fallout4.exe. You could decompile Fallout4.exe to find the offset and inject your own code, or just hack MQ101 quest/script to do what you want.
  8. The quest will only be able to fill aliases with ObjectReferences if they are either: (a) Non persistent but in the active uGridsToLoad around the player when the quest alias tries to fill, or (b) Has a LocationRefType keyword associated with a Location and the Alias is configured to use it, or (c) Is persistent. If (a) is not guaranteed, you have not used (b) and you remove the persistent flag from the ObjectReference the alias will fail to fil. If its not an optional alias the quest will fail to start.
  9. @LarannKiar full defect report here (submitted to BSG via the VC programme, zero followup). https://www.nexusmods.com/starfield/articles/338
  10. The Starfield event system is, like a bunch of other engine functions, rather ... janky. e.g. Outpost built objects don't trigger event OnUnload(), but the outpost itself does. Trust no one event.
  11. Every one of my > 60 solutions does this at start-up, check out the standard multi-purpose template in this article https://www.nexusmods.com/fallout4/articles/1038 (4) Robust new game start script The things you want are "OnStageSet" If your main quest pops UI messages on startup that you want to delay, attach the launch script to a silent start game enabled quest that monitors QuestOfInterest.OnStageSet and then trigger myQuest.StartQuest() or myQuest.SetStage() at the right condition.
  12. You cant add an inventory event filter to an OBJECT script, it needs to be on the CONTAINER (actor) e.g. PlayerRef If you want an Object attached script to trigger on any container/actor then use OnContainerChanged() something like this: OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) If(akNewContainer is Actor) ; do stuff EndIf EvenEvent
  13. TRNS transforms adjust a mesh XYZ position and zoom in UI menus and inventory. They do not affect objects in the world.
  14. Well yes you can do it that way if you are mad, but alias scripts calling alias scripts is not best practice: ReferenceAlias[] myArray = (Alias_otherReferenceAlias as otherReferenceAliasScriptName).myArray Shared data and functions is exactly what a central quest attached script is for.
  15. Define and manage the array on a central quest attached script and get the alias scripts to access it via: ReferenceAlias[] myArray = (Self.GetOwningQuest() as myQuestScriptName).myArray OR even more elegant is to put all the logic in the central quest attached script function and call it from the alias scripts: (Self.GetOwningQuest() as myQuestScriptName).myFunction(thisReferenceAlias = Self)
×
×
  • Create New...