ID:262383
 
Code:
area
roof
layer=MOB_LAYER-1
New()
..()
for(var/turf/t in contents)
t.text=" "
t.tag="house"
Entered(mob/m)
if(ismob(m)&&m.client)
for(var/turf/t in src)
t.text=initial(t.text)
t.tag="house"
for(var/turf/t in world)
if(t.tag=="house")continue
t.text=" "
Exited(mob/m)
if(ismob(m)&&m.client)
for(var/turf/t in contents)
t.text=" "
t.tag="house"
for(var/turf/t in world)
if(t.tag=="house")continue
if(t in m.found)
t.text=initial(t.text)


Problem description:

As soon as I enter the house, the mob cannot be seen, it's as if it is under the area.
Backing the truck up a moment, why in the world are you trying to assign the same tag to a bunch of different turfs? A tag is unique; it can't be assigned to multiple atoms.

Lummox JR
In response to Lummox JR
Meh, I fixed what you said (I think)
area
roof
layer=MOB_LAYER-1
text="<font bgcolor=#00001> "
New()
..()
for(var/turf/t in src)
t.text=" "
t.tag="house[rand(1,99**99)]"
Entered(mob/m)
if(ismob(m)&&m.client)
for(var/turf/t in src)
t.text=initial(t.text)
for(var/area/roof/wallroof/w in view(t,1))
for(var/turf/q in w)
q.text=initial(q.text)
for(var/turf/t in world)
if(findtext(t.tag,"house")||findtext(t.tag,"roof"))continue
t.text=" "
Exited(mob/m)
if(ismob(m)&&m.client)
for(var/turf/t in src)
t.text=" "
for(var/turf/t in world)
if(findtext(t.tag,"house"))continue
if(t in m.found)
t.text=initial(t.text)
else
t.text=" "
wallroof
New()
for(var/turf/t in src)
t.tag="roof[rand(1,99**99)]"

That good? :P
In response to Lummox JR
Fixed it, just needed to change the turf's layer.
Doh!