public override void Use(Player p, string message, CommandData data) { if (message.Length == 0) { Help(p); return; } if (!LevelInfo.Check(p, data.Rank, p.level, "summon that bot")) { return; } string[] args = message.SplitSpaces(2); PlayerBot bot = Matcher.FindBots(p, args[0]); if (bot == null) { return; } if (!bot.EditableBy(p, "summon")) { return; } Position pos; byte yaw, pitch; if (args.Length == 1) { pos = p.Pos; yaw = p.Rot.RotY; pitch = p.Rot.HeadX; } else { args = args[1].SplitSpaces(); if (args.Length < 3) { Help(p); return; } if (!CmdTp.GetTeleportCoords(p, bot, args, false, out pos, out yaw, out pitch)) { return; } } bot.Pos = pos; bot.SetYawPitch(yaw, pitch); BotsFile.Save(p.level); }
public override void Use(Player p, string message, CommandData data) { if (p.PreTeleportMap == null) { p.Message("You have not teleported anywhere yet"); return; } var preTeleportMap = p.PreTeleportMap; var preTeleportPos = p.PreTeleportPos; var preTeleportRot = p.PreTeleportRot; CmdTp.SavePreTeleportState(p); if (!p.level.name.CaselessEq(preTeleportMap)) { PlayerActions.ChangeMap(p, preTeleportMap); } p.SendPos(Entities.SelfID, preTeleportPos, preTeleportRot); }