Jump to content

OOO Mannimarco scripts errors


FatalIllusion

Recommended Posts

Hello boys..while the OOO team works on the next OOO release,which should be out in a weeks or two..I'd like to create a fix/workaround for the problem I'm going to describe.The scripts "MG18MannimarcoSpellScript1" and "MG18MannimarcoSpellScript2" give me the following errors:

 

[CS] Script 'MG18MannimarcoSpellScript1', line 17:

Unknown variable or function 'PlayerImmobilized'.

[CS] Script 'MG18MannimarcoSpellScript1', line 17:

Unknown variable 'PlayerImmobilized'.

 

 

 

[CS] Script 'MG18MannimarcoSpellScript2', line 17:

Unknown variable or function 'PlayerReleased'.

[CS] Script 'MG18MannimarcoSpellScript2', line 17:

Unknown variable 'PlayerReleased'.

 

 

Here are the scripts

 

MG18MannimarcoSpellScript2

 

ScriptName MG18MannimarcoSpellScript2

; OOO modifies this script to make sure Mannimarco keeps casting his Immobilize spell
;against the player until the effect takes hold. Also, the same check is given to the spells
;responsible for freeing the Player from it. This should fix issues with Mannimarco
;failing to continue his MG18KingOfWorms' quest dialogs and stages. (Also disallowed
;the actual SPEL record being susceptible to spell reflect and spell absorbption)

ref self

Begin ScriptEffectStart

set self to GetSelf

if ( Self.GetisReference Player == 1 )
EnablePlayerControls
Set MG18KingOfWorms.PlayerReleased to 1 ;OOO added line
Set MG18KingOfWorms.fQuestDelayTime to 0.5
set MG18KingofWorms.doonce to 6
endif


End

 

 

MG18MannimarcoSpellScript1

 

ScriptName MG18MannimarcoSpellScript1

; OOO modifies this script to make sure Mannimarco keeps casting his Immobilize spell
;against the player until the effect takes hold. Also, the same check is given to the spells
;responsible for freeing the Player from it. This should fix issues with Mannimarco
;failing to continue his MG18KingOfWorms' quest dialogs and stages. (Also disallowed
;the actual SPEL record being susceptible to spell reflect and spell absorbption)

ref self

Begin ScriptEffectStart

set self to GetSelf

if ( Self.GetisReference Player == 1 )
DisablePlayerControls
Set MG18KingOfWorms.PlayerImmobilized to 1 ;OOO added line
set MG18KingofWorms.doonce to 2 ;OOO added line
endif


End

 

 

 

MG18Script (It is the main script that control both "mg18mannimarcospellscript1" and "mg18mannimarcospellscript2"

 

Scriptname MG18Script

;This handles all scripting and variables for quest MG18KingofWorms

short doonce
short talkedtoTraven
short gemgiven
short talkedtoSavel
short talkedtoMannimarco
short SavelEnabled
short convreset

short test

float fQuestDelayTime
float timer

Begin Gamemode

if ( GetStage MG18KingofWorms < 10 )
return
endif

if ( SavelEnabled == 0 )
if ( GetStage MG18KingofWorms >= 10 )
	MannimarcoRef.SetGhost 1
	BolorSavelRef.Enable
	set SavelEnabled to 1
	set fQuestDelayTime to 0.5
endif
endif


;When approaching Echo Cave, player is force-greeted by Bolor Savel, the doorman

if ( GetStage MG18KingofWorms == 10  )
if ( talkedtoSavel == 0 )
	if ( Player.GetDistance EchoCaveExRef < 1000 )
		set talkedtoSavel to 1
		BolorSavelRef.EvaluatePackage
	endif
endif
endif

;Once inside Echo Cave, journal updates to 20

if ( GetStage MG18kingofworms == 10 )
if ( Player.GetDistance EchoCaveMainEntrance < 500 )
	SetStage MG18KingofWorms 20
endif
endif

;Mannimarco force-greets player when he approaches

;Claw wall goes up first to lock the player in

if ( GetStage MG18KingofWorms == 20 )
; CessPitts - following if block added to fix Mannimarco's indifference
if (MannimarcoRef.GetIsGhost == 1 && doonce > 0 )
	set doonce to 0
	set talkedtoMannimarco to 0
endif
if ( doonce == 0 )
	if ( MannimarcoRef.GetDistance Player < 500 && talkedtoMannimarco == 0 )
		MannimarcoRef.SetGhost 0
		MannimarcoClawWallRef.Activate MannimarcoRef 1
		ClawTrapHoleFixRef.Enable
		set doonce to 1
	endif
elseif ( doonce == 1 )
	MannimarcoRef.Cast MG18MannimarcoImmobilize Player
	set doonce to 2
endif

; CessPitts - following stray endif removed to correct logic flow
; endif

; CessPitts - following if condition modified to stop code activating before time
if ( GetPlayerControlsDisabled == 1 && doonce == 2)
	if ( talkedtoMannimarco == 0 )
		MannimarcoRef.StartConversation Player
		set talkedtoMannimarco to 1
		set doonce to 3
	endif
endif

;UPDATE: If Mannimarco is interrupted during initial attempt to force-greet, wait 3 seconds then try again

if ( GetPlayerControlsDisabled == 1 )
	if ( talkedtoMannimarco == 1 )
		if ( doonce == 3 )
			if ( convreset == 0 )
				set convreset to 1
				set timer to 3
			else
				if ( timer > 0 )
					set timer to ( timer - GetSecondsPassed )
				else
					set convreset to 0
					set timer to 3
					MannimarcoRef.Startconversation Player
				endif
			endif
		endif
	endif
endif

if ( doonce == 4 )
	MannimarcoRef.Cast MG18MannimarcoEnthrall Player
	set doonce to 5
endif

if ( doonce == 6 )
	set test to 1
	if ( GetPlayerControlsDisabled == 0 )
		set test to 2
		MannimarcoRef.StartCombat Player
		MannimarcoRef.modAV Aggression 50
		set doonce to 7
	endif
endif
endif

;Raminus Polus Force-greets the player when he returns to the Arcane University

if ( GetStage MG18KingofWorms >= 30 && GetStage MG18KingofWorms < 100 )
if ( Player.GetInCell ICArcaneUniversityArchMagesTowerLobby == 1 )
	RaminusPolusRef.StartConversation Player
endif
endif

End

 

 

 

What the error is? I've understand that the mg18script has no "playerimmobilized" and "playerreleased" commands and this could be the problem

Link to comment
Share on other sites

  • Recently Browsing   0 members

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