Describing everything the player might look at
TM123
25 Aug 2015, 17:39What methods are there to provide a "look at" description for everything the player might look at? I've read about putting transparent rooms inside a room which has objects, and commands to describe items in multiple rooms.
For items in individual rooms, do you just either make an object, or a command to give a description?
For items in individual rooms, do you just either make an object, or a command to give a description?
Father thyme
25 Aug 2015, 19:01There will always be someone who puts ' examine tree, sky, grass when these things are not visible. Perhaps commands to print " Trees are made of wood I believe" or "The sky was quite normal last time I looked" or " I don't think grass has any bearing on things at the moment." might work.
Marzipan
25 Aug 2015, 19:26You just make a scenery object for every noun, pretty much.
A little tedious and time consuming, but not complicated at all from the technical side.
A little tedious and time consuming, but not complicated at all from the technical side.
TM123
26 Aug 2015, 00:39I came up with a library that might help.
I put it in the library section under "Easily describing absolutely everything."
I put it in the library section under "Easily describing absolutely everything."
HegemonKhan
26 Aug 2015, 06:25Pixie also has a library that does something similiar (I think) to what you want:
viewtopic.php?f=18&t=5178
viewtopic.php?f=18&t=5178
jbarnett5150
02 Sept 2015, 00:48I tried the method with the transparent room inside a room with the scenic objects. One problem I ran into is that you can see other rooms dropped in the parent room (since they are all transparent) The only fix that I can think of is to copy and paste the parent room so that each transparent room has its own.
The bigger problem is that after adding the attribute transparent:true the description of the room becomes weird. For example if you enter the kitchen it says, "you are in a kitchen, you see a kitchen." Then it lists the kitchen as an object that you can look at or take. If you try to take the room it says the parent room isn't open.
Here is an example. I made a normal room and then it exits to the transparent room.
I know nothing about code. My game is created totally with the GUI.
The bigger problem is that after adding the attribute transparent:true the description of the room becomes weird. For example if you enter the kitchen it says, "you are in a kitchen, you see a kitchen." Then it lists the kitchen as an object that you can look at or take. If you try to take the room it says the parent room isn't open.
Here is an example. I made a normal room and then it exits to the transparent room.
<asl version="550">
<include ref="English.aslx" />
<include ref="Core.aslx" />
<game name="Test Game">
<gameid>5ca34f0b-a058-46ad-a462-5a8a5d256671</gameid>
<version>1.0</version>
<firstpublished>2015</firstpublished>
<enablehyperlinks type="boolean">false</enablehyperlinks>
</game>
<object name="room">
<inherit name="editor_room" />
<description>A large room.</description>
<object name="player">
<inherit name="editor_object" />
<inherit name="editor_player" />
</object>
<object name="rose">
<inherit name="editor_object" />
<look>A dead rose. The petals are dried up and shriveled.</look>
<take />
</object>
<exit alias="south" to="Bedroom">
<inherit name="southdirection" />
</exit>
</object>
<object name="DESRIPTIONS1">
<inherit name="editor_room" />
<object name="walls">
<inherit name="editor_object" />
<look>The walls are made of brick.</look>
<alt type="stringlist">
<value>wall</value>
</alt>
<touch>You touched the wall. Nothing happens.</touch>
<scenery />
</object>
<object name="floor">
<inherit name="editor_object" />
<look>The floor is concrete.</look>
<touch>You touch the floor. Nothing happens.</touch>
<scenery />
</object>
<object name="ceiling">
<inherit name="editor_object" />
<look>The ceiling is painted white.</look>
<touch>You can't reach the ceiling.</touch>
<scenery />
</object>
<object name="Bedroom">
<inherit name="editor_room" />
<description>This is where someone sleeps.</description>
<transparent />
<exit alias="north" to="room">
<inherit name="northdirection" />
</exit>
<object name="umbrella">
<inherit name="editor_object" />
<look>It's an old black umbrella.</look>
<take />
</object>
</object>
</object>
</asl>
I know nothing about code. My game is created totally with the GUI.
Marzipan
02 Sept 2015, 03:47Can someone explain to me the point of a transparent room?
If you want a description for every object in the room, you just write a description for every object in the room. Unless you're talking about something generic like grass or the sky that would be visible in all outside locations. Or am I missing something here?
If you want a description for every object in the room, you just write a description for every object in the room. Unless you're talking about something generic like grass or the sky that would be visible in all outside locations. Or am I missing something here?

Forgewright
02 Sept 2015, 05:26Yep. Generic items to see.
Marzipan
02 Sept 2015, 06:02I just use commands for those that check to see if the player's in the right kind of room.
Watcher55
05 Sept 2015, 03:21A method I use is that I have a collection of "scenery" objects (all with attribute scenery and all stored initially either in a separate "warehouse" room or the first room you see them in) then in the game script for entering rooms I look at the room description for relevant words and if it is found, move the object to the room. For example, if the room description contains "cliff" I will move the objects "cliff", "stone" and "rock" into the room; if the description contains "tree" I will move "tree", "dirt" and "sky" into the room.
However this doesn't work if the room description is a script (in that case, I detect that fact for the room and [if I remember!] substitute a fake string containing the objects it has.
However this doesn't work if the room description is a script (in that case, I detect that fact for the room and [if I remember!] substitute a fake string containing the objects it has.

Forgewright
06 Sept 2015, 10:24JBarnet, When you drop the items, make them not visible when you leave the room if you don't want to see them from somewhere else, by changing their attribute "visible" to false in the "after leaving room" script.