Example #1
0
        public ClientGump( Mobile from, GameClient state, string initialText )
            : base(30, 20)
        {
            if ( state == null )
                return;

            m_State = state;

            AddPage( 0 );

            AddBackground( 0, 0, 400, 294, 5054 );

            AddImageTiled( 10, 10, 380, 19, 0xA40 );
            AddAlphaRegion( 10, 10, 380, 19 );

            AddImageTiled( 10, 32, 380, 252, 0xA40 );
            AddAlphaRegion( 10, 32, 380, 252 );

            AddHtml( 10, 10, 380, 20, Color( Center( "User Information" ), LabelColor32 ), false, false );

            int line = 0;

            string address = state.ToString();

            if ( state.ClientAddress != null )
                address += "; " + state.ClientAddress.ToString();

            string version = GetVersion( state );

            AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Address:", LabelColor32 ), false, false );
            AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( address, LabelColor32 ), false, false );

            AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Client:", LabelColor32 ), false, false );
            AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( version, LabelColor32 ), false, false );

            Account a = state.Account as Account;

            string email = null;
            if ( a != null )
                email = a.GetTag( "email" );
            if ( String.IsNullOrEmpty( email ) )
                email = "(unlinked)";

            AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Email:", LabelColor32 ), false, false );
            AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( email, LabelColor32 ), false, false );

            Mobile m = state.Mobile;

            if ( from.AccessLevel >= AccessLevel.GameMaster && a != null )
            {
                AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Account:", LabelColor32 ), false, false );
                AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( a.Username, LabelColor32 ), false, false );
            }

            if ( m != null )
            {
                AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Mobile:", LabelColor32 ), false, false );
                AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( String.Format( "{0} (0x{1:X})", m.Name, m.Serial.Value ), LabelColor32 ), false, false );

                AddHtml( 14, 36 + ( line * 20 ), 200, 20, Color( "Location:", LabelColor32 ), false, false );
                AddHtml( 70, 36 + ( line++ * 20 ), 200, 20, Color( String.Format( "{0} [{1}]", m.Location, m.Map ), LabelColor32 ), false, false );

                AddButton( 13, 177, 0xFAB, 0xFAD, 1, GumpButtonType.Reply, 0 );
                AddHtml( 48, 178, 200, 20, Color( "Send Message", LabelColor32 ), false, false );

                AddImageTiled( 12, 202, 376, 80, 0xA40 );
                AddImageTiled( 13, 203, 374, 78, 0xBBC );
                AddTextEntry( 15, 203, 372, 78, 0x480, 0, "" );

                AddImageTiled( 245, 35, 142, 144, 5058 );

                AddImageTiled( 246, 36, 140, 162, 0xA40 );
                AddAlphaRegion( 246, 36, 140, 162 );

                line = 0;

                if ( BaseCommand.IsAccessible( from, m ) )
                {
                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 4, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Properties", LabelColor32 ), false, false );
                }

                if ( from != m )
                {
                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 5, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Go to them", LabelColor32 ), false, false );

                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 6, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Bring them here", LabelColor32 ), false, false );
                }

                AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 7, GumpButtonType.Reply, 0 );
                AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Move to target", LabelColor32 ), false, false );

                if ( from.AccessLevel >= AccessLevel.GameMaster && from.AccessLevel > m.AccessLevel )
                {
                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 8, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Disconnect", LabelColor32 ), false, false );

                    if ( m.Alive )
                    {
                        AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 9, GumpButtonType.Reply, 0 );
                        AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Kill", LabelColor32 ), false, false );
                    }
                    else
                    {
                        AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 10, GumpButtonType.Reply, 0 );
                        AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Resurrect", LabelColor32 ), false, false );
                    }
                }

                if ( from.AccessLevel >= AccessLevel.Counselor && from.AccessLevel > m.AccessLevel )
                {
                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 11, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "Skills browser", LabelColor32 ), false, false );
                }

                if ( from.AccessLevel >= AccessLevel.Counselor && from.AccessLevel > m.AccessLevel )
                {
                    AddButton( 246, 36 + ( line * 20 ), 0xFA5, 0xFA7, 12, GumpButtonType.Reply, 0 );
                    AddHtml( 280, 38 + ( line++ * 20 ), 100, 20, Color( "View Multiclient", LabelColor32 ), false, false );
                }
            }
        }