KI Kontrolle
Hi,
in einer Mission möchte ich eine bestimmte KI festnehmen. Ich möchte an diese KI rangehen mit dem Mausrad ein "AddAction" befehl ausführen und diese KI soll dann bei mir, oder einem anderen spieler der den befehl ausgeführt hat, gebunden also in mit ihm in einer Gruppe sein. Kennt da jemand etwas oder hat eine Idee? |
Auslöser
Code:
Achse A und B: 0 |
gibt es auch sowas mit Addaction befehl, also das ich mit dem mausrad jemanden in die gruppe holen kann?
|
Das erfordert aber ein Skript, mit Namen und Code wie unten angeführt.
In die Initialisierungszeile der zu fangenden KI kopieren: this addAction["KI gefangen nehmen","Gefangen.sqf",[],1,true,true] Skript Gefangen.sqf Code:
if(isNil "GefangeneKI") then |
gott ist das geil, vielen dank!
|
Man könnte es auch so einstellen, dass der Gefangene ab einer bestimmten Reichweite <5,<10 oder was auch immer automatisch der Gruppe joint ohne angesprochen zu werden.
|
Ja ich bin es wieder:D
Und wieder komme ich mit einer frage: Ich habe nun diese zivilperson gefangengebenden. ( wie oben beschrieben mit dem addaction Befehl + Script) aber wie werde ich den wieder los? Ich will ja nicht die ganze zeit mit einem Zivilisten/ gefangen rumlaufen ich will ihn irgendwo hinbringen und da loswerden entweder mit Auslöser oder wieder mit einem extra Script hat da jemand eine Lösung für? Ja ich weiß wieder so eine dumme frage :ugly: |
So wirst du ihn wieder los: [NameGefangener] join grpNull; Diesen Befehl kannst du z.B. in einen Auslöser, der mit dem Gefangenen verbunden ist, eingeben. Beim Betreten durch den Gefangenen wird der Befehl dann ausgeführt.
Informationen zu den Befehlen findest du hier: http://community.bistudio.com/wiki/C...Commands_ArmA2 |
Frage, kann ich mit dem Script auch mehrere Personen "Einfangen"? Wie müsste ich das Script verändern. Leider hab ich keine ahnung davon =(
|
Für jede weitere KI kopierst du das Skript. Dabei vergibst du eine "fortlaufende Nummer":
im Skriptnamen, dreimal im jeweiligen Skript und einmal im Aktionsaufruf. Skriptname: Gefangen1.sqf Code:
if(isNil "GefangeneKI1") then Hier ist die "fortlaufende Nummer" 1 und fett hervorgehoben. |
Das geht aber auch mit nur einem Aufruf und ohne 100 Script Dateien:
Code:
/* Gibt es eine Möglichkeit, womit man den Pfad oder zumindest den Dateinamen des Scripts herausfinden kann? |
Bei Aufruf: temp = [Player, [KI1, KI2, KI3]] execVM "Gefangen.sqf"; steht der Pfad in temp.
So schwer wollte ich es mir eigentlich nicht machen. Das Skript mit der Doppelfunktion und dem EventHandler ist natürlich eine bessere Lösung. Allerdings ohne Kommentare nicht leicht zu verstehen. Ich habe versucht das übersichtlicher zu gestalten: Code:
//KIs an den Spieler binden. Skript mit Doppelfunktion!! |
Zitat:
|
Du willst in einem Skript nach einer Datei suchen? Da muss dir ja zumindest der Dateiname bekannt sein. So einen Suchen-Befehl habe ich noch nicht gesehen.
Wenn das Dateien aus der eigenen Mission sind, dann nicht in einem Unterordner speichern. So benötigt man kein Pfad-Angabe. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias