Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 12.08.2012, 09:37   #1 (permalink)
Newbie
 
Benutzerbild von flex14
 
Registriert seit: 03.12.2009
Ort: Österreich
Beiträge: 30
Standard MP Deathmatch Score

Hallo,

ich möchte für meinen Freund und mich, eine Team-Deathmatch Mission erstellen.

Ich kämpfe mit meinem Freund und der KI In der BLUFOR gegen die KI der OPFOR Seite. Doch Ich weiß nicht wie ich es schaffe das wir und die KI für jeden Kill einen Punkt bekommen.

In der Description.ext steht folgendes:
Code:
AIKills=1;
disabledAI=1;

respawn=3;
respawnDelay=6;
respawnVehicle=3;

titleParam2 = "Score to win:";
valuesParam2[] = {10000, 5, 7, 10, 15, 20, 25, 30};
defValueParam2 = 5;
textsParam2[] = {"Unlimited", 5, 7, 10, 15, 20, 25, 30};
Init.sqs :
Code:
Westscore = 0
Eastscore = 0
und dann hab ich noch 3 Auslöser:

Auslöser1:
Name: Punktende
Bedingung: (Param2 < 10000 and (({score _x >= Param2}) count [s1, s2, s3, s4, s5, s6, s7, s8] > 0))
Aktivierung: Ende=true

Auslöser2:
Typ: Ende1
Bedingung: Ende

Auslöser3:
Funk Alpha
Titletext [format [localize "STR_MP_STATUS", WestScore, EastScore], "Plain down"]

Den Soldaten habe ich die Namen s1,s2,s3,... gegeben.

Ich schätze Ich muss irgendwas mit "WestScore = Westscore +1" machen.

Ich hoffe Ihr habt eine Lösung für das Problem.

Mit freundlichen Grüßen.

Geändert von flex14 (12.08.2012 um 10:42 Uhr).
flex14 ist offline   Mit Zitat antworten
Alt 12.08.2012, 12:54   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Für KI funktioniert die Score-Abfrage nicht. Die ist nur für Spieler gemacht. Wenn du Abschüße der KI zählen möchtest wird das etwas komplizierter und nicht mit ein paar Auslösern machbar sein.

Du müßtest jeder Unit einen killed EVH geben mit dem dann ausgewertet wird wenn jemand einen anderen abgeschoßen hat. Anschließend das Ergebniss als Variable ausgeben lassen und in deinem Trigger durch den Befehl Score ersetzen. Sollte eigentlich auch relativ einfach möglich sein dank des MPkilled EVH.


Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 13.08.2012, 15:22   #3 (permalink)
Newbie
 
Benutzerbild von flex14
 
Registriert seit: 03.12.2009
Ort: Österreich
Beiträge: 30
Standard

vielen Dank für deine Antwort.

Ich kenn mich leider nicht so gut mit dem Editor aus. Kannst du mir so ne Art Schritt für Schritt Anleitung oder so etwas ähnliches geben.

Ich habe es mal so probiert:

ich hab bei den BLUFOR einheiten in die Initzeile geschrieben:

this addMPEventHandler ["MPKilled",{EastScore = Eastscore +1;}];

und bei den OPFOR:

this addMPEventHandler ["MPKilled",{WestScore = Westscore +1;}];

Das Punktelimit habe ich auf 5 gestellt.
Es hat die Punkt gezählt aber nur bis es "West 3: 2 East" stand. Daraufhin habe ich 5 Kills gemacht und die Runde war vorbei.


Mit freundlichen Grüßen Flex14!
flex14 ist offline   Mit Zitat antworten
Alt 13.08.2012, 16:31   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Das liegt daran, dass die bereits einmal gestorbenen Einheiten bzw. wieder respawnten Einheiten diesen EVH wieder verloren haben. Wenn du eine Einheit abschießt die bereits einen respawn hatte wird dann die Score nicht mehr gezählt.

Du mußt also dafür sorgen, dass jede neue Einheit wieder diese Zeile bekommt. Nur bei einem Spieler ist das nicht nötig. Aber da wird es schonwieder kompliziert, weil du nun das auch noch prüfen müßtest. Nimm also am besten jeder toten Einheit auch den EVH wieder weg damit es sich nicht doppelt. Etwa so:

