How to notify player that an object become visible?

StrangeCloud9
29 Jan 2019, 18:56

I have an object invisible before. After the player triggers something, that object becomes visible now. However, that object doesn't show up, so players don't know that there is a new object(visible). How to notify players that an object becomes visible now and players could click that object to take or to look at?


Io
29 Jan 2019, 19:15

Print a message when it becomes visible.


StrangeCloud9
29 Jan 2019, 19:58

I tried this. But it is not a good solution.....
For example, when an entry becomes visible, I print "an entry becomes visible!".
When players want to enter that entry, players have to type "enter the entry", which is not so user-friendly. I want to let players have a blue link(like other objects) to click. This is also why I asked another question: http://textadventures.co.uk/forum/quest/topic/ssm1vdvdcuskz6tieh4eaw/how-to-print-choices-or-object-in-a-message

Did I explain my question clearly?


DarkLizerd
29 Jan 2019, 20:36

If you clear the screen every time the player enters a room, then the easiest (maybe) would be to just re-show the room.
An easy option would be to move the player to room X, a blank "nothing" room, then back to the current room. (I use this method because it re-triggers the room entry script)
Or, ShowRoomDescription (I think that is the correct command), and that should show the new exit, or object, as it you left and came back.
Hope this helps...


Silver
29 Jan 2019, 20:49

A script is used to make an object visible.
So you add a message to that script that either overtly or subtly expresses the change in the game world.


mrangel
29 Jan 2019, 22:28

When players want to enter that entry, players have to type "enter the entry",

You mean you want the player to be able to click on the object like they can click on objects listed in the room description?

msg ("An {object:entry} becomes visible")

You use the object name, but it displays the alias. Or you can use {object:name of the object:text that you want to display}.