Erweiterte Serverbefehle

Durch die Entities point_servercommand und point_clientcommand lassen sich Server und Client in einer Map direkt antriggern.

Beispiel:

In der Map befindet sich ein point_clientcommand. Ein func_button in der Map triggert ihn mit der Einstellung:

„OnPress - Clientcmd - Command - crosshair 0“, und das Fadenkreuz der Spieler, die sich im Moment auf dem Server befinden, verschwindet.

Da es in Halflife² Enginebedingt sehr viele Konsolenbefehle gibt, kann man durch diese Methode an den Configs von Server und Client richtig massiv herumspielen.

Anmerkung - in diesem Tutorial finden sich einige Konsolenbefehle. Man kann sie im Spiel eingeben, indem man zuvor in der Steam-Spieleliste das entsprechende Spiel rechtsklickt, Properties auswählt, auf den Button „Set Launch properties“ drückt und in die erscheinende Zeile “-console“ schreibt. Startet man mit diesem Parameter das Spiel, ist das Konsolenfenster geöffnet und man kann die entsprechenden Befehle eingeben.

Zeitlupe

Wir Brauchen:

  1. point_clientcommand (name: Clientcmd)
  2. point_servercommand (name: Servercmd)

Entweder baut sich der Host hier ein kleines Script (siehe unten) oder das Event wird wieder irgendwo in der Map getriggert.

TODO Bild muss ersetzt werden.

Hier sieht man, dass zuerst sv_cheats auf 1 gesetzt werden muss, damit der Befehl funktioniert. Host_Timescale 0.4 ändert die Spielgeschwindigkeit auf zwei Fünftel der normalen, ein schnelles sv_cheats 0 danach verhindert, dass Clients cheaten können (zB mit noclip oder god). Um den Effekt wieder aufzuheben, muss host_timescale einfach wieder auf 1.0 gesetzt werden. Anmerkung: Host_Timescale kann man auch auf größere Werte als 1.0 setzen, um die Spielgeschwindigkeit zu erhöhen.

Thirdperson

(Nur Half Life 2 und cs:source)

Lässt sich auch ganz einfach umsetzen (wir brauchen natürlich wieder die beiden Cmd-Entities):

TODO Bild muss ersetzt werden.

cam_idealyaw ist standardmäßig auf 90 gesetzt, deshalb sieht man den Spieler auch von der Seite, wenn man einfach „Thirdperson“ eingibt. 0 setzt die Thirdperson-kamera hinter den Spieler. Es gibt auch den Befehl cam_idealdist (Standard auf 64, 128 ist ein guter Richtwert), mit dem man die Entfernung zwischen Kamera und Spieler angeben kann.

Das sieht dann so aus:

TODO Bild muss ersetzt werden.

Scripting

Nun zum Scripting. Mapunabhängig kann man diese Befehle viel freier einsetzen, zum Beispiel bei gedrücktem Mausrad Zeitlupe an-, beim Loslassen wieder ausschalten. Das Script hierzu lautet (in die konsole eingeben oder in die config.cfg im ordner
steamapps/benutzer/spiel/spielabkürzung/cfg/ schreiben):

alias +slowmo "host_timescale 0.4;sv_gravity 400"
alias -slowmo "host_timescale 1.0,sv_gravity 600"


bind mouse3 "+slowmo"

sv_cheats muss im Vornherein auf 1 geschalten werden, weil host_timescale als cheat zählt. Ferner ist die Standardgravitation in cs:s 800, nicht 600, also muss man hier die zweite Zeile entsprechend ändern.

Großes Script für eine Thirdpersonmap

sv_cheats 1       ->  Cheats sind aktiviert
thirdperson       ->  Thirdpersonansicht
cam_idealyaw 0    ->  Kamera-
cam_idealdist 128 ->  Einstellungen
crosshair 0       ->  Fadenkreuz ausgeschalten

alias bindatt "bind mouse2 +attack2"                        ->  alias für den Befehl drunter
alias +ego "firstperson;crosshair 1;bindatt"                ->  Solange die Taste, auf die +ego gebunden ist, gedrückt ist, sieht man
alias -ego "thirdperson;crosshair0;-attack2;unbind mouse2"  ->  aus der Ego-perspektive und kann die Rechte Maustaste benutzen.

bind "taste" "+ego"
Die Verwendung aller Dokumente einschließlich der Abbildungen ausschließlich zu nichtkommerziellen Zwecken. Verbreitung des Dokuments auf Speichermedien, (insbesondere auf CD-ROMs als Beilage zu Zeitschriften und Magazinen oder sog. "Mission-Packs" etc.) ist untersagt.
 
half-life_2/tutorials/rumspielfoo.txt · Zuletzt geändert: 2011/05/25 10:03 von Adrian_Broher