Code:
this addMPEventHandler ["MPKilled",{EastScore = Eastscore +1; this removeAllMPEventHandlers "killed"}];

Die Frage ist jetzt nur noch wie wir deinen Einheiten einen neuen EVH bei respawn geben. Wie gestaltest du denn zur Zeit den KI Respawn?
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 13.08.2012, 16:39   #5 (permalink)
Newbie
 
Benutzerbild von flex14
 
Registriert seit: 03.12.2009
Ort: Österreich
Beiträge: 30
Standard

Für den Respawn benutz ich:

AI respawn group and move to WP script - Templates - Armaholic
flex14 ist offline   Mit Zitat antworten
Alt 13.08.2012, 16:53   #6 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Gut, dann öffne die AI_respawn.sqf und schreibe in die vorletzte Zeile folgendes:

Code:
if (side _group == WEST) then {
    _leader addMPEventHandler ["MPkilled",{eastscore = eastscore + 1; (_this select 0) removeAllMPEventHandlers "MPkilled"}];
} else {
    _leader addMPEventHandler ["MPkilled",{westscore = westscore + 1; (_this select 0) removeAllMPEventHandlers "MPkilled"}];
};

Sollte so passen.
btw: hab noch einen kleinen Fehler in der Codezeile meies letzten Posts. Die Zeile sollte natürlich wiefolgt lauten:
Code:
this addMPEventHandler ["MPkilled",{westscore = westscore + 1; (_this select 0) removeAllMPEventHandlers "MPkilled"}];
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 13.08.2012, 17:29   #7 (permalink)
Newbie
 
Benutzerbild von flex14
 
Registriert seit: 03.12.2009
Ort: Österreich
Beiträge: 30
Standard

Ok funktioniert.

Das letzte Problem ist jetzt allerdings noch, dass nur meine Punkte gewertet werden.

Ich schätze ich muss bei diesem Auslöser die Bedingung ändern:

Auslöser1:
Name: Punktende
Bedingung: (Param2 < 10000 and (({score _x >= Param2}) count [s1, s2, s3, s4, s5, s6, s7, s8] > 0))
Aktivierung: Ende=true

Nur weiß ich nicht zu was ich die Bedingung ändern muss.

Vielen Dank für deine Hilfe.
flex14 ist offline   Mit Zitat antworten
Alt 13.08.2012, 17:44   #8 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Du mußt statt Score die Variable EastScore bzw. WestScore eintragen. Erstelle dazu noch einen 2. Trigger und setzte ihn auf Ende2 statt Ende1.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 13.08.2012, 21:47   #9 (permalink)
Newbie
 
Benutzerbild von flex14
 
Registriert seit: 03.12.2009
Ort: Österreich
Beiträge: 30
Standard

Also ich hab in den 2 Auslösern folgendes hineingeschrieben:

1 Auslöser
typ: Ende 1
Bedingung: (Param2 < 10000 and (({Eastscore _x >= Param2}) count [s6, s7, s8] > 0));
2 Auslöser
type: Ende 2
Bedingung: (Param2 < 10000 and (({Westscore_x >= Param2}) count [s1, s2, s3, s4, s5] > 0));

daraufhin bekam ich eine Fehlermeldung das ein Leerzeichen oder so nicht passt. Dann hab ich das Leerzeichen zwischen East/Westscore und _x entfernt:

(Param2 < 10000 and (({Eastscore_x >= Param2}) count [s6, s7, s8] > 0));

und konnte ohne Fehlermedlung auf "ok" drücken.

Leider werden die Punkte immer noch nicht gewertet.
Tut mir Leid falls ich zuviel arbeit mache.

Geändert von flex14 (13.08.2012 um 21:49 Uhr).
flex14 ist offline   Mit Zitat antworten
Alt 14.08.2012, 07:36   #10 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

1. Auslöser:
Param2 < 10000 && (Eastscore >= Param2)

2. Auslöser:
Param2 < 10000 && (Westscore >= Param2)
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Antwort

Stichworte
mehrspieler, todesspiel punktestand


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie mache ich eine einfache Deathmatch map? fertigo Editing & Scripting 6 15.06.2011 19:04


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116