in a quick summary
make them models seperately,
create the door, save it
then create each button, and save those seperately to it's relevant position to the door
then create
action act_switch_door() in your code
place just the door model in wed and give it an action act_switch_door
and then these placed doors will spawn each additional button
#define door skill1
#define button1 skill1
#define button2 skill2
#define button_value skill2
//... etc...
action act_switch_door(){
you = ent_create("button1.mdl", my.x, door_button);
my.button1 = you;
your.door = me;
your.button_value = 1;
you = ent_create("button2.mdl", my.x, door_button);
my.button2 = you;
your.door = me;
your.button_value = 2;
//etc...
}
then use EVENT_CLICK or on_mouse_left = door_button
through this you will be able to find out now which door the switch is connected to, it's corresponding value and all it's other corresponding switches.
Hope this helps