In et I think your gonna have to use script movers instead of a func_button unless of course someone has got that to work. It’s no big deal though I have a couple script movers in my map and its not too hard to implement. On the other hand this might be kind of long and complicated so bear with.
First lets make your button with a script mover and an origin brush, call this something like elevator_btn or something like that. Then make two path corners where you want the button to go. Surround that with a func_inv_user trigger brush and target that at a target_script_trigger. In the target_script_trigger make a key/value of target/main, This is what function will be called in the script.
Then make your elevator a script mover with an origin brush. Put a couple path corners in for where you want the elevator to go.
For some good scripting examples please see the battery script. There are plenty of doors there which are activated by remote buttons. They function exactly the same as an elevator would.
Here is just some script I adopted from battery for my map.
garagedoor2_trigger //this is the target_script_trigger entity
{
spawn
{
accum 6 set 1
wait 500
trigger garagedoor2_trigger main
}
trigger main //every time you activate the switch this function is called so make sure everything you want to happen is based off of whats going on here.
{
globalaccum 1 abort_if_not_equal 0
trigger garagedoor2_trigger up
trigger garagedoor2_trigger down
}
trigger up
{
accum 6 abort_if_not_equal 1
resetscript
trigger garagedoor2_lever up
accum 6 set 0
}
trigger down
{
accum 6 abort_if_not_equal 0
resetscript
trigger garagedoor2_lever down
accum 6 set 1
}
}
garagedoor2_lever //this is the script mover button that you made
{
spawn
{
}
trigger down
{
gotomarker garagedoor2_lever_down 16
playsound sound/movers/switches/switch.wav
trigger garagedoor2 close
}
trigger up
{
gotomarker garagedoor2_lever_up 16
playsound sound/movers/switches/switch.wav
trigger garagedoor2 open
}
}
garagedoor2 //this would be your elevator entity
{
spawn
{
}
trigger open
{
wait 500
playsound sound/movers/misc/garage_door_start_01.wav volume 127
wait 350
enablespeaker garagedoor2_sound
gotomarker garagedoor2_pc1 17 wait
disablespeaker garagedoor2_sound
playsound sound/movers/misc/garage_door_end_01.wav volume 127
}
trigger close
{
wait 500
playsound sound/movers/misc/garage_door_start_01.wav volume 127
wait 350
enablespeaker garagedoor2_sound
gotomarker garagedoor2_pc2 17 wait
disablespeaker garagedoor2_sound
playsound sound/movers/misc/garage_door_end_01.wav volume 127
}
}
Not really sure about what everything means in the script but it works for me so I’m happy. Hopefully it will help you out.