PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vergleich von 2 Arrays mit anschließendem Select


Drunken Officer
26.05.2015, 09:54
Hallo

Ich komme bei einem Problem nicht weiter. Ich lasse per Script serverseitig eine Gruppe erstellen und mache diese public. Danach treten die Spieler dieser Gruppe bei. Dies wird durch die initplayerlocal.sqf geregelt.
Funktioniert so weit. (Damit umgehe ich einen Pflichtslot und es ist alle frei wählbar)

Aber aus irgendwelchen Gründen gibt es Probleme mit dem setzen des Gruppenführers, obwohl es nur einen „CAPTAIN“ gibt.
Ich habe deswegen jedem Spieler in der initplayerlocal einen Wert zugeweisen
Player setVariable [„DOF_RANK“, 4, true];
4 ist ein möglicher Wert zwischen 1 – 14 (ich lasse die deutschen Dienstgradabzeichen darstellen)
https://www.youtube.com/watch?v=JDVYQIgioB4

In der ServerInit lasse ich fogendes Script laufen, welches die Gruppe Tango31 überwacht

[] spawn
{
private ["_cnt", " _grparray", _"wertearray"];
_cnt = -1;
_grparray = [];
while {true} do
{
waitUntil {sleep 3; count units tango31 != _cnt};
_grparray = [];
_wertearray = [];
{ _grparray = _grparray + [_x] } count units tango31;
{ _wertearray = _wertearray + [(_x getVariable "DOF_RANK")] } count units tango31;
{_Wertearray_hoch = [_wertearray , 1] call BIS_fnc_findExtreme } count _grparray;
player sideChat format ["%1, %2, Hoch: %3", _grparray, _wertearray, _Wertearray_hoch];
// --- momentan deaktivierttango31 selectLeader player;
_cnt = count units tango31;};

};
Und hier komme ich nicht weiter!
Ich brauche irgendwie eine „Verbindung“ zwischen den Arrays.
Es soll der mit dem höchsten Wert zum Gruppenführer von Tango31 gemacht werden.

Ich habe es auch mal mit einem mehrdimensionalen Array probiert, da bekomme ich es auch nicht hin.
{ _grparray = _grparray + [_x,(_x getVariable "DOF_RANK") ] } count units tango31;

Drunken Officer
26.05.2015, 14:26
Kann geschlossen werden. Es wird nicht über 2 Array gelöst, sondern über eine forEach-Schleife, die die Variablen prüft.

Script-Lösung kam von SaMatra