After installing Lope's configurable colour code (V2.0) into a bare-bones
Rom 2.4b6, all of my channels have become screwed.
Screwed, defined:
When a player is sleeping in a room that is occupied by 1 or more other
players, the sleeping player is able to see all of the actions that they
should _not_ be able to see. IE: What other people are saying, emotes, and
some global channels.
Here is the output from my MUD, from the perspective of player "Newbie":
-[Begin MUD Output]-
At the Altar Within the Temple [3700]
This is the altar inside of the temple. Change the description later.
Obvious Exits: [South]
Test the test character is here.
<20/20hp 20/20mana 20/20mv> sleep
You go to sleep.
<20/20hp 20/20mana 20/20mv> ' test
In your dreams or what?
<20/20hp 20/20mana 20/20mv>
Test says, 'Test'
<20/20hp 20/20mana 20/20mv> wake
You wake and stand up.
<20/20hp 20/20mana 20/20mv>
Test says, 'Test'
<20/20hp 20/20mana 20/20mv>
-[End MUD Output]-
Here is the output from my MUD, from the perspective of player "Test":
-[Begin MUD Output]-
At the Altar Within the Temple [3700]
This is the altar inside of the temple. Change the description later.
Obvious Exits: [South]
Newbie the other test character is here.
<20/20hp 20/20mana 20/20mv>
Newbie goes to sleep.
<20/20hp 20/20mana 20/20mv> l
At the Altar Within the Temple [3700]
This is the altar inside of the temple. Change the description later.
Obvious Exits: [South]
Newbie the other test character is sleeping here.
<20/20hp 20/20mana 20/20mv> ' test
You say 'Test.'
<20/20hp 20/20mana 20/20mv>
Newbie wakes and stands up.
<20/20hp 20/20mana 20/20mv>' Test
You say, 'Test'
<20/20hp 20/20mana 20/20mv>
-[End MUD Output]-
The above game output is accomplished using a new function (installed by
Lope's color code) called act_new(). This function is exactly the same as
act(), with the only exception being that it contains a min_pos variable at
the end of it. This min_position is to represent the minimum position a
character must be in to be able to see the output of act_new().
For example:
act_new("$n says, '$T'", ch, NULL, victim, argument, TO_ROOM, POS_RESTING);
Would show whatever the player says, to anyone in the room who is in a
minimum position of resting, or greater (standing, sitting, fighting, etc).
The above example of act_new() is exactly how I have it within the function
do_say, yet everyone in the room is able to see the say, even if they are
sleeping.
Has anyone encountered a problem like this before? If so, how did you fix
it? If not, can anyone make an educated guess as to why it's happening?
If need be, the code for do_say() can be sent to the list (or to individual
person's wishing to attempt to tackle this).
For those of you who will say to contact Lope with regards to his colour
code, I say, "I already have, and he's just as confused as I am."
Thanks in advance.
-Jesse