A vector already has got three thing: x,y,z. So you should use it like that:
"vec_set works.. vector_set is unknown.. so, this isnt right is it?" Hey! I meant vec_set is for vectors and vec means vector in here. There isn't any vector_set thing of course

So as I understood you are trying to make a door that is going to open by a schalter, right? Actually I didn't understand your code exactly so I m writing one by myself, look at that and I hope I can help:
#include <acknex.h>
#define DOOR_OPEN skill20
ENTITY* doorEnt;
action door()
{
var my_z = my.z;
doorEnt = me;
while(1)
{
if(my.skill20==1)
{
while(my.z<my_z+50) { my.z+=3*time_step; wait(1); }
if(my.z>my_z+50) my.z = my_z + 50;
// That line depends on your world cordinates and door
// Also you can add closing door thing
}
wait(1);
}
}
function schalterEvent()
{
if(you==player && event_type==EVENT_SCAN)
{
// You can make an animation for schalter here
doorEnt.DOOR_OPEN = 1;
}
}
action schalter()
{
my.emask = ENABLE_SCAN;
my.event = schalterEvent;
}
action player()
{
player = me;
// movement codes etc.
if(key_space)
{
while(key_space) wait(1);
c_scan(my.x,my.pan,vector(45,0,300),NULL);
}
}
I don't have time to try if it works but even if it doesn't, it'll help. Wish it helps...