Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; SCRIPT ATTACHED TO ACTOR SENDS CUSTOM EVENT
- ; (Sending script name is: Scavver)
- Actor Property pScavverActor Auto Const Mandatory ; Scavver ActorRef
- CustomEvent ScavOnCellUnload ; Custom event! (not a property)
- ; ... further down in sending script ...
- If !pScavver.GetParentCell() ; If Scavver enters unloaded cell
- If pgvScavverStatusSniffer.GetValue() == 1
- Debug.Notification("SCAVVER IS IN UNLOADED CELL.") ; notify dev tracker
- EndIf
- pgvScavverIsInLimbo.SetValue(1) ; flag Scavver as being in limbo
- SendCustomEvent("ScavOnCellUnload") ; and notify sweep / travel pkg
- EndIf
- ; SENDING SCRIPT IS ABOVE
- ; -----------------------------------------------------------------------------------------------------------
- ; RECEIVING SCRIPT IS BELOW
- ; SCRIPT ATTACHED TO PACKAGE RECEIVES CUSTOM EVENT
- ; (Receiving script name is: ScavverSweepPkgTracker)
- Scavver Property pScavverActor Auto Const ; Script that sends custom event
- ; IMPORTANT!!!! SCAVVER IS THE SENDING SCRIPT... PSCAVVERACTOR IS THE ACTOR PROPERTY FROM SENDING SCRIPT!!!!
- ; NOW PSCAVVERACTOR WILL BE THE PRIMARY LINK TO REGISTER / UNREGISTER CALLS
- ; -----------------------------------------------------------------------------------------------------------
- ; EVENT: ON INIT
- ; -----------------------------------------------------------------------------------------------------------
- Event OnInit()
- RegisterForCustomEvent(pScavverActor, "ScavOnCellUnload") ; Scavver sends when in unloaded cell
- EndEvent
- ; -----------------------------------------------------------------------------------------------------------
- ; CUSTOM EVENT: SCAV ON CELL UNLOAD (HANDLE CATASTROPHIC DISRUPTION AS IF PACKAGE ENDED NORMALLY)
- ; -----------------------------------------------------------------------------------------------------------
- Event Scavver.ScavOnCellUnload(Scavver akSender, Var[] arguments)
- If pgvScavverStatusSniffer.GetValue() == 1 ; If player is dev tracking
- Debug.Notification("SCAVVER: CELL UNLOAD DISRUPTED LOOTING.") ; notify pkg terminated by fast travel
- EndIf
- pgvScavverSweepUnloaded.SetValue(1) ; Flag as interrupted by fast travel
- pgvScavverIsInLimbo.SetValue(1) ; Scavver is in unloaded cell!
- EndMySweepPackage() ; End sweep package
- EndEvent
- ; ... further down in receiving script ...
- UnregisterForCustomEvent(pScavverActor, "ScavOnCellUnload") ; Stop listening for custom event
- ; -----------------------------------------------------------------------------------------------------------
- ;
- ; COMPILED BUT NOT TESTED YET. THANKS ASHNAL AND GENERALLUBU, ALSO THANKS TO SCRIVENER07 (SEE LINK)
- ;
- ; SEE ALSO: http://www.creationkit.com/fallout4/index.php?title=Talk:Custom_Papyrus_Events
- ;
- ; -----------------------------------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement