Juhu, jetzt fange ich langsam mit komplizierterem Krams an:
In meinem aktuellen Projekt errichtet sich der Spieler eine Stadt (die via "SetObjectPosition" einfach dahin geschoben wird, wo sie hinsoll), die er ausbauen muss.
Ab einem gewissen Datum nach dem Bau der Stadt, sollen nun ein paar feindliche Helden ankommen, und die Stadt attackieren, ähnlich dem Szenario mit Braunmoor aus der Lebenskampagne, ich will allerdings keine Monolithen benutzen.
Nun die Frage - wie klappt das?
Ich habe mir schon überlegt, das ganze mit "GetDate" und NewDayTriggern abzuhandeln:
function Tag()
day = GetDate;
end;
Trigger(0, "Tag");
function Stadtbau()
Angr1 = GetDate + 5;
Angr2 = GetDate + 10;
Angr3 = GetDate + 16;
end;
function Angriff1()
if day = Angr1
then
DeployReserveHero("Razzak", 69, 47, 0);
SetAIHeroAttractor("Hauptstadt", "Razzak", 2);
end;
end;
function Angriff2()
if day = Angr2
then
DeployReserveHero("Sufi", 62, 50, 0);
SetAIHeroAttractor("Hauptstadt", "Sufi", 2);
end;
end;
function Angriff3()
if day = Angr3
then
DeployReserveHero("Isher", 5, 1, 0);
SetAIHeroAttractor("Hauptstadt", "Isher", 2);
end;
end;
Alles anzeigen
Gedacht ist es so:
Zu Beginn jedes neuen Tages wird die Variable "day" durch das aktuelle Datum ersetzt.
Hat der Spieler die o.g. Stadt "gebaut", so fragt das Skript das aktuelle Datum ab, und ersetzt die Variblen "Angr1", "Angr2" und "Angr3" durch das entsprechende Datum plus einer bestimmten Zahl.
Dann kommen verschiedene Funktionen (die in dem o.g. Skript noch von nichts ausgelöst werden, das kommt dann noch ), die immer dann, wenn das aktuelle Datum den Wert von Angr1 bis Angr3 erreicht, einen feindlichen Helden spawnen und ihn auf die Stadt des Spielers hetzen.
Problem: Schon beim Starten der Karte geht nichts, (normalerweise wird zu Beginn ein Textfeld angezeigt) was zeigt, dass das nicht ganz funktioniert.
Ohne es zu wissen, sage ich, dass meine Variablen-Konstruktion sicher ziemlicher Mist ist, aber mein Verstand sagt mir, so müsste es funktionieren...
Was sagt ihr dazu, wie kriegt ich mein Skript so hin, wie ich es will?
€: Für die, die es nicht wissen: Trigger 0 ist NEW_DAY_TRIGGER, ich nutze da lieber die IDs, die sind kürzer