04.10.2010, 09:20 | #2 (permalink) |
Registriert seit: 12.05.2009
Ort: FRA
Beiträge: 1.621
|
So evtl.
Code:
Player addRating 100
__________________
My Youtube Channel "Before you diagnose yourself with depression or low self esteem, first make sure you are not, in fact, just surrounded by assholes!" William Gibson |
04.10.2010, 09:46 | #4 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Mit dem EventHandler "Killed" den du in die Initzeile der bestimmten Spielfigur einsetzt:
TempNull = this addEventHandler ["killed", {_this exec "DeinSkript.sqs"}] Wenn die Spielfigur tot ist wird das Skript aufgerufen. Als Parameter werden an das Skript übergeben: [Toter, Killer] |
04.10.2010, 09:52 | #5 (permalink) |
thx das werd ich heute abend mal testen
__________________
|
|
04.10.2010, 11:28 | #6 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Zum Testen ohne Skript kannst du diese Zeile in die Initialisierung der Figur eingeben:
TempNull = this addEventHandler ["killed", {titleText [format["%2 hat %1 getötet!",name (_this select 0),name (_this select 1)],"plain",2]}] Damit bekommst du eine Meldung wer den gekillt hat. Für eine Multiplayer-Mission ist zu beachten, dass der Befehl lokal ist. Aber weil er in der Initialisierungszeile steht, sollte die Ausführung eigentlich bei allen Spielern erfolgen. Dann könntest du ohne Skript auch die Punktevergabe in die Zeile hinzufügen. |
04.10.2010, 11:34 | #7 (permalink) |
Und....
TempNull = this addEventHandler ["killed", {titleText [format["%2 hat %1 getötet!",name (_this select 0),name (_this select 1)],"plain",2,%1 addRating 100]}] Würde mir dann zu dem entsprechenden Spieler + 100 Punkte bescheren? Oo Oder kann ich das so nicht dahinterhängen? thx!
__________________
|
|
04.10.2010, 12:30 | #8 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Ich würde 500 Punkte vergeben. 200 Punkte gibt es bereits für einen Soldaten. Die Figur muss aber feindlich sein, sonst setzt es Minuspunkte. Oder du gibst z.B. für einen Zivilsten 900 Punkte, wovon dir -weil Zivilist- 400 abgezogen werden.
Deine Zeile ist falsch. Sie muss so aussehen: TempNull = this addEventHandler ["killed", {titleText [format["%2 hat %1 getötet!",name (_this select 0),name (_this select 1)],"plain",2]; if(_this select 1==player)then{_this select 1 addRating 500}}] Das ist die Ergänzung: ...; if(_this select 1==player)then{_this select 1 addRating 500}... Die if Abfrage stellt sicher, dass die Punkte der Killer nur einmal bekommt. Geändert von Vienna (04.10.2010 um 13:39 Uhr). |
08.11.2010, 08:13 | #10 (permalink) |
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
|
Hallo Vienna Habe mit Interesse die oben beschriebene Lösung zum Ausgleich der Minuspunkte bei Zivilisten gelesen. Da ich mich mit den Befehlen/Scripten (noch) nicht so gut auskenne, hätte ich da noch eine Frage: Wie muss die Zeile aussehen, wenn man die Textanzeige weglassen will? Vielen Dank und Gruss Wolkenbeisser |
09.11.2010, 08:08 | #12 (permalink) |
Registriert seit: 05.11.2010
Ort: Schweiz
Beiträge: 297
|
Vielen Dank für die schnelle Antwort, Vienna In meiner Coop geht es nämlich darum einen korrupten Politiker (eine Art Mafiaboss) auszuschalten. Nun kann ich den Spieler, der ihn erwischt auch entsprechend belohnen. :-) |
19.03.2011, 09:41 | #13 (permalink) |
Registriert seit: 19.09.2010
Beiträge: 35
|
Dazu habe ich auch noch eine frage:
Wie bekomme ich die Info als Gruppen- bzw. Sidechat von dem jeweiligen Killer ausgegeben? Ich hab es getestet mit (geht nicht): Code:
{ if (side _x == east) then { _x allowfleeing 0; _x addEventHandler ["Killed", {if(_this select 1==player)then {player sidechat [format["%1 was killed by %2",name (_this select 0),name (_this select 1)],"plain",2]}}] }; } foreach allunits; Code:
{ _x setvariable ["bis_nocoreconversations",true]; if (side _x == east) then { _x allowfleeing 0; _x addEventHandler ["Killed", {if(_this select 1==player)then {titleText [format["%1 was killed by %2",name (_this select 0),name (_this select 1)],"plain",2]}}] }; } foreach allunits; |
19.03.2011, 10:23 | #14 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
Die erste Variante kann nicht funktionieren, weil deine Syntax vom Befehl sideChat falsch ist. Ein "plain" hat dort nichts verloren!
Die zweite Variante erweitere mal testhalber mit _x addEventHandler ["Killed", {if(_this select 1== vehicle player)... |
20.03.2011, 01:39 | #16 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Hast du beim Aufruf von Arma auch die Ausgabe der Skript-Errors aktiviert?
"C:\....\arma2.exe" -nosplash -showscripterrors Du musst dir angewöhnen ordentlich zu testen, wenn was nicht funktioniert. z.B. bei der Abfrage so: Code:
_x addEventHandler ["Killed", {if(_this select 1==player)then{hint "JA"}else{hint "NEIN"}}]; Nun probierst du die Abfrage die dir Buliwyf empfohlen hat: Code:
_x addEventHandler ["Killed", {if(_this select 1 == vehicle player)then{hint "JA"}else{hint "NEIN"}}]; Jetzt erst fügst du deine gewünschten Befehle korrekt in die Klammern ein. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Kill it - kill it with fire... | MarcusErgalla | Offtopic | 10 | 09.08.2010 05:59 |