本文整理汇总了C#中PacketWriter.WriteAscii方法的典型用法代码示例。如果您正苦于以下问题:C# PacketWriter.WriteAscii方法的具体用法?C# PacketWriter.WriteAscii怎么用?C# PacketWriter.WriteAscii使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PacketWriter
的用法示例。
在下文中一共展示了PacketWriter.WriteAscii方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Build
public override byte[] Build()
{
PacketWriter writer = new PacketWriter();
writer.WriteStruct(headerA);
writer.WriteStruct(headerB);
writer.Write((uint)0); // Padding
writer.WriteStruct(headerC);
writer.WriteStruct(headerD);
writer.Write((uint)0); // Padding
writer.WriteAscii(command, 0x5CCF, 0x15);
return writer.ToArray();
}
示例2: HandlePacket
public override void HandlePacket(Client context, byte flags, byte[] data, uint position, uint size)
{
PacketReader reader = new PacketReader(data);
reader.ReadStruct<ObjectHeader>(); // Skip blank entity header.
var preformer = reader.ReadStruct<ObjectHeader>(); // Preformer
byte[] preData = reader.ReadBytes(40);
string command = reader.ReadAscii(0x922D, 0x45);
byte[] rest = reader.ReadBytes(4);
uint thingCount = reader.ReadMagic(0x922D, 0x45);
byte[] things;
PacketWriter thingWriter = new PacketWriter();
for (int i = 0; i < thingCount; i++)
{
thingWriter.Write(reader.ReadBytes(4));
}
things = thingWriter.ToArray();
byte[] final = reader.ReadBytes(4);
Logger.WriteInternal("[ACT] {0} is preforming {1}", context.Character.Name, command);
foreach (var c in Server.Instance.Clients)
{
if (c == context || c.Character == null || c.CurrentZone != context.CurrentZone)
continue;
PacketWriter output = new PacketWriter();
output.WriteStruct(new ObjectHeader((uint)context.User.PlayerId, EntityType.Player));
output.WriteStruct(preformer);
output.Write(preData);
output.WriteAscii(command, 0x4315, 0x7A);
output.Write(rest);
output.WriteMagic(thingCount, 0x4315, 0x7A);
output.Write(things);
output.Write(final);
c.SendPacket(0x4, 0x80, 0x44, output.ToArray());
}
}