|
rossy Morenz
Registered User
Join date: 5 May 2006
Posts: 8
|
03-22-2008 19:04
Hello,
I am working on an interactive in which avatars have to go through several small rooms. I would need to control the access so that only one visitor at a time can visit each room....a door would open only when the previous visitor has left the room. Is it possible? If so, what are the commands I have to look for?
Thanks for any help.
|
|
Krista Chaffe
Registered User
Join date: 16 Jun 2007
Posts: 96
|
03-22-2008 20:32
Short range sensors ?
llsensor or llsensorepeat
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
03-22-2008 21:55
Can you make each room its own parcel? Then you could restrict access and add/remove residents from the pass list when appropriate. That's about the only way I can think of to be SURE, so it kinda depends on how paranoid you want to be. Do you care about the scenario where someone tries to use a dash/teleport type attachment to go through walls, or sits on a box and tries to edit themself into position?
|
|
rossy Morenz
Registered User
Join date: 5 May 2006
Posts: 8
|
03-23-2008 03:37
thanks for your reply. I can't make each room its own parcel, and teleport events are part of the experience when one enters the rooms. I am thinking of using a timer at the main entrance (the door opens every 2 minutes, or something like that) and a suggestion that only one avatar at a time should enter in order to fully experience the interactive....
|
|
Pale Spectre
Registered User
Join date: 2 Sep 2005
Posts: 586
|
03-23-2008 04:54
I fear this could get non trivial but llGetObjectDetails could be used to get the positions of each avatar, this in turn could be used to communicate with llRegionSay to allow each room to decide whether it is occupied.
Avatars could be added to a tracking list at the main entrance, and then their vector positions broadcast across the region. Every door would then have to decide whether to allow a particular Avatar passage according to the occupancy of the adjoining room.
If your willing to have each Avatar wear some kind of tracking device then that could broadcast their position which would probably be less hassle than having a central tracking script.
Rooms might have a time-to-unoccupied variable which gets returned to its maximum value each time a position is broadcast that falls within the room's own volume.
There are other considerations though - it's not as simple as just locking and unlocking doors.
Avatar clicks door...
Door to Avatar: Where are you? Avatar to Door: I'm here, let me through! ...door works out which of the two rooms it connects is 'here'. Door to Room: Are you occupied? Room to Door: Yes. Door to Avatar: The adjoining room is occupied, please wait or try a different route.
: Avatar clicks door...
Door to Avatar: Where are you? Avatar to Door: I'm here, let me through! ...door works out which of the two rooms it connects is 'here'. Door to Room: Are you occupied? Room to Door: I'm free! Door to Avatar: You may enter, Avatar.
: Avatar clicks door...
Door to Avatar: Where are you? ...no reply... Door to Avatar: You must wear your tracking device to proceed... in fact, I've a good mind to eject you.
|
|
rossy Morenz
Registered User
Join date: 5 May 2006
Posts: 8
|
03-23-2008 09:07
thanks for your input -- it's useful!
|
|
Sho Iuga
Registered User
Join date: 6 Jun 2007
Posts: 35
|
03-23-2008 12:01
I might be a spoiler here, but having no other avatar nearby doesnt guaratee privacy.
Someone else can always move her/his camera into the "private" room, even from several regions away or into "no entry" parcels. So your customers could always be watched, even if there is no avatar nearby. If this is a concern ... there is no remedy against peeping Toms, at least none I know of.
|
|
rossy Morenz
Registered User
Join date: 5 May 2006
Posts: 8
|
03-24-2008 02:06
It's nothing so private to raise concerns of peeping Toms...its just an interactive on archaeology, but some special effects work better when experienced in solitude!
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
03-24-2008 11:09
You could certainly use some sensors and/or volume detection to have doors or teleporters only function if the next room is empty. Look at llSensor(), llSensorRepeat(), llVolumeDetect(), and llRegionSay() (for communicating between sensing devices and doors/TPers when appropriate).
|