Script_Mover assistance needed


(d3coy) #1

Hi, I have build a lift in my map, and am having trouble getting it to work properly.

What I want is for it to move up when hitting the switch, then down when hitting the switch.
Currently it dont move.

Here is what I have for the lever.

target_script_trigger
targetname: t47
scriptname: lever_trigger_lift2
target: down

target_script_trigger
targetname: t46
scriptname: lever_trigger_lift2
target: up

func_invisible_user
scriptname: axis_lever_trigger_lift
targetname: axis_lever_trigger_lift
target: t47
allowteams: Axis
cursorhint: hint_button

func_invisible_user
scriptname: allies_lever_trigger_lift
targetname: allies_lever_trigger_lift
target: t46
allowteams: Allies
cursorhint: hint_button

path_corner
targetname: lever_uppos_lift

path_corner
targetname: lever_downpos_lift

script_mover
scriptname: lever_lift

SCRIPT:

lever_lift
{
	spawn
	{
	}

	trigger move_up
	trigger lift move_up
	{
		gotomarker lever_uppos 16
		playsound sound/movers/switches/switch.wav
	}
	
	trigger move_down
	trigger lift move_down
	{
		gotomarker lever_downpos 16
		playsound sound/movers/switches/butn2.wav
	}
}

lever_trigger_lift
{
	spawn
	{
		accum 1 set 1
	}

	trigger up
	{
		accum 1 abort_if_not_equal 1
		


		wm_announce "Lift Activated!"
		trigger lever_lift move_up

		accum 1 set 0
		wait 2500
		setstate allies_lever_lift_trigger invisible
		setstate axis_lever_lift_trigger default
		trigger lever_trigger_lift2	setaccum0
	}
	
	trigger setaccum1
	{
		accum 1 set 1
	}
}

lever_trigger_lift2
{
	spawn
	{
		accum 2 set 1
	}
	
	trigger down
	{
		accum 2 abort_if_not_equal 0


		wm_announce "Lift Activating!"
		trigger lever_lift move_down
		accum 2 set 1
		wait 2500
		setstate allies_lever_trigger_lift default
		setstate axis_lever_trigger_lift invisible
		trigger lever_trigger_lift setaccum1
	}

	trigger setaccum0
	{
		accum 2 set 0
	}
}

Now the lift:

script_mover
targetname: lift
scriptname: lift
Solid is only box checked

path_corner
targetname: lift_up
scriptname: lift_up

path_corner
targetname: lift_down
scriptname: lift_down

SCRIPT:

lift
{
	spawn
	{
		globalaccum 5 set 0
	}

	trigger move_up
	{
		wait 500
		playsound sound/movers/motors/motor_start_01.wav
		wait 400
		playsound sound/movers/motors/motor_loop_01.wav looping forever
		gotomarker lift_up 32 wait
		stopsound
		playsound sound/movers/motors/motor_end_01.wav

	}
	
	trigger move_down
	{
		wait 500
		playsound sound/movers/motors/motor_start_01.wav
		wait 400
		playsound sound/movers/motors/motor_loop_01.wav looping forever
		gotomarker lift_down 32 wait
		stopsound
		playsound sound/movers/motors/motor_end_01.wav
	}
}

Can someone take a quick look and see if they notice anything i might have missed?

Thanks.


(Loffy) #2

hi


   trigger move_up
   trigger lift move_up
   {
      gotomarker lever_uppos 16
      playsound sound/movers/switches/switch.wav
   }

? Shouldnt it be just

trigger lift move_up
{
gotomarker lever_uppos 16
playsound sound/movers/switches/switch.wav
}

or
trigger move_up
{
gotomarker lever_uppos 16
playsound sound/movers/switches/switch.wav
}

Not both trigger move_up and trigger lift move_up?
//L.


(Loffy) #3

Also, I would code like this (but it is just a suggestion):
{
playsound sound/movers/switches/switch.wav
gotomarker lever_uppos 16 wait
stopsound
}

Note the “wait”. I think it means that the “stopsound” will not be executed until the motion gotomarker lever_uppos 16 is complete.
And the “stopsound” I just add to be safe. To be sure that the sound really stops.
//L.