///////////////////////////////////////////////////////////////////////// // // www.ultima.smoce.net // Name: Players Procenta // ///////////////////////////////////////////////////////////////////////// using System; using System.Collections.Generic; using System.Text; using System.IO; using Phoenix.WorldData; using Phoenix; namespace Phoenix.Script { [RuntimeObject] public class PlayersProcenta { [ServerMessageHandler(0xa1)] public CallbackResult HitsChanged(byte[] data, CallbackResult prevResult) { UOCharacter character = new UOCharacter(ByteConverter.BigEndian.ToUInt32(data, 1)); //ushort maxHits = ByteConverter.BigEndian.ToUInt16(data, 5); ushort maxHits = 115; // Nejvyssi HITS bez nakouzleni ushort hits = ByteConverter.BigEndian.ToUInt16(data, 7); if (character.Hits != hits) { if (character.Serial == World.Player.Serial) { //character.Print(""+character.Name+" ["+((maxHits / 100) * hits)+" HP]"); } else { if (character.Notoriety == Notoriety.Murderer || character.Notoriety == Notoriety.Enemy) { character.Print(0x0021,""+character.Name+" ["+(((maxHits / 100) * hits))+"%]"); } if (character.Notoriety == Notoriety.Guild) { character.Print(0x003F,""+character.Name+" ["+(((maxHits / 100) * hits))+"%]"); } if (character.Notoriety == Notoriety.Criminal || character.Notoriety == Notoriety.Unknown || character.Notoriety == Notoriety.Neutral) { character.Print(0x03B7,""+character.Name+" ["+(((maxHits / 100) * hits))+"%]"); } if (character.Notoriety == Notoriety.Innocent) { character.Print(0x0003,""+character.Name+" ["+(((maxHits / 100) * hits))+"%]"); } } } return 0; } } }