Tutorial:Kicksystem per Chatnachricht

Aus Mappedia

Wechseln zu: Navigation, Suche

In diesem Tutorial wird erklärt, wie man ein einfaches Kicksystem erstellt, was den einfachen Rauswurf von Spielern ermöglicht. Dabei hat aber nur ein Spieler, der von vornerein feststeht, die Möglichkeit zu kicken.

[bearbeiten] Die Idee

Das angestrebte System basiert auf folgender Idee: Wenn Spieler 1 als Chatnachricht -kick, gefolgt von der Farbe oder dem Namen des zu kickenden Spielers eintippt, wird eben dieser aus dem Spiel geworfen. Da das Rauswerfen aus dem Spiel in Warcraft nicht explizit enthalten ist, beenden wir einfach das Spiel für den gekickten Spieler als verloren.

[bearbeiten] Umsetzung

Die Umsetzung ist genau so einfach wie die Idee:

Zuerst erstellen wir einen neuen Trigger den wir Kick Spieler 2 nennen. Wir füllen den Trigger nun mit folgendem Inhalt (erklärung unten)

Ereignisse
Spieler - Spieler 1 (Rot) types a chat message containing -kick as Ein Teil-String
Bedingungen
((Entered chat string) Gleich -kick blau) or ((Entered chat string) Gleich (-kick + (Name of Spieler 2 (Blau))))
Aktionen
Spiel - Defeat Spieler 2 (Blau) with the message: Du wurdest gekickt ...

Erklärung:

Im Abschnitt Ereignisse wird abgefragt ob Spieler 1 eine Chatnachricht geschrieben hat, die -kick enthält. Im Abschnitt Bedingungen wird abgefragt ob er entweder -kick blau oder /kick [Name von Spieler 2] eingetippt hat. Stimmt das, hat Spieler 2 im Abschnitt Aktionen mit der Nachricht "Du wurdest gekickt ..." das Spiel verloren und muss es verlassen.

Nach dem gleichen Prinzip kann man das System auf die anderen Spieler Farben/Namen übertragen.

[bearbeiten] Dynamischere Variante

Kicked den Spieler dessen Namen eingegeben wurde.

Ereignisse
Spieler - Spieler 1 (Rot) types a chat message containing -kick as Ein Teil-String
Bedingungen
Aktionen
For each (Integer A) from 1 to 12, do (Actions)
Schleifen - Aktionen
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
'IF'-Bedingungen
Or - Any (Conditions) are true
Bedingungen
(Substring((Entered chat string), 6, (Length of (Entered chat string)))) Gleich (Name of (Player((Integer A))))
'THEN'-Aktionen
Spiel - Defeat (Player((Integer A))) with the message: Du wurdest rausgewo...
Einheitengruppe - Pick every unit in (Units in (Playable map area) owned by (Player((Integer A)))) and do (Actions)
Schleifen - Aktionen
Einheit - Kill (Picked unit)
'ELSE'-Aktionen

Erklärung: Sobald Spieler Rot -kick (Name) eingibt, sucht der Trigger nach dem Spieler dem der Name zugehört (mit einer Schleife). Sobald er ihn gefunden hat, wirft er den Spieler raus und töted seine Einheiten.

Wenn man nun noch in einem StringArray die Namen aller Spielerfarben speichert gehts auch hier wieder dynamisch mit schleife. Ausserdem kann man es auch mit Spielernummer machen, da man diese einfach von String auf Int umwandeln und dann den Spieler kicken kann.

Persönliche Werkzeuge
Besucherstatistiken
kostenlose Statistik
Seit dem 25. Oktober 2006 18:00 Uhr