-
Posts
10 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by corpseletter
-
-
I fixed it now!
WorkshopREF = akFurnitureRef.GetLinkedRef(WorkshopItemKeyword) as WorkshopScript InvisibleFurniture.SetLinkedRef(WorkshopREF, WorkshopItemKeyword) If (WorkshopREF && WorkshopREF.OwnedByPlayer == false) WorkshopREF.CheckOwnership() EndIf
-
InvisibleFurniture.Activate(PlayerRef, True)
It was 'True' that was blocking the event being sent. My test script on one of the new workbenches works, but wouldn't workbenchscript also work now?
-
1 hour ago, SKKmods said:
Attach scripts to the base forms which are creating the spawned object ... sc_craftworkbenchname things.
Ah, to the furniture themselves? They do have the workbenchscript attached. Should I try to make a different one and try OnActivate in it?
And just for full disclosure, here's the current script that I have.
ScriptName SimpleCraft:sc_qust_StartupQuest Extends Quest ;-- Variables --------------------------------------- ObjectReference InvisibleFurniture ;-- Properties -------------------------------------- Actor Property PlayerRef Auto Const Perk Property sc_CraftPerk Auto Const Furniture Property sc_CraftbenchArmor Auto Const Furniture Property sc_CraftbenchWeapon Auto Const Keyword Property sc_kywd_AnimArmor Auto Const Keyword Property sc_kywd_AnimWeapon Auto Const ;-- Events --------------------------------------- Event OnQuestInit() If !PlayerRef.HasPerk(sc_CraftPerk) PlayerRef.AddPerk(sc_CraftPerk, False) EndIf EndEvent Event Actor.OnGetUp(Actor akSender, ObjectReference akFurniture) Utility.Wait(0.2) InvisibleFurniture.Disable(False) InvisibleFurniture.Delete() UnregisterForRemoteEvent(PlayerRef, "OnGetUp") EndEvent ;-- Functions --------------------------------------- Function CreateFurniture(ObjectReference akFurnitureRef) If akFurnitureRef.HasKeyword(sc_kywd_AnimArmor) InvisibleFurniture = akFurnitureRef.PlaceAtMe(sc_CraftbenchArmor) ElseIf akFurnitureRef.HasKeyword(sc_kywd_AnimWeapon) InvisibleFurniture = akFurnitureRef.PlaceAtMe(sc_CraftbenchWeapon) EndIf Utility.Wait(0.1) RegisterForRemoteEvent(PlayerRef, "OnGetUp") InvisibleFurniture.Activate(PlayerRef, True) EndFunction
-
12 minutes ago, SKKmods said:
Your best bet is to attach a script direct to InvisibleFurniture and test if that object actually triggers the OnActivate event.
Can I if it's just a variable?
;-- Variables ---------------------------------------
ObjectReference InvisibleFurniture -
16 minutes ago, SKKmods said:
A script attached to a quest form will not receive OnActivate events from arbitrary objects.
That quest script needs to remote register for the event https://falloutck.uesp.net/wiki/RegisterForRemoteEvent_-_ScriptObject
example:
Self.RegisterForRemoteEvent(akFurnitureRef, "OnActivate")
and then ...
Event ObjectReference.OnActivate(ObjectReference akSender, ObjectReference akActionRef)
;do stuff and dont forget to Self.UnregisterForRemoteEvent(akSender, "OnActivate") when complete
EndEvent
Thanks! I was doing this before I came back and checked my thread:
RegisterForRemoteEvent(InvisibleFurniture, "OnActivate") If !RegisterForRemoteEvent(InvisibleFurniture, "OnActivate") Debug.MessageBox("Failed to Register") Else Debug.MessageBox("Registered") InvisibleFurniture.Activate(PlayerRef, True) EndIf
Does it have to be akFurnitureRef? With this, I was able to compile. In-game was showing a message box with "Registered" so it seems the event is registered but OnActivate event isn't happening:
Event ObjectReference.OnActivate(ObjectReference akSender, ObjectReference akActionRef) Debug.MessageBox("Hello") EndEvent
-
I am trying to trigger the workbenchscript so my invisible workbench can access it and use items/components stored in settlements during crafting.
Function CreateFurniture(ObjectReference akFurnitureRef) If akFurnitureRef.HasKeyword(sc_kywd_AnimArmor) InvisibleFurniture = akFurnitureRef.PlaceAtMe(sc_CraftbenchArmor) ElseIf akFurnitureRef.HasKeyword(sc_kywd_AnimWeapon) InvisibleFurniture = akFurnitureRef.PlaceAtMe(sc_CraftbenchWeapon) EndIf Utility.Wait(0.1) RegisterForRemoteEvent(PlayerRef, "OnGetUp") RegisterForRemoteEvent(InvisibleFurniture, "OnActivate") InvisibleFurniture.Activate(PlayerRef, True) EndFunction
All these works, but I'm stuck on
Event OnActivate(ObjectReference akActionRef) EndEvent
I can't compile it. CK throws this error:
sc_qust_StartupQuest.psc(31,0): new event onactivate cannot be defined because the script is not flagged as native
I tried doing ObjectReference.OnActivate but CK threw out a different error:
sc_qust_StartupQuest.psc(31,0): the parameter types of function objectreference.onactivate in the empty state on script simplecraft:sc_qust_startupquest do not match the original script objectreference
-
Was the fight with Ingvi the conclusion of the prologue? Do I have to wait a bit more for a trigger?
The prologue's main quest ends with the Ingvi decision. Please wait for the next Chapter.
Alrighty. Thanks!
-
Was the fight with Ingvi the conclusion of the prologue? Do I have to wait a bit more for a trigger?
-
Hope this gets read!
What mod is Project Nevada-StealthSuitMkIIPwnt .esp=1?
Was there ever a Spellweaver mod that changed it into a pseudo-staff?
in Discussion
Posted
I'm pretty sure I remember it existing but in the now-defunct BioWare Social Network. There's a lot of mods that allows casting with weapons drawn, which, arguably, I can just enable when I have Spellweaver equipped. I like the theme to be within the weapon though, anyone know if a mod exists?