home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2006 April / SGP.iso / dema / Keepsake-Demo-en-li-v1.0.exe / res / scripts / tutorial.tcl < prev    next >
Text File  |  2005-12-07  |  30KB  |  1,092 lines

  1. ################################################################################
  2. #                                                                             ##
  3. #    file   tutorial.tcl                                                      ##
  4. #    brief  Events for the Tutorial.                                          ##
  5. #                                                                             ##
  6. ################################################################################
  7.  
  8.  
  9. ## ===================================================== ##
  10. ##   Loading script from source                          ##
  11. ## ===================================================== ##
  12.  
  13. source "[AUTO]/tutorial.mvwrap.tcl"
  14. source "[AUTO]/tutorial.camera.tcl"
  15.  
  16.  
  17. ## ===================================================== ##
  18. ##  Init                                                 ##
  19. ## ===================================================== ##
  20.  
  21. event "init" {
  22.   setAudioEnv "city"
  23.   SetAmbient 2d ambiance/forest "0 0 0" 0 1
  24.     
  25.   if { [ozGet "tutorialPartOne"] == "" } {
  26.     oz'event {initializeGame}
  27.     DeleteSaveGamePanel
  28.     oz'event {set ::isGameReady 1}
  29.     wizqEntityModel Npc "/character/mustavio/mustavio.cal3d"
  30.     wizqEntityShow Npc
  31.     oz'event {wizEntitySetPosition Npc  "-442 2151 -6012"}
  32.     # unfreeze in dragonvaleAcademy.firstKnock
  33.     wizDisableFloorevent
  34.     wizEntityHide Zak
  35.     freezePlayer
  36.     wizDisableMouse
  37.     setCamera "forestEntrance"
  38.     wizhCameraChange
  39.     wizEntitySetPosition Lydia "-327 2153 -6035"
  40.     wizqEntityWalk Lydia "-385 2154 -6029"
  41.     wizqEntityWalk Npc  "-423 2151 -6022"
  42.     
  43.     oz'event {oz'delay 0.001}
  44.     oz'event {showInterface}
  45.     oz'event {standardFadein}
  46.     oz'event {oz'delay 1}
  47.     
  48.     callEvent "tutorialPartOne"
  49.  
  50.   } elseif { [ozGet "tutorialPartTwo"] == "" } {
  51.     wizqEntityModel Npc "/character/mustavio/mustavio.cal3d"
  52.     wizqEntityShow Npc
  53.     oz'event { wizEntitySetPosition Npc "-448.8 2151.2 -6015.7" }
  54.  
  55.   } elseif {[ozGet "wineBottleEvent"] != "complete"} {
  56.     wizqEntityModel Npc "/character/mustavio/mustavio.cal3d"
  57.     wizqEntityShow Npc
  58.     oz'event { wizEntitySetPosition Npc "-357.8 2204 -5892.7" }
  59.     wizqEntityOrientation Npc 150
  60.   }
  61. }
  62.  
  63.  
  64. ## ===================================================== ##
  65. ##   trans Forest Exit                                   ##
  66. ## ===================================================== ##
  67.  
  68. event "transForestExit" {
  69.   freezePlayer
  70.   wizDisableMouse
  71.   
  72.   wizqEntityWalk Lydia "-332.7 2183.3 -5810.8" "wait"
  73.   wizqEntityWalk Lydia "-323.2 2168.9 -5786.5"
  74.   
  75.   chainEvent {standardFadeout}
  76.  
  77.   chainEvent {
  78.     set ::img1 [wq'widget::new "walkthru/[MODE]/img/letter.jpg" -alpha 1 -foreground -depth -0.965]
  79.   }
  80.  
  81.   chainEvent {standardFadein}
  82.   chainEvent {oz'delay 30}
  83.   chainEvent {standardFadeout}
  84.   chainEvent {delete $::img1}
  85.  
  86.   oz'event {
  87.       ozSet "StrangeDevice" "ok"
  88.       ozSet "bookCornerClick" ""
  89.       ozSet "cantReadPage" "notFirst"
  90.       ozSet "characterControlled" ""
  91.       ozSet "continue" ""
  92.       ozSet "corridorClick" ""
  93.       ozSet "dinnerHallRoom" "visited"
  94.       ozSet "doorAcademy" "open"
  95.       ozSet "doorBellPuzzleFirst" "ok"
  96.       ozSet "doorCase" "open"
  97.       ozSet "dragonvaleAcademyRoom" "visited"
  98.       ozSet "emergency" ""
  99.       ozSet "emptyZak" "initiated"
  100.       ozSet "enchantedCrosswayRoom" "visited"
  101.       ozSet "enchantedHallway.bookCornerClick" ""
  102.       ozSet "enchantedHallway.corridor" ""
  103.       ozSet "enchantedHallway.corridorClick" ""
  104.       ozSet "enchantedHallway.stairsLowClick" ""
  105.       ozSet "enchantedHallway.toEnchantedCrossway" "false"
  106.       ozSet "enchantedHallway.toEnchantedCrosswayClick" "false"
  107.       ozSet "enchantedHallwayRoom" "visited"
  108.       ozSet "facadeWalkwayRoom" "visited"
  109.       ozSet "firstKnock" "ok"
  110.       ozSet "getMeOut" "ok"
  111.       ozSet "ghostWhiningVar" "13271"
  112.       ozSet "grandHallRoom" "visited"
  113.       ozSet "helpVar" "5000"
  114.       ozSet "idle" ""
  115.       ozSet "interface.backevent" ""
  116.       ozSet "itemCaretakerNote" ""
  117.       ozSet "itemCirclet" "pickedUp"
  118.       ozSet "itemDoll" ""
  119.       ozSet "itemKeyRing" "pickedUp"
  120.       ozSet "itemNoteBook" ""
  121.       ozSet "itemPagesNigilis" "pickedUp"
  122.       ozSet "itemPagesYewlockLeaves" "pickedUp"
  123.       ozSet "itemStaff" ""
  124.       ozSet "itemWineCaveClue" ""
  125.       ozSet "keyRing" "discussed"
  126.       ozSet "keyRingCamera" "mill"
  127.       ozSet "keyRingWarning" "ok"
  128.       ozSet "leftCloseDoor" "open"
  129.       ozSet "libraryZoomIn" ""
  130.       ozSet "long" ""
  131.       ozSet "lydiaIntroduction" "ok"
  132.       ozSet "lydiaOnGround" ""
  133.       ozSet "lydiaScaredScratching" "ok"
  134.       ozSet "mainCharacter" ""
  135.       ozSet "medium" ""
  136.       ozSet "millAlone" ""
  137.       ozSet "millRoom" "visited"
  138.       ozSet "millStoreRoomRoom" "visited"
  139.       ozSet "millWalkwayRoom" "visited"
  140.       ozSet "millZak" "ok"
  141.       ozSet "minotaurMazeFigurines" "pickedUp"
  142.       ozSet "mustavioIntroduction" "discussed"
  143.       ozSet "mvDisableMouse" "1"
  144.       ozSet "nECorner" "ok"
  145.       ozSet "nbPage" "first"
  146.       ozSet "newgame" ""
  147.       ozSet "npcDiscussion" ""
  148.       ozSet "optionnalVar" "20054"
  149.       ozSet "panoramaDirection" "fromLeft"
  150.       ozSet "puzzleAqueduct" "complete"
  151.       ozSet "puzzleCirclet" ""
  152.       ozSet "puzzleDoorBell" "complete"
  153.       ozSet "puzzleMidgard" ""
  154.       ozSet "puzzleMillTools" "complete"
  155.       ozSet "puzzleStudyDoor" ""
  156.       ozSet "puzzleZak" "complete"
  157.       ozSet "pzlDoorBell-blseq" "second"
  158.       ozSet "pzlDoorBell-brseq" "fourth"
  159.       ozSet "pzlDoorBell-ma-bl" ""
  160.       ozSet "pzlDoorBell-ma-br" ""
  161.       ozSet "pzlDoorBell-ma-ul" ""
  162.       ozSet "pzlDoorBell-ma-ur" ""
  163.       ozSet "pzlDoorBell-order" ""
  164.       ozSet "pzlDoorBell-ulseq" "third"
  165.       ozSet "pzlDoorBell-urseq" "first"
  166.       ozSet "pzlLightRune,beam" "0"
  167.       ozSet "pzlMillCloseUpA" "0"
  168.       ozSet "pzlMillCloseUpAPower" "0"
  169.       ozSet "pzlMillCloseUpB" "0"
  170.       ozSet "pzlMillCloseUpBPower" "0"
  171.       ozSet "pzlMillCloseUpC" "0"
  172.       ozSet "pzlMillCloseUpCPower" "0"
  173.       ozSet "pzlMillCloseUpD" "0"
  174.       ozSet "pzlMillCloseUpDPower" "0"
  175.       ozSet "pzlMillCloseUpE" "0"
  176.       ozSet "pzlMillCloseUpEPower" "0"
  177.       ozSet "pzlMillCloseUpF" "0"
  178.       ozSet "pzlMillCloseUpFPower" "0"
  179.       ozSet "pzlMillCloseUpG" "0"
  180.       ozSet "pzlMillCloseUpGPower" "0"
  181.       ozSet "pzlMillCloseUpH" "0"
  182.       ozSet "pzlMillCloseUpHPower" "0"
  183.       ozSet "pzlMillCloseUpZPower" "0"
  184.       ozSet "pzlMillMachineA" "0"
  185.       ozSet "pzlMillMachineB" "0"
  186.       ozSet "pzlMillMachineC" "0"
  187.       ozSet "pzlMillMachineD" "0"
  188.       ozSet "pzlMillMachineE" "0"
  189.       ozSet "sanctuaryZakSwitch" ""
  190.       ozSet "searching" ""
  191.       ozSet "searchingVar" "23549"
  192.       ozSet "short" ""
  193.       ozSet "stairsLowClick" ""
  194.       ozSet "supposeToWait" "ok"
  195.       ozSet "toEnchantedCrosswayClick" "false"
  196.       ozSet "transCorridor" ""
  197.       ozSet "tutorialEvents" "complete"
  198.       ozSet "useCircletGet" "ok"
  199.       ozSet "useCircletPuzzle" "ok"
  200.       ozSet "visionTwo" ""
  201.       ozSet "welcomeMe" "ok"
  202.       ozSet "whatAreYou" "initiated"
  203.       ozSet "whoAreYou" ""
  204.       ozSet "whyYouHiding" ""
  205.       ozSet "wingFlapping" ""
  206.       ozSet "zakForm" ""
  207.       ozSet "zakFree" "ok"
  208.       ozSet "zakHide" ""
  209.       ozSet "zakOnGround" ""
  210.       ozSet "zakPresence" ""
  211.       ozSet "zakPresentation" "ok"
  212.       hConvUpdate
  213.       ozEntityZak set position 433.848 84.284 289.226
  214.       ozEntityZak set orientation 5.1323
  215.       ozEntityZak setcycle standCycleNormal
  216.       ozEntityZak show
  217.       ozEntityLydia set position 436.221 84.284 281.003
  218.       ozEntityLydia set orientation 5.1323
  219.       ozEntityLydia setcycle standCycleNormal
  220.       setScene enchantedHallway world
  221.   }
  222.   oz'event {oz'delay 0.001}
  223.   oz'event {
  224.     unfreezePlayer
  225.     wizEnableMouse
  226.     standardFadein
  227.   }
  228. }
  229.  
  230.  
  231. ## ===================================================== ##
  232. ##   hill Side                                           ##
  233. ## ===================================================== ##
  234.  
  235. event "hillSide" {
  236.   setCamera "hillSide"
  237.   wizhCameraChange
  238.   
  239.   chainEvent { delay 500 }
  240.  
  241.   if {[ozGet "tutorialPartTwo"] == "" } {
  242.     callEvent "tutorialPartTwo"
  243.   }
  244. }
  245.  
  246.  
  247. ## ===================================================== ##
  248. ##   camera mustavio Wagon                               ##
  249. ## ===================================================== ##
  250.  
  251. event "mustavioWagon" {
  252.   setCamera "mustavioWagon"
  253.   wizhCameraChange
  254.  
  255.   chainEvent { delay 500 }
  256.   
  257.   if {[ozGet "tutorialPartThree"] == "" } {
  258.     chainCallEvent "tutorialPartThree"
  259.  
  260.   } else {
  261.     oz'event { wizqEntityOrientation Npc 150 }
  262.   }
  263. }
  264.  
  265.  
  266. ## ===================================================== ##
  267. ##   tutorial Part One                                   ##
  268. ## ===================================================== ##
  269.  
  270. proc ShowIcon {icon} {
  271.     set img [wq'widget::new "interface/[MODE]/tut/tut.$icon" -pos 0.828125 0.666666 -alpha 0 -foreground -depth 0.1]
  272.     wq'widget::fadeto $img 1
  273.     return $img
  274. }
  275.  
  276. proc HideIcon {id} {
  277.   wq'widget::fadeto  $id 0 -wait
  278.   wq'widget::delete  $id
  279. }
  280.  
  281. event "tutorialPartOne" {
  282.   chainEvent {
  283.     freezePlayer
  284.     wizDisableMouse
  285.   }
  286.   ozSet "tutorialPartOne" "discussed"
  287.  
  288.   wizqEntityWalk Lydia "-385 2154 -6029"
  289.   wizqEntityWalk Npc  "-423 2151 -6022" "wait"
  290.  
  291.   oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  292.   
  293.   wizqTalkOpen
  294.   wizqTalkSay Mustavio $::lng::tutorialStepM1   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM1.ogg"
  295.  
  296.   # Block 1
  297.   wizqQueue 1 {
  298.     wizqEntityWalk Lydia "-385 2154 -6029" "wait"
  299.     chainEvent { delay 1000 }
  300.     wizqEntityAction Npc standTalkHandHip "wait"
  301.   }
  302.   
  303.   wizqTalkSay Mustavio $::lng::tutorialStepM2   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM2.ogg"
  304.  
  305.   # Wait for Block 1
  306.   wizqWaitQueue 1
  307.  
  308.   # Block 2
  309.   wizqQueue 1 {
  310.     oz'event { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  311.     chainEvent { delay 500 }
  312.     wizqEntityAction Lydia standTurnRightHoldShort "wait"
  313.   }
  314.  
  315.   # Block 2-B
  316.   wizqQueue 2 {
  317.     wizqEntityAction Npc standTalkTwoHands "wait"
  318.     wizqEntityAction Npc standYes "wait"
  319.   }
  320.   
  321.   set pid [ShowIcon "pause"]
  322.   wizqTalkSay Mustavio $::lng::tutorialStepM3   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM3.ogg"
  323.  
  324.   # Wait for Block 2 & 2-B
  325.   wizqWaitQueue 1
  326.   wizqWaitQueue 2
  327.  
  328.   # Block 3
  329.   wizqQueue 1 {
  330.     chainEvent { delay 500 }
  331.     wizqEntityAction Lydia standTurnLeftHoldShort "wait"
  332.   }
  333.  
  334.   # Block 3-B
  335.   wizqQueue 2 {
  336.     chainEvent { delay 1000 }
  337.     wizqEntityAction Npc standTalkTwoHands "wait"
  338.   }
  339.   
  340.   wizqTalkSay Mustavio $::lng::tutorialStepM4   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM4.ogg"
  341.   HideIcon $pid
  342.  
  343.   # Wait for Block 3 & 3-B
  344.   wizqWaitQueue 1
  345.   wizqWaitQueue 2
  346.  
  347.   # Block 4
  348.   wizqQueue 1 {
  349.     chainEvent { delay 2000 }
  350.     wizqEntityAction Lydia standHandOnChin "wait"
  351.   }
  352.  
  353.   # Block 4-B
  354.   wizqQueue 2 {
  355.     chainEvent { delay 500 }
  356.     wizqEntityAction Npc standNo "wait"
  357.     wizqEntityAction Npc standTalkHandHip "wait"
  358.   }
  359.     
  360.   set pid [ShowIcon "skip"]
  361.   wizqTalkSay Mustavio $::lng::tutorialStepM5   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM5.ogg"
  362.  
  363.   # Wait for Block 4 & 4-B
  364.   wizqWaitQueue 1
  365.   wizqWaitQueue 2
  366.  
  367.   # Block 5
  368.   wizqQueue 1 {
  369.     chainEvent { delay 1000 }
  370.     wizqEntityAction Npc standTurnRight "wait"
  371.   }
  372.   
  373.   wizqTalkSay Mustavio $::lng::tutorialStepM6   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM6.ogg"
  374.   HideIcon $pid
  375.  
  376.   # Wait for Block 5
  377.   wizqWaitQueue 1
  378.  
  379.   # Block 6
  380.   wizqQueue 1 {
  381.     wizqEntityAction Npc standTalkTwoHands "wait"
  382.     wizqEntityAction Npc standYes "wait"
  383.   }
  384.   
  385.   set pid [ShowIcon "walk"]
  386.   wizqTalkSay Mustavio $::lng::tutorialStepM7   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM7.ogg"
  387.   HideIcon $pid
  388.  
  389.   # Wait for Block 6
  390.   wizqWaitQueue 1
  391.  
  392.   # Block 7
  393.   wizqQueue 1 {
  394.     wizqEntityAction Npc standTalkHandHip "wait"
  395.   }
  396.   
  397.   set pid [ShowIcon "travel"]
  398.   wizqTalkSay Mustavio $::lng::tutorialStepM8   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM8.ogg"
  399.   HideIcon $pid
  400.  
  401.   # Wait for Block 7
  402.   wizqWaitQueue 1
  403.  
  404.   # Block 8
  405.   wizqQueue 1 {
  406.     wizqEntityAction Npc standTalkTwoHands "wait"
  407.     wizqEntityAction Npc standNo "wait"
  408.   }
  409.  
  410.   # Block 8-B
  411.   wizqQueue 2 {
  412.     chainEvent { delay 5000 }
  413.     wizqEntityAction Lydia standYes "wait"
  414.   }
  415.   
  416.   set pid [ShowIcon "none"]
  417.   wizqTalkSay Mustavio $::lng::tutorialStepM9   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM9.ogg"
  418.   HideIcon $pid
  419.   wizqTalkClose
  420.  
  421.   # Wait for Block 8 & 8-B
  422.   wizqWaitQueue 1
  423.   wizqWaitQueue 2
  424.  
  425.   wizqEntityWalk Npc "-438.7 2151.6 -6021.5" "wait"
  426.   oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  427.  
  428.   # Block 9
  429.   wizqQueue 1 {
  430.     chainEvent { delay 1000 }
  431.     wizqEntityAction Npc standTalkHandHip "wait"
  432.     wizqEntityAction Npc standTalkTwoHands "wait"
  433.   }
  434.  
  435.   # Block 9-B
  436.   wizqQueue 2 {
  437.     chainEvent { delay 2000 }
  438.     wizqEntityAction Lydia standArmCross "wait"
  439.   }
  440.  
  441.   wizqTalkOpen
  442.   set pid [ShowIcon "wait"]
  443.   wizqTalkSay Mustavio $::lng::tutorialStepM10   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM10.ogg"
  444.   HideIcon $pid
  445.   wizqTalkClose
  446.  
  447.   # Wait for Block 9 & 9-B
  448.   wizqWaitQueue 1
  449.   wizqWaitQueue 2
  450.   
  451.   wizqEntityWalk Npc "-448.8 2151.2 -6015.7" "wait"
  452.   
  453.   wizqEnableMouse
  454.   oz'event {
  455.     unfreezePlayer
  456.     wizEnableFloorevent
  457.   }
  458. }
  459.  
  460.  
  461. ## ===================================================== ##
  462. ##   tutorial Part Two                                   ##
  463. ## ===================================================== ##
  464.  
  465. event "tutorialPartTwo" {
  466.   chainEvent {
  467.     freezePlayer
  468.     wizDisableMouse
  469.   }
  470.  
  471.   # this is only to make her walk at Mustavio speed, but it seems good
  472.   ozEntityLydia set walkSpeed 5
  473.   ozSet "tutorialPartTwo" "discussed"
  474.  
  475.   oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  476.   oz'event { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  477.  
  478.   # Block 1
  479.   wizqQueue 1 {
  480.     oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  481.     chainEvent { delay 1000 }
  482.     wizqEntityAction Npc standTalkHandHip
  483.   }
  484.  
  485.   # Block 1-B
  486.   wizqQueue 2 {
  487.     chainEvent { delay 500 }
  488.     oz'event { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  489.   }
  490.   
  491.   wizqTalkOpen
  492.   wizqTalkSay Mustavio $::lng::tutorialStepM11   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM11.ogg"
  493.  
  494.   # Block 2
  495.   wizqQueue 1 {
  496.     wizqEntityWalk Npc "-470.8 2157.3 -5934.7" "wait"
  497.  
  498.     wizqEntityWalk Npc "-436 2170 -5918" "wait"
  499.     
  500.     wizqEntityWalk Npc "-382.8 2190.1 -5927.7" "wait"
  501.     oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  502.   }
  503.  
  504.   # Block 2-B
  505.   wizqQueue 2 {
  506.     oz'event { delay 1000 }
  507.     wizqEntityWalk Lydia "-460.8 2157.3 -5941.7" "wait"
  508.     wizqEntityWalk Lydia "-407.8 2179.8 -5929.7" "wait"
  509.     wizqEntityWalk Lydia "-375.8 2189.8 -5936.7" "wait"
  510.     oz'event { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  511.   }
  512.   
  513.   set pid [ShowIcon "help"]
  514.   wizqTalkSay Mustavio $::lng::tutorialStepM12   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM12.ogg"
  515.   wizqTalkSay Mustavio $::lng::tutorialStepM13   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM13.ogg"
  516.   wizqTalkSay Mustavio $::lng::tutorialStepM14   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM14.ogg"
  517.   HideIcon $pid
  518.  
  519.   set pid [ShowIcon "openmenu"]
  520.   wizqTalkSay Mustavio $::lng::tutorialStepM15   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM15.ogg"
  521.   HideIcon $pid
  522.   
  523.   set pid [ShowIcon "closemenu"]
  524.   wizqTalkSay Mustavio $::lng::tutorialStepM16   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM16.ogg"
  525.  
  526.   # Wait for Block 2 & 2-B
  527.   wizqWaitQueue 1
  528.   wizqWaitQueue 2
  529.  
  530.   # Block 3
  531.   wizqQueue 1 {
  532.     wizqEntityAction Npc standTalkHandHip "wait"
  533.     chainEvent { delay 1000 }
  534.     wizqEntityAction Npc standTalkTwoHands "wait"
  535.   }
  536.  
  537.   # Block 3-B
  538.   wizqQueue 2 {
  539.     chainEvent { delay 1500 }
  540.     wizqEntityAction Lydia standHandOnChin "wait"
  541.   }
  542.   
  543.   wizqTalkSay Mustavio $::lng::tutorialStepM17   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM17.ogg"
  544.   HideIcon $pid
  545.  
  546.   # Wait for Block 3 & 3-B
  547.   wizqWaitQueue 1
  548.   wizqWaitQueue 2
  549.  
  550.   # Block 4
  551.   wizqQueue 1 {
  552.     chainEvent { delay 500 }
  553.     wizqEntityAction Npc standYes "wait"
  554.     chainEvent { delay 1000 }
  555.     wizqEntityAction Npc standTalkHandHip "wait"
  556.   }
  557.  
  558.   wizqTalkSay Mustavio $::lng::tutorialStepM18   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM18.ogg"
  559.   wizqTalkClose
  560.  
  561.   # Wait for Block 4
  562.   wizqWaitQueue 1
  563.   
  564.   wizqEntityWalk Npc "-357.8 2204 -5892.7"
  565.   
  566.   # this is to revert to normal walk speed
  567.   oz'event { ozEntityLydia set walkSpeed 7.8 }
  568.   
  569.   chainEvent {
  570.     unfreezePlayer
  571.     wizEnableMouse
  572.   }
  573. }
  574.  
  575.  
  576. ## ===================================================== ##
  577. ##   tutorial Part Three                                 ##
  578. ## ===================================================== ##
  579.  
  580. event "tutorialPartThree" {
  581.   chainEvent {
  582.     freezePlayer
  583.     wizDisableMouse
  584.   }
  585.   ozSet "tutorialPartThree" "discussed"
  586.  
  587.   # Block 1
  588.   wizqQueue 1 {
  589.     wizqEntityWalk Npc "-357.8 2204 -5892.7" "wait"
  590.     chainEvent { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  591.   }
  592.  
  593.   # Block 1-B
  594.   wizqQueue 2 {
  595.     wizqEntityWalk Lydia "-345.3 2204.4 -5900.8" "wait"
  596.     chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  597.   }
  598.   
  599.   wizqTalkOpen
  600.   wizqTalkSay Mustavio $::lng::tutorialStepM19   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM19.ogg"
  601.  
  602.   # Wait for Block 1 & 1-B
  603.   wizqWaitQueue 1
  604.   wizqWaitQueue 2
  605.  
  606.   # Block 2
  607.   wizqQueue 1 {
  608.     chainEvent { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  609.     wizqEntityAction Npc standTalkHandHip "wait"
  610.     wizqEntityAction Npc standYes "wait"
  611.   }
  612.  
  613.   # Block 2-B
  614.   wizqQueue 2 {
  615.     chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  616.     chainEvent { delay 2000 }
  617.     wizqEntityAction Lydia standHandOnChin "wait"
  618.   }
  619.  
  620.   set pid [ShowIcon "talk"]
  621.   wizqTalkSay Mustavio $::lng::tutorialStepM20   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM20.ogg"
  622.  
  623.   # Wait for Block 2 & 2-B
  624.   wizqWaitQueue 1
  625.   wizqWaitQueue 2
  626.  
  627.   # Block 3
  628.   wizqQueue 1 {
  629.     chainEvent { delay 1000 }
  630.     wizqEntityAction Npc standTalkTwoHands "wait"
  631.     chainEvent { delay 1000 }
  632.     wizqEntityAction Npc standYes "wait"
  633.   }
  634.  
  635.   # Block 3-B
  636.   wizqQueue 2 {
  637.     chainEvent { delay 4000 }
  638.     wizqEntityAction Lydia standYes "wait"
  639.   }
  640.  
  641.   wizqTalkSay Mustavio $::lng::tutorialStepM21   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM21.ogg"
  642.   HideIcon $pid
  643.  
  644.   # Wait for Block 3 & 3-B
  645.   wizqWaitQueue 1
  646.   wizqWaitQueue 2
  647.  
  648.   # Block 4
  649.   wizqQueue 1 {
  650.     chainEvent { delay 1000 }
  651.     wizqEntityAction Npc standTalkHandHip "wait"
  652.   }
  653.   
  654.   set pid [ShowIcon "menutalk"]
  655.   wizqTalkSay Mustavio $::lng::tutorialStepM28   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM28.ogg"
  656.  
  657.   # Wait for Block 4
  658.   wizqWaitQueue 1
  659.  
  660.   # Block 5
  661.   wizqQueue 1 {
  662.     chainEvent { delay 1000 }
  663.     wizqEntityAction Npc standYes "wait"
  664.   }
  665.  
  666.   wizqTalkSay Mustavio $::lng::tutorialStepM29   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM29.ogg"
  667.   HideIcon $pid
  668.  
  669.   wizqTalkClose
  670.   
  671.   # Wait for Block 5
  672.   wizqWaitQueue 1
  673.   
  674.   chainEvent {
  675.     unfreezePlayer
  676.     wizEnableMouse
  677.   }
  678. }
  679.  
  680.  
  681. ## ===================================================== ##
  682. ##   tutorial Part Four                                  ##
  683. ## ===================================================== ##
  684.  
  685. event "tutorialPartFour" {
  686.   chainEvent {
  687.     freezePlayer
  688.     wizDisableMouse
  689.   }
  690.  
  691.   # Block 1
  692.   wizqQueue 1 {
  693.     wizqEntityAction Lydia standTalkHandHip "wait"
  694.   }
  695.  
  696.   wizqTalkOpen
  697.   set pid [ShowIcon "look"]
  698.   wizqTalkSay Lydia $::lng::tutorialStepL1   "sound/vo/$::LNG/scenes/tutorial/tutorialStepL1.ogg"
  699.  
  700.   # Block 1-B
  701.   wizqQueue 2 {
  702.     wizqEntityAction Npc standYes "wait"
  703.     wizqEntityAction Npc standTalkHandHip "wait"
  704.   }
  705.  
  706.   wizqTalkSay Mustavio $::lng::tutorialStepM22   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM22.ogg"
  707.   HideIcon $pid
  708.  
  709.   # Wait for Block 1 & 1-B
  710.   wizqWaitQueue 1
  711.   wizqWaitQueue 2
  712.  
  713.   # Block 2
  714.   wizqQueue 1 {
  715.     wizqEntityAction Npc standTalkHandHip "wait"
  716.     wizqEntityAction Npc standYes "wait"
  717.   }
  718.  
  719.   set pid [ShowIcon "back"]
  720.   wizqTalkSay Mustavio $::lng::tutorialStepM23   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM23.ogg"
  721.   HideIcon $pid
  722.   
  723.   wizqTalkClose
  724.  
  725.   # Wait for Block 2
  726.   wizqWaitQueue 1
  727.   
  728.   oz'event { callEvent "useMustavioWagon" }
  729. }
  730.  
  731.  
  732. ## ===================================================== ##
  733. ##   tutorial Part Five                                  ##
  734. ## ===================================================== ##
  735.  
  736. event "tutorialPartFive" {
  737.   chainEvent {
  738.     freezePlayer
  739.     wizDisableMouse
  740.   }
  741.  
  742.   # Block 1
  743.   wizqQueue 1 {
  744.     wizqEntityAction Lydia standTalkTwoHands "wait"
  745.   }
  746.   
  747.   wizqTalkOpen
  748.   set pid [ShowIcon "use"]
  749.   wizqTalkSay Lydia $::lng::tutorialStepL2   "sound/vo/$::LNG/scenes/tutorial/tutorialStepL2.ogg"
  750.  
  751.   # Wait for Block 1
  752.   wizqWaitQueue 1
  753.  
  754.   # Block 2
  755.   wizqQueue 1 {
  756.     chainEvent { delay 2000 }
  757.     wizqEntityAction Lydia standHandOnChin "wait"
  758.   }
  759.  
  760.   # Block 2-B
  761.   wizqQueue 2 {
  762.     wizqEntityAction Npc standArmCross "wait"
  763.     wizqEntityAction Npc standTalkHandHip "wait"
  764.   }
  765.   
  766.   wizqTalkSay Mustavio $::lng::tutorialStepM24   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM24.ogg"
  767.   HideIcon $pid
  768.   wizqTalkClose
  769.  
  770.   # Wait for Block 2 & 2-B
  771.   wizqWaitQueue 1
  772.   wizqWaitQueue 2
  773.   
  774.   oz'event { callEvent "useMustavioWagon" }
  775. }
  776.  
  777.  
  778. ## ===================================================== ##
  779. ##   tutorial Part Six                                   ##
  780. ## ===================================================== ##
  781.  
  782. event "tutorialPartSix" {
  783.   chainEvent {
  784.     freezePlayer
  785.     wizDisableMouse
  786.   }
  787.  
  788.   # Block 1
  789.   wizqQueue 1 {
  790.     wizqEntityAction Lydia standHandOnChin "wait"
  791.   }
  792.   
  793.   wizqTalkOpen
  794.   set pid [ShowIcon "get"]
  795.   wizqTalkSay Lydia $::lng::tutorialStepL3   "sound/vo/$::LNG/scenes/tutorial/tutorialStepL3.ogg"
  796.  
  797.   # Wait for Block 1
  798.   wizqWaitQueue 1
  799.  
  800.   # Block 2
  801.   wizqQueue 1 {
  802.     wizqEntityAction Npc standYes "wait"
  803.     chainEvent { delay 1500 }
  804.     wizqEntityAction Npc standTalkHandHip "wait"
  805.   }
  806.   
  807.   wizqTalkSay Mustavio $::lng::tutorialStepM25   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM25.ogg"
  808.   HideIcon $pid
  809.  
  810.   # Wait for Block 2
  811.   wizqWaitQueue 1
  812.  
  813.   # Block 3
  814.   wizqQueue 1 {
  815.     wizqEntityAction Npc standTalkTwoHands "wait"
  816.   }
  817.   
  818.   set pid [ShowIcon "invmenu"]
  819.   wizqTalkSay Mustavio $::lng::tutorialStepM26   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM26.ogg"
  820.   HideIcon $pid
  821.   wizqTalkClose
  822.  
  823.   # Wait for Block 3
  824.   wizqWaitQueue 1
  825.   
  826.   oz'event { callEvent "useMustavioWagon" }
  827. }
  828.  
  829.  
  830. ## ===================================================== ##
  831. ##   tutorial Part Seven                                 ##
  832. ## ===================================================== ##
  833.  
  834. event "tutorialPartSeven" {
  835.   chainEvent {
  836.     freezePlayer
  837.     wizDisableMouse
  838.   }
  839.   ozSet "tutorialEvents" "complete"
  840.   ozSet "tutorial.useMustavioWagon" "false"
  841.  
  842.   # Block 1
  843.   wizqQueue 1 {
  844.     chainEvent { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  845.   }
  846.  
  847.   # Block 1-B
  848.   wizqQueue 2 {
  849.     wizqEntityWalk Lydia "-346.8 2204 -5896.7" "wait"
  850.     chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  851.   }
  852.   
  853.   wizqTalkOpen
  854.   wizqTalkSay Lydia $::lng::tutorialStepL4   "sound/vo/$::LNG/scenes/tutorial/tutorialStepL4.ogg"
  855.  
  856.   # Wait for Block 1 & 1-B
  857.   wizqWaitQueue 1
  858.   wizqWaitQueue 2
  859.  
  860.   # Block 2
  861.   wizqQueue 1 {
  862.     chainEvent { delay 1000 }
  863.     wizqEntityOrientation Lydia 180
  864.   }
  865.  
  866.   # Block 2-B
  867.   wizqQueue 2 {
  868.     chainEvent { delay 500 }
  869.     wizqEntityWalk Npc "-336 2192 -5833" "wait"
  870.     wizqEntityHide Npc
  871.   }
  872.  
  873.   wizqTalkSay Mustavio $::lng::tutorialStepM30   "sound/vo/$::LNG/scenes/tutorial/tutorialStepM30.ogg"
  874.   wizqTalkClose
  875.  
  876.   # Wait for Block 2
  877.   wizqWaitQueue 1
  878.  
  879.   # Block 3
  880.   wizqQueue 1 {
  881.     chainEvent { delay 1500 }
  882.     wizqEntityAction Lydia standHandOnChin "wait"
  883.   }
  884.  
  885.   # Wait for Block 3 & 2-B
  886.   wizqWaitQueue 1
  887.   wizqWaitQueue 2
  888.  
  889.   chainEvent {
  890.     unfreezePlayer
  891.     wizEnableMouse
  892.   }
  893. }
  894.  
  895.  
  896. ## ===================================================== ##
  897. ##   tutorial Part Seven                                 ##
  898. ## ===================================================== ##
  899.  
  900. event "useMustavioWagon" {
  901.   chainEvent {
  902.     freezePlayer
  903.     wizDisableMouse
  904.   }
  905.   oz'event { wizEntityLookAt Npc [wizEntityGetPosition Lydia] }
  906.   oz'event { wizEntityLookAt Lydia [wizEntityGetPosition Npc] }
  907.   oz'event {
  908.     ozIMenu disable help
  909.     iactive interface.help true
  910.   }
  911.  
  912.   wizqConvRemove npc
  913.   chainEvent { delay 1 }
  914.  
  915.   set conv 0
  916.  
  917.   if { [ozGet "wineBottle"] == "" } {
  918.     wizqConvAdd npc $::lng::magnifyingLens   "tutorial.tutorialPartFour"
  919.     set conv 1
  920.   }
  921.  
  922.   if { [ozGet "wineBottle"] == "" } {
  923.     wizqConvAdd npc $::lng::gearCursor   "tutorial.tutorialPartFive"
  924.     set conv 1
  925.   }
  926.  
  927.   if { [ozGet "wineBottle"] == "" } {
  928.     wizqConvAdd npc $::lng::handCursor   "tutorial.tutorialPartSix"
  929.     set conv 1
  930.   }
  931.  
  932.   if { [ozGet "wineBottleEvent"] == "complete" } {
  933.     wizqConvAdd npc $::lng::thankHelp   "tutorial.tutorialPartSeven"
  934.     set conv 1
  935.   }
  936.  
  937.   if $conv {
  938.     wizqConvOpen
  939.   } else {
  940.     CloseNPC
  941.   }
  942. }
  943.  
  944.  
  945. ## ===================================================== ##
  946. ##   look Mustavio Wagon                                 ##
  947. ## ===================================================== ##
  948.  
  949. event "lookMustavioWagon" {
  950.   wizEntityMove Lydia "-340.8 2204.9 -5906.7" "tutorial.lookMustavioWagonBehavior" 2
  951. }
  952.  
  953.  
  954. ## ===================================================== ##
  955. ##   look Mustavio Walgon Behavior                       ##
  956. ## ===================================================== ##
  957.  
  958. event "lookMustavioWagonBehavior" {
  959.   wizqEntityOrientation Lydia 130
  960.   wizqZoomIn "cabinetCloseUp" "tutorial.wagonZoomOut"
  961. }
  962.  
  963.  
  964. ## ===================================================== ##
  965. ##   wagon Zoom Out                                      ##
  966. ## ===================================================== ##
  967.  
  968. event "wagonZoomOut" {
  969.   CloseAllInterface
  970.   if { [ozGet "wagonDoors"] == "open" } {
  971.     if {[ozGet "wineBottle"] == "pickedUp"} {
  972.       wizqDisableMouse
  973.       ozqSound::NewFX  "/sound/sfx/wineBottlePlaceBack.ogg"
  974.       oz'event {setCrossfadeCamera "cabinetCloseUpOpen"}
  975.       oz'event {oz'delay 1}
  976.       wizqEnableMouse
  977.       ozSet "wineBottle" ""
  978.       ozSet "tutorial.useCabinetCloseUpBottle" ""
  979.     }
  980.     ozSet "wagonDoors" ""
  981.  
  982.     oz'event {setCamera "cabinetCloseUp"}
  983.     PlayMovieSound cabinetCloseUp doorClosing "sfx/cartDoorClose"
  984.   }
  985.  
  986.   wizqZoomOut "mustavioWagon"
  987.   
  988.   if {[ozGet "wineBottleEvent"] == "complete" && [ozGet "tutorialEvents"] != "complete"} {
  989.     chainCallEvent "tutorialPartSeven"
  990.   }
  991. }
  992.  
  993.  
  994. ## ===================================================== ##
  995. ##   use Cabinet Close Up Right                          ##
  996. ## ===================================================== ##
  997.  
  998. event "useCabinetCloseUpRight" {
  999.   chainEvent {
  1000.     freezePlayer
  1001.     wizDisableMouse
  1002.   }
  1003.   
  1004.   ozSet "wagonDoors" "open"
  1005.   
  1006.   PlayMovieSound cabinetCloseUp doorOpening "sfx/cartDoorOpen"
  1007.  
  1008.   chainEvent {
  1009.     setCamera "cabinetCloseUpOpen"
  1010.     wizhCameraChange
  1011.   }
  1012.  
  1013.   chainEvent {
  1014.     unfreezePlayer
  1015.     wizEnableMouse
  1016.   }
  1017. }
  1018.  
  1019.  
  1020. ## ===================================================== ##
  1021. ##   use Cabinet Close Up Left                           ##
  1022. ## ===================================================== ##
  1023.  
  1024. event "useCabinetCloseUpLeft" {
  1025.   chainEvent {
  1026.     freezePlayer
  1027.     wizDisableMouse
  1028.   }
  1029.   
  1030.   ozSet "wagonDoors" "open"
  1031.   
  1032.   PlayMovieSound cabinetCloseUp doorOpening "sfx/cartDoorOpen"
  1033.  
  1034.   chainEvent {
  1035.     setCamera "cabinetCloseUpOpen"
  1036.     wizhCameraChange
  1037.   }
  1038.  
  1039.   chainEvent {
  1040.     unfreezePlayer
  1041.     wizEnableMouse
  1042.   }
  1043. }
  1044.  
  1045.  
  1046. ## ===================================================== ##
  1047. ##   use Cabinet Close Up Bottle                         ##
  1048. ## ===================================================== ##
  1049.  
  1050. event "useCabinetCloseUpBottle" {
  1051.   chainEvent {
  1052.     freezePlayer
  1053.     wizDisableMouse
  1054.   }
  1055.   ozSet "wineBottleEvent" "complete"
  1056.   ozSet "wineBottle" "pickedUp"
  1057.   ozSet "tutorial.useCabinetCloseUpBottle" "false"
  1058.   
  1059.   ozqSound::NewFX  "/sound/sfx/wineBottlePickup.ogg"
  1060.   oz'event {setCrossfadeCamera "cabinetCloseUpTaken"}
  1061.   oz'event {oz'delay 1}
  1062.  
  1063.   chainEvent {
  1064.     iq'showdesc wineBottle
  1065.   }
  1066.  
  1067.   chainEvent {
  1068.     unfreezePlayer
  1069.     wizEnableMouse
  1070.   }
  1071. }
  1072.  
  1073.  
  1074. ## ===================================================== ##
  1075. ##   trans Hill Top A                                    ##
  1076. ## ===================================================== ##
  1077.  
  1078. event "transHillTopA" {
  1079.   wizEntityMove Lydia "-345.3 2204.4 -5900.8"
  1080. }
  1081.  
  1082.  
  1083. ## ===================================================== ##
  1084. ##   trans Hill Top B                                    ##
  1085. ## ===================================================== ##
  1086.  
  1087. event "transHillTopB" {
  1088.   wizEntityMove Lydia "-345.3 2204.4 -5900.8"
  1089. }
  1090.  
  1091.     
  1092.