Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 21.09.2012, 00:50   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard Actionmenüeintrag für Jeden löschen

Hey,

ich habe einem Objekt einen Actionmenüeintrag zugewiesen, der nach Aktivierung gelöscht wird. Allerdings handelt es sich bei meiner Mission um ein Multiplayerszenario und ich möchte, dass der Eintrag für jeden Spieler gelöscht wird und nicht nur für die ausführende "Person", so wie es momentan der Fall ist.

Konkret:

Über einen Laptop soll einer der Spieler die Einsatzbefehle einholen und dann soll dieser Eintrag für niemanden mehr aufrufbar sein.

Die Zusatzfrage, die sich mir stellt lautet

Wie kann ich die Aufgaben (Briefing.sqf), die der ausführenden Person nach Abruf des Actionmenüeintrages "Einsatzbefehl" gestellt werden, für jeden Spieler sichtbar machen?

Die erste Aufgabe ist für alle sichtbar - "Einsatzbefehle im Kommandobunker abholen" - allerdings aktualisieren sich diese nicht bei den anderen Spielern, sobald jemand den "Laptop bedient". Also jeder Spieler müsste quasi selber noch einmal die "Einsatzbefehle" vom "Laptop ziehen", damit die Aufgaben aktualisiert werden.

Ich habe keine Gruppen, sondern jeden Spieler extra für sich, allerdings ist es trotzdem ein Coop-Szenario. (Falls das überhaupt irgendeine Relevanz hat)

Ich habe leider keine Erfahrung mit MPMissionen.

Vielen Dank für Eure Hilfe
killshot ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:05   #2 (permalink)
Imperator fori nocturni - This sucks more than anything that has ever sucked before 10 Jahre hx3
20.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 35
Beiträge: 32.183
Standard

Zitat von killshot Beitrag anzeigen

Wie kann ich die Aufgaben (Briefing.sqf), die der ausführenden Person nach Abruf des Actionmenüeintrages "Einsatzbefehl" gestellt werden, für jeden Spieler sichtbar machen?

Das hatte ich mal so gelöst, daß die neue Aufgabe aus einem Trigger statt einem Script erstellt wird - die funktionierten nämlich mal - im Gegensatz zu scripten - ohne Zauberei bei jedem client.

Allerdings hats bei meiner neusten Mission wo´s ebenfalls so gelöst ist, unter 1.62 nicht wirklich funktioniert. Ich fürchte ja schon fast die Omnipotenz der Trigger wurde zerstört, habe aber bisher noch keine Energie gefunden dem weiter nachzugehen... ().

Also probiers mal mit dem Briefing ausm Trigger, mehr wie schiefgehen kanns nicht
__________________

burns ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:08   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Danke erstmal für die schnelle Antwort!

Also verstehe ich das richtig, ich soll die erste Aufgabe "Zum Bunker gehen" ganz normal in der Briefing.sqf starten und die neuen Aufgaben dann über Trigger laufen lassen?

Werde ich dann mal googlen, wie man sowas anstellt.


Grüße
killshot ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:14   #4 (permalink)
Imperator fori nocturni - This sucks more than anything that has ever sucked before 10 Jahre hx3
20.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 35
Beiträge: 32.183
Standard

Brauchst nicht googeln, ist im Grunde derselbe Text wie im Briefing, nur im Trigger:




^^ ungefähr so, hab jetzt nix von mir gefunden wo ein neuer Task übern Trigger läuft, ausser dem Neuen wovon ich weiss das es nicht geht



PS: Der Trigger im Bild läuft über Anwesenheit von Blufor,
ginge aber auch über Activation: None und Condition: xyz123
__________________

burns ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:18   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Danke, bedeutet das dann, dass ich durch den Actionmenüeintrag "Einsatzbefehl" ein Script starten muss, welches einen Trigger spawnen lässt bzw. einen bereits gesetzten Trigger auf true setzt, der dann wiederum die Aufgabe als erledigt erklärt?

Gruß


Edit: Denn das "obj1done=true" soll ja erst nach Abruf des Eintrages am Laptop ausgeführt werden.

Geändert von killshot (21.09.2012 um 01:26 Uhr).
killshot ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:26   #6 (permalink)
Imperator fori nocturni - This sucks more than anything that has ever sucked before 10 Jahre hx3
20.000 Beiträge
 
Benutzerbild von burns
 
Registriert seit: 13.04.2003
Ort: Monerica
Alter: 35
Beiträge: 32.183
Standard

Ich glaub wir reden aneinander vorbei, ist auch schon spät .. klinke mich lieber aus fürs Erste
__________________

burns ist offline   Mit Zitat antworten
Alt 21.09.2012, 01:32   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ja ok gute Idee, dem schließe ich mich mal besser an

Könnte es sein, dass hier die Lösung für das Problem enthalten ist:

Taskmaster 2

Ich gucks mir Morgen mal an.

Danke nochmal und gute Nacht
killshot ist offline   Mit Zitat antworten
Alt 21.09.2012, 03:19   #8 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ich habs doch noch nicht ins Bett geschafft ^^

Zumindest das Problem mit dem Löschen der Actionmenü-ID könnte behoben sein.

Die habe ich jetzt in einem 2x1m Auslöser (Trg1), mit mehrfachauslösung, der aber dann im Script gelöscht wird, sodass ja überhaupt keiner mehr Zugriff darauf bekommen kann.

Ich guck mir dann das Ergebnis morgen mal mit nem Kollegen auf nem Server an.

Aber das größere Problem, dass jeder Spieler quasi sein eigenes Briefing hat und nicht alle ein gemeinsames, besteht wohl leider immernoch.

Aber ich bin dann doch erstmal schlafen. Tschö
killshot ist offline   Mit Zitat antworten
Alt 21.09.2012, 18:55   #9 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Vielleicht kannst du das Briefing mit einem Auslöser und nicht mit einer Aktion starten?

z.B. mit einem Einmal-Auslöser von 0.5m Radius über dem Laptop, den jeder auslösen kann.


Mit Aktion wäre dein Problem mit einer "Schaltvariablen", einem einzeiligen zusätzlichen Skript und einem Auslöser möglich.

Geändert von Vienna (21.09.2012 um 19:01 Uhr).
Vienna ist offline   Mit Zitat antworten
Alt 21.09.2012, 20:35   #10 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Schreib in das Script welches über den Actionbefehl gestartet wird einfach am Ende folgendes rein:
Code:
 
delete_stupid_action_entry = true;
publicVariable "delete_stupid_action_entry";
Und dann einen Auslöser auf die Map gehaun mit folgender Auslösebedingung:
Code:
!isNil "delete_stupid_action_entry";
...und in die Aktivierung dann...
Code:
deinObjektNamemitdemActionEntry removeAction deinActionVarNamewelcherandemActionEntryObjektangepapptis;

fertsch
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 22.09.2012, 00:11   #11 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Das was du da zuletzt geschrieben hast leuchtet mir glaube ich ganz gut ein, psychobastard.

Das werd ich so umsetzen! Kann ich mir damit dann das

Code:
_obj = _this select 0;
_caller = _this select 1;
_id = _this select 2;
_obj removeAction _id;
im Script komplett sparen, ja oder?

Ich habe auch das andere Problem jetzt versucht per Auslöser zu lösen, wie es burns empfohlen hat. Leider hatte ich heute nicht die Gelegenheit es zu testen. Jetzt heute hoffentlich dann.

Danke nochmal an euch drei!
killshot ist offline   Mit Zitat antworten
Alt 22.09.2012, 00:20   #12 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Psychobastards Version löscht zwar für alle die Aktion, startet aber nicht das Skript bei allen, weil die Aktion nur beim Aufrufenden lokal wirkt.

Darum sollte das so ablaufen:

