本文整理汇总了C#中System.Net.Player.SendRaw方法的典型用法代码示例。如果您正苦于以下问题:C# Player.SendRaw方法的具体用法?C# Player.SendRaw怎么用?C# Player.SendRaw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Player
的用法示例。
在下文中一共展示了Player.SendRaw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SendDetail
public void SendDetail(Player p, string text = "")
{
byte[] buffer = new byte[65];
if (p.level == l && p.UsingWom)
{
if (text == "")
{
Player.StringFormat(detail, 64).CopyTo(buffer, 1);
p.SendRaw(13, buffer);
}
else if (!text.StartsWith("^"))
{
Player.StringFormat("^detail.user=" + text, 64).CopyTo(buffer, 1);
p.SendRaw(13, buffer);
}
else
{
Player.StringFormat(text, 64).CopyTo(buffer, 1);
p.SendRaw(13, buffer);
}
}
buffer = null;
}
示例2: Use
public override void Use(Player p, string message)
{
string path;
if (message.Split(' ').Length == 1) path = "levels/" + message + ".lvl";
else if (message.Split(' ').Length == 2) try { path = @Server.backupLocation + "/" + message.Split(' ')[0] + "/" + int.Parse(message.Split(' ')[1]) + "/" + message.Split(' ')[0] + ".lvl"; }
catch { Help(p); return; }
else { Help(p); return; }
if (File.Exists(path))
{
FileStream fs = File.OpenRead(path);
try
{
GZipStream gs = new GZipStream(fs, CompressionMode.Decompress);
byte[] ver = new byte[2];
gs.Read(ver, 0, ver.Length);
ushort version = BitConverter.ToUInt16(ver, 0);
ushort[] vars = new ushort[6];
byte[] rot = new byte[2];
if (version == 1874)
{
byte[] header = new byte[16]; gs.Read(header, 0, header.Length);
vars[0] = BitConverter.ToUInt16(header, 0);
vars[1] = BitConverter.ToUInt16(header, 2);
vars[2] = BitConverter.ToUInt16(header, 4);
vars[3] = BitConverter.ToUInt16(header, 6);
vars[4] = BitConverter.ToUInt16(header, 8);
vars[5] = BitConverter.ToUInt16(header, 10);
rot[0] = header[12];
rot[1] = header[13];
//level.permissionvisit = (LevelPermission)header[14];
//level.permissionbuild = (LevelPermission)header[15];
}
else
{
byte[] header = new byte[12]; gs.Read(header, 0, header.Length);
vars[0] = version;
vars[1] = BitConverter.ToUInt16(header, 0);
vars[2] = BitConverter.ToUInt16(header, 2);
vars[3] = BitConverter.ToUInt16(header, 4);
vars[4] = BitConverter.ToUInt16(header, 6);
vars[5] = BitConverter.ToUInt16(header, 8);
rot[0] = header[10];
rot[1] = header[11];
}
Level level = new Level(name, vars[0], vars[2], vars[1], "empty");
level.setPhysics(0);
level.spawnx = vars[3];
level.spawnz = vars[4];
level.spawny = vars[5];
level.rotx = rot[0];
level.roty = rot[1];
byte[] blocks = new byte[level.width * level.height * level.depth];
gs.Read(blocks, 0, blocks.Length);
level.blocks = blocks;
gs.Close();
level.backedup = true;
level.permissionbuild = LevelPermission.Admin;
level.jailx = (ushort)(level.spawnx * 32); level.jaily = (ushort)(level.spawny * 32); level.jailz = (ushort)(level.spawnz * 32);
level.jailrotx = level.rotx; level.jailroty = level.roty;
p.Loading = true;
foreach (Player pl in Player.players) if (p.level == pl.level && p != pl) p.SendDie(pl.id);
foreach (PlayerBot b in PlayerBot.playerbots) if (p.level == b.level) p.SendDie(b.id);
Player.GlobalDie(p, true);
p.level = level;
p.SendMotd();
p.SendRaw(2);
byte[] buffer = new byte[level.blocks.Length + 4];
BitConverter.GetBytes(IPAddress.HostToNetworkOrder(level.blocks.Length)).CopyTo(buffer, 0);
//ushort xx; ushort yy; ushort zz;
for (int i = 0; i < level.blocks.Length; ++i)
buffer[4 + i] = Block.Convert(level.blocks[i]);
buffer = buffer.GZip();
int number = (int)Math.Ceiling(((double)buffer.Length) / 1024);
for (int i = 1; buffer.Length > 0; ++i)
{
short length = (short)Math.Min(buffer.Length, 1024);
byte[] send = new byte[1027];
Player.HTNO(length).CopyTo(send, 0);
Buffer.BlockCopy(buffer, 0, send, 2, length);
byte[] tempbuffer = new byte[buffer.Length - length];
//.........这里部分代码省略.........