16.02.2009, 19:55 | #1 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
Trigger an ki binden
hi,
hab so meine probleme, und zwar will ich das ein Auslöser erst ausgelöst wird, wenn man eine Person gefunden hat, da die Person aber durch die gegend rennt, muss der Trigger ihr folgen, aber wie mache ich das? laut editing guide so: triggername setPos getPos Name also das verstehe ich so: "name der Triggers" setpos getpos "Name der Person" nur wo gebe ich das ein ? im trigger ? in der person oder in einer .sqs ? das habe ich noch nicht raus... danke für die schnellen antworten |
17.02.2009, 00:23 | #2 (permalink) |
in ein Script (sqs) und zwar als Schleife
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
17.02.2009, 07:13 | #4 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
aha... werde ich nachher mal ausprobieren....aber schonmal danke dafür...
eine andere frage: Wie kann ich es schaffen das Zivilisten oder auch gegner auf den Spieler warten bis sie aktiv werden ? also das sie nicht wegrennen bzw rumlaufen etc. bevor ich da bin Geändert von aXXIs262 (17.02.2009 um 07:30 Uhr). |
17.02.2009, 08:30 | #5 (permalink) |
Hier ist dann noch mal ne Sqf variante.
while {true} do{ "name der Triggers" setpos getpos "Name der Person"; if(!alive "Name der Person" || Variable)exitwith{}; sleep 0.1; }; if(true)exitwith{}; Ich gehe mal davon aus das du ne Publicvariable ausgibst wenn die Person gefunden ist,sonst das || variable rausnehmen. öffnen kannst du das ganze in der Init der Einheit mit : handle=[] execVM "(name des script).sqf". |
|
17.02.2009, 18:57 | #6 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Den Auslöser brauchst du nicht nachsetzen! Erstelle einen Auslöser in der Größe des Bereiches in dem sich die Zielperson bewegen kann.
Nehmen wir an die Zielperson ist von OPFOR, bewegt sich in einen Radius von 500m und soll von BLUFOR gefunden werden. Achse A:500 Achse B:500 Aktivierung: [BLUFOR] [Einmal] [Vorhanden] Bedingung: call{_a=false;{if(NameZielperson distance _x < 10)then{_a=true}}forEach thislist;_a} Bei Akt.: Deine Aktion wenn die Zielperson einen Abstand zu einem Gegner von unter 10m hat ..... |
18.02.2009, 07:29 | #7 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
ich habe nahc einigen versuchen nun den Script von "Garstiger Hobbit" genommen, danke dafür, den anderen auch nen riesen dank
ich habe jetzt so einiges in meiner Mission gebastelt, nur leider laufen manchmal einige KI's verwirrt durch die gesamte map, vor allem meine KI die gesucht werden soll, die rennt manchmal von dem Ort, wo ich sie platziert habe weg, und das sehr weit.... Die KI dann zu finden ist auch so schon schwer aber dann auf der ganzen Map suchen, naja nicht so toll oder ? kann ich der KI einen Bewegungsradius zuweisen ? und noch ne Frage: Wie kann ich der KI namen vergeben ? also Captain Hook, Major Pain und so, damit das nacher in der nachbesprechungs angezeigt wird |
20.02.2009, 16:09 | #8 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
habe schonwieder ein problem...
folgendes: ich bastel an einer coopmap für 2 spieler, und dort soll eine ki gruppe einen spieler, der einen trigger auslöst, joinen, das klappt auch... Das habe ich wie folgt gemacht Trigger gruppiert mit dem spieler1 und da mit namen des spieler1 den joinbefehl und einen deletebefehl für den 2. auslöser eingebaut. (also spieler1 löst aus und die gruppe joint) für spieler 2 habe ich einen 2. trigger gemacht wie bei spieler1 also hat die KI 2 auslöser für jeden spieler einen, nur ich will ja das der Auslöser mitwandert und das bekomme ich nur hin wenn ich einen Auslöser habe (verstehe die script wohl nicht so richtig) kann ich eine sqs schreiben die prüft wer den auslöser auslöst und dann dementsprechend joinen lässt ? |
20.02.2009, 16:42 | #9 (permalink) |
jo mit list "triggername" da stehen dann alle objekte dirn die zur seite des Trigger gehören wenn der nicht auf "keine" steht.
dann braucht du noch abfragen ob der Player in list "triggername" ist. und dann den join lassen.
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
20.02.2009, 17:05 | #10 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
hmmm.. verstehe ich jetzt nicht so ganz...
ich habe wie folgt den trigger Bedingung: this && gamer2 in thisList; bei aktivierung: [ai1] join gamer2; hint "Text!"; deleteVehicle gamer2trigger; deleteVehicle gamer1trigger; ??? für gamer 1 das selbe aber wie binde ich nun beie trigger an die ki oder wie baue ich einen trigger der beides macht |
20.02.2009, 18:59 | #12 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
jo,
die ki soll von einem der 2 spieler abgeholt werden... das Problem ist das die ki über die map rennt (und die 2 auslöser sollten ihr folgen). Die Ki muss gesucht werden, und wenn man dann näher drann ist (auslöser hat 3 meter), joint die KI die Gruppe des finders. im moment überlege ich das irgendwie anders zu machen, hab nur keine ahnung Geändert von aXXIs262 (20.02.2009 um 19:02 Uhr). |
20.02.2009, 19:15 | #13 (permalink) |
trigger auf der map basteln und auf ein mal aktivierung stellen
Player distance ai1 < 5 [ai1] join gamer2; hint "Text!";
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
21.02.2009, 15:20 | #16 (permalink) |
nix zu Danken
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
25.02.2009, 17:40 | #17 (permalink) |
Registriert seit: 01.11.2008
Beiträge: 32
|
ihc habe aber noch eine frage... was anderes diesmal...
ich habe eine gruppe erstellt mit hilfe eines Auslösers: [ ai4,ai2,ai3,ai1] join grpnull; [ ai4,ai2,ai3,ai1] join grprescue; group grprescue selectLeader ai4; WP1 = grprescue addWaypoint [2545.085693,13.860000,2619.653320, 20];wp1 setWaypointType "move"; das klappt aber nicht, keiner der 4 einheiten macht anstalten sich zum wegpunkt zu begeben, ich denke mal das es an dem gruppennamen liegt, weil da bin ich mir nicht sicher ob er so vergeben wird aber die meine gruppe verlassen sie und scheinen auch eine neue gruppe zu bilden... ahh editing ist schon manchmal wenn man nicht den syntax beherrscht |
25.02.2009, 17:55 | #18 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.968
|
Vielleicht helfen ja folgende Seiten: join - Bohemia Interactive Community group - Bohemia Interactive Community selectLeader - Bohemia Interactive Community addWaypoint - Bohemia Interactive Community Das Biki ist teilweise schon hilfreich Ob in deinem script was verkehrt ist, keine Ahnung, kenn mich selber kaum mit Editing aus. Könnte höchstens noch ne Lösung anbieten die allerdings nur im SP funzt: Code:
grprescue commandmove getpos markername; |
25.02.2009, 18:21 | #19 (permalink) |
Bekommt´s ne Fehlermeldung ?
Ich denke das da sie Gruppe nicht existiert createGroup - Bohemia Interactive Community grprescue= createGroup Seite; [ ai4,ai2,ai3,ai1] join grpnull; [ ai4,ai2,ai3,ai1] join grprescue; group grprescue selectLeader ai4; WP1 = grprescue addWaypoint [2545.085693,13.860000,2619.653320, 20];wp1 setWaypointType "move";
__________________
--> -> Rechtschreibfehler sind Gratis <- <-- --> Wer welche findet kann sie behalten <-- German Nato Corps |
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Trigger funktiuoniert nicht [einfach] | leo235 | Editing | 0 | 20.12.2006 18:09 |
Trigger | McDarth | Editing | 2 | 05.12.2006 13:55 |