Jump to content

RobotDisabledScript not saving


Zenkon13

Recommended Posts

Hello everyone, Zenkon13 here...

 

I've been trying to finish up a working script for a disabled robot, similar when you have to fix ED-E in Primm. I looked up in the GECK for the script that was used to repair ED-E, I copied the script and began to work on my own verison of the script for a custom companion of mine. I checked everything in the script and replaced a few REFs / Options / Messages here and there making sure that it's different from the original. However it appears not to wanting to save. Can some please tell me what I'm doing wrong here? Please? * ^*

 

scn ZK13RustyDisabledSCRIPT

int iRustyFixed ; 1 = Rusty Fixed, 2 = Rusty Upgraded
int iButton ; Tracks the button presses for Rusty's repair menus
int iMenu ; Tracks the current menu for Rusty's repair menus
int iRepairState
float fTimer

begin OnActivate Player
if IsActionRef Player
set ZK13RustyDialogue.bRustyExamined to 1
if Player.IsInCombat == 1
showMessage ZK13RustyCombatMessage
else
showMessage ZK13RustyRepair00
endif
endif
end

begin OnActivate
if IsActionRef Player
if Player.IsInCombat == 1
showMessage ZK13RustyCombatMessage
else
showMessage ZK13RustyRepair00
endif
endif
end

begin GameMode
if iRustyFixed == 1
set fTimer to GetSecondsPassed + fTimer
if fTimer >= 2
set iRustyFixed to 2
RustyRef.SetRestrained 1
RustyREF.enable
RustyRef.ResetAI
disable
endif
elseif iRustyFixed == 2
disable
return
endif
set iButton to GetButtonPressed
if iButton == 0
set iMenu to 0
endif
if iMenu == 0 ; ZK13RustyRepair00
if iButton == 1
showMessage ZK13RustyRepair01
set iMenu to 1
elseif iButton == 2
showMessage ZK13RustyRepair03
set iMenu to 3
elseif iButton == 3
showMessage ZK13RustyRepair02
set iMenu to 2
endif
elseif iMenu == 1 ; ZK13RustyRepair01
if iButton == 1
imod FadeToBlackAndBackQuickExtendedISFX
set iRustyFixed to 1
disableplayercontrols
RustyREF.MoveTo RustyDeadREF
elseif iButton == 2
showMessage ZK13RustyRepair02
set iMenu to 2
elseif iButton == 3
showMessage ZK13RustyRepair04
set iMenu to 4
endif
elseif iMenu == 3 ; ZK13RustyRepair03
if iButton == 1
imod FadeToBlackAndBackQuickExtendedISFX
set iRustyFixed to 1
disableplayercontrols
RustyREF.MoveTo RustyDeadREF
elseif iButton == 2
showMessage ZK13RustyRepair04
set iMenu to 4
endif
elseif iMenu == 2 ; ZK13RustyRepair02
if iButton == 1
showMessage ZK13RustyRepair01
set iMenu to 1
elseif iButton == 2
set iRepairState to 1
showMessage ZK13RustyRepair03
set iMenu to 3
endif
elseif iMenu == 4 ; ZK13RustyRepair04
if iButton == 1
player.RemoveItem ScrapElectronics 2
player.RemoveItem SpareParts 3
player.RemoveItem SensorModule 1
imod FadeToBlackAndBackQuickExtendedISFX
set iRustyFixed to 1
disableplayercontrols
RustyREF.MoveTo RustyDeadREF
elseif iButton == 2 && iRepairState == 0
showMessage ZK13RustyRepair01
set iMenu to 1
elseif iButton == 2 && iRepairState == 1
showMessage ZK13RustyRepair03
set iMenu to 3
elseif iButton == 3
showMessage ZK13RustyRepair02
set iMenu to 2
endif
endif
END

Link to comment
Share on other sites

Could be a quite a few things. If there is a missing message, for instance. Probably also be a good idea to explicitly place a condition on your begin OnActivate Player block.

ie. change this

 

if IsActionRef Player
set ZK13RustyDialogue.bRustyExamined to 1
if Player.IsInCombat == 1
to

 

if IsActionRef Player == 1
set ZK13RustyDialogue.bRustyExamined to 1
if Player.IsInCombat == 1
if nothing else just for readability. But anyway on to your question. You need to grab powerup 1.4, it will pinpoint any syntax errors and let you know what line numbers they are on.
Link to comment
Share on other sites

  • Recently Browsing   0 members

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