本文整理汇总了C#中Aura.Shared.Network.Packet.PutUInt方法的典型用法代码示例。如果您正苦于以下问题:C# Packet.PutUInt方法的具体用法?C# Packet.PutUInt怎么用?C# Packet.PutUInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Aura.Shared.Network.Packet
的用法示例。
在下文中一共展示了Packet.PutUInt方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: EnterDynamicRegion
/// <summary>
/// Sends EnterDynamicRegion to creature's client.
/// </summary>
/// <param name="creature"></param>
/// <param name="warpFromRegionId"></param>
/// <param name="warpToRegion"></param>
public static void EnterDynamicRegion(Creature creature, int warpFromRegionId, Region warpToRegion, int x, int y)
{
var warpTo = warpToRegion as DynamicRegion;
if (warpTo == null)
throw new ArgumentException("EnterDynamicRegion requires a dynamic region.");
var pos = creature.GetPosition();
var packet = new Packet(Op.EnterDynamicRegion, MabiId.Broadcast);
packet.PutLong(creature.EntityId);
packet.PutInt(warpFromRegionId); // creature's current region or 0?
packet.PutInt(warpToRegion.Id);
packet.PutString(warpToRegion.Name); // dynamic region name
packet.PutUInt(0x80000000); // bitmask? (|1 = time difference?)
packet.PutInt(warpTo.BaseId);
packet.PutString(warpTo.BaseName);
packet.PutInt(200); // 100|200 (100 changes the lighting?)
packet.PutByte(0); // 1 = next is empty?
packet.PutString("data/world/{0}/{1}", warpTo.BaseName, warpTo.Variation);
packet.PutByte(0);
//if (^ true)
//{
// pp.PutByte(1);
// pp.PutInt(3100); // some region id?
//}
packet.PutInt(x); // target x pos
packet.PutInt(y); // target y pos
creature.Client.Send(packet);
}
示例2: CharacterUnlock
/// <summary>
/// Sends CharacterUnlock to creature's client.
/// </summary>
public static void CharacterUnlock(Creature creature, Locks type)
{
var packet = new Packet(Op.CharacterUnlock, creature.EntityId);
packet.PutUInt((uint)type);
creature.Client.Send(packet);
}
示例3: SystemMessage
/// <summary>
/// Sends system message (special Chat) to creature's client.
/// </summary>
/// <param name="creature"></param>
/// <param name="from"></param>
/// <param name="format"></param>
/// <param name="args"></param>
private static void SystemMessage(Creature creature, string from, string format, params object[] args)
{
var packet = new Packet(Op.Chat, creature.EntityId);
packet.PutByte(0);
packet.PutString(from);
packet.PutString(format, args);
packet.PutByte(true);
packet.PutUInt(0xFFFF8080);
packet.PutInt(0);
packet.PutByte(0);
creature.Client.Send(packet);
}
示例4: System_Broadcast
public static void System_Broadcast(string from, string format, params object[] args)
{
var packet = new Packet(Op.Chat, MabiId.Broadcast);
packet.PutByte(0);
packet.PutString("<{0}>", from);
packet.PutString(format, args);
packet.PutByte(true);
packet.PutUInt(0xFFFF8080);
packet.PutInt(0);
packet.PutByte(0);
ChannelServer.Instance.World.Broadcast(packet);
}
示例5: Chat
/// <summary>
/// Sends Chat in range of creature.
/// </summary>
/// <param name="creature">Source, in terms of name and position</param>
/// <param name="format"></param>
/// <param name="args"></param>
public static void Chat(Creature creature, string format, params object[] args)
{
var packet = new Packet(Op.Chat, creature.EntityId);
packet.PutByte(0); // speech (0) vs thought (1) bubble
packet.PutString(creature.Name);
packet.PutString(format, args);
// The following part is not required for normal chat
packet.PutByte(0); // 1 hides chat bubble and enables --v
packet.PutUInt(0); // custom color (supports alpha transparency, FF is 100% opaque)
packet.PutInt(0);
packet.PutByte(0);
creature.Region.Broadcast(packet, creature);
}
示例6: System_Broadcast
public static void System_Broadcast(string from, string format, params object[] args)
{
var packet = new Packet(Op.Chat, MabiId.Broadcast);
foreach (var msg in string.Format(format, args).Chunkify(100)) // Mabi displays up to 100 chars
{
packet.PutByte(0);
packet.PutString("<{0}>", from);
packet.PutString(msg);
packet.PutByte(true);
packet.PutUInt(0xFFFF8080);
packet.PutInt(0);
packet.PutByte(0);
ChannelServer.Instance.World.Broadcast(packet);
packet.Clear(packet.Op, packet.Id);
}
}
示例7: Effect
/// <summary>
/// Broadcasts Effect in range of creature, with the given packet id.
/// </summary>
/// <remarks>
/// Parameters have to be casted to the proper type, use carefully!
/// </remarks>
/// <param name="id"></param>
/// <param name="entity"></param>
/// <param name="effectId"></param>
/// <param name="parameters"></param>
public static void Effect(long id, Entity entity, int effectId, params object[] parameters)
{
var packet = new Packet(Op.Effect, id);
packet.PutInt(effectId);
foreach (var p in parameters)
{
if (p is byte) packet.PutByte((byte)p);
else if (p is bool) packet.PutByte((bool)p);
else if (p is short) packet.PutShort((short)p);
else if (p is ushort) packet.PutUShort((ushort)p);
else if (p is int) packet.PutInt((int)p);
else if (p is uint) packet.PutUInt((uint)p);
else if (p is long) packet.PutLong((long)p);
else if (p is ulong) packet.PutULong((ulong)p);
else if (p is float) packet.PutFloat((float)p);
else if (p is string) packet.PutString((string)p);
else
throw new Exception("Unsupported effect parameter: " + p.GetType());
}
entity.Region.Broadcast(packet, entity);
}
示例8: SystemMessage
/// <summary>
/// Sends system message (special Chat) to creature's client.
/// </summary>
/// <param name="creature"></param>
/// <param name="from"></param>
/// <param name="format"></param>
/// <param name="args"></param>
private static void SystemMessage(Creature creature, string from, string format, params object[] args)
{
var packet = new Packet(Op.Chat, creature.EntityId);
foreach (var msg in string.Format(format, args).Chunkify(100)) // Mabi displays up to 100 chars
{
packet.PutByte(0);
packet.PutString(from);
packet.PutString(msg);
packet.PutByte(true);
packet.PutUInt(0xFFFF8080);
packet.PutInt(0);
packet.PutByte(0);
creature.Client.Send(packet);
packet.Clear(packet.Op, packet.Id);
}
}
示例9: GuildCreateGuildRobeUpdate
/// <summary>
/// Sends GuildCreateGuildRobeUpdate to creature's client.
/// </summary>
/// <param name="creature"></param>
/// <param name="emblemMark"></param>
/// <param name="emblemOutline"></param>
/// <param name="stripes"></param>
/// <param name="robeColor"></param>
/// <param name="badgeColor"></param>
/// <param name="emblemMarkColor"></param>
/// <param name="emblemOutlineColor"></param>
/// <param name="stripesColor"></param>
public static void GuildCreateGuildRobeUpdate(Creature creature, byte emblemMark, byte emblemOutline, byte stripes, uint robeColor, byte badgeColor, byte emblemMarkColor, byte emblemOutlineColor, byte stripesColor, bool success)
{
var packet = new Packet(Op.GuildCreateGuildRobeUpdate, creature.EntityId);
packet.PutByte(emblemMark);
packet.PutByte(emblemOutline);
packet.PutByte(stripes);
packet.PutUInt(robeColor);
packet.PutByte(badgeColor);
packet.PutByte(emblemMarkColor);
packet.PutByte(emblemOutlineColor);
packet.PutByte(stripesColor);
packet.PutByte(success);
creature.Client.Send(packet);
}
示例10: GuildOpenGuildCreation
/// <summary>
/// Sends GuildOpenGuildRobeCreation to creature's client.
/// </summary>
/// <param name="creature"></param>
/// <param name="amount"></param>
public static void GuildOpenGuildCreation(Creature creature, long entityId, string guildName, uint color)
{
var packet = new Packet(Op.GuildOpenGuildRobeCreation, creature.EntityId);
packet.PutLong(entityId);
packet.PutString(guildName);
packet.PutUInt(color);
packet.PutByte(0);
creature.Client.Send(packet);
}
示例11: CharacterInfoRequestR
/// <summary>
/// Sends xInfoRequestR to client.
/// </summary>
/// <param name="client"></param>
/// <param name="op"></param>
/// <param name="character"></param>
/// <param name="items"></param>
public static void CharacterInfoRequestR(LoginClient client, int op, Character character, List<Item> items)
{
var packet = new Packet(op, MabiId.Login);
packet.PutByte(character != null);
if (character != null)
{
packet.PutString(character.Server);
packet.PutLong(character.EntityId);
packet.PutByte(1);
packet.PutString(character.Name);
packet.PutString("");
packet.PutString("");
packet.PutInt(character.Race);
packet.PutByte(character.SkinColor);
packet.PutShort(character.EyeType);
packet.PutByte(character.EyeColor);
packet.PutByte(character.MouthType);
packet.PutUInt((uint)character.State);
packet.PutFloat(character.Height);
packet.PutFloat(character.Weight);
packet.PutFloat(character.Upper);
packet.PutFloat(character.Lower);
packet.PutInt(0);
packet.PutInt(0);
packet.PutInt(0);
packet.PutByte(0);
packet.PutInt(0);
packet.PutByte(0);
packet.PutInt((int)character.Color1);
packet.PutInt((int)character.Color2);
packet.PutInt((int)character.Color3);
packet.PutFloat(0.0f);
packet.PutString("");
packet.PutFloat(49.0f);
packet.PutFloat(49.0f);
packet.PutFloat(0.0f);
packet.PutFloat(49.0f);
// [180800, NA196 (14.10.2014)] ?
{
packet.PutShort(0);
}
packet.PutInt(0);
packet.PutInt(0);
packet.PutShort(0);
packet.PutLong(0);
packet.PutString("");
packet.PutByte(0);
packet.PutInt(items.Count);
foreach (var item in items)
{
packet.PutLong(item.Id);
packet.PutBin(item.Info);
}
packet.PutInt(0); // PetRemainingTime
packet.PutLong(0); // PetLastTime
packet.PutLong(0); // PetExpireTime
}
client.Send(packet);
}
示例12: EnterDynamicRegionExtended
/// <summary>
/// Sends EnterDynamicRegionExtended to creature's client.
/// </summary>
/// <remarks>
/// From the looks of it this basically does the same as EnterDynamicRegion,
/// but it supports the creation of multiple regions before warping to one.
/// </remarks>
/// <param name="creature"></param>
/// <param name="warpFromRegionId"></param>
/// <param name="warpToRegion"></param>
public static void EnterDynamicRegionExtended(Creature creature, int warpFromRegionId, Region warpToRegion)
{
var warpTo = warpToRegion as DynamicRegion;
if (warpTo == null)
throw new ArgumentException("EnterDynamicRegionExtended requires a dynamic region.");
var pos = creature.GetPosition();
var packet = new Packet(Op.EnterDynamicRegionExtended, MabiId.Broadcast);
packet.PutLong(creature.EntityId);
packet.PutInt(warpFromRegionId); // creature's current region or 0?
packet.PutInt(warpToRegion.Id); // target region id
packet.PutInt(pos.X); // target x pos
packet.PutInt(pos.Y); // target y pos
packet.PutInt(0); // 0|4|8|16
packet.PutInt(1); // count of dynamic regions v
packet.PutInt(warpToRegion.Id);
packet.PutString(warpToRegion.Name); // dynamic region name
packet.PutUInt(0x80000000); // bitmask? (|1 = time difference?)
packet.PutInt(warpTo.BaseId);
packet.PutString(warpTo.BaseName);
packet.PutInt(200); // 100|200
packet.PutByte(0); // 1 = next is empty?
packet.PutString("data/world/{0}/{1}", warpTo.BaseName, warpTo.Variation);
creature.Client.Send(packet);
}