本文整理汇总了C#中MCDawn.Player.SendSpawn方法的典型用法代码示例。如果您正苦于以下问题:C# Player.SendSpawn方法的具体用法?C# Player.SendSpawn怎么用?C# Player.SendSpawn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MCDawn.Player
的用法示例。
在下文中一共展示了Player.SendSpawn方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SpawnPlayer
public void SpawnPlayer(Player p)
{
p.spawning = true;
if (spawns.Count != 0)
{
Random random = new Random();
int rnd = random.Next(0, spawns.Count);
ushort x, y, z, rotx;
x = spawns[rnd].x;
y = spawns[rnd].y;
z = spawns[rnd].z;
ushort x1 = (ushort)((0.5 + x) * 32);
ushort y1 = (ushort)((1 + y) * 32);
ushort z1 = (ushort)((0.5 + z) * 32);
rotx = spawns[rnd].rotx;
unchecked
{
p.SendSpawn((byte)-1, p.name, x1, y1, z1, (byte)rotx, 0);
}
}
else
{
ushort x = (ushort)((0.5 + level.spawnx) * 32);
ushort y = (ushort)((1 + level.spawny) * 32);
ushort z = (ushort)((0.5 + level.spawnz) * 32);
ushort rotx = level.rotx;
ushort roty = level.roty;
unchecked
{
p.SendSpawn((byte)-1, p.name, x, y, z, (byte)rotx, (byte)roty);
}
}
p.spawning = false;
}
示例2: Use
public override void Use(Player p, string message)
{
if (message == "") { Help(p); return; }
try
{
Level foundLevel = Level.Find(message);
if (foundLevel != null)
{
Level startLevel = p.level;
GC.Collect();
if (p.activeCuboids > 0) { startLevel.unload = false; }
if (p.group.Permission < LevelPermission.Operator && foundLevel.name != Server.HomePrefix + p.name.ToLower() && p.level.name != Server.HomePrefix + p.name.ToLower())
{
if (foundLevel.locked == true && p.level != foundLevel) { Player.SendMessage(p, "This map is currently locked!"); return; }
if (p.level.locked == true && p.level != foundLevel) { Player.SendMessage(p, "This map is currently locked!"); return; }
}
if (p.level.zombiegame == true && p.level != foundLevel) { Player.SendMessage(p, "You can't leave an Infection game!"); return; }
if (foundLevel.zombiegame == true && p.level != foundLevel) { Player.SendMessage(p, "Infection is active on that map, you can't go to it!"); return; }
if (p.level.spleefstarted == true && p.level != foundLevel) { Player.SendMessage(p, "You can't leave a Spleef game!"); return; }
if (foundLevel.spleefstarted == true && p.level != foundLevel) { Player.SendMessage(p, "Spleef is active on that map, you can't go to it!"); return; }
if (p.level == foundLevel) { Player.SendMessage(p, "You are already in \"" + foundLevel.name + "\"."); return; }
if (!p.ignorePermission)
if (p.group.Permission < foundLevel.permissionvisit) { Player.SendMessage(p, "You're not allowed to go to " + foundLevel.name + "."); return; }
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 = foundLevel; p.SendUserMOTD(); p.SendMap();
GC.Collect();
ushort x = (ushort)((0.5 + foundLevel.spawnx) * 32);
ushort y = (ushort)((1 + foundLevel.spawny) * 32);
ushort z = (ushort)((0.5 + foundLevel.spawnz) * 32);
if (!p.hidden) Player.GlobalSpawn(p, x, y, z, foundLevel.rotx, foundLevel.roty, true);
else unchecked { p.SendPos((byte)-1, x, y, z, foundLevel.rotx, foundLevel.roty); }
foreach (Player pl in Player.players)
if (pl.level == p.level && p != pl && !pl.hidden)
p.SendSpawn(pl.id, pl.color + pl.name, pl.pos[0], pl.pos[1], pl.pos[2], pl.rot[0], pl.rot[1]);
foreach (PlayerBot b in PlayerBot.playerbots)
if (b.level == p.level)
p.SendSpawn(b.id, b.color + b.name, b.pos[0], b.pos[1], b.pos[2], b.rot[0], b.rot[1]);
if (!p.hidden)
{
Player.GlobalChat(p, p.color + p.name + Server.DefaultColor + " went to &b" + foundLevel.name, false);
if (Server.womText) { Player.WomGlobalMessage(p.color + p.name + Server.DefaultColor + " went to &b" + foundLevel.name); }
}
p.Loading = false;
bool skipUnload = false;
if (startLevel.unload && !startLevel.name.Contains("&cMuseum "))
{
foreach (Player pl in Player.players) if (pl.level == startLevel) skipUnload = true;
if (!skipUnload && Server.AutoLoad)
{
if (p.hidden) { startLevel.Unload(true); }
else { startLevel.Unload(); }
}
}
}
else if (Server.AutoLoad)
{
Command.all.Find("load").Use(p, message);
foundLevel = Level.Find(message);
if (foundLevel != null) Use(p, message);
}
else Player.SendMessage(p, "There is no level \"" + message + "\" loaded.");
GC.Collect();
GC.WaitForPendingFinalizers();
}
catch (Exception e) { Server.ErrorLog(e); }
}
示例3: Use
public override void Use(Player p, string message)
{
if (!p.canBuild)
{
Player.SendMessage(p, "You're currently being &4possessed" + Server.DefaultColor + "!");
return;
}
try
{
bool stealth = false;
if (message != "")
{
if (message == "#")
{
if (p.following != "")
{
stealth = true;
message = "";
}
else
{
Help(p);
return;
}
}
else if (message.IndexOf(' ') != -1)
{
if (message.Split(' ')[0] == "#")
{
if (p.hidden) stealth = true;
message = message.Split(' ')[1];
}
}
}
Player who = Player.Find(message);
if (message == "" && p.following == "") {
Help(p);
return;
}
else if (message == "" && p.following != "" || message == p.following)
{
who = Player.Find(p.following);
p.following = "";
if (p.hidden)
{
if (who != null)
p.SendSpawn(who.id, who.color + who.name, who.pos[0], who.pos[1], who.pos[2], who.rot[0], who.rot[1]);
if (!stealth)
{
Command.all.Find("hide").Use(p, "s");
}
else
{
if (who != null)
{
Player.SendMessage(p, "You have stopped following " + who.color + who.name + Server.DefaultColor + " and remained hidden.");
}
else
{
Player.SendMessage(p, "Following stopped.");
}
}
return;
}
}
if (who == null) { Player.SendMessage(p, "Could not find player."); return; }
else if (who == p) { Player.SendMessage(p, "Cannot follow yourself."); return; }
else if (who.group.Permission >= p.group.Permission) { Player.SendMessage(p, "Cannot follow someone of equal or greater rank."); return; }
else if (who.following != "") { Player.SendMessage(p, who.name + " is already following " + who.following); return; }
if (!p.hidden) Command.all.Find("hide").Use(p, "s");
if (p.level != who.level) Command.all.Find("tp").Use(p, who.name);
if (p.following != "")
{
who = Player.Find(p.following);
p.SendSpawn(who.id, who.color + who.name, who.pos[0], who.pos[1], who.pos[2], who.rot[0], who.rot[1]);
}
who = Player.Find(message);
p.following = who.name;
Player.SendMessage(p, "Following " + who.name + ". Use \"/follow\" to stop.");
p.SendDie(who.id);
}
catch (Exception e) { Server.ErrorLog(e); Player.SendMessage(p, "Error occured"); }
}