Jump to content

MesaSolar

Premium Member
  • Posts

    104
  • Joined

  • Last visited

Everything posted by MesaSolar

  1. I'd like to get a message box to appear asking if you're sure you want to leave Skyrim when the player enters an autoload door to go to a custom worldspace/custom cell before travelling there.
  2. I usually advance the quest stage through the dialogue then set fragments into the quest script fragments from the quest stages tab. If you're trying to get two NPC's to fight you set their factions as enemies then use a script fragment to force them into combat like this: 1stNPCFaction.SetEnemy(2ndNPCFaction) 1stNPC.StartCombat(2ndNPC) then if you want one to kill another add this at the bottom, the utility being how many seconds passes before death. Utility.Wait(3.0)2ndNPC.Kill()
  3. Is there a vanilla script to set a quest stage for an object changing container? I found this on the CK website but couldn't find anything like it in the CK itself. I need to use this multiple times for a multiple item fetch quest. So the script needs to give an option to set a quest stage similar to a trigger box. Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer) if akNewContainer == Game.GetPlayer() Debug.Trace("I just got put in the player's inventory!") endIf endEvent
  4. I ha I already have the preferred speed under flags set to "run" Is that what you're talking about?
  5. First before I post my problem want to say thanks to everyone that responds to these questions. I'm new to modding and wouldn't be able to do this without everyone's help, so Thank you. I'm trying to get a group of NPC's to run around in a circle like a race. I've set up a circle of PatrolIdleMarker's and linked them together. I've tried several package templates including flee, travel and patrol. But I can't seem to get them to run. Any ideas on how to proceed? Thanks again, -MesaSolar.
  6. Not sure why this was an issue but what ended up fixing it was enlarging the triggerbox to make it taller and deeper even though it was placed on the ground around a door marker. Weird.
  7. Trigger name: defaultSetStageTRIGPlayerOnly from vanilla triggers. scriptname defaultSetStageTrigSCRIPT extends objectReference { this is a generic script for one-shot quest stage updates} import game import debug quest property myQuest auto { quest to call SetStage on} int property stage auto { stage to set} bool property doOnce = True auto {Set the stage only once.} int property prereqStageOPT = -1 auto { OPTIONAL: stage that must be set for this trigger to fire } bool property disableWhenDone = true auto { disable myself after I've been triggered. Defaults to true } auto STATE waitingForPlayer EVENT onTriggerEnter(objectReference triggerRef) if triggerRef == getPlayer() as actor ; check to see if a pre-req stage was specificed and if it's been met if prereqStageOPT == -1 || MyQuest.getStageDone(prereqStageOPT) == 1 ; Start the quest just in case it isn't already running. if myQuest.isRunning() == FALSE bool check = myQuest.start() ; do a quick check in case the quest could not be started if !check ; debug.trace("ERROR: "+myQuest+" not started by "+self) endif endif ; do the actual business of setting the stage we want myQuest.setStage(stage) if doOnce gotoState("hasBeenTriggered") endif if disableWhenDone Disable() endif endif endif endEVENT endSTATE STATE hasBeenTriggered ; this is an empty state. endSTATE
  8. This feels like a really stupid question, but I'm a little stuck at the moment. Using a defaultsetstagetriggerplayeronly to set a stage in a quest line. Selected the right quest. Used the prereq stage for 80 And setstage for 81 But when I enter the trigger it doesn't fire. I can manually set the stage with a console command and that works. So not sure what the problem is. I'm not using the trigger box as an alias at the moment. So that shouldn't be an issue.
  9. I *think i figured out a solution. But a little hesitant. I duplicated my world then generated LOD (even though it's nowhere near done) and the gaps and cells seem to be back in the right place. Really hoping this isn't a recurring issue. If anyone knows what causes this I'd really appreciate the info.
  10. So the problem is back. When I coc into the worldspace everything looks fine. I have plenty of terraforming, added mountains, etc. But if I travel to the space through a autoload door, the cells are all over the place. Some gaps big enough that you have to jump between cells. I spent a lot of time on this space so far and really don't want to scrap it. Anyone else run into this problem? How the hell do I fix it?
  11. Never mind. linked him to a patrol link ref and he magically started attacking.
  12. Using a defaultactivate self trigger linked as activate ref on an Enc Frost Troll ambush actor. Navmeshed the area for the ambush and the troll's starting point, But he just stands there doing nothing, even if I attack him.
  13. Looks like I got it to start by adding "extends objectreference" to the top line. So it starts the weather upon entering the trigger, but the weather continues after leaving the trigger instead of reverting back to the vanilla. How do I fix this?
  14. I'm trying to use a trigger box to change the weather for the player in certain areas. But can't get it to work. Appreciate any help. Followed this tutorial: https://www.youtube.com/watch?v=X59AoDW0-yk and here's my script: Scriptname APWWeatherBlizScript Weather Property APWStormSnow Auto Event OntriggerEnter(objectreference akactionref)if akactionref == game.getplayer()APWStormSnow.SetActive() endif EndEvent Event OntriggerLeave(objectreference akactionref)if akactionref == game.getplayer()APWStormSnow.SetActive(false) endif EndEvent
  15. Could you possibly explain the script you used? I'm wanting to use trigger boxes to change the weather conditions as the player moves through my custom worldspace, but I'm really new to scripting and have no idea where to start. Thanks!
  16. I found a work around. Duplicated a different worldspace then just deleted everything, flattened the terrain and started from scratch that way. I bit of a pain, but it eliminates those gaps.
  17. I ran into this issue in Fallout 4 as well but never found a fix for it. I have blue gaps in the ground that look like sky on a custom worldspace. I tried deleting it and starting over but it's still there. Any idea what could cause this and how to fix it?
  18. I ran into this while attempting to setup a quest stage once an NPC is in the follower faction by using if pAPW_Alice_NPC.IsInFaction(CurrentFollowerFactioin).SetStage(30) endIf
  19. I'm trying to compile a papyrus fragment in my quest, but it keeps telling me there is a property already defined even though it doesn't show up under properties and I don't see it in the .psc for the quest. the property is for a quest: pAPWquest02 Here is the error message: Starting 1 compile threads for 1 files...Compiling "QF_APWquest02_01010C75"...G:\Steam\steamapps\common\Skyrim Special Edition\Data\Source\Scripts\temp\QF_APWquest02_01010C75.psc(139,15): script property pAPWquest02 already definedG:\Steam\steamapps\common\Skyrim Special Edition\Data\Source\Scripts\temp\QF_APWquest02_01010C75.psc(139,15): script variable ::pAPWquest02_var already definedG:\Steam\steamapps\common\Skyrim Special Edition\Data\Source\Scripts\temp\QF_APWquest02_01010C75.psc(139,15): script property pAPWquest02 already has a get function definedG:\Steam\steamapps\common\Skyrim Special Edition\Data\Source\Scripts\temp\QF_APWquest02_01010C75.psc(139,15): script property pAPWquest02 already has a set function definedNo output generated for QF_APWquest02_01010C75, compilation failed. Batch compile of 1 files finished. 0 succeeded, 1 failed.Failed on QF_APWquest02_01010C75 And here is the .psc file: úWÀÞ _|Íç QF_APWquest02_01010C75.psc username DESKTOP A QF_APWquest02_01010C75 GetState GotoState Fragment_21 Fragment_19 Fragment_6 Fragment_0 Fragment_10 Fragment_2 Fragment_17 Fragment_8 Fragment_4 conditional hidden Quest ::pAPW_MRSMousekewitz01_var actor ::Alias_aAPWPOTentTrigger_var referencealias ::pCurrentFollowerFaction_var faction ::pAPW_Alice_NPC_var "::Alias_aAPW_MRS_Mousekewitz01_var ::Alias_aAPW_Alice_NPC_var ::pGold001_var miscobject %::Alias_aAPW_MRSMousekewtiz02_NPC_var &::Alias_aAPWChamberODoorsExTrigger_var ::pAPW_MRSMousekewtiz02_NPC_var ::Alias_aAPW_MRS_Captor_var ::Alias_aAPW_MR_Mousekewitz_var Alias_aAPW_MRS_Mousekewitz01 pAPW_MRSMousekewitz01 pGold001 Alias_aAPWChamberODoorsExTrigger Alias_aAPW_MRS_Captor pCurrentFollowerFaction Alias_aAPW_Alice_NPC Alias_aAPWPOTentTrigger pAPW_MRSMousekewtiz02_NPC pAPW_Alice_NPC Alias_aAPW_MR_Mousekewitz Alias_aAPW_MRSMousekewtiz02_NPC String 'Function that returns the current state ::State None ::NoneVar SetObjectiveDisplayed self Disable SetObjectiveCompleted ::temp0 ::temp1 form game GetPlayer AddItem Enable SetRestrained 9Function that switches this object to the specified state newState onEndState onBeginState _|Íå + , - - - 5 = > F G O P Q R Z [ c d l m u v ! " # $ % & ' ( ) * + , - . / 0 / 1 2 0 3 0 / 0 / 4 2 0 1 2 0 / 0 / 4 2 0 2 1 2 0 < / 0 / 4 2 0 1 2 0 ( / 0 / 5 6 7 4 2 0 F 1 2 0 P 8 9 5 6 : 5 0 6 è / 0 / 4 2 0 ( 1 2 0 2 / 0 / 3 0 ; 0 / 0 / 4 2 0 < 4 2 0 = 1 2 0 F < 0 / 0 / 1 2 0 = / = > , 0 / ? 2 0 . > @ 2 0
  20. So I checked "don't havok settle" and they stay in the shackles after killing their captor. Now the only thing I need to fix is getting the message box to pop up to free them from the shackles and get them to return to the quest giver.
  21. I managed to find WEPrisonerAliasScript and attached it to my NPC's alias. Autofilled the properties. This appears to be similar to what I found in FO4. But even with this attached nothing happens when I click on the NPC. Sometimes they even just fall out of the shackles after killing their "captor" So not sure what the problem is: Scriptname WEPrisonerAliasScript extends ReferenceAlias ;This script pops a message box when activating the prisoner;if player frees, adds captors, himself, and prisoner to factions to make people hate each other;You should make sure elsewhere that the captors have aggression high enough to attack their enemies Topic Property WESharedDialoguePrisonerSetFree Auto idle Property OffsetBoundStandingStart Autoidle Property OffsetStop Auto Message Property WEPrisonerMessageBox AutoFaction Property WEPrisonerFreedFaction Auto Faction Property WEPrisonerFreedCombatCaptorFaction AutoFaction Property WEPrisonerFreedCombatPrisonerFaction Auto ReferenceAlias Property Captor1 AutoReferenceAlias Property Captor2 AutoReferenceAlias Property Captor3 AutoReferenceAlias Property Captor4 AutoReferenceAlias Property Captor5 Auto bool bound = True int iDoNothing = 0int iSetFree = 1int iSetFreeShareItems = 2 Event OnLoad()if boundGetActorReference().playIdle(OffsetBoundStandingStart)EndIf EndEvent Event OnActivate(ObjectReference akActionRef) if GetActorReference().IsDead() || GetActorReference().IsinCombat(); debug.trace(self + "OnActivate() IsDead() or IsInCombat() so not showing message box") Elseif Bound == true ; debug.trace(self + "OnActivate() will call show message box") Actor ActorRef = GetActorReference() int result = WEPrisonerMessageBox.show() if result == iDoNothing;debug.Notification("DO NOTHING") elseif result == iSetFree;debug.Notification("SET FREE") FreePrisoner(ActorRef, OpenInventory = False) elseif result == iSetFreeShareItems;debug.Notification("SET FREE SHARE ITEMS") FreePrisoner(ActorRef, OpenInventory = True) EndIf EndIfEndEvent Event OnHit(objectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)if AkAggressor == game.getPlayer()Game.GetPlayer().AddToFaction(WEPrisonerFreedCombatPrisonerFaction)Captor1.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor2.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor3.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor4.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor5.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)endifendEvent Function FreePrisoner(Actor ActorRef, bool playerIsLiberator= true, bool OpenInventory = False); debug.trace(self + "FreePrisoner(" + ActorRef + "," + playerIsLiberator + ", " + OpenInventory +")") ActorRef.AddToFaction(WEPrisonerFreedFaction)ActorRef.AddToFaction(WEPrisonerFreedCombatPrisonerFaction)ActorRef.EvaluatePackage()if playerIsLiberatorGame.GetPlayer().AddToFaction(WEPrisonerFreedCombatPrisonerFaction)EndIf if OpenInventoryActorRef.openInventory(True)EndIf ActorRef.Say(WESharedDialoguePrisonerSetFree)bound = False Captor1.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor2.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor3.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor4.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction)Captor5.TryToAddToFaction(WEPrisonerFreedCombatCaptorFaction) ActorRef.EvaluatePackage() EndFunction Function ClearFactions();call when quest shuts down; debug.trace(self + "FreePrisoner") Game.GetPlayer().RemoveFromFaction(WEPrisonerFreedCombatPrisonerFaction) TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction)Captor1.TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction)Captor2.TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction)Captor3.TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction)Captor4.TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction)Captor5.TryToRemoveFromFaction(WEPrisonerFreedCombatCaptorFaction) EndFunction
  22. I know this is an old post but hoping you can help me. Trying to set up a kidnapped npc as part of a quest. I've managed to get them to stay put in shackles using a sittarget package and linking them to wall shackles. But I'm still confused as to how to free them when activated. Could you explain how to do this? I'm not very familiar with papyrus and have relied on a lot of tutorials to advance my mod. The part of your script that confuses me is "Insert your victim selection function call"
×
×
  • Create New...