public override void Use(Player p, string message) { if (p == null) { MessageInGameOnly(p); return; } string[] command = message.ToLower().Split(' '); string cmd = String.Empty; string par1 = String.Empty; try { cmd = command[0].ToLower(); par1 = command[1]; } catch { } if (cmd == "create" || cmd == "new" || cmd == "add") { if (!WaypointList.Exists(par1, p)) { WaypointList.Create(par1, p); Player.SendMessage(p, "Created waypoint"); return; } else { Player.SendMessage(p, "That waypoint already exists"); return; } } else if (cmd == "goto") { if (WaypointList.Exists(par1, p)) { WaypointList.Goto(par1, p); return; } else { Player.SendMessage(p, "That waypoint doesn't exist"); return; } } else if (cmd == "replace" || cmd == "update" || cmd == "edit") { if (WaypointList.Exists(par1, p)) { WaypointList.Update(par1, p); Player.SendMessage(p, "Updated waypoint"); return; } else { Player.SendMessage(p, "That waypoint doesn't exist"); return; } } else if (cmd == "delete" || cmd == "remove") { if (WaypointList.Exists(par1, p)) { WaypointList.Remove(par1, p); Player.SendMessage(p, "Deleted waypoint"); return; } else { Player.SendMessage(p, "That waypoint doesn't exist"); return; } } else if (cmd == "list") { Player.SendMessage(p, "Waypoints:"); foreach (Waypoint wp in p.Waypoints) { if (LevelInfo.Find(wp.lvlname) != null) { Player.SendMessage(p, wp.name + ":" + wp.lvlname); } } return; } else { if (WaypointList.Exists(cmd, p)) { WaypointList.Goto(cmd, p); Player.SendMessage(p, "Sent you to waypoint"); return; } else { Player.SendMessage(p, "That waypoint or command doesn't exist"); return; } } }