![]() |
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"}; Code:
if (triggerActivated Ende1) then {endMission "END1"}; 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! |
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. |
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 { Danke auf jeden Fall nochmal und gute Nacht ^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:11 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias