Jump to content

Fallout NV: Basic Scripting Help combining two "elseif" statements


Recommended Posts

Posted (edited)

Hi there, so I'm trying to patch a follower mod that edits a script that's also tweaked by a big patch overhaul. Looking at the way the original author added to the script - it doesn't seem right. I'm not a scripter at all and just interested in making sure everything's patched together working properly. I'm just trying to add another condition to an elseif statement, going from only referencing an actor to also accounting for if he's not your follower. The section in question I'll put in bold and the statement I'm trying to add I'll increase the font size so you can see. Any help would be appreciated!

Here's the script as I've edited it:

 

scn GhoulExitTriggerSCRIPT

; 5.4.09 JF
; This script is attached to the hatch in the room overlooking the rocket pad in the REPCON basement. It teleports the ghouls to the tunnel
; leading to the rocket pad and gives them a package to make their way there.

ref EnteringActor

begin OnTriggerEnter

    Set EnteringActor to GetActionRef
    
    ; Only teleport a creature if it's Jason Bright
    if EnteringActor.GetIsReference JasonBright == 1
        if VMS01.JasonGoodbye > 0
            EnteringActor.Disable 1                                                 ; Make Jason fade out
            EnteringActor.MoveTo JasonEntranceMarker
            EnteringActor.Enable 1                                                 ; Make Jason fade in
            Set VMS01.JasonGoodbye to 2
            EnteringActor.evp
        endif

    ; Or Harland 🙂
    elseif aaaQHarlandFollowerQuest.bHarlandHasBeenHired == 0
    elseif EnteringActor.GetIsReference HarlandREF == 1
        EnteringActor.Disable 1                                                 ; Make Harland fade out
        EnteringActor.MoveTo JasonEntranceMarker
        EnteringActor.Enable 1                                                 ; Make Harland fade in
        Set HarlandREF.HarlandState to 1
        EnteringActor.evp

    ; Or any of the other ghouls
    elseif EnteringActor.GetInFaction GhoulFaction && EnteringActor.GetInFaction REPCONBrightBrotherhoodFaction
        EnteringActor.Disable 1
        EnteringActor.MoveTo JasonEntranceMarker
        EnteringActor.Enable 1
        EnteringActor.evp
    endif
    endif

end

Edited by jedp15
Link to comment
Share on other sites

Posted (edited)

Is this Fallout 4? EDIT: Fallout NV, I see.  If you don't get an answer in this thread, you could try the Fallout 4 forums Fallout New Vegas forums here (assuming the forum mods don't move this there.)  Look for Game Communities at the top of any forum page, then look for Fallout 4 in there.  Click on Join Community in it to post there.

Edited by AaronOfMpls
edited for the correct game, after OP edited the title while I was typing
Link to comment
Share on other sites

I posted here because FNV scripting is the same or similar across different Beth games. It's all Gamebryo

  • Like 1
Link to comment
Share on other sites

Posted (edited)

You have small mismatch of if and endif commands:

scn GhoulExitTriggerSCRIPT

; 5.4.09 JF
; This script is attached to the hatch in the room overlooking the rocket pad in the REPCON basement. It teleports the ghouls to the tunnel
; leading to the rocket pad and gives them a package to make their way there.

ref EnteringActor

begin OnTriggerEnter

    Set EnteringActor to GetActionRef
    
    ; Only teleport a creature if it's Jason Bright
    if EnteringActor.GetIsReference JasonBright == 1
        if VMS01.JasonGoodbye > 0
            EnteringActor.Disable 1                                                 ; Make Jason fade out
            EnteringActor.MoveTo JasonEntranceMarker
            EnteringActor.Enable 1                                                 ; Make Jason fade in
            Set VMS01.JasonGoodbye to 2
            EnteringActor.evp
        endif

    ; Or Harland (if not hired)
    elseif EnteringActor.GetIsReference HarlandREF == 1
        if aaaQHarlandFollowerQuest.bHarlandHasBeenHired == 0
            EnteringActor.Disable 1                                                 ; Make Harland fade out
            EnteringActor.MoveTo JasonEntranceMarker
            EnteringActor.Enable 1                                                 ; Make Harland fade in
            Set HarlandREF.HarlandState to 1
            EnteringActor.evp

       endif

    ; Or any of the other ghouls
    elseif EnteringActor.GetInFaction GhoulFaction && EnteringActor.GetInFaction REPCONBrightBrotherhoodFaction
        EnteringActor.Disable 1
        EnteringActor.MoveTo JasonEntranceMarker
        EnteringActor.Enable 1
        EnteringActor.evp
    endif

end

Edit: Assuming that these ghouls aren't Harland's company.

Edited by RomanR
note about script logic
Link to comment
Share on other sites

Hey Roman, nice work and thanks for taking a look. I think that looks like it should. Will test it out and see how it goes 🙂.

Link to comment
Share on other sites

On 5/27/2024 at 5:48 PM, jedp15 said:

Hey Roman, nice work and thanks for taking a look. I think that looks like it should. Will test it out and see how it goes 🙂.

elseif aaaQHarlandFollowerQuest.bHarlandHasBeenHired == 0
    elseif EnteringActor.GetIsReference HarlandREF == 1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You should have combined what the "elseif" was asking . . . like this 


    elseif EnteringActor.GetIsReference HarlandREF == 1 && aaaQHarlandFollowerQuest.bHarlandHasBeenHired == 0

 

Look up the operators in the Geck manual .  like  && is AND  || is OR  for example 

endif balance is something to look at , but your main problem was not asking the question correctly .  Albeit there is more than one way , and the previous advice can work .

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...