Du hast recht, es ist ein logischer Fehler bei mir drin, er ist ja aus der While-Schleife raus, sobald der Held näher ist - und schon kann er es nicht mehr umschalten.

Freut mich jedenfalls, dass es geholfen hat.
Code:
void Quest_trigger_01()
{
	
	set(my, INVISIBLE | PASSABLE);

		
	while(1)
	{

		if(vec_dist(Hero->x, my.x) <500)
		{
			QuestsTutorial_01 = 1;
		}
		wait(1);
	}
 	
} 	

Das müsste aber auch reichen.