Direkt zum Hauptinhalt

Eventscripts

EnthältBei den ersten vier Dateien handelt es sich um Eventscripts, die (falls vorhanden) automatisch zu Beginn einer Mission ausgeführt werden. Des Weiteren stehen zum Zeitpunkt der Ausführung dieser Scripts die in der Mission eingestellten Parameter bereits zur Verfügung.

Im Folgenden schauen wir noch auf zwei Eventscripts, die beim Eintreten eines bestimmten Falles ausgeführt werden. Für alle Befehle,diese Scripte gilt jedoch, dass sie viel mehr Nutzungsmöglichkeiten haben, als ich hier aufführe. Es hängt einfach davon ab, was ihr umsetzen wollt. 

Sämtliche Eventscripts müssen dazu im Hauptverzeichnis eurer Mission vorliegen, um ausgeführt zu werden.

init.sqf

Die Anweisungen dieses Scripts werden beim Starten der Mission für jeden ausgeführt (Server und Client). Dies gilt auch für JIP. 

Nutzen:
- statische Variablen definieren, die jejedem nachClient Typ

- aufund dem Server bekannt sein müssen.

- Scripte ausführen, die auf jedem Client und beidem allenServer Clientslaufen müssen (init.sqf)VORSICHT, ausgeführtzu werden müssen/sollen. Die gängigste Datei.
Einzelne Codeblöcke lassen sich z. B. mit der Präfix "if isServer"viele oder "ifdie (!isServer)"falschen oderSkripte mitführen "ifzu hasInterface"drastischen bzw.Performance "if (!hasInterface)" oder gezielt einschränken (Ausrufezeichen heißt "NICHT").Einbrüchen)

initServer.sqf

-Dieses Script wird nur auf dem Server ausgeführt, es ist daher das einzige der Eventscripts, welches globale Befehle beinhalten sollte (initServer.sqf)da ausgeführtder werden;Server nie JIPed - also ein laufendes Spiel “joint”). 

- nur bei den Clients (initPlayerLocal.sqf) ausgeführt werden.Nutzen:

Achtung:

  • Skripte Wasausführen, da reingehört, hängt von der Lokalität des jeweiligen Kommandos und vom gewünschten Effekt ab! Manches muss, anderes kann global ausgeführt werden - manches wiederum nurdie auf dem Server,Server wiederumlaufen anderessollen;
  • Variablen nur bei den Clients.

    Siehe auch:
    https://community.bistudio.com/wiki/isServer

    Alle init-Dateien gehört in den Hauptordner der Mission.

  • globale Befehle wie setDamage o.ä. ausführen;
  • gesetzte Parameter verarbeiten.

 

initPlayerLocal.sqf

hängt

Dieses linksScript an.wird Einfachbei jedem Spieler lokal ausgeführt, der sich mit dem Server verbindet. Daher wird dies für alle Spieler am Beginn der Mission und jeden, der noch dazukommt, ausgeführt. 

Nutzen:

  • addAction für jeden Spieler hinzufügen;
  • in einem TvT den verschiedenen Seiten verschiedene Marker; anzeigen, oder verschiedene Briefing-Einträge erstellen
  • Loadouts je nach BedarfKlasse umbenennen.anpassen;
  • gesetzte Parameter verarbeiten.

 

initPlayerServer.sqf

Dieses Script wird für jeden Spieler, der der Mission beitritt, auf dem Server ausgeführt. 

Nutzen:

  • Spieler für Zeus sichtbar machen

 

Anmerkungen:

Die Init.sqf ist eine Mischung aus der InitServer.sqf und der InitPlayerLocal.sqf. Man sollte daher entweder die Init.sqf mit den nötigen if(isServer) oder if(!isServer) benutzen, oder es auf die InitServer.sqf und die InitPlayerLocal.sqf aufteilen. Von einer Mischung ist aus Gründen der Lesbarkeit abzusehen.

Pro Init.Sqf:

  • Alles in einer Datei

Pro InitServer.sqf, InitPlayerLocal.sqf:

  • Sofortiger Überblick was für den Server und was für Spieler gedacht ist;
  • geringere Fehleranfälligkeit bei JIP-Spielern.

 

onPlayerKilled.sqf

Dieses Script wird jedesmal ausgeführt, wenn ein Spieler stirbt. Es gibt unzählige Möglichkeiten, dies zu nutzen - sei es mit Abzug von Tickets (wie im Liberation-Spielmodus) oder auch dem Verändern der Respawnzeit. Hier ist vieles möglich. Beachtet jedoch, dass ihr in diesem Skript KEINE Änderung vornehmen könnt, die die neu gespawnte Einheit betreffen (zumindest solltet ihr es nicht tun).

Nutzen:

  • Respawnzeit anpassen;
  • Leiche verschwinden lassen;
  • Loadout der verstorbenen Einheit speichern.

 

onPlayerRespawn.sqf

Dieses Script wird jedesmal ausgeführt, wenn ein Spieler respawnt. Hier könnt ihr seine Ausrüstung anpassen, seinen Standort verändern und vieles mehr.

Nutzen:

  • Respawnposition verändern
  • Loadout anpassen
  • Neue Aufträge per Hint verteilen