Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 02.12.2013, 20:03   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard Multiplayer Endings via Script

Moin Leute,

ich würde gerne die Mission, nach der Helikopterabholung, innerhalb des Scripts und dem Missionsverlauf entsprechend, beenden lassen.
Also habe ich vier Auslöser platziert:

Name: Ende1
Cond: !(alive Ziel1) && !(alive Ziel2) && player distance (getMarkerPos "xtract1") <= 100
OnAct: ende1var = true;

Name: Ende2
Cond: !(alive Ziel1) && (alive Ziel2) && player distance (getMarkerPos "xtract1") <= 100
OnAct: ende2var = true;

Name: Ende3
Cond: (alive Ziel1) && !(alive Ziel2) && player distance (getMarkerPos "xtract1") <= 100
OnAct: ende3var = true;

Name: Ende4
Cond: (alive Ziel1) && (alive Ziel2) && player distance (getMarkerPos "xtract1") <= 100
OnAct: ende4var = true;

Die 4 Variablen habe ich in der init.sqf definiert:

ende1var = false;
publicVariable "ende1var";
... etc.

und in der briefing.html habe ich die 4 verschiedenen Texte stehen.

Wenn ich jetzt in die letzte Zeile der extraction.sqf (Heliabholung) nur
z.B. endMission "END1" oder nur endMission "END3" etc. schreibe, dann funktioniert es, ich möchte aber ja, wie gesagt, dass es dem Missionsverlauf entsprechend endet. Folgendes habe ich probiert:

Code:
if (ende1var) then {endMission "END1"};
if (ende2var) then {endMission "END2"};
if (ende3var) then {endMission "END3"};
if (ende4var) then {endMission "END4"};
Code:
if (triggerActivated Ende1) then {endMission "END1"};
if (triggerActivated Ende2) then {endMission "END2"};
if (triggerActivated Ende3) then {endMission "END3"};
if (triggerActivated Ende4) then {endMission "END4"};
Das hat leider nicht den erwünschten Effekt. Bzw. überhaupt keinen ^^ Da schwebt der Heli bis das Kerosin raus ist. Daran, dass extraction.sqf über einen Funkauslöser gestartet wird kann es ja eigentlich nicht liegen oder?
Immerhin funktioniert es ja, wenn man nur ein einziges Ende im Script verwendet.

Ansonsten müsste ich wohl vier weitere Auslöser am Endpunkt ("xtract1") durch das Script erstellen lassen, die durch die Variablen (ende1var,...) aktiviert werden und dann dadurch das Ende einleiten lassen?

Vielleicht kann ja jemand helfen

Danke und Grüße!
killshot ist offline  
Alt 02.12.2013, 20:46   #2 (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

Es wird an den Bedingungen in den Auslösern liegen. z.B. ist player lokal und es müsste
OnAct: ende1var = true; publicVariable "ende1var";
lauten, wenn etwa nur einer der Spieler in Nähe des Markers ist.

Teste das einmal mit einer einfacheren Bedingung in den Auslösern.
Vienna ist offline  
Alt 03.12.2013, 05:05   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 03.07.2012
Beiträge: 118
Standard

Jau, ich danke dir!

Lag wohl unter anderem daran! Hab's jetzt alles nochmal komplett umgewurstelt und machs über nen Auslöser+publicVariable der dann ein Script mit den endings aufruft.

Für welche, die hier irgendwann nochmal drüberstoplern:

Also in extraction.sqf dann die Variable triggerendings auf true gesetzt, im Auslöser Bedingung: triggerendings bei OnAct: nul = execVM "endtrigger.sqf";

und hier noch die endtrigger.sqf

Code:
if (isServer) then {

sleep 1;

_end1trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end1trg setTriggerArea[150,150,0,true];
_end1trg setTriggerActivation["WEST","PRESENT",true];
_end1trg setTriggerStatements["deployed && !alive radar && !alive arti1 && !alive arti2 && !alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End1""", ""];

_end2trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end2trg setTriggerArea[150,150,0,true];
_end2trg setTriggerActivation["WEST","PRESENT",true];
_end2trg setTriggerStatements["deployed && alive radar && alive arti1 && alive arti2 && alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End2""", ""];

_end3trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end3trg setTriggerArea[150,150,0,true];
_end3trg setTriggerActivation["WEST","PRESENT",true];
_end3trg setTriggerStatements["!deployed && !alive radar && alive arti1 && alive arti2 && alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End2""", ""];

_end4trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end4trg setTriggerArea[150,150,0,true];
_end4trg setTriggerActivation["WEST","PRESENT",true];
_end4trg setTriggerStatements["!deployed && alive radar && !alive arti1 && !alive arti2 && !alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End2""", ""];

_end5trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end5trg setTriggerArea[150,150,0,true];
_end5trg setTriggerActivation["WEST","PRESENT",true];
_end5trg setTriggerStatements["deployed && !alive radar && alive arti1 && alive arti2 && alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End3""", ""];

_end6trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end6trg setTriggerArea[150,150,0,true];
_end6trg setTriggerActivation["WEST","PRESENT",true];
_end6trg setTriggerStatements["deployed && alive radar && !alive arti1 && !alive arti2 && !alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End3""", ""];

_end7trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end7trg setTriggerArea[150,150,0,true];
_end7trg setTriggerActivation["WEST","PRESENT",true];
_end7trg setTriggerStatements["!deployed && !alive radar && !alive arti1 && !alive arti2 && !alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End3""", ""];

_end8trg = createTrigger ["EmptyDetector",markerpos "xtract1"]; 
_end8trg setTriggerArea[150,150,0,true];
_end8trg setTriggerActivation["WEST","PRESENT",true];
_end8trg setTriggerStatements["!deployed && alive radar && alive arti1 && alive arti2 && alive arti3 && leader (fschjg) distance (getMarkerPos ""xtract1"") <= 200", "endMission ""End4""", ""];

};
Vielleicht hilfts ja irgendwann nochmal wem


Danke auf jeden Fall nochmal und gute Nacht ^^
killshot ist offline  
 


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
Beta-Patch für OpA erschienen det99 Community 1429 18.07.2014 17:51
Script wird nicht vollständig ausgeführt MagicStyle Editing & Scripting 20 04.09.2013 17:54
Day & Weather Script Moerderhoschi Editing & Scripting 13 02.12.2012 11:29
Ammobox Script problem G36Firestorm Editing & Scripting 11 18.07.2011 16:04
marker über script erzeugen hypercop Editing & Scripting 2 28.08.2010 23:40


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 117 118 119