15.03.2014, 20:49 | #1 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Object Anwesenheit im Trigger abfragen
Hallo liebe Community,
ich bastel grade an meiner zweiten Mission in der ein Blufor Team 4 mögliche Absturzstellen überprüfen und eine MQ4A Greyhawk Drohne suchen soll. Jetzt kommen meine zwei Probleme: 1. Ich hatte vor via Trigger überprüfen zu lassen, ob sowohl Greyhawk(Variable: "target") als auch der Trupp an der selben Absturzstelle sind. Wenn true, dann wird der Marker geändert und die Mission geht zum Nächsten schritt über. Wie man einen Marker ändert, weiß ich schon und auch, wie ich dann die Mission weiter gehen lasse. Ich habe meinen Trigger schon auf Aktivierung: BLUFOR eingestellt, doch wie frage ich ab, ob beide auch im Triggerbereich anwesend ist? (Blufor Trupp + Greyhawk(leeres Objekt) 2. Kommen wir nun zu meinem zweiten Problem. Ich möchte in einem anderen Trigger überprüfen, ob ein Item (in diesem Fall: Classname: "ARP_Objects_satbag_m") sich im Inventar eines Spielers befindet. (Es ist eine Coop Mission, also mehrere mögliche Spieler, die das Item dabei haben könnten) Ich wäre euch sehr dankbar, wenn ihr mir helfen könntet |
17.03.2014, 01:06 | #2 (permalink) |
Registriert seit: 22.01.2014
Beiträge: 55
|
Keine/Jeder/Einfach/vorhanden
bed: ({_x in thislist} count units group Player >= 1) AND ({_x in thislist} count units GRPHawk >= 1) //Bei "count units group Player >= 1" für alle Spieler anstatt "1" dann wieder "count units group Player". //vorher in die Init der Drohne folgendes eintragen: GRPHawk = group this; bei dem zweiten probier mal dieses: Keine/Jeder/Einfach/vorhanden bed: {items _x} find "ARP_Objects_satbag_m" != -1 //sicher bin ich mir da aber nicht... |
17.03.2014, 07:46 | #3 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
1. Aktivierung: Jeder Bedingung: {_x in units Gruppenname} count thislist > 0 and NameVonGreyhawk in thislist Anstelle von 0 kann eine gewünschte Anzahl genommen werden. z.B. > 3 2. Bedingung für einen Soldaten: items NameSoldat find "ARP_Objects_satbag_m" > -1 Bedingung für mehrere: {items _x find "ARP_Objects_satbag_m" > -1} count units Gruppenname > 0 Für Waffen: https://community.bistudio.com/wiki/hasWeapon |
17.03.2014, 07:47 | #4 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
erwartet vor dem "find" ein Array und es lässt sich daher nicht auf ok drücken Moment ich teste mal eben das Andere Geändert von LittleIranus (17.03.2014 um 07:50 Uhr). |
17.03.2014, 08:00 | #5 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Vienna, nice! Punkt 1 geht schon mal, wenn es nur eine Gruppe gibt. Kann man auch statt dem Gruppennamen eine Fraktion nehmen? z.B. WEST oder so? Ich hab in der Nachbearbeitung der Mission 3 Gruppen von Blufor erstellt, die sich dann die Absturzstellen selber aufteilen sollen. Falls benötigt Rufnamen der Squads sind: "Alpha Squad", "Bravo Squad" und "Charlie Squad". das heißt wenn dann taucht vermutlich eh nur eins der drei Squads in einem der Trigger auf. Bei Punkt 2, weiß ich noch nicht, ob das geht. Weiß jemand zufällig, wie ich einen Classname eines Items aus einem Mod herausfinde? Gibt es da ne Liste? Da ja "VAS" auch alle Items hat. Geändert von LittleIranus (17.03.2014 um 08:16 Uhr). |
17.03.2014, 09:48 | #6 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Muss es denn ein Gebiet sein was gescannt wird oder soll deine Mission auf die Distanz zwischen Absturzstelle und Reconteam reagieren?
So wie sich das ließ, klatscht du den Greyhawk in einer der Triggergebiete. Wenn die Trupps drin sind, geht es weiter. Da könntest du mit waituntil { sleep1; yy distance xx < 10} arbeiten! 1. Der Trigger feuert 2x in der Sekunde und fragt ab. Eine Waituntil mit sleep 1 reduziert das auf 1x in der Sekunden. 2. du sparst 4 Trigger! 3. du kannst das Objekt freier setzten, da die Distanzabfrage zum Objekt läuft und nicht via Trigger. Ist nur so ne Idee. Wenn du allerdings ein bestimmtes Gebiet abscannen mußt, nimm den Trigger. Ist für den Anfang einfacher. |
17.03.2014, 13:18 | #7 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Es ist eine KOOP Mission. Die ganze Sache sieht so aus 1-3 spielergesteuerte Blufor Gruppen suchen nach einer abgestürzten Greyhawk Drohne(Name: "target"), die per Gruppenzugehörigkeit mit 4 Markern verbunden wurde, also ein Zufallsspawnpunkt an einem dieser 4 Marker (Markernamen: Crashside1,..., Crashside4).
Wenn nun (egal welcher der 3 Blufor Gruppen) an eine Absturzstelle gelangen und dort auch die Drohne ist, sollen sie quasi per "hint" benachrichtigt werden, das die Drohne gefunden wurde und dann ein Item aus dem Laderaum der Drohne entnehmen (sofern das überhaupt möglich ist). Dieses Item soll dann zur Basis gebracht werden. Es kann also nur weitergehen, wenn sowohl Drohne als auch eine der Blufor Einheiten an der selben Absturzstelle sind. Deine Idee macht schon Sinn. Ja, dann könnte ich die 4 Absturzstellenmarker als "Erledigt" grün werden lassen und setzte einen noch unsichtbaren Marker, dann an die Position der Drohne und lasse den dann sichtbar werden. Klingt schon mal gut. Das Problem ist nur, das der Trigger ein bool erwartet und hier kein true oder false geliefert wird. Ich habe mir einige Gedanken zu deinem Code gemacht und wollte es um eine "if" Bedingung/Abfrage erweitern, aber meine Kenntnisse scheitern an einer Localen Variable in einem Globalenbereich Hier mal mein Versuch: Code:
if ( _distance < 20 ) then {"true"} else {"false"}; waituntil { sleep1; _distance = yy distance xx}; Code:
if ( entfernung < 20 ) then {"true"} else {"false"}; waituntil { sleep1; entfernung = yy distance xx}; Geändert von LittleIranus (17.03.2014 um 14:26 Uhr). |
17.03.2014, 15:18 | #9 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Okay, dann werde ich das nochmal testen müssen.
Kann ich einem Spieler über das ActionMenu an einem Fahrzeug ein Item ins Inventar legen? Es geht darum, das ich mir nicht sicher bin, ob eine Greyhawk überhaupt einen Laderaum besitzt. Und bei waituntil { sleep1; yy distance xx < 10} kann ich da Einheiten einer Seite abfragen? sprich Blufor Einheiten distance Greyhawk("target") < 10? Wenn ja, wie müsste der Befehl heißen? |
17.03.2014, 15:34 | #10 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.969
|
Boah is das hier kompliziert.
Zu 1. die Idee: Greyhawk wird randomisiert platziert (ganz einfach), Trigger wird nach der Platzierung an genau die Stelle gebeamt (Triggername setpos Greyhawkname) - wenn nun Anwesenheit Spielerseite hergestellt ist, geht alles weiter wie vorher - jedenfalls erübrigt sich der Check ob die Drone da ist |
17.03.2014, 18:29 | #11 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
hast schon Recht, aber bei dem Befehl
Code:
task3_ausloeser setpos target; Ich hab gleich noch ein Problem. Weiß jemand wie ich leeren Fahrzeugen Items ins Inventar legen kann? hatte es schon mit this addItem "ARP_Objects_smartphone_m"; und this addItemCargo "ARP_Objects_smartphone_m"; versucht, aber irgendwie will das nicht |
17.03.2014, 18:33 | #12 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
|
Befehl mal wieder falsch angewendet... kennt denn kein Schwein die offizielle Wiki? Da steht doch alles drin.. mit Beispiel sogar...
addItemCargoGlobal |
17.03.2014, 18:41 | #14 (permalink) |
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 41
Beiträge: 32.969
|
Öh ja, das kann auch nicht gehen
Glaub in 20 Jahren kenn ich die richtige Syntax immernoch nicht ... Code:
task3_ausloeser setpos getpos target; So muss es, dann gehts (glaub ich). Kennen ja, aber ich bin zu Pro um es auch zu nutzen! Gehe mich ma woanders nützlich machen |
17.03.2014, 19:32 | #15 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Herzlichen Dank
ich werde mir jetzt ein paar Freunde schnappen und dann mal die Mission auf Funktion und Spaß testen Sollte jetzt aber durch euer Wissen alles klappen Buliwyf, ich hatte schon in der Wiki geschaut nur halt beim testen die Klammern vergessen, oder eventuell die falschen Klammern benutzt, dadurch hat es nie funktioniert. Danke nochmal |
18.03.2014, 15:16 | #16 (permalink) |
Registriert seit: 10.03.2014
Ort: NRW - Deutschland
Beiträge: 29
|
Ich hab hier ein kleines Problem! Ich habe 3 Gruppen von spielbaren Charakteren, von denen jeder die "ARP_Objects_satbag_m" mit sich rumschleppen könnte. Hab schon einige ähnlich Varianten ausprobiert um unter allen spielbaren Einheiten oder unter allen Einheiten der Fraktion "west" zu suchen. Bin aber mit dem Scripten nicht so vertraut... |
18.03.2014, 15:32 | #17 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Die Gruppen werden ja unterschiedliche Namen haben, so mach für jede Gruppe einen eigenen Auslöser, als Bedingungen den für Gruppen. Wer sie dann hat, der setzt eine eine globale Variable (z.B. ObjektGefunden) auf true. Mit dieser Variablen kannst du dann weitere Ereignisse steuern. Die Variable zuvor auf false setzen.
Geändert von Vienna (18.03.2014 um 15:41 Uhr). |
18.03.2014, 15:41 | #19 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Nimm einfach eine Bedingung für alle spielbaren Einheiten:
{items _x find "ARP_Objects_satbag_m" > -1} count payableUnits > 0 Hinweis: zum Testen allUnits nehmen, weil playableUnits im Editor nicht funktioniert. |
Stichworte |
anwesenheit, item im inventar, object abfrage, spieler abfrage, trigger |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
mehrere Gruppen über Trigger abfragen? | Faithnall | Editing & Scripting | 11 | 14.02.2014 08:17 |
Domination @ A3 (DE/EN) | [UDDP]Itse | Usermade Missions | 916 | 05.12.2013 23:58 |
Allgemeine Hardware Fragen [Sammelthread] | Mr.NiceGuy | Technische Fragen & Probleme | 469 | 22.11.2012 16:27 |
Trigger + Anwesenheit? | killshot | Editing & Scripting | 2 | 04.07.2012 08:18 |
Merkwürdiges Dedi Serverproblem - trotz intensiver Suche nichts gefunden... | Qu!nt | Multiplayer | 5 | 11.10.2011 15:15 |