Beispiele: ConsoleCommands

Per Konsolenbefehl sprinten

Aus Testzwecken kann es manchmal recht nützlich sein zu sprinten um irgendwo schnell hin zu gelangen, wenn man die Wegpunkte nicht auswendig weiß. Um das mittels Konsolenbefehl zu ermöglichen erstellen wir zunächst eine Funktion, die dann durch Eingabe des Konsolenbefehls aufgerufen wird.
func string Example_1(var string param) {
Mdl_ApplyOverlayMDS(hero, "HUMANS_SPRINT.MDS");
return "Sprinting activated";
};

Nun müssen wir den Konsolenbefehl nur noch registrieren. Das geht am besten in der Init_Global.func void Init_Global() {
// [...]

LeGo_Init(LeGo_All); // Ein wahrer Fan initialisiert IMMER alles!

CC_Register(Example_1, "sprint ", "Toggle sprinting");
};

Sprinten togglen

Um das Sprinten mit dem gleichen Befehl auch beenden zu können, kann man dem Befehl in der Konsole noch einen Parameter mitgeben. Alles was nach dem registrierten Befehl (hier "sprint ") in die Konsole eingegeben wird, wird der Funktion als Stringparameter übergeben. Das ermöglicht es z.B. toggle-bare Befehle zu erstellen.
func string Example_1(var string param) {
if (Hlp_StrCmp(param, "on")) {
Mdl_ApplyOverlayMDS(hero, "HUMANS_SPRINT.MDS");
return "Sprinting activated";
} else {
Mdl_RemoveOverlayMDS(hero, "HUMANS_SPRINT.MDS");
return "Stopped sprinting";
};
};

Wichtig ist, dass die Befehlsfunktion immer einen String als Parameter erwarten und auch einen zurück geben muss.
Der zurückgegebene String sollte außerdem nicht leer sein (""), sondern sollte mindestens ein Zeichen enthalten. Um in der Konsole nichts anzeigen zu lassen ist also minimal " " ok.