FANDOM



Sobald eine KI für einen Spieler initialisiert wurde (was meistens der Fall ist), kann man normaler Weise die Ritter nicht über die Karte bewegen, ohne das sie zurück zu ihrem Marktplatz wollen sobald sie ihr Ziel erreicht haben. mit den folgenden Funktionen kann man ihnen das austreiben.

Von der KI entfernenBearbeiten

Um einen Ritter frei über die Karte zu bewegen muss man ihn aus der Kontrolle der KI entfernen. Das geschiet mit folgendem Befehl:

AICore.HideEntityFromAI( 2, GetEntityId("hero2"), true) -- "hero2" ist Ritter von Spieler 2

Mit dieser Funktion kann man auch jede andere beliebige Entity aus der Kontrolle der KI entfernen. Geht es aber speziell um einen Ritter kann man auch eine Komfortfunktion benutzen, die selbständig den Primärritter der SpielerID ausfindig macht. Diese Funktion heißt StopKnight(_SpielerID).

StopKnight(2) -- 2 ist die SpielerID des Ritters

Wie im obrigen Code entfernt auch diese Funktion den Ritter aus der Kontrolle der KI. Damit das funktioniert muss dieser Code einmalig irgend wo in der globalen Skriptumgebung existieren:

function StopKnight(_PlayerID)
    local knightID = Logic.GetKnightID(_PlayerID)
    AICore.HideEntityFromAI(_PlayerID, knightID, true)
end

Übergabe an die KIBearbeiten

Will man einen Ritter wieder an die Kontrolle der KI zurückgeben kann man dies so machen:

 AICore.HideEntityFromAI( 2, GetEntityId("hero2"), false) -- "hero2" ist Ritter von Spieler 2

Aber auch dafür gibt es eine Vereinfachung. Die benötigte Funktion heißt StartKnight(_SpielerID).

StartKnight(2) -- 2 ist die SpielerID des Ritters

Wie bei AICore.HideEntityFromAI wird auch hier die Kontrolle über den Primärritter an die KI zurückgegeben. Damit das funktioniert muss dieser Code einmalig in der globalen Skriptumgebung existieren:

function StartKnight(_PlayerID)
    local knightID = Logic.GetKnightID(_PlayerID)
    AICore.HideEntityFromAI(_PlayerID, knightID, false)
end

AufrufmöglichkeitenBearbeiten

Die Funktionen können praktisch zu jedem Zeitpunkt benutzt werden. Sie können sowohl in der Mission_FirstMapAction aufgerufen werden als auch in jedem Reward_MapScriptFunction oder Reprisal_MapScriptFunction. Siehe dazu den Abschnitt Skriptfunktionen per QSB aufrufen.

Störung durch Adblocker erkannt!


Wikia ist eine gebührenfreie Seite, die sich durch Werbung finanziert. Benutzer, die Adblocker einsetzen, haben eine modifizierte Ansicht der Seite.

Wikia ist nicht verfügbar, wenn du weitere Modifikationen in dem Adblocker-Programm gemacht hast. Wenn du sie entfernst, dann wird die Seite ohne Probleme geladen.

Auch bei FANDOM

Zufälliges Wiki