BarStatus
Datum: 27/07/2011 13:33:30
Staženo: 544x
Popis:
Vlevo dole se ukazuje nápisi při táhnutí něčí záložky:
Smoce : 130/130 (2)
Rozlišuje barvy Notoriety .. modry zeleny červeny šedy..
Příkazy:
Kód:
using Phoenix;
using Phoenix.WorldData;
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using Phoenix.Configuration;
using Phoenix.Communication;
using Scripts.DarkParadise;
namespace Scripts.barustatus
{
public class statuspack
{
public static List<Serial> inList = new List<Serial>();
[ServerMessageHandler(0x11)]
public CallbackResult OnNextTarget(byte[] data, CallbackResult prevResult)
{
PacketReader reader = new PacketReader(data);
if (reader.ReadByte() != 0x11) throw new Exception("Invalid packet passed to OnNextTarget method.");
ushort blockSize = reader.ReadUInt16();
uint serial = reader.ReadUInt32();
if (serial == Aliases.Self || inList.Contains(serial))
{
return CallbackResult.Normal;
}
Aliases.SetObject("laststatus", serial);
UOCharacter cil = World.GetCharacter(serial);
if (cil.MaxHits == -1)
{
cil.RequestStatus();
return CallbackResult.Normal;
}
else
{
ushort color = 0;
String not = cil.Notoriety.ToString();
switch (not)
{
case "Criminal":
color = 0x0026;
break;
case "Enemy":
color = 0x0031;
break;
case "Guild":
color = 0x0B50;
break;
case "Innocent":
color = 0x0058;
break;
case "Murderer":
color = 0x0026;
break;
case "Neutral":
color = 0x03BC;
break;
case "Unknown":
color = 0x03BC;
break;
default:
color = Phoenix.Env.DefaultInfoColor;
break;
}
UO.Print(color, "{0} : {1}/{2} ({3})", cil.Name, cil.Hits, cil.MaxHits, cil.Distance);
return CallbackResult.Normal;
}
}
}
}

