From e93869c7a785a4f375685ffa33c913033ed1c85a Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Thu, 21 Jun 2007 17:08:21 +0000 Subject: * Importing Ming's mass test client --- .../Commands/Movement/GotoCommand.cs | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tools/mass test client/Commands/Movement/GotoCommand.cs (limited to 'tools/mass test client/Commands/Movement/GotoCommand.cs') diff --git a/tools/mass test client/Commands/Movement/GotoCommand.cs b/tools/mass test client/Commands/Movement/GotoCommand.cs new file mode 100644 index 0000000..fbbc2ec --- /dev/null +++ b/tools/mass test client/Commands/Movement/GotoCommand.cs @@ -0,0 +1,53 @@ +using System; +using System.Collections.Generic; +using System.Text; +using libsecondlife; +using libsecondlife.Packets; + +namespace libsecondlife.TestClient +{ + public class GotoCommand: Command + { + public GotoCommand(TestClient testClient) + { + Name = "goto"; + Description = "Teleport to a location (e.g. \"goto Hooper/100/100/30\")"; + } + + public override string Execute(string[] args, LLUUID fromAgentID) + { + if (args.Length < 1) + return "usage: Destination should be specified as sim/x/y/z"; + + string destination = String.Empty; + + // Handle multi-word sim names by combining the arguments + foreach (string arg in args) + { + destination += arg + " "; + } + destination = destination.Trim(); + + string[] tokens = destination.Split(new char[] { '/' }); + if (tokens.Length != 4) + return "usage: Destination should be specified as sim/x/y/z"; + + string sim = tokens[0]; + float x = Client.Self.Position.X; + float y = Client.Self.Position.Y; + float z = Client.Self.Position.Z; + float.TryParse(tokens[1], out x); + float.TryParse(tokens[2], out y); + float.TryParse(tokens[3], out z); + + if (Client.Self.Teleport(sim, new LLVector3(x, y, z))) + { + return "Teleported to " + Client.Network.CurrentSim; + } + else + { + return "Teleport failed: " + Client.Self.TeleportMessage; + } + } + } +} -- cgit v1.1