31.10.2011, 15:32 | #1 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Briefing Singleplayer aber für alle in der Gruppe
Hi,
so mal das Problem erörtern und hoffen, dass ihr eine Lösung habt. Ich habe mich jetzt wund gegoogelt und nix gefunden. Ich platziere eine Gruppe auf der Map. Jede Einheit im Editor wird auf "spielbar" eingestellt und man kann, wie bekannt, im Spiel dann zwischen den Einheiten mit "T" bzw. "Z" und "U" hin und her wechseln. bzw. wenn man im Spiel ausgeschaltet wurde, kann man mit einer anderen Einheit in der Gruppe, nachdem man "Teamwechsel" vorgenommen hat, das Ziel weiter verfolgen. So ist es geplant. Habe auch brav jeden Mitgliedern in der Gruppe Variablennamen gegeben s1 bis s6 z.B.. Das Briefing wird für den "Player", die Einheit mit der ich im Spiel starte, auf der Map angezeigt, ergo Aufgaben und Notizen. Soweit alles gut... Nun zum eigentlichen Problem: Wenn ich aber im Spiel zu einem anderen Gruppenmitglied wechsele und dann auf "M" für Map gehe, ist dann das Briefing futsch, ergo es werden keine "Aufgaben" oder "Notizen" mehr angezeigt. Was muss in der "Briefing.sqf" ändern oder im Editor, damit alle in der Gruppe die "Aufgaben & Notizen" lesen können. Bitte helft mir. Wie bekomme ich es hin, dass man mit jedem Mitglied der Gruppe, das Briefing bzw "Aufgaben & Notizen" auf der Map lesen kann. |
01.11.2011, 09:39 | #2 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Schreibe in die Initialisierungszeile des Leaders (vermutlich der Spieler) folgendes:
MeineGruppe = group this In der Variablen MeineGruppe ist jetzt die Identifizierung deiner Gruppe gespeichert. Nun erstelle folgenden Auslöser: Aktivierung: Keine ......... Mehrfach Bedingung: leader MeineGruppe != player Bei Akt.: MeineGruppe selectLeader player Dadurch bist du beim Wechseln innerhalb der Gruppe immer der Leader und hast auf alles Zugriff. |
01.11.2011, 20:38 | #3 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Hallo,
erstmal danke für die schnelle Hilfe,Vienna. Wie du gesagt hast, ist nun beim Wechseln der aktuellen Einheit auf eine andere Einheit in der Gruppe, dieser dann der Leader. Aber leider ist das Briefing auf der Map immer noch, nur für den ersten, ergo der Start- Einheit einsehbar, mit der Einheit, mit der ich gestartet bin... ,mit meinem "Profil" sozusagen. Kennst du eventuell noch eine Möglichkeit, auch mit den anderen Mitgliedern der Gruppe irgendwie vielleicht in der briefing.sqf oder der initzeile bzw. Auslöser...dass alle das Aufgabenfeld und die Notizen zu sehen nach dem Wechsel? Tut mir leid, dass ich weiter nerve aber obwohl ich das Wechseln der Einheiten und der Leaderposition schonmal allgemein sehr hilfreich finde und auch nützlich (DANKE), können die anderen Einheiten immer noch keine Briefing-Infos einsehen. Wenn ich mit der ersten Einheit sterbe und dann auf den nächsten Teamführer, den Ersatz wechsele, sind Aufgaben und Notizen aus dem Briefing weg. Danke für weitere Hilfe. |
01.11.2011, 20:48 | #4 (permalink) |
User gesperrt
Registriert seit: 20.10.2009
Ort: Jetzt auch im BIF
Alter: 40
Beiträge: 9.163
|
Ich hab zwar wenig Ahnung von Scripting und Briefings aber du kannst dir ja mal einige Briefings von BIS Original Missionen angucken z.B. die Kampagne Harvest Red.
Denn da hast du ja auch mehrere Spieler zur Auswahl für die Mission also kannst zwischen den einzelnen Spielern wechseln. vielleicht hilft es ja |
01.11.2011, 22:54 | #5 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Da weiß ich leider nicht weiter. Es gibt aber eine einfache Lösung:
Stell in die Gruppe einen Soldaten mehr rein und lass den mit dem Briefing in der Basis stehen. Das ist jetzt mit dem Auslöser kein Problem, da jeder gewählte Soldat die Befehlsgewalt über die Gruppe hat. |
06.11.2011, 13:54 | #6 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Hallo, nur nochmal als Rückinfo. Danke für die Hilfe.
Ich habe mir einige Einzelspieler Missionen angeschaut, das Problem besteht auch dort. Man kann zwar zwischen den Einheiten wechseln auch als Leader aber das Briefing ist nur für den Spieler. Stirbt dieser oder man wechselt die Einheit, kann man die Aufgaben und Nozizen, die man im Briefíng eingestellt hat nicht mehr unter "MAP" einsehen. Schade das. |
06.11.2011, 14:28 | #7 (permalink) |
Registriert seit: 01.06.2009
Beiträge: 103
|
Anstatt dass Du die Briefing- Einträge nur dem player zuweist, weist Du sie einfach allen Einheiten der Spielergruppe zu.
Beispiel: Code:
{_x createDiaryRecord ["Diary",["Mission", "Hier steht die Missionsbeschreibung"]];} forEach (units group player); |
21.11.2011, 18:18 | #11 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Danke aber der Briefingmanager macht nur 08/15 Briefings.
Da kann ich das Ding auch selber schreiben, damit ist mir aber leider nicht geholfen, da ja das oben beschriebene spezielle Problem besteht, dass es bittteschön für alle in der Gruppe, die auf "spielbar" stehen und natürlich einen Gruppennamen haben (Initzeile des Leaders) und beim Wechseln nun auch, das jeweils derjenige wohin gewechselt wird auch LEADER ist, dann aber keine Einsicht mehr unter "MAP" ins bestehende Briefing hat. Briefings bekomme ich hin aber ich möchte, es für alle in der Gruppe haben. Der Tipp einfach alles auf die gesamte Gruppe zuweisen ist ein guter Rat. Nun nur noch die Frage zu den Tasks. Wie gestalte ich die, für die gesamte Gruppe? Wenn ihr noch was wißt, DANKE! Greetz Jane |
21.11.2011, 19:36 | #14 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Wenn du obigen Auslöser verwendest und das Briefing über ein Skript aufrufst, dann könne das so aussehen: ... ... Bei Akt.: MeineGruppe selectLeader player; temp = 0 execVM "Briefing.sqf" |
21.11.2011, 21:47 | #15 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Super, das klappt, danke, danke.
Aber *schäm zu fragen*. Ich kann jetzt wechseln und sehe nun auch die Aufgaben bei den anderen Einheiten aber...wenn ich wieder eine Einheit ansteuere, die ich schon einmal gehabt habe, dann verdoppeln sich die Aufgabentexte und Notizen. Kann man das verhindern? Ist nur hypothetisch, denn wenn man ernsthaft spielt wechselt man ja nur, wenn die Einheit bereits zu schwer verwundet oder aber tod ist, da würde alles funktionieren aber das Spielkind was hin und her schaltet... Was mir noch aufgefallen ist, dass das alles zusammenbricht, wenn man zu schnell hin und her zwitscht zwischen den Einheiten aber ich bin schon zufrieden, im Grunde funktioniert es. Geilomat *freu* DANKE! |
22.11.2011, 00:03 | #16 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Das musst du am Beginn des Briefing Skripts z.B. so einbauen:
Code:
_ok = false; if (player == Soldat1 and isNil "BriefEin_1") then {BriefEin_1=0; _ok=true}; if (player == Soldat2 and isNil "BriefEin_2") then {BriefEin_2=0; _ok=true}; if (player == Soldat3 and isNil "BriefEin_3") then {BriefEin_3=0; _ok=true}; if (player == Soldat... if (_ok) then { //Hier das Briefing reinschreiben ... ... ... } Das ist ein Beispiel für 3 Soldaten mit namen Soldat1, Soldat2 und Soldat3. Für weitere Soldaten entsprechend Soldatenname und globale Variabe BriefEin_... abändern. Die BriefEin_... Variablen haben sonst keine Verwendung, sie mussen nur initialisiert werden. Das Briefing-Skript ist wie üblich aufzurufen. Es wird jetzt nur noch einmal für jeden Soldaten der Briefingteil ausgeführt. |
22.11.2011, 21:06 | #17 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
_ok = false;
if (player == S1 and isNil "BriefEin_1") then {BriefEin_1=0; _ok=true}; if (player == S2 and isNil "BriefEin_2") then {BriefEin_2=0; _ok=true}; if (player == S3 and isNil "BriefEin_3") then {BriefEin_3=0; _ok=true}; if (player == S4 and isNil "BriefEin_4") then {BriefEin_4=0; _ok=true}; if (player == S5 and isNil "BriefEin_5") then {BriefEin_5=0; _ok=true}; if (player == S6 and isNil "BriefEin_6") then {BriefEin_6=0; _ok=true}; if (player == S7 and isNil "BriefEin_7") then {BriefEin_7=0; _ok=true}; if (player == S8 and isNil "BriefEin_8") then {BriefEin_8=0; _ok=true}; if (player == S9 and isNil "BriefEin_9") then {BriefEin_9=0; _ok=true}; if (_ok) then { player createDiaryRecord ["Diary",["Unterstützung","Sie bekommen zu ihrem eigenen SpecMed den der 2. Kompanie zugeteilt. Ansonsten sind sie auf sich und ihre eigene Ausrüstung gestellt. "]]; player createDiaryRecord ["Diary",["Mission","Sie springen mit ihrer Fallschirmjägergruppe über UTES ab. Sie erobern den Flughafen und rücken anschließend zur Kaserne im Norden vor und schalten dort jeglichen Widerstand aus. Dann rücken sie auf Strelka vor und erobern die Ortschaft!<br/><br/>"]]; player createDiaryRecord ["Diary",["Lage","Um 17.00 Uhr führt die französische Luftwaffe einen Luftschlag gegen den feindlichen Luftwaffenstützpunkt auf UTES aus. Damit dürften alle schweren Waffen und der größte Widerstand auf Utes, sowie Kommunikationsmittel, ausgeschaltet sein. Den Rest erledigen sie!"]]; MAG_tskObj2=player createSimpleTask ["Erobern sie Strelka"]; MAG_tskObj2 setSimpleTaskDescription ["Von der Kaserne ist es nicht mehr weit bis zur Ortschaft Strelka. Schauen sie auf die Map. in Strelka befindet sich das russische und ChDKZ Hauptquartier. Wir wissen nicht wie stark der Widerstand sein wird aber wir vertrauen auf sie! Viel Glück!","Erobern sie Strelka","Erobern sie Strelka"]; MAG_tskObj1=player createSimpleTask ["Erobern sie die Kaserne"]; MAG_tskObj1 setSimpleTaskDescription ["Dringen sie weiter nach Norden vor, dort ist eine Kaserne, sie sehen sie wahrscheinlich schon von ihrer Position, von der Luftwaffenbasis aus. Erobern sie sie.","Erobern sie die Kaserne","Erobern sie die Kaserne"]; MAG_tskObj0=player createSimpleTask ["Erobern sie die Luftwaffenbasis"]; MAG_tskObj0 setSimpleTaskDescription ["Nach dem Absprung sammeln sie ihre Truppen und rücken vorsichtig auf den feindlichen Luftwaffenstützpunkt zu. Erobern sie die Basis und sammeln sie sich im markierten Gebiet (BLAU). Schauen sie dazu auf ihrer Map.","Erobern sie die Luftwaffenbasis","Erobern sie die Luftwaffenbasis"]; player setCurrentTask MAG_tskObj0; }; So sieht mein Briefing (briefing_sp.sqf) aus. Leider wird jetzt nix mehr im Spiel unter map angezeigt. Auslöster wie oben beschrieben sowie in der init zeile DGS (player) wurde auch alles eingetragen. Wo ist denn nun der Fehler? Die Variable "BriefEin_1" usw. ist doch fest oder muss da ein anderer Name hin? Ich bin am verzeifeln...ich und meine dösigen Ideen. |
22.11.2011, 21:25 | #18 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
Im BIS Forum aufgeschnappt... aber da gehört wohl noch mehr dazu?!
Code:
if(!isMultiplayer) then { EnableTeamSwitch true; addSwitchableUnit player; onTeamSwitch { // objects "_from" and "_to" are available if(0 == count simpleTasks player) then { { _task = player createSimpleTask[""]; _task setSimpleTaskDestination ( taskDestination _x ); _task setSimpleTaskDescription taskDescription _x; _task setTaskState taskState _x; } forEach simpleTasks _from; }; if(!isNull currentTask _from) then { currTask = currentTask _from; player setCurrentTask currentTask _from; }; { addSwitchableUnit _x; } forEach units group player; group player selectLeader player; [] execVM "diary.sqf"; }; }; }; Geändert von Buliwyf (22.11.2011 um 21:29 Uhr). |
22.11.2011, 22:14 | #20 (permalink) |
Registriert seit: 31.10.2011
Beiträge: 11
|
Jupp das klappt nun alles. Ich Trottel hatte den falschen Namen für den Player drin. Bitte um Entschuldigung für den Fauxpas.
Keine doppelten Briefings man kann hin und her zwitschen soweit alles gut. Darf ich noch vielleicht noch einmal... Gibt es eine Möglichkeit wenn einer aus der Gruppe eine Aufgabe bestanden hat und der Task auf succeeded gesetzt ist, dass das für alle in der Gruppe gültig zu machen und nicht nur für die Einheit mit der man die Aufgabe gelöst /ausgelöst hat? Dann wäre es perfekt! Mea maxima culpa....für soviel dooffragen und immer fällt mir noch was ein in diesem Zusammenhang *schäm*! |
Stichworte |
arma2, aufgaben, briefing, notizen, teamwechsel |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Respawn einer Gruppe | GELight | Editing & Scripting | 23 | 29.09.2011 13:54 |
Soldaten in einem Trigger von einer anderen Gruppe eliminieren | M4X1 | Editing & Scripting | 2 | 15.06.2011 16:35 |
Einheiten in Gruppe löschen | Brubaker | Editing | 6 | 26.05.2011 18:44 |
Briefing - Missionsziele später anzeigen | Anemia | Editing & Scripting | 11 | 25.01.2011 15:54 |
Gruppe per Auslöser bewegen | Deep Five-9te | Editing & Scripting | 2 | 07.01.2011 08:46 |