--> Die Aktion startet ein Skript, welches nur die Schaltvariable publik sendet.
--> Die Schaltvariable löst den Auslöser bei allen aus,
--> der dann das Briefing startet und die Aktion löscht.
Vienna ist offline   Mit Zitat antworten
Alt 22.09.2012, 02:38   #13 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Ich dachte dieser letzte Schritt wäre auch ohne extra Erklärung zu erahnen gewesen...
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 22.09.2012, 04:24   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Schon wieder spät geworden.

Also es sieht jetzt folgendermaßen bei mir aus:

Objekt Laptop mit Namen "Kommandostab"
Initzeile:

ID01 = this addAction ["Einsatzbefehl","Scripts\Stab\Bruecke_01.sqf"]; ID02...

Bruecke_01.sqf
delete_laptop_id01 = true;
publicVariable "delete_laptop_id01";

Auslöser "Trg1" - Achse A/B = 0; Auslösbar durch BLUEFOR; 1x
Bedingung: !isNil "delete_laptop_id01";
Bei Aktiv.: KommandoStab removeAction ID01; nul = execVM "Scripts\Stab\Einsatzbefehl_01.sqf";

Einsatzbefehl_01.sqf
Code:
// Variable "Stab" (Task1) auf true setzen
player setVariable ["Stab_active",true,false];

// Entferne Aufgabe "Gehe zu Kommandobunker"
player removeSimpleTask task1; 

// Material für Task2 sichtbar machen
baumaterial1 hideobject false;  
baumaterial2 hideobject false; 

sleep 3;
hint "Einsatzbefehl erhalten";
sleep 5;
hintSilent "";

// Löschen des Auslösers
deletevehicle trg1;
Habe ich das richtig verstanden?
Bisher funktioniert es jedenfalls genau so wie ich es haben möchte (also so wie es die ganze Zeit schon funktioniert hat xD)! Jetzt bin ich mal gespannt obs dann heute auch endlich im Multiplayer klappt! Auf jeden Fall kommt mir das Ganze jetzt schon strukturierter und aufgeräumter vor. Danke euch!
killshot ist offline   Mit Zitat antworten
Alt 22.09.2012, 04:40   #15 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

Ja, so passt das.

Ich bin mir nur eben nicht sicher was passiert wenn ein JIP in die Mission connectet. Kann sein dass dieser dann wieder den Eintrag sieht. Das müsstest du dann noch ausprobieren.

Du solltest den Trigger auch nicht unbedingt löschen. Die PublicVar wird jedem neuen Spieler automatisch übertragen. Wenn jetzt ein neuer Spieler in die Mission kommt löst für ihn der Trigger erneut aus und er bekommt ebenfalls den aktuellen Missionsstatus mitgeteilt.

Das ist natürlich abhängig davon was in dem Script alles übermittelt wird. (erwünscht oder unerwünscht)



Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 23.09.2012, 16:00   #16 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Ich hatte jetzt die Gelegenheit es zu testen und es klappt wunderbar.

Sobald irgendein Spieler den "Einsatzbefehl"-Entry ausgeführt hat, ist er für niemanden sonst mehr ausführbar und die neuen Aufgaben sind für jeden Spieler sichtbar.

Wenn ich neu joine und der "Einsatzbefehl" schon eingeholt wurde, werden mir die neuen Aufgaben ebenfalls angezeigt, weil ich den "Trg1"-Auslöser jetzt doch nicht löschen lasse (wie empfohlen).

Ich danke euch, ihr habt mir wieder mal super geholfen!
killshot ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gegnerspawn via Actionmenüeintrag killshot Editing & Scripting 2 15.09.2012 12:42
Passwort löschen MarcusErgalla Software & Hardware 14 04.08.2012 15:07
Arma 2 Editor Einheiten löschen ? Rikko Editing & Scripting 7 06.07.2012 20:20
Einheiten in Gruppe löschen Brubaker Editing 6 26.05.2011 17:44
Script-Problem: Einheiten löschen Kampfmöhre Editing & Scripting 5 31.05.2010 12:37


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116