Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
206
Scripts/Misc/HardwareInfo.cs
Normal file
206
Scripts/Misc/HardwareInfo.cs
Normal file
@@ -0,0 +1,206 @@
|
||||
#region References
|
||||
using System;
|
||||
|
||||
using Server.Accounting;
|
||||
using Server.Commands;
|
||||
using Server.Gumps;
|
||||
using Server.Network;
|
||||
using Server.Targeting;
|
||||
#endregion
|
||||
|
||||
namespace Server
|
||||
{
|
||||
[PropertyObject]
|
||||
public class HardwareInfo
|
||||
{
|
||||
private int m_InstanceID;
|
||||
private int m_OSMajor, m_OSMinor, m_OSRevision;
|
||||
private int m_CpuManufacturer, m_CpuFamily, m_CpuModel, m_CpuClockSpeed, m_CpuQuantity;
|
||||
private int m_PhysicalMemory;
|
||||
private int m_ScreenWidth, m_ScreenHeight, m_ScreenDepth;
|
||||
private int m_DXMajor, m_DXMinor;
|
||||
private int m_VCVendorID, m_VCDeviceID, m_VCMemory;
|
||||
private int m_Distribution, m_ClientsRunning, m_ClientsInstalled, m_PartialInstalled;
|
||||
private string m_VCDescription;
|
||||
private string m_Language;
|
||||
private string m_Unknown;
|
||||
private DateTime m_TimeReceived;
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CpuModel { get { return m_CpuModel; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CpuClockSpeed { get { return m_CpuClockSpeed; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CpuQuantity { get { return m_CpuQuantity; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int OSMajor { get { return m_OSMajor; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int OSMinor { get { return m_OSMinor; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int OSRevision { get { return m_OSRevision; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int InstanceID { get { return m_InstanceID; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ScreenWidth { get { return m_ScreenWidth; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ScreenHeight { get { return m_ScreenHeight; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ScreenDepth { get { return m_ScreenDepth; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int PhysicalMemory { get { return m_PhysicalMemory; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CpuManufacturer { get { return m_CpuManufacturer; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int CpuFamily { get { return m_CpuFamily; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int VCVendorID { get { return m_VCVendorID; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int VCDeviceID { get { return m_VCDeviceID; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int VCMemory { get { return m_VCMemory; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int DXMajor { get { return m_DXMajor; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int DXMinor { get { return m_DXMinor; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string VCDescription { get { return m_VCDescription; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string Language { get { return m_Language; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int Distribution { get { return m_Distribution; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ClientsRunning { get { return m_ClientsRunning; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int ClientsInstalled { get { return m_ClientsInstalled; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public int PartialInstalled { get { return m_PartialInstalled; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public string Unknown { get { return m_Unknown; } }
|
||||
|
||||
[CommandProperty(AccessLevel.GameMaster)]
|
||||
public DateTime TimeReceived { get { return m_TimeReceived; } }
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
PacketHandlers.Register(0xD9, 0x10C, false, OnReceive);
|
||||
|
||||
CommandSystem.Register("HWInfo", AccessLevel.GameMaster, HWInfo_OnCommand);
|
||||
}
|
||||
|
||||
[Usage("HWInfo")]
|
||||
[Description("Displays information about a targeted player's hardware.")]
|
||||
public static void HWInfo_OnCommand(CommandEventArgs e)
|
||||
{
|
||||
e.Mobile.BeginTarget(-1, false, TargetFlags.None, HWInfo_OnTarget);
|
||||
e.Mobile.SendMessage("Target a player to view their hardware information.");
|
||||
}
|
||||
|
||||
public static void HWInfo_OnTarget(Mobile from, object obj)
|
||||
{
|
||||
if (obj is Mobile && ((Mobile)obj).Player)
|
||||
{
|
||||
var m = (Mobile)obj;
|
||||
var acct = m.Account as Account;
|
||||
|
||||
if (acct != null)
|
||||
{
|
||||
var hwInfo = acct.HardwareInfo;
|
||||
|
||||
if (hwInfo != null)
|
||||
{
|
||||
CommandLogging.WriteLine(
|
||||
from,
|
||||
"{0} {1} viewing hardware info of {2}",
|
||||
from.AccessLevel,
|
||||
CommandLogging.Format(from),
|
||||
CommandLogging.Format(m));
|
||||
}
|
||||
|
||||
if (hwInfo != null)
|
||||
{
|
||||
from.SendGump(new PropertiesGump(from, hwInfo));
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("No hardware information for that account was found.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendMessage("No account has been attached to that player.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
from.BeginTarget(-1, false, TargetFlags.None, HWInfo_OnTarget);
|
||||
from.SendMessage("That is not a player. Try again.");
|
||||
}
|
||||
}
|
||||
|
||||
public static void OnReceive(NetState state, PacketReader pvSrc)
|
||||
{
|
||||
pvSrc.ReadByte(); // 1: <4.0.1a, 2>=4.0.1a
|
||||
|
||||
var info = new HardwareInfo
|
||||
{
|
||||
m_InstanceID = pvSrc.ReadInt32(),
|
||||
m_OSMajor = pvSrc.ReadInt32(),
|
||||
m_OSMinor = pvSrc.ReadInt32(),
|
||||
m_OSRevision = pvSrc.ReadInt32(),
|
||||
m_CpuManufacturer = pvSrc.ReadByte(),
|
||||
m_CpuFamily = pvSrc.ReadInt32(),
|
||||
m_CpuModel = pvSrc.ReadInt32(),
|
||||
m_CpuClockSpeed = pvSrc.ReadInt32(),
|
||||
m_CpuQuantity = pvSrc.ReadByte(),
|
||||
m_PhysicalMemory = pvSrc.ReadInt32(),
|
||||
m_ScreenWidth = pvSrc.ReadInt32(),
|
||||
m_ScreenHeight = pvSrc.ReadInt32(),
|
||||
m_ScreenDepth = pvSrc.ReadInt32(),
|
||||
m_DXMajor = pvSrc.ReadInt16(),
|
||||
m_DXMinor = pvSrc.ReadInt16(),
|
||||
m_VCDescription = pvSrc.ReadUnicodeStringLESafe(64),
|
||||
m_VCVendorID = pvSrc.ReadInt32(),
|
||||
m_VCDeviceID = pvSrc.ReadInt32(),
|
||||
m_VCMemory = pvSrc.ReadInt32(),
|
||||
m_Distribution = pvSrc.ReadByte(),
|
||||
m_ClientsRunning = pvSrc.ReadByte(),
|
||||
m_ClientsInstalled = pvSrc.ReadByte(),
|
||||
m_PartialInstalled = pvSrc.ReadByte(),
|
||||
m_Language = pvSrc.ReadUnicodeStringLESafe(4),
|
||||
m_Unknown = pvSrc.ReadStringSafe(64),
|
||||
m_TimeReceived = DateTime.UtcNow
|
||||
};
|
||||
|
||||
var acct = state.Account as Account;
|
||||
|
||||
if (acct != null)
|
||||
{
|
||||
acct.HardwareInfo = info;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user