Бегло просмотрел и обнаружил, что пропущена часть, которая забирает информацию об id мира, в котором находится дом:
[pwn]if (PlayerToPoint(3, playerid,HouseInfo[i][hExitx], HouseInfo[i][hExity], HouseInfo[i][hExitz]) && (world == HouseInfo[i][hWorld]))
{ SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez]);
SetPlayerVirtualWorld(playerid,0);
.....
//ну вы понели
[/pwn]
Также рекомендую объединить схожие по сути действия в отдельные функции:
[pwn]PlayerEnterHouse(playerid,house)
{
SetPlayerPos(playerid,HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]);
SetPlayerInterior(playerid,HouseInfo[house][hInt]);
SetPlayerVirtualWorld(playerid,HouseInfo[house][hWorld]);
}
PlayerExitHouse(playerid,house)
{
SetPlayerPos(playerid,HouseInfo[house][hEntrancex],HouseInfo[house][hEntrancey],HouseInfo[house][hEntrancez]);
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid,0);
}[/pwn]
чтобы использовать их в похожих случаях, например, в командах /house, houseo.