ID:150161
 
Okay. I'm sick of seeing houses that you just see the walls of, and the only thing that stops you from seeing the inside is opacity.. I've currently got something that (sorta) fixes my problem.

Every player can see invisible. Roof tiles are just invisible overlays, and when you walk inside, it removes your ability to see invis, thus making you able to see inside. It works, but I'm sure that there's a better way.. is there?

-- Tarmas.
Hey, if you don't like it, stop playing the game! :oP My graphics were designed to just show walls because I LIKE it that way...

I believe you can also do that with the image() stuff, which I've never used, so don't ask me how.
Tarmas wrote:
Okay. I'm sick of seeing houses that you just see the walls of, and the only thing that stops you from seeing the inside is opacity.. I've currently got something that (sorta) fixes my problem.

Every player can see invisible. Roof tiles are just invisible overlays, and when you walk inside, it removes your ability to see invis, thus making you able to see inside. It works, but I'm sure that there's a better way.. is there?

Efficiency-wise, nope. But implementation-wise, that's very limited, since if you want to rely on turning off someone's visibility when they turn invisible, then it won't work in that situation.
Tarmas wrote:
Okay. I'm sick of seeing houses that you just see the walls of, and the only thing that stops you from seeing the inside is opacity.. I've currently got something that (sorta) fixes my problem.

Every player can see invisible. Roof tiles are just invisible overlays, and when you walk inside, it removes your ability to see invis, thus making you able to see inside. It works, but I'm sure that there's a better way.. is there?

I think my preferred method would be to use dummy objects and a special Z level for the interior of the house. Say on z=1, You have the house exterior with the roof. On z=2 you have the interior, and the outside turf is a mock-up of what's outside (at least within the player's view). When a player enters the building by stepping into the doorway, what really happens is that they're transported to z=2 and a dummy stands in the doorway. Any objects outside the house within a certain range are copied from z=1 to z=2, right down to their overlays. (Thus, the player can look out of a window, if you're using opacity, or they can just see the outside normally.) When the player wants to leave again, the turfs just outside the door are special teleporters that will transport them back to z=1.

As you can imagine, the implementation of this is a bit hairy but it can be done. I've been working on code to facilitate dummy objects that I think should help in the future, but it's not ready yet. I may release this as a library when the time comes.

Lummox JR
I've given a lot of thought to doing this with the image() proc... does anyone have an example of how to do that? A demo would be quite nice.
In response to Lord of Water
Lord of Water wrote:
I've given a lot of thought to doing this with the image() proc... does anyone have an example of how to do that? A demo would be quite nice.

I think image() is a bad way to go here. It's the kind of thing that's hard to un-show only selectively to certain players. The image() proc is kind of the opposite of the desired behavior, because the goal here is to take an image visible to everyone and remove it for only special cases.

Lummox JR