Die Inhalte in diesem Wiki wurden seit längerem nicht mehr aktualisiert.

Alternativ gibt es unter https://gmod.de ein deutschsprachiges Forum zu Garry's Mod.

Admin Teleport

Aus GMod Wiki (DE)
Wechseln zu: Navigation, Suche

Aufgabe

Aufgabe ist es einen Punkt zu erstellen, zu dem Admins sich per Knopfdruck teleportieren können. Eine von vielen geforderte (wenn auch nicht direkte) Sache, die sich mithilfe von Vectoren realisieren lässt. Hiernach kann man auch eigene Spawnpoints für später entwickeln.

Aufbau

Für einen Teleport wird eigentlich nur eine einzige Sache vorausgesetzt: Der Zielpunkt.

Da ein Zielpunkt in der 3D-Welt aus drei Koordinaten, nämlich X, Y und Z besteht, werden wir einen Vector verwenden, der in Garry's Mod genau aus 3 Koordinaten besteht. Um aber zu garantieren, dass nur Admins und Superadmins diesen Teleport benutzen können, werden wir auch ein Filtersystem erstellen. Zusätzlich können wir natürlich auch andere Dinge wie Effekte einbauen, aber die lasse ich getrost aus.

Get the position!

Als aller Erstes gehen wir in Gmod zur gewünschten Map und gehen zu dem Punkt, zu dem sich Admins später hinteleportieren können. Dabei sollte beachtet werden, dass der Punkt direkt in der Mitte des Spielermodels liegt, ein Spieler jedoch immer am Fuße teleportiert wird. Das heisst, dass wenn der Raum 4 Meter und der Spieler 2 Meter groß sind, wird der Punkt wohl bei 1 Meter liegen. Wenn man nachher dorthin teleportiert wird, befinden sich die "Schuhe" unseres Models bei diesem 1 Meter. Im Klartext heisst es, dass wir höher teleportiert werden, als wir vorher standen. Daher sollte der Raum, in dem wir stehen, eine gute Höhe haben (mindestens doppelt so hoch wie der Spieler selbst).

Wenn wir nun am gewünschten Punkt stehen, öffnen wir die Konsole und geben "getpos" (ohne "") ein. Hier erhalten wir drei Zahlen, die hintereinander stehen. Schreibt diese Zahlen entweder auf, kopiert oder merkt sie euch. Nun können wir Garry's Mod ausschalten oder stehenlassen (ersteres ist empfehlenswerter).

Das Skript

Erstellt nun eine Luadatei im Ordner [ACCOUNTNAME]\garrysmod\garrysmod\lua\autorun\server\. Ich nannte sie einfach "spawndot.lua". Öffnet diese Datei nun, damit wir mit dem Skripten beginnen können:

  1.  local comodo_spawn_pos = Vector(x, y, z)

Hiermit erstellen wir ein neues, lokales Objekt namens "comodo_spawn_pos" mit dem Inhalt eines Vectors. Die Funktion "Vector(x,y,z)" erstellt diesen Vector mit den Koordinaten, die wir haben wollen. Hier kommen nun die Zahlen ins Spiel, die wir gerade aus dem Spiel geholt haben (was für eine Ironie =).

Zum Beispiel:

  1.  local comodo_spawn_pos = Vector(0, 0, 0)

Ihr werdet damit mitten in der Map-Mitte landen.

Als nächstes müssen wir die Funktion bauen, mit der wir per Knopfdruck auf unseren Adminstatus überprüft und anschließen teleportiert werden:

  1. function comodo_admin_teleport(player, commands, args)
  2.     if player:IsAdmin() or player:IsSuperAdmin() then
  3. 	    player:SetPos(comodo_spawn_pos)
  4. 	end
  5. end

Die Funktion prüft, ob "player" ein Admin ist oder nicht. Wenn ja, wird die Position des "player" genau auf die Position unseres Vectors gesetzt. Zum krönenden Abschluss machen wir daraus noch ein Konsolenkommando:

  1.  concommand.Add("comodo_teleport", comodo_admin_teleport)

Dadurch wird man, wenn man nun "comodo_teleport" in die Konsole schreibt, direkt zu unserem Vector teleportiert.

Hier nochmal das fertige Skript:

  1.  local comodo_spawn_pos = Vector(-173.804596, -1263.370850, -79.968750)
  2.  
  3.  
  4. function comodo_admin_teleport(player, commands, args)
  5.     if player:IsAdmin() or player:IsSuperAdmin() then
  6. 	    player:SetPos(comodo_spawn_pos)
  7. 	end
  8. end
  9.  
  10. concommand.Add("comodo_teleport", comodo_admin_teleport)

Zusätzliche Notizen

  • Man kann in Garry's Mod das Kommando auf eine Taste, z.B. "komma", binden: bind "," "comodo_teleport"
  • Koordinaten können auch anhand eines anderen Objektes herausgefunden werden.
  • Auch eine Idee ist es, die Koordinaten im Hammer Editor herauszuschreiben.
  • Der Blickwinkel kann auf die selbe Art und Weise eingestellt werden.
  • Man kann die Koordinaten auch Anhand des GPS Tools von dem Addon Wire auslesen.