Well, I changed things to:

Code:
STRING* load_level = "#32";

action door()
{
	set(my, POLYGON);
	load_level = my.string1;
	my.emask |= ENABLE_CLICK;
	my.event = door_open;
}

function door_open()
{
	var door_percentage;
	if((event_type == EVENT_CLICK) && (vec_dist(player, my) <= 100))
	{
		while(door_percentage < 100)
		{
			ent_animate(my, "open", door_percentage, 0);
			door_percentage += 3 * time_step;
			wait(1);
		}
		in_building = 1;
		str_cpy(load_level, my.string1);
		if(door_percentage >= 100) level_load(load_level);
	}
}


But now I get the error message:

Error E1515

Invalid arguments in door_open

And then it loads an empty level.

My mouse is activated and I've set the mouse_range.

Yes, my level loads when I replace my.string1 with the real level name.