GetLeaderBySoldier

Parameter

(_eID)

Name Typ Beschreibung
_eID Number EntityID des Soldaten dessen Hauptmann bestimmt werden soll

Functionscode

Füge diesen Code in dein Skript ein.

function GetLeaderBySoldier(_eID)
    if not IsExisting(_eID)then
        return;
    end
    local pID = Logic.EntityGetPlayer(_eID);
    local c, leader = Logic.GetPlayerEntities(pID, Entities.U_MilitaryLeader, 1);
    local first = leader;
    if c > 0 then
        repeat
            local soldiers = {Logic.GetSoldiersAttachedToLeader(leader)};
            if soldiers[1] then
                for i = 2,soldiers[1]+1 do
                    if soldiers[i] == _eID then
                        return leader,unpack(soldiers);
                    end
                end
            end
            leader = Logic.GetNextEntityOfPlayerOfType(leader);
        until leader == first;
    end
end

Rückgabewerte

mehrere Number: EntityID des Hauptmanns und all seiner Soldaten

Beschreibung

Diese Funktion ermittelt den Hauptmann eines Battalions.

global ✔

lokal ✔

by Noigi

Beispiel

Bla Bla

local soldiers = GetPlayerEntities(1,Entities.U_MilitarySword);
local leader = GetID("Hauptmann");
local found = false;

for i=1,#soldiers do
      local hauptmann = { GetLeaderBySoldier(_eID) }
      if hauptmann[1] == leader then
            Logic.DEBUG_AddNote("Juhu, wir haben den Hauptmann gefunden!")
            found = true;
            break;
      end
end

if found == false
      Logic.DEBUG_AddNote("O nein, wir haben den Hauptmann nicht gefunden.")
end

Demo-Map

<nicht vorhanden>

Zurück zu Funktionssammlungen | Drucken | Tags
Sofern nicht anders angegeben, steht der Inhalt dieser Seite unter Lizenz Creative Commons Attribution-ShareAlike 3.0 License