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):komisch: 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 :) |
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...:stupid: |
Zitat:
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 |
Zitat:
Moment ich teste mal eben das Andere :) |
Zitat:
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. |
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. |
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. Zitat:
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 :motz: Hier mal mein Versuch: Code:
if ( _distance < 20 ) Code:
if ( entfernung < 20 ) |
yy distance xx < 10 ist logisch!
distance gibt eine Entfernung zurück. In Verbindung mit < 10 erfolgt eine Rückgabe von true oder false. |
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. :komisch: 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? |
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 :D |
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 :( |
Befehl mal wieder falsch angewendet... kennt denn kein Schwein die offizielle Wiki? Da steht doch alles drin.. mit Beispiel sogar...
addItemCargoGlobal |
1. Target ist ne ungünstige Variable.
2. Auslöser setPos (getPos drohne) 3. Cargo-Befel zum beladen nutzen 4. Dringend mal bei bis wiki vorbei schauen und deine Eingabe mit dem geforderten SYntax kontrollieren |
Öh ja, das kann auch nicht gehen :shy:
Glaub in 20 Jahren kenn ich die richtige Syntax immernoch nicht ... Code:
task3_ausloeser setpos getpos target; So muss es, dann gehts (glaub ich). Zitat:
Gehe mich ma woanders nützlich machen :lol: |
Herzlichen Dank :) :daumen:
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 :) |
Zitat:
|
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.
|
:oh:
ok, ich teste es mal :) |
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. |
Ach Mist, das klappt nicht.
Ähmm... sucht der das auch, wenn der Gegenstand im Rucksack ist? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias