Elevator talk scene
Quote from Mr. P. Kiwi on September 22, 2011, 5:47 amIn the game, the screen faded into the loading screen only after the character finished it's monologue and until then you could see the elevator just keep passing through an occasional light. How do I make that happen in my map? How should I call my logic_choreographed_scenes in order for the elevator's script will recognize it?
Also, partially unrelated, can I add more than one sentence in a logic_choreographed_scene or if I want to create a complex scene like the first core transfer do I need to place hundreds of these everywhere?
In the game, the screen faded into the loading screen only after the character finished it's monologue and until then you could see the elevator just keep passing through an occasional light. How do I make that happen in my map? How should I call my logic_choreographed_scenes in order for the elevator's script will recognize it?
Also, partially unrelated, can I add more than one sentence in a logic_choreographed_scene or if I want to create a complex scene like the first core transfer do I need to place hundreds of these everywhere?
Quote from baca25 on September 22, 2011, 1:41 pmI've never made a sp map, so I dont know much about those elevlators. But. If I were you... I would click "edit instance" find the trigger/script/relay/whatever it is that ends the map. Then either adjust the time or delete it and make my own to fit my needs. Then copy everything in the instance and paste it into my map.
I've never made a sp map, so I dont know much about those elevlators. But. If I were you... I would click "edit instance" find the trigger/script/relay/whatever it is that ends the map. Then either adjust the time or delete it and make my own to fit my needs. Then copy everything in the instance and paste it into my map.
Mapping Since May 21, 2011
Quote from spongylover123 on September 22, 2011, 6:53 pmI think there is an option that when the sound stops, the map will transition, it's in the elevator or logic_choreographed_scene
And yes you can have two, just like in the original portal
I think there is an option that when the sound stops, the map will transition, it's in the elevator or logic_choreographed_scene
And yes you can have two, just like in the original portal
Quote from Mr. P. Kiwi on September 23, 2011, 1:05 amThis is the code that is responsible of the elevator speed and "ReadyForTransition()" command. Does it help?
- Code: Select all
ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
[code]ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
This is the code that is responsible of the elevator speed and "ReadyForTransition()" command. Does it help?
- Code: Select all
ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
[code]ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
Quote from spongylover123 on September 23, 2011, 1:09 amMr. P. Kiwi wrote:This is the code that is responsible of the elevator speed and "ReadyForTransition()" command. Does it help?
- Code: Select all
ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
[code]ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}The script the doesn't matter, you can set the speed as fast as you can and the map will not end until the lines are over I think this works for all elevators.
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?
- Code: Select all
ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
[code]ElevatorMotifs <-
[
{ map = "sp_a1_intro1", speed = 200 },
{ map = "sp_a1_intro2", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro3", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro5", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a1_intro6", speed = 200 }, // this is what we do for continual elevator shafts
{ map = "sp_a2_bridge_intro", speed = 200 },
// { map = "sp_a2_laser_over_goo", speed = 300, motifs = [ "@shaft_stoppage_1", "transition", ] },
{ map = "sp_a2_column_blocker", speed = 200 },
{ map = "sp_a2_trust_fling", speed = 300 },{ map = "sp_a2_intro", speed = 125 },
{ map = "sp_a2_laser_intro", speed = 200 },
{ map = "sp_a2_laser_stairs", speed = 200 },
{ map = "sp_a2_dual_lasers", speed = 200 },
{ map = "sp_a2_catapult_intro", speed = 200 },
{ map = "sp_a2_pit_flings", speed = 200 },
// { map = "sp_a2_fizzler_intro", speed = 200 },
{ map = "sp_a2_sphere_peek", speed = 200 },
{ map = "sp_a2_ricochet", speed = 200 },
{ map = "sp_a2_bridge_the_gap", speed = 200},
{ map = "sp_a2_turret_intro", speed = 200 },
{ map = "sp_a2_laser_relays", speed = 200 },
{ map = "sp_a2_turret_blocker", speed = 200 },
{ map = "sp_a2_laser_vs_turret", speed = 200 },
{ map = "sp_a2_pull_the_rug", speed = 200 },
{ map = "sp_a2_ring_around_turrets", speed = 200 },
{ map = "sp_a2_laser_chaining", speed = 200 },
{ map = "sp_a2_triple_laser", speed = 200 },
{ map = "sp_a3_jump_intro", speed = 120 },
{ map = "sp_a3_bomb_flings", speed = 120 },
{ map = "sp_a3_crazy_box", speed = 120 },
{ map = "sp_a3_speed_ramp", speed = 120 },
{ map = "sp_a3_speed_flings", speed = 120 },
{ map = "sp_a4_intro", speed = 200 },
{ map = "sp_a4_tb_intro", speed = 200 },
{ map = "sp_a4_tb_trust_drop", speed = 200 },
{ map = "sp_a4_tb_wall_button", speed = 200 },
{ map = "sp_a4_tb_polarity", speed = 200 },
{ map = "sp_a4_tb_catch", speed = 100 },
{ map = "sp_a4_stop_the_box", speed = 200 },
{ map = "sp_a4_laser_catapult", speed = 200 },
{ map = "sp_a4_speed_tb_catch", speed = 200 },
{ map = "sp_a4_jump_polarity", speed = 200 },
]function StartMoving()
{
SendToConsole( "map_wants_save_disable 1" )
local foundLevel = false
foreach (index, level in ElevatorMotifs)
{
if (level.map == GetMapName() && ("speed" in level) )
{
printl( "Starting elevator " + self.GetName() + " with speed " + level.speed )
EntFire(self.GetName(),"SetSpeedReal",level.speed,0.0)
foundLevel = true
}
}
if (foundLevel == false)
{
printl( "Using default elevator speed 300" )
EntFire(self.GetName(),"SetSpeedReal","300",0.0)
}
}function ReadyForTransition()
{
// see if we need to teleport to somewhere else or
PrepareTeleport()
}function FailSafeTransition()
{
// fire whichever one of these we have.
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}function PrepareTeleport()
{
local foundLevel = false
if ( ::TransitionFired == 1 )
returnforeach (index, level in ElevatorMotifs)
{
if ( level.map == GetMapName() )
{
if ("motifs" in level)
{
printl( "Trying to connect to motif " + level.motifs[::MotifIndex] )if( level.motifs[::MotifIndex] == "transition" )
{
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
return
}
else
{
EntFire(self.GetName(),"SetRemoteDestination",level.motifs[::MotifIndex],0.0)
if( ::MotifIndex == 0 )
{
EntFire("departure_elevator-elevator_1","Stop","",0.05)
}
}
foundLevel = true
}
else
{
if( ::TransitionReady == 1 )
{
::TransitionFired <- 1
EntFire("@transition_from_map","Trigger","",0.0)
EntFire("@transition_with_survey","Trigger","",0.0)
}
// just bail, we don't need to do anything weird here.
return;
}
}
}
if (foundLevel == false)
{
// printl("**********************************")
// printl("Level not found in elevator_motifs")
// printl("**********************************")
{
::TransitionFired <- 1
EntFire("@transition_with_survey","Trigger","",0.0)
EntFire("@transition_from_map","Trigger","",0.0)
printl("Level not found in elevator_motifs defaulting to transition")
}// just bail, we don't need to do anything weird here.
return;
}
EntFire(self.GetName(),"Enable",0.0)
::MotifIndex += 1
}function OnPostSpawn()
{
::MotifIndex <- 0
::TransitionReady <- 0
::TransitionFired <- 0
}
The script the doesn't matter, you can set the speed as fast as you can and the map will not end until the lines are over I think this works for all elevators.
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?
Quote from Mr. P. Kiwi on September 23, 2011, 5:28 amspongylover123 wrote:The script the doesn't matter, you can set the speed as fast as you can and the map will not end until the lines are over I think this works for all elevators.
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?Yes I have set it to waift for actor, why?
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?
Yes I have set it to waift for actor, why?
Quote from spongylover123 on September 23, 2011, 9:22 amMr. P. Kiwi wrote:spongylover123 wrote:The script the doesn't matter, you can set the speed as fast as you can and the map will not end until the lines are over I think this works for all elevators.
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?Yes I have set it to waift for actor, why?
Everything will have to wait until the actor has finished
Anyway have you added a choreographed scene and have you set tHe "if actor is taking" wait actor to finish?
Yes I have set it to waift for actor, why?
Everything will have to wait until the actor has finished
Quote from Mr. P. Kiwi on September 26, 2011, 9:22 amYet the fade with the ending lines show up before it is done playing both files.
Yet the fade with the ending lines show up before it is done playing both files.
Quote from spongylover123 on September 26, 2011, 9:34 amWere you using a wav or vcd
Were you using a wav or vcd
Quote from Mr. P. Kiwi on September 28, 2011, 9:47 amI used a .vcd file. But isn't the 'wait for actor to finish?' a command indicating when the .vcd will start? I don't think it has any effects on other entities
I used a .vcd file. But isn't the 'wait for actor to finish?' a command indicating when the .vcd will start? I don't think it has any effects on other entities



