Well first you have to realize what a level variable is . It is a variable that can be used in any part of a script and it will always keep it's value . There can be only one in a script if you try to assign a value to it in a different part of the script or even a different script you will change the value of that variable in all the scirpts that are running . So the answer is no you can't use that variable for a second elevator or they will both be using it for the elevator position . You will have to use a different variable for each elevator . If you write the threads right you can use the same threads for each elevator but you have to pass the value to the thread .
Example:
$elevator_cab1 thread moveup
$elevator_cab2 thread moveup
end
moveup:
self moveup 100
end
or
thread moveup $elevator_cab1
thread moveup $elevator_cab2
end
moveup local.e :
local.e moveup 100
end
In the first example the elevator is calling the thread so self is that elevator in the second example you are calling the thread and passing it the elevator you want moved .
The things you put in the game that are models or things like script origins , script models , spawnpoints etc any enity can be give a targetname like $elevator_cab2 when you see the $ in front it is refering to the targetname of an entity .
$elevator_cab2 speed 64
When you use a command like move to move an enity you can set the speed it moves at in game units per second in this case the elevator will move 64 units a second . One word of caution a light entity is not movable so dont' try to move it in script . It is an entity used in the compile so it can't be moved or removed .