Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 02.07.2009, 22:12   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard Tasks im MP

Multiplayer ist ja ein Thema für sich und ich bekomm es einfach nicht hin, dass jeder diese Tasks in meiner mission sieht. Hier mal der Code:

Zitat:

//Notizen
player createDiaryRecord["_diary1", ["Test Notiz", "123 Test"]];

//Ziele
tskAttackAirport = player createSimpleTask["Destroy the Blackhawk"];
tskAttackAirport setSimpleTaskDescription["Destroy the Blackhawk on the Airfield, but not more ", "Destroy the Blackhawk", "Marker: Blackhawk"];
tskAttackAirport setSimpleTaskDestination (getMarkerPos "obj1");

tskAttackPanzer = player createSimpleTask["Destroy the wooden Tank"];
tskAttackPanzer setSimpleTaskDescription["Destroy the wooden Tank on the Airfield for little Training, after that you will be switched to the next Level", "Destroy the wooden Tank", "Marker: Tank"];
tskAttackPanzer setSimpleTaskDestination (getMarkerPos "tank");

tskAttackConvoy = player createSimpleTask["Kill the two Enemys behind the Tower"];
tskAttackConvoy setSimpleTaskDescription["Kill the Enemys standing behind the little Tower", "Kill the Enemys", "Marker: Enemys"];
tskAttackConvoy setSimpleTaskDestination (getMarkerPos "convoy");

//StartZiel
player setCurrentTask tskAttackPanzer;

Danke schonmal gruß
max
N939 ist offline   Mit Zitat antworten
Alt 02.07.2009, 23:37   #2 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.06.2009
Beiträge: 168
Standard

Das liegt eher weniger an dem Script da oben, als vielmehr daran, wie Du es aufrufst...
Beowulf ist offline   Mit Zitat antworten
Alt 03.07.2009, 14:36   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

ok also bis jetzt hab ich egentlich nur folgendes (was das Briefing angeht) in die init.sqf eingetragen
Zitat:

while {true} do {
waitUntil {!alive player};
waitUntil {alive player};
execVM "briefing.sqf";
};

aber das is ja nur was das Respawn angeht

und das
Zitat:

if (isServer) then {
execVM "briefing.sqf"
};

aber mit dem gehts schonmal nicht.
Hoffe einer kann mir sagen wie es geht.
Max
N939 ist offline   Mit Zitat antworten
Alt 03.07.2009, 15:41   #4 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.06.2009
Beiträge: 168
Standard

Also auf dem Server brauchst Du meiner Logik nach kein Briefing aufrufen... die KI wei auch ohne lesen, was sie machen muss...

Der erste Part sieht nicht schlecht aus, sollte aber nicht in der init.sqf stehen. Dafür würde ich ein eigenes Script erstellen. Den Aufrauf zum Ausführen des Scripts kannst Du dann in zB in der init.sqf eintragen.

Ich habe mich bislang nicht mit Respawn-Maps auseinander gesetzt. Somit kenne ich das Problem auch nicht, das Briefings nach dem Respawn verschwinden.

In meinen COOP Maps rufe ich ein Briefing allein mit der Zeile:
Code:
execVM "briefing.sqf"
...auf. Das funktioniert zumindest.

Beowulf ist offline   Mit Zitat antworten
Alt 04.07.2009, 00:56   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Also lustig ist, dass ich das Briefing so mit meinen Oben angegebenen sqfs nach einem respawn auf nem dedi seh allerdings nich von anfang an und wenn ich dann nochmal respawne und dafor schon Ziele SUCCEDED wurden, dann sind nach dem 2. Respawn alle Zeilen wieder auf anfang gestellt (kein grüner Kasten in dem Feld neben dem Task)

Weiß da einer bescheid ?

PS: und noch was, wie muss ich meinen Auslößer einstellen um den Task abzuhacken, wenn das Gebit im Auslöserbereich von Feinden befreit wurde.
Habe bis jetzt bei Aktivierung, Vorhanden glaub ich (hab die Datei nich vor mir) und bei ziel, eroberung durch OPFOR aber das klappt nicht.

