home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CyberMycha 2006 April
/
SGP.iso
/
dema
/
Keepsake-Demo-en-li-v1.0.exe
/
res
/
scripts
/
dragonvaleHallway.tcl
< prev
next >
Wrap
Text File
|
2005-12-06
|
24KB
|
808 lines
################################################################################
# ##
# file dragonvaleHallway.tcl ##
# brief Events for the Dragonvale Hallway. ##
# ##
################################################################################
## ===================================================== ##
## Loading script from source ##
## ===================================================== ##
source "[AUTO]/dragonvaleHallway.mvwrap.tcl"
source "[PUZZLES]/dragonvaleHallway.camera.tcl"
## ===================================================== ##
## Initialization ##
## ===================================================== ##
event "init" {
ozSet "dragonvaleHallwayRoom" "visited"
setAudioEnv "parkinglot"
if {[ozGet "sysCamera"] == "topPasserelleRight"} { setAudioEnv "room" }
if {[ozGet "sysCamera"] == "topPasserelleLeft"} { setAudioEnv "room" }
SetAmbient 3d sfx/dragonFountainLoop "227 71 157" 30 0 0.6
SetAmbient 3d sfx/fallsFar "130 144 870" 10000 0
SetAmbient 3d sfx/fountain "359 4 -62" 30 0 0.6
SetAmbient 3d sfx/gardenPond "245 71 270" 30 0 0.6
if { [ozGet "mustavioLooseInSchool"] == "complete" && [ozGet "mustavioFirstAppear"] == "" } {
ozSet "mustavioFirstAppear" "complete"
wizqEntityModel Npc "/character/mustavio/mustavio.cal3d"
chainEvent {
wizEntitySetPosition Npc "310.2 86.1 272.2"
wizEntityOrientation Npc 90
}
wizqEntityShow Npc
wizqEntityWalk Npc "406.2 84.3 273"
}
}
################################################################################
## ========================================================================== ##
## DOOR BLOCKING & PUZZLE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## to Trial Room ##
## ===================================================== ##
event "toTrialRoom" {
setCamera "towardCorridorTrial"
wizhCameraChange
if { [getVar "trialAllegianceDoor"] == "open" } {
chainEvent {
wizEntitySetPosition Lydia "480.9 73.1 326.6"
wizEntitySetPosition Zak "475.2 73.1 326.6"
}
chainEvent {
wizEntitySetOrientation Lydia 110
wizEntitySetOrientation Zak 100
}
chainEvent { setScene "trialRoom" world }
}
}
################################################################################
## ========================================================================== ##
## MOVEMENT ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## transMainStairs ##
## ===================================================== ##
event "transMainStairs" {
wizEntityMoveXRelative Lydia 0.42 0.86 "335.2 71.8 313.7" "385.4 71.7 313.5"
}
## ===================================================== ##
## transTowardCorridor ##
## ===================================================== ##
event "transTowardCorridor" {
wizEntityMoveXRelative Lydia 0.03 0.19 "328.9 72 324.5" "328.8 72 340.8"
}
## ===================================================== ##
## useTowardCorridor ##
## ===================================================== ##
event "useTowardCorridor" {
eventState [wizEventStart "useTowardCorridor"]
if { [getVar "trialAllegianceDoor"] == "open" } {
wizEntityMove Lydia "385.6 72 326"
wizqEventEnd "useTowardCorridor"
} else {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
oz'event {wizEntityStopFollow Zak}
wizqEntityMove Zak "371.6 72.1 322" "wait"
wizqEntityOrientation Zak 100
oz'event {wizEntityResumeFollow Zak}
}
}
wizqEntityMove Lydia "385.6 72 326" dragonvaleHallway.trialDoorBehavior 2
}
wizqEventEnd "useTowardCorridor"
}
## ===================================================== ##
## trial Door Behavior ##
## ===================================================== ##
event "trialDoorBehavior" {
if { [ozGet "puzzleZak"] == "complete" } {
# Block 1
wizqQueue 2 {
wizqEntityMove Zak "371.6 72.1 322" "wait"
wizqEntityOrientation Zak 100
}
oz'event {wizEntityStopFollow Zak}
}
oz'event {wizDisableMouse}
chainEvent { wizEntityLookAt Lydia "390 72.1 329.4" }
wizqEntitySetCycle Lydia standCycleNormal
# Wait for Block 1
wizqWaitQueue 2
chainEvent {
freezePlayer
wizDisableMouse
wizDisableFloorevent
wizEntityStopFollow Zak
}
chainEvent {
setCamera "trialDoorShatter"
wizhCameraChange
}
ozSet "trialDoorOne" "initiated"
if { [ozGet "puzzleTrialDoorKey"] == "complete" } {
if { [ozGet "trialDoor"] == "" } {
callEvent "firstTrialDoorOpening"
} else {
callEvent "anotherTrialDoorOpening"
}
} else {
if { [getVar "dragonvaleHallwayTrialDoorUsed"] == "" } {
ozSet "dragonvaleHallwayTrialDoorUsed" "discussed"
callEvent "trialRoomDoorExamination"
} else {
callEvent "cantOpenTrialRoomDoor"
}
}
oz'event {wizEnableMouse}
oz'event {wizEntityResumeFollow Zak}
}
## ===================================================== ##
## to Trial Room Click ##
## ===================================================== ##
event "toTrialRoomClick" {
callEvent "useTowardCorridor"
}
## ===================================================== ##
## trans Top Passerelle Right ##
## ===================================================== ##
event "transTopPasserelleRight" {
wizEntityMove Lydia "314.6 147 207.7"
}
################################################################################
## ========================================================================== ##
## ANIMATION & SPECIAL CAMERA SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## toward Corridor Camera ##
## ===================================================== ##
event "towardCorridor" {
if { [getVar "trialAllegianceDoor"] == "open" } {
setCamera "towardCorridorTrial"
wizhCameraChange
} else {
setCamera "towardCorridor"
wizhCameraChange
}
}
## ===================================================== ##
## main stairs camera ##
## ===================================================== ##
event "mainStairs" {
setCamera "mainStairs"
wizhCameraChange
if { [getVar "visionTwo"] == "" } {
callEvent "secondVisionTrigger"
}
}
## ===================================================== ##
## camera main Bridge ##
## ===================================================== ##
event "mainbridge" {
if { [ozGet "visionOne"] == "" } {
wizEntityResumeFollow Zak
}
if { [getVar "trialAllegianceDoor"] == "open" } {
setCamera "mainbridgeTrial"
wizhCameraChange
} else {
setCamera "mainbridge"
wizhCameraChange
}
if { [ozGet "visionTwo"] == "viewed" && [ozGet "whatAreYou"] == "" } {
wizqDisableMouse
chainEvent {
freezePlayer
wizEntityStopFollow Zak
}
# Block 1
wizqQueue 1 {
wizqEntityWalk Zak "363.1 87.7 267.3" "wait"
}
# Block 1-B
wizqQueue 2 {
wizqEntityWalk Lydia "373.1 87.5 270.3" "wait"
}
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
chainEvent {
unfreezePlayer
wizEntityResumeFollow Zak
}
chainCallEvent optionnalConversation.whatAreYouBehavior
}
}
## ===================================================== ##
## camera top Passerelle Right ##
## ===================================================== ##
event "topPasserelleRight" {
setCamera "topPasserelleRight"
wizhCameraChange
wizEntityResumeFollow Zak
ozSet "zakGardenPosition" ""
ozSet "zakPresence" ""
}
## ===================================================== ##
## camera from GH Entrance ##
## ===================================================== ##
event "fromGHEntrance" {
setCamera "fromGHEntrance"
wizhCameraChange
wizEntityResumeFollow Zak
}
## ===================================================== ##
## camera top Passerelle Left ##
## ===================================================== ##
event "topPasserelleLeft" {
setCamera "topPasserelleLeft"
wizhCameraChange
wizEntityHide Npc
}
################################################################################
## ========================================================================== ##
## NPC DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## FORCED DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
## ===================================================== ##
## Second Vision Incoming! ##
## ===================================================== ##
event "secondVisionTrigger" {
checkConversation "secondVisionTrigger" {
chainEvent {
#all of this finish in dollEffectTwo
wizDisableFloorevent
freezePlayer
wizEntityStopFollow Zak
wizDisableMouse
}
# Block 1
wizqQueue 1 {
wizqEntityWalk Lydia "362 36.9 257" "wait"
wizqEntityAction Lydia standDisbelief "wait"
}
# Block 1-B
wizqQueue 2 {
wizqEntityWalk Zak "356.6 72.1 316" "wait"
wizqEntityAction Zak standTurnLeft
chainEvent { delay 1500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
wizqEntitySetCycle Zak standCycleNormal
}
# Wait for Block 1-B
wizqWaitQueue 2
wizqTalkOpen
wizqTalkSay Zak $::lng::secondVisionTriggerZ1 "sound/vo/$::LNG/scenes/dragonvaleHallway/secondVisionTriggerZ1.ogg"
# Wait for Block 1
wizqWaitQueue 1
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
chainEvent { delay 1000 }
wizqEntityAction Lydia standDisbelief
}
wizqTalkSay Lydia $::lng::secondVisionTriggerL1 "sound/vo/$::LNG/scenes/dragonvaleHallway/secondVisionTriggerL1.ogg"
wizqTalkClose
# Wait for Block 2
wizqWaitQueue 1
callEvent vision.secondVisionTeleport
}
}
## ===================================================== ##
## First Trial Room Door Opening ##
## ===================================================== ##
event "firstTrialDoorOpening" {
ozSet "trialDoor" "initiated"
ozSet "trialAllegianceDoor" "open"
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 500 }
wizqEntityAction Zak standYes "wait"
}
# Block 1-B
wizqQueue 2 {
chainEvent { delay 1000 }
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::firstTrialDoorOpeningZ1 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningZ1.ogg"
# Wait for Block 1 & 1-B
wizqWaitQueue 1
wizqWaitQueue 2
# Block 2
wizqQueue 1 {
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::firstTrialDoorOpeningL1 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningL1.ogg"
# Wait for Block 2
wizqWaitQueue 1
# Block 3
wizqQueue 1 {
chainEvent { wizEntityLookAt Zak "390 72.1 329.4" }
chainEvent { delay 500 }
wizqEntityAction Zak standConfusedRight "wait"
}
wizqTalkSay Zak $::lng::firstTrialDoorOpeningZ2 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningZ2.ogg"
# Wait for Block 3
wizqWaitQueue 1
# Block 4
wizqQueue 1 {
wizqEntityWalk Lydia "379.6 72.1 326" "wait"
chainEvent { wizEntityLookAt Lydia "390 72.1 329.4" }
}
wizqTalkSay Lydia $::lng::firstTrialDoorOpeningL2 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningL2.ogg"
# Wait for Block 4
wizqWaitQueue 1
# Block 5
wizqQueue 1 {
Play3DSound "characters/lydia/staffOpen"
wizqEntityAction Lydia standOpenTrialDoor
chainEvent { delay 6000 }
}
wizqTalkSay Lydia $::lng::firstTrialDoorOpeningL3 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningL3.ogg"
wizqTalkClose
# Wait for Block 5
wizqWaitQueue 1
chainEvent {
hideInterface
hideMouse
wizEntityHide Zak
wizEntityHide Lydia
setCamera "towardCorridorTrial"
wizhCameraChange
PlayMovieSound trialDoorShatter doorShattering cutscenes/trialDoorShatter -foreground -nopan
}
chainEvent {
wizEntityShow Zak
wizEntityShow Lydia
showInterface
showMouse
}
# Block 6
wizqQueue 1 {
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::firstTrialDoorOpeningL4 "sound/vo/$::LNG/scenes/dragonvaleHallway/firstTrialDoorOpeningL4.ogg"
wizqTalkClose
# Wait for Block 6
wizqWaitQueue 1
chainEvent {
unfreezePlayer
wizEnableMouse
wizEnableFloorevent
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Another Trial Room Door Opening ##
## ===================================================== ##
event "anotherTrialDoorOpening" {
ozSet "trialAllegianceDoor" "open"
chainEvent { wizEntityLookAt Lydia "390 72.1 329.4" }
# Block 1
wizqQueue 1 {
wizqEntityWalk Lydia "379.6 72.1 326" "wait"
chainEvent { wizEntityLookAt Lydia "390 72.1 329.4" }
chainEvent { delay 1000 }
Play3DSound "characters/lydia/staffOpen"
wizqEntityAction Lydia standOpenTrialDoor
chainEvent { delay 6000 }
}
wizqTalkOpen
if { [ozGet "anotherTrialDoorOpening"] == "" } {
wizqTalkSay Lydia $::lng::anotherTrialDoorOpeningL1 "sound/vo/$::LNG/scenes/dragonvaleHallway/anotherTrialDoorOpeningL1.ogg"
ozSet "anotherTrialDoorOpening" "first"
} else {
wizqTalkSay Lydia $::lng::anotherTrialDoorOpeningL2 "sound/vo/$::LNG/scenes/dragonvaleHallway/anotherTrialDoorOpeningL2.ogg"
}
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
chainEvent {
hideInterface
hideMouse
wizEntityHide Zak
wizEntityHide Lydia
setCamera "towardCorridorTrial"
wizhCameraChange
PlayMovieSound trialDoorShatter doorShattering cutscenes/trialDoorShatter -foreground -nopan
}
chainEvent {
wizEntityShow Zak
wizEntityShow Lydia
showInterface
showMouse
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEnableFloorevent
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Trial Room Door Examination ##
## ===================================================== ##
event "trialRoomDoorExamination" {
chainEvent { wizEntityLookAt Lydia "535.5 119.5 325.1" }
ozSet "trialAllegianceRoomDoorExamination" "discussed"
if { [ozGet "trialRoomDoorSeen"] == "" } {
ozSet "trialRoomDoorSeen" "first"
} elseif { [ozGet "trialRoomDoorSeen"] == "first" } {
ozSet "trialRoomDoorSeen" "second"
} else {
ozSet "trialRoomDoorSeen" "third"
}
wizqTalkOpen
if { [ozGet "trialRoomDoorSeen"] == "first" } {
# Block 1
wizqQueue 1 {
wizqEntityChangeCycle Lydia crouchCycleNormal standToCrouch "wait"
wizqEntityAction Lydia crouchTalk "wait"
}
if { [ozGet "whereAreTrials"] == "discussed" } {
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL1 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL1.ogg"
# Wait for Block 1
wizqWaitQueue 1
# Block 2
wizqQueue 1 {
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 1000 }
wizqEntityAction Lydia standTalkTwoHands "wait"
}
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL2 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL2.ogg"
# Block 2-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 1000 }
wizqEntityAction Zak standNo "wait"
}
wizqTalkSay Zak $::lng::trialRoomDoorExaminationZ1 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationZ1.ogg"
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
} else {
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL3 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL3.ogg"
# Wait for Block 1
wizqWaitQueue 1
# Block 2
wizqQueue 1 {
wizqEntityChangeCycle Lydia standCycleNormal crouchToStand "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
chainEvent { delay 1000 }
wizqEntityAction Lydia standWhat "wait"
}
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL4 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL4.ogg"
# Block 2-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
chainEvent { delay 1000 }
wizqEntityAction Zak standYes "wait"
}
wizqTalkSay Zak $::lng::trialRoomDoorExaminationZ2 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationZ2.ogg"
# Wait for Block 2 & 2-B
wizqWaitQueue 1
wizqWaitQueue 2
}
} else {
if { [ozGet "whereAreTrials"] == "discussed" } {
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL5 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL5.ogg"
# Block 3-B
wizqQueue 2 {
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkSay Zak $::lng::trialRoomDoorExaminationZ3 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationZ3.ogg"
# Wait for Block 3 & 3-B
wizqWaitQueue 1
wizqWaitQueue 2
} else {
# Block 3
wizqQueue 1 {
wizqEntityAction Lydia standHandOnChin "wait"
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
if { [ozGet "anotherTrialRoomDoor"] == "" } {
chainEvent { delay 500 }
wizqEntityAction Lydia standWhat "wait"
}
}
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL6 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL6.ogg"
wizqTalkClose
# Wait for Block 3
wizqWaitQueue 1
if { [ozGet "anotherTrialRoomDoor"] == "" } {
ozSet "anotherTrialRoomDoor" "discussed"
# Block 4
wizqQueue 1 {
chainEvent { delay 500 }
wizqEntityAction Lydia standTalkTwoHands "wait"
wizqEntityAction Lydia standWhat "wait"
}
# Block 4-B
wizqQueue 2 {
chainEvent { delay 500 }
chainEvent { wizEntityLookAt Zak [wizEntityGetPosition Lydia] }
}
wizqTalkOpen
wizqTalkSay Lydia $::lng::trialRoomDoorExaminationL7 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationL7.ogg"
# Wait for Block 4-B
wizqWaitQueue 2
# Block 5-B
wizqQueue 2 {
wizqEntityAction Zak standNo "wait"
}
wizqTalkSay Zak $::lng::trialRoomDoorExaminationZ4 "sound/vo/$::LNG/scenes/dragonvaleHallway/trialRoomDoorExaminationZ4.ogg"
}
# Wait for Block 4 & 5-B
wizqWaitQueue 1
wizqWaitQueue 2
}
}
wizqTalkClose
chainEvent {
setCamera "towardCorridor"
wizhCameraChange
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEnableFloorevent
wizEntityResumeFollow Zak
}
}
## ===================================================== ##
## Cant Open Trial Room Door ##
## ===================================================== ##
event "cantOpenTrialRoomDoor" {
chainEvent { wizEntityLookAt Lydia "390 72.1 329.4" }
# Block 1
wizqQueue 1 {
chainEvent { wizEntityLookAt Lydia [wizEntityGetPosition Zak] }
}
wizqTalkOpen
wizqTalkSay Zak $::lng::cantOpenTrialRoomDoorZ1 "sound/vo/$::LNG/scenes/dragonvaleHallway/cantOpenTrialRoomDoorZ1.ogg"
wizqTalkClose
# Wait for Block 1
wizqWaitQueue 1
chainEvent {
setCamera "towardCorridor"
wizhCameraChange
}
chainEvent {
unfreezePlayer
wizEnableMouse
wizEnableFloorevent
wizEntityResumeFollow Zak
}
}
################################################################################
## ========================================================================== ##
## OPTIONNAL DIALOGUE SECTION ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## TO ADD/ CORRECTIONS NEEDED ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW
################################################################################
## ========================================================================== ##
## TO CHECK ##
## ========================================================================== ##
################################################################################
# NONE FOR NOW