PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Waffe verschwindet per Auslöser


Christian
20.07.2008, 18:52
Hei Ho,

Ich habe eine Frage zu dem verschwinden von Waffen durch einen Auslöser.
Jeder kennt sicherlich Die Tutorialmission "Waffentraining".In dieser Mission wird jedesmal nachdem man eine Bahn verlassen hat wird einem die Waffe weggenommen. Sowas wollte ich bei meiner Mission auch einbauen. Ich habe einen Auslöser gesetzt der durch BLUFOR aktiviert wird und bei Aktivierung removeAllWeapons Name drinne stehen hat. So weit so gut würde es klappen, nun ist diese Mission aber für mehrere Leute gedacht und somit würde dieser Befehl dann mehrmals in der Aktivierungszeile stehen und würde wenn nur Einer durch den Auslöser geht allen die Waffen wegnehmen. Ich habe es auch schon durch ein kleines NewbieScript versucht doch da ist es nicht anders...
Es soll immer nur dem die Waffe weggenommen werde der durch den Auslöser geht.:komisch:

Könntet ihr mir da behilflich sein?

Gruß
Christian

S4mmy
20.07.2008, 21:09
Hey Christian,
beim Turorial ist es nur 1ne Persohn also der Player dann würde das mit nem Script so gehen habs mir net angeschaut aber evtl. mit :

_soldier = _this select 0

removeAllWeapons _soldier
exit

So einfach wär das. Bei mehreren hab ich grad keine Ahnung bin extrem Müde. Könntest mehrere Auslöser erstellen die mit den einzelnen Soldaten verbinden und übereinander setzen :confused:.
Ich denk ich konnt nicht wirklich helfen aber hoffe ein bisschen.
Ich geh jetzt schlafen. Gute Nacht. *GÄÄÄHN*

Vienna
20.07.2008, 21:19
Gib dem Auslöser einen Namen und mach es mit dem Befehl "distance"

z.B.

"Name": xxx
bei "Aktivierung": keine
bei "Bedingung": player distance xxx < 10

Als Hilfe für die Plazierung des Auslösers kannst du den blauen Radius gleich dem Wert in der Bedingung einstellen.

pspsps91
20.07.2008, 22:30
bei Aktivierung: {removeAllWeapons _x}forEach thislist

Funktioniert dann allerdings auch mit KI, falls die durchlaufen.

Christian
20.07.2008, 22:45
Vienna und S4mmy eure beiden Vorschläge haben leider nicht Funktioniert.

@Pspsps91: Bei KI ist es egal, hauptsache ist das meine eigene Waffen nicht verschwinden wenn andere Spieler durchlaufen.

Christian
20.07.2008, 22:50
Danke Pspsps es hat funktioniert. Genau so wollte ich es haben.:D:daumen:

Vienna
21.07.2008, 01:01
Ich weiß nicht was du da genau programmiert hast. Aber es muss sowohl die "forEach" als auch die "distance" Version funktionieren.

Allerdings hat die "forEach" Version den Nachteil, dass, wenn sich bereits eine Einheit im Auslöserbereich befindet, einer weiteren den Bereich betretenden Einheit die Waffe nicht mehr abgenommen wird. Sie behält auch die Waffe, wenn die erste Person den Auslöserbereich verlässt. Der Auslöser wird erst wieder dann "scharf", wenn sich im Bereich niemand mehr aufhält.

Bei "distance" ist egal wie viele nacheinander den Distanzbereich betreten und sich dort gemeinsam aufhalten. Jedem Spieler im Bereich wird die Waffe abgenommen. Das wirkt aber nicht auf KI-Einheiten, für diese müßte man anders vorgehen.

Mr-Murray
21.07.2008, 07:38
Hallo Christian
Das ist doch schon mal eine etwas ausführlichere Description deines Problems. Es ist manchmal wichtige
zu wissen, was der Fragende vor hat, damit man schnell zu einer Lösung kommt.


Viele Grüße

Mr-Murray

Christian
21.07.2008, 10:43
Ich habe aber soweit alles eingegeben wie du es beschrieben hast und es hat leider nicht funktioniert. :komisch:

Mr-Murray
21.07.2008, 11:44
An wen ist deine Antwort gerichtet? Vienna?

Christian
21.07.2008, 16:01
Ja genau an Vienna^^. Hätte ich wohl mit hinschreiben sollen.:D

Vienna
21.07.2008, 19:17
Bei Aktion musst du natürlich noch reinschreiben: removeAllWeapons player

Wenn du bei "Bedingung" keine Abfrage machst welche mit dem Auslöser in Verbindung steht, dann "missbrauchst" du den Auslöser als kleines "Skript". Das hat auch den Vorteil, dass es im Mehrspielermodus publik ist, also automatisch für alle Spieler sichtbar.

Ändert sich aber in einem Auslöser der Inhalt von Variablen und wird dieser Auslöser nur bei einem der Spieler aktiv, dann musst du das im Mehrspielermodus mit publicVariable "Variablename" den anderen Spielern mitteilen, falls es für diese von Bedeutung ist.

Christian
22.07.2008, 11:04
Ahh super, jetzt hab ichs verstanden, hatte nur einen kleinen Fehler drin. Super dank dir, mit diesem Befehl wird das ganze natürlich noch etwas besser.:daumen:

Christian
25.07.2008, 12:06
Ok ich bins nochmal, der Befehl player distance NAME < 10 hat nicht funktioniert weil ich mehrere auslöser mit diesem Befehl brauche und da hat es Probleme gegeben. Aber nach ein bsichen nachdenken habe ich bei deaktivierung this removeAllWeapons player eingegeben und dann ging es. Das war auch schonn alles.:D

Mfg Ich Christian

Mr-Murray
25.07.2008, 12:51
Das hätte ich dir auch gleich sagen können. So hätte ich es gemacht!
Aber wieso das Rad eigentlich immer neu erfinden? Eine von den originalen ArmA-Trainingsmissionen, der Schießstand, enthält sowas.


Viele Grüße

Mr-Murray

Christian
25.07.2008, 18:01
Dan sag es mir beim nächsten mal doch sofort.^^ Die trainingsmission hatte ichmir auch angeguckt.