Shazzy

Citizen
ServUO Version
Publish Unknown
Ultima Expansion
Endless Journey
No matter the level. it gets annoying to be hidden a lvl above, etc. I did this in the past and cant find it anywhere.
Help is appreciated!

Shazzy
 

UO_Stryder

Citizen
Look in Mobile.cs under bool CanSee.

Change this:
Original Code:
        public virtual bool CanSee(Mobile m)
        {
            if (m_Deleted || m.m_Deleted || m_Map == Map.Internal || m.m_Map == Map.Internal)
            {
                return false;
            }

            return this == m ||
                   (m.m_Map == m_Map && (!m.Hidden || (IsStaff() && m_AccessLevel >= m.AccessLevel)) &&
                    ((m.Alive || (Core.SE && Skills.SpiritSpeak.Value >= 100.0)) || !Alive || IsStaff() || m.Warmode));
        }
To this:
New Code:
        public virtual bool CanSee(Mobile m)
        {
            if (m_Deleted || m.m_Deleted || m_Map == Map.Internal || m.m_Map == Map.Internal)
            {
                return false;
            }

            return this == m ||
                   (m.m_Map == m_Map && (!m.Hidden /*|| (IsStaff() && m_AccessLevel >= m.AccessLevel)*/) &&
                    ((m.Alive || (Core.SE && Skills.SpiritSpeak.Value >= 100.0)) || !Alive || IsStaff() || m.Warmode));
        }

The part with /* */ you can completely remove it if you prefer. I just placed it behind /* */ so that it won't be read and you can change it back later easily if you choose to.

**Edit**
I haven't tested it, but I'm pretty sure that is all you need to do anyway. If not, let me know and I will look into it more when I get off work late this evening.

**2nd Edit**
Honestly, I would change it so that it only works for staff under a specific AccessLevel so that your higher rank staff can still monitor and keep an eye on lower rank staff without being noticed. Typically people don't expect a staff member they hire to become corrupt or do things they shouldn't, but you never know when it comes down to it and it might be necessary to watch staff at times through something other than the server logs.


Suggested:
        public virtual bool CanSee(Mobile m)
        {
            if (m_Deleted || m.m_Deleted || m_Map == Map.Internal || m.m_Map == Map.Internal)
            {
                return false;
            }

            return this == m ||
                   (m.m_Map == m_Map && (!m.Hidden || (IsStaff() && (m_AccessLevel <= AccessLevel.GameMaster ||
                    (m_AccessLevel >= AccessLevel.Seer && m_AccessLevel >= m.AccessLevel))) &&
                    ((m.Alive || (Core.SE && Skills.SpiritSpeak.Value >= 100.0)) || !Alive || IsStaff() || m.Warmode));
        }

As long as I didn't mess that up, it should make anyone with AccessLevel of GM or lower to still be seen, while Seer or greater will use the default visibility rule.
 
Last edited:

Iomega0318

Vita-Nex Sponsor
I forgot this was even a thing, I have been playing by myself for so long I forgot you can't see other staff either haha.. Might I make another suggestion, having each access level see those below their access level, so Owner can see Admin (and lower) who can see GameMaster (and lower) etc. so ultimately no one can see the Owner/CoOwner but each higher access level can monitor those beneath them.
 

UO_Stryder

Citizen
I forgot this was even a thing, I have been playing by myself for so long I forgot you can't see other staff either haha.. Might I make another suggestion, having each access level see those below their access level, so Owner can see Admin (and lower) who can see GameMaster (and lower) etc. so ultimately no one can see the Owner/CoOwner but each higher access level can monitor those beneath them.
The original code already does this. You can only see those with equal access level to your own or lower. So Counselors can see other Counselors but not GMs or higher. GMs can see other GMs and Counselors but not Seers or higher, etc. He was wanting to make it where all staff can see each other regardless of their access level. The first code snippet I posted is the original, second is for all staff to see each other, with the third letting GMs and Counselors see each other but anything Seer or above would follow the normal hidden rules.