Also:
Du fragst ab ob er ein Hauskey hat, wenn ja, also wenn 1 dann gehst du eine Schleife aller Häuser durch.
Hier ist auch der Fehler.
1. fängst du bei deiner Schleife mit 1 an und nicht mit 0. ein Array beginnt immer mit 0. Kann natürlich sein das der Index 0 deines Arrays für irgentetwas rreserviert ist, wovon ich nun erstmal nicht ausgehe.
2. du lässt ihn zu jedem Haus spawnen! Du gehst die schleife durch und setzt dann bei jedem Haus die position des Spielers, du musst vorher aber Abfragen ob es denn auch sein Haus ist.
3. Du setzt die Virtuelle Welt von dem Spieler in die Welt id von dem aktuellen Wert der Schleife also von dem Aktuellen Wert i. Angenommen du die schleife ist bei haus 5, wird er in virtuelle Welt 5 gesetzt. Das kann natürlich richtig sein, da ich das System dahinter nicht kenne, sieht aber erstmal nicht richtig aus
Also:
Überprüf deine Schleife, ob es richtig ist das sie bei 1 anfängt und nicht bei 0.
Füge eine Abfrage ein ob das Aktuelle Haus der Schleife auch das ist wo er spawnen soll, Ich denke er soll an seinem Haus spawnen, also ob es sein haus ist.
Überprüfe ob die virtuelle Welt richtig gesetzt wird, sieht falsch aus, da du die Position und das Interior auch aus dem Array liest.