Gruß
Max
N939 ist offline   Mit Zitat antworten
Alt 04.07.2009, 11:03   #6 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Also teil 2 hat sich geklärt.

Teil 1 meines posts machen mir allerdings noch probleme. Das selbe ist wenn man dem Server neu beitritt, dann hatt er auch nur das normale Briefing (ohne die schon abgehakten Ziele) Man bräucht irgend einen Auslöser oder so der alle paar sekunden abfragt ob die jeweiligen Ziele schon SUCCEEDED wurden oder nicht und das dann an alle Clients schickt.

Brauche dazu allerdings die Hilfe der Profis
N939 ist offline   Mit Zitat antworten
Alt 04.07.2009, 11:18   #7 (permalink)
50 Beiträge100 Beiträge250 Beiträge
 
Benutzerbild von Rettich
 
Registriert seit: 06.04.2008
Ort: bei Kiel
Alter: 44
Beiträge: 313
Rettich eine Nachricht über Skype™ schicken
Standard

Das Problem wird z.Z. von Lester bearbeitet...

Die letzten 6 Beträge sind für dein Problem relevant

Mapfact Forum • Thema anzeigen - Editing und ArmA 2
Rettich ist offline   Mit Zitat antworten
Alt 04.07.2009, 11:38   #8 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 27.06.2009
Beiträge: 105
Standard

Zitat:

Der Vorteil an meiner Variablenlösung wäre das wenn man zum Missionsstart das so macht um die Variable zu initialisieren:

Zitat:

Code:
if (isnil("Taskarray ")) then {Taskarray = [false,false,false,false,false];};
Und dann die Taskarray-Veränderungen nur auf den Server ausführt und anschließend mittels

Zitat:

Code:
publicvariable "Taskarray";

an alle Clients publiziert,
dann selbst ein JIP Spieler automatisch den letzten publizierten Inhalt von Taskarray erhält und somit auf den aktuellen Stand wäre.

Aber wie so oft im Scripting führen mehrere Wege nach Rom.

Muss ich das einfach in meine Briefing.sqf reinhauen oder wo soll das hin schaut nämlich komisch aus wenn ich das so mach oder ?

Zitat:

tskAttackPolana = player createSimpleTask["Clear Polana"];
tskAttackpolana setSimpleTaskDescription["Clear Polana to End the Mission", "Clear Polana", "Marker: Polana"];
tskAttackPolana setSimpleTaskDestination (getMarkerPos "Polana");

tskAttackIsland = player createSimpleTask["Clear the Island"];
tskAttackIsland setSimpleTaskDescription["Clear the whole Island (Enemys are moving)", "Clear Island", "Marker: Island"];
tskAttackIsland setSimpleTaskDestination (getMarkerPos "Island");

tskAttackAirport = player createSimpleTask["Clear the South-Airport"];
tskAttackAirport setSimpleTaskDescription["Clear the Airoport in the South", "Clear South Aiport", "Marker: South-Airport"];
tskAttackAirport setSimpleTaskDestination (getMarkerPos "Airport");

tskAttackPanzer = player createSimpleTask["Destroy the wooden Tank"];
tskAttackPanzer setSimpleTaskDescription["Destroy the wooden Tank on the Airfield for little Training, after that you will be switched to the next Level", "Destroy the wooden Tank", "Marker: Tank"];
tskAttackPanzer setSimpleTaskDestination (getMarkerPos "tank");

tskAttackAir = player createSimpleTask["Kill the enemy"];
tskAttackAir setSimpleTaskDescription["Description", "Title", "HUD"];
tskAttackAir setSimpleTaskDestination (getMarkerPos "Air");

if (isnil("Taskarray ")) then {Taskarray = [false,false,false,false,false];};
publicvariable "Taskarray";

N939 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


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