private void AddJumpPoint(GameClient client, string[] args) { if (args.Length != 3) { client.Out.SendMessage("Usage : /port add <name>", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } DBJumpPoint p = GameServer.Database.SelectObjects <DBJumpPoint>("Name = @Name", new QueryParameter("@Name", args[2])).FirstOrDefault(); if (p != null) { SendSystemMessage(client, "JumpPoint with name '" + args[2] + "' already exists"); return; } p = new DBJumpPoint(); p.Xpos = client.Player.X; p.Ypos = client.Player.Y; p.Zpos = client.Player.Z; p.Region = client.Player.CurrentRegionID; p.Heading = client.Player.Heading; p.Name = args[2]; GameServer.Database.AddObject(p); SendSystemMessage(client, "JumpPoint added with name '" + args[2] + "'"); }
private void RemoveJumpPoint(GameClient client, string[] args) { if (args.Length != 3) { SendSystemMessage(client, "Usage : /port remove <name>"); return; } DBJumpPoint p = GameServer.Database.SelectObjects <DBJumpPoint>("Name = @Name", new QueryParameter("@Name", args[2])).FirstOrDefault();; if (p == null) { SendSystemMessage(client, "No JumpPoint with name '" + args[2] + "' found"); return; } GameServer.Database.DeleteObject(p); SendSystemMessage(client, "Removed JumpPoint with name '" + args[2] + "'"); }
private void PortToJumpPoint(GameClient client, string[] args) { if (args.Length == 3 && args[1] == "to") { DBJumpPoint p = GameServer.Database.SelectObjects <DBJumpPoint>("Name = @Name", new QueryParameter("@Name", args[2])).FirstOrDefault(); if (p == null) { SendSystemMessage(client, "No JumpPoint with name '" + args[2] + "' found"); return; } if (CheckExpansion(client, client, p.Region)) { client.Player.MoveTo(p.Region, p.Xpos, p.Ypos, p.Zpos, p.Heading); } } else { SendSystemMessage(client, "Usage : /port to <name>"); return; } }