Status Page Competable To Runuo 1.0
Well in some shards people add there status page into the shard web site well why get tired of clicking and waiting to reach the site why not see the status in the real game here is the script it's compatable its good.(Thanks Bondb)Its his module but edited by me
Just Add this into the custom folder the command is status if you want to change the command
change the status name into something else
Thnks Runuo More Post's From Me And All Runuo Fans Will Come Further More :
Well in some shards people add there status page into the shard web site well why get tired of clicking and waiting to reach the site why not see the status in the real game here is the script it's compatable its good.(Thanks Bondb)Its his module but edited by me
Code:
using System;
using System.Diagnostics;
using System.Collections;
using System.Net;
using Server.Network;
using Server.Mobiles;
using Server.Accounting;
using Server.Guilds;
using Server.Items;
using Server.Misc;
namespace Server.Gumps
{
public class StatusGump : Gump
{
public static void Initialize()
{
Commands.Register( "status", AccessLevel.Player, new CommandEventHandler( Status_OnCommand ) );
Commands.Register( "ServerStatus", AccessLevel.Player, new CommandEventHandler( Status_OnCommand ) );
}
[Usage( "ServerStatus" )]
[Description( "Show server status page." )]
private static void Status_OnCommand( CommandEventArgs e )
{
e.Mobile.CloseGump( typeof(StatusGump) );
e.Mobile.SendGump( new StatusGump( e.Mobile, 0, null, null ) );
}
public void AddBlackAlpha( int x, int y, int width, int height )
{
AddImageTiled( x, y, width, height, 2624 );
AddAlphaRegion( x, y, width, height );
}
public static string FormatTimeSpan( TimeSpan ts )
{
return String.Format( "{0:D2}:{1:D2}:{2:D2}:{3:D2}", ts.Days, ts.Hours % 24, ts.Minutes % 60, ts.Seconds % 60 );
}
public static string FormatByteAmount( long totalBytes )
{
if ( totalBytes > 1000000000 )
return String.Format( "{0:F1} GB", (double)totalBytes / 1073741824 );
if ( totalBytes > 1000000 )
return String.Format( "{0:F1} MB", (double)totalBytes / 1048576 );
if ( totalBytes > 1000 )
return String.Format( "{0:F1} KB", (double)totalBytes / 1024 );
return String.Format( "{0} Bytes", totalBytes );
}
private ArrayList m_List;
private int m_ListPage;
private int[] m_CountList;
public StatusGump( Mobile from, int listPage, ArrayList list, int[] count ) : base( 140, 80 )
{
from.CloseGump( typeof( StatusGump ) );
m_List = list;
m_ListPage = listPage;
m_CountList = count;
AddPage( 0 );
AddBackground( 0, 0, 800, 600, 0x53 );
AddImageTiled( 15, 15, 770, 17, 5154 );
AddHtml( 15, 15, 770, 17, "<div align=\"center\" color=\"2100\">"+ ServerList.ServerName +"</div>", false, false );
int t = NetState.Instances.Count;
if (t != 0)
{
ArrayList KList = new ArrayList( NetState.Instances );
for( int s = 0; s < t; ++s)
{
NetState nsk = KList[s] as NetState;
if ( nsk == null )
continue;
Mobile mk = nsk.Mobile;
if ( mk == null )
{
continue;
}
else
{
if ((from.AccessLevel == AccessLevel.Player && (( mk.AccessLevel == AccessLevel.Counselor && mk.Hidden ) || mk.AccessLevel >= AccessLevel.GameMaster )) || (from.AccessLevel >= AccessLevel.Player && mk.AccessLevel > from.AccessLevel))
{
--t;
}
}
}
}
AddImageTiled( 15, 37, 190, 17, 5154 );
AddLabel( 17, 36, 0x25, "Online :" );
AddHtml( 160, 37, 30, 17, "<div align=\"right\" color=\"2100\">"+ t.ToString() +"</div>", false, false );
AddImageTiled( 210, 37, 190, 17, 5154 );
AddLabel( 212, 36, 0x68, "Accounts :" );
AddHtml( 357, 37, 30, 17, "<div align=\"right\" color=\"2100\">"+ Accounts.Table.Count.ToString() +"</div>", false, false );
AddImageTiled( 405, 37, 190, 17, 5154 );
AddLabel( 407, 36, 2100, "Uptime :" );
AddHtml( 485, 37, 109, 17, "<div align=\"right\" color=\"2100\">"+ FormatTimeSpan( DateTime.Now - Clock.ServerStart) +"</div>", false, false );
AddImageTiled( 600, 37, 185, 17, 5154 );
AddLabel( 602, 36, 2100, "RAM in use :" );
AddHtml( 700, 37, 75, 17, "<div align=\"right\" color=\"2100\">"+ FormatByteAmount( GC.GetTotalMemory( false ) ) +"</div>", false, false );
// A3C BB8 DAC E10 13BE 13EC 1400 1432 23F0 238C 23BE 2422 242C 2436 2454 2486 24A4 24AE 24B8 24EA 251C 254E 2557 2560 ?2776?
AddBackground( 15, 59, 770, 526, 0x2454);
AddBlackAlpha( 18, 62, 763, 520);
AddLabelCropped( 20, 60, 220, 20, 2100, "Name" );
AddLabelCropped( 222, 60, 209, 20, 2100, "Guild" );
AddLabelCropped( 453, 60, 60, 20, 2100, "SumStats" );
AddLabelCropped( 515, 60, 60, 20, 2100, "Skills" );
AddLabelCropped( 577, 60, 60, 20, 2100, "Karma" );
AddLabelCropped( 639, 60, 60, 20, 2100, "Fame" );
AddLabelCropped( 701, 60, 60, 20, 2100, "Kills" );
if ( m_List == null )
m_List = new ArrayList( NetState.Instances );
if ( (m_CountList == null) && (m_List.Count>25))
m_CountList = new int[(int)(m_List.Count/25)];
if ( listPage > 0 )
AddButton( 744, 62, 0x15E3, 0x15E7, 1, GumpButtonType.Reply, 0 );
else
AddImage( 744, 62, 0x25EA );
if ( (listPage + 1) * 25 < m_List.Count )
AddButton( 761, 62, 0x15E1, 0x15E5, 2, GumpButtonType.Reply, 0 );
else
AddImage( 761, 62, 0x25E6 );
}
}
}
Just Add this into the custom folder the command is status if you want to change the command
Code:
Commands.Register( "status", AccessLevel.Player, new CommandEventHandler( Status_OnCommand ) );
Thnks Runuo More Post's From Me And All Runuo Fans Will Come Further More :