FatalIllusion Posted October 28, 2011 Share Posted October 28, 2011 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 More sharing options...
Recommended Posts