Alle Spieler einer Seite Tod?

  • Sorry für die lange Zeit ohne Antwort, war leider mit anderen Dingen beschäftigt.
    Habe heute die Mission mal auf dem Server getestet und siehe da, es klappt nicht :D.
    Ich hatte den code nur ein wenig modifziert (line 17), um auch im SP ein wenig zu testen.






    Dort (im SP) hatte ich auch das Phänomen, dass wenn alle Einheiten einer Seite verstorben sind, zwar der Text erscheint (also halt bis_fnc_endmission ausgeführt wird), jedoch die Mission nicht beendet wird und statt dessen der Text - immer wenn er verschwinden sollte - erneut erscheint.


    PS: Getestet habe ich auf dem Server nur alleine mit den playable units.

  • 1. Du hast in Zeile 17 die () Klammern vergessen.


    } count (allPlayers + switchableUnits + playableUnits);


    2. Da du die Schleife nie abbrichst, rufst du die Funktion zum Beenden der Mission alle 10 Sekunden auf. Habe das gerade getestet, das endet in genau deiner Endlosschleife.


    3. side von Einheiten ist nicht wirklich verlässlich, da dass auch CIVILIAN sein kann (setCaptive) oder ENEMY (rating < -2000). Immer side group _unit verwenden.


    So würde ich das machen. Das exitWith beendet quasi die Schleife, da der Code außerhalb des while-scopes fortgeführt wird.

  • Habs ausprobiert. Wieder das gleiche: Im SP funktionierts, MP nicht...
    Testen tu ichs indem ich einfach die playbleunits per zeus töte, dass sollte doch reichen?
    Falls es was zur Sache tut, auf dem Server ist auch ein HC, jedoch nicht eingeslottet, hat er dennoch eine Auswirkung?

  • Generell liebe ich ja solche Aussagen: "Es funktioniert nicht".
    Etwas mehr Infos sind immer hilfreich: Was genau passiert denn stattdessen?


    Falls überhaupt nichts passiert solltest du überprüfen ob das Script im MP überhaupt ausgerufen wird.
    Falls doch etwas passiert solltest du uns das nochmal mitteilen.

  • Ich habe in der Mission noch ne andere Bedingung die zum Ende führt, welche ebenfalls per _endMission funktioniert - da klappt alles einwandfrei.


    Und was ist damit commy:

    Zitat von PhillipJFry

    Am besten du lässt das auf dem Server laufen.

  • das problem ist das BIS_fnc_endMission nur Local funktioniert d.h. man muss es über RemoteExec oder BIS_fnc_MP ausführen bei jedem Client
    oder man benutzt die BIS_fnc_endMissionServer diese wird wenn ich es noch richtig sehe überall ausgeführt

  • So siehts aus.
    Hier mal ein kleines Beispiel, mit BIS_fnc_endmission. Das Script läuft nur auf dem Server

    Code
    1. waituntil {DOF_KUNDUZ_FEINDE < 5 && !alive box_dorf_1 && !alive box_dorf_2 && !alive box_dorf_3 && !alive box_dorf_4 && !alive box_dorf_5};
    2. ["tskDORF2", "SUCCEEDED", true] call BIS_fnc_taskSetState;
    3. sleep 5;
    4. [{"Geschafft" call BIS_fnc_endMission;},"BIS_fnc_spawn",true,true] call BIS_fnc_MP;


    Wir haben alle die Mission beendet bekommen.

  • Der Code funktioniert im MP immernoch nicht und sieht nun wie folgt aus (wurde in die init.[lexicon]sqf[/lexicon] verschoben):


    Da die endMission auch im MP über nen Trigger funktioniert denke ich, dass es an an der Definition von _blu bzw. _indi liegt, auch wenn ich mir nicht wirklich vorstellen kann, was daran nicht richtig ist, bzw. im MP nicht funktionieren sollte...