Logo AeK Script-Wiki Logo AeK Script-Wiki Logo AeK Script-Wiki

Absturzursache finden

Ihr standet auch schon vor dem Problem, das sich das Spiel einfach so verabschiedet - immer an der gleichen Stelle? Dann werdet ihr dieses Hilfsmittel lieben:

Das kleine Tool „Logic Protection“ überprüft die Parameter, die an die Logic-Funktionen übergeben werden, darauf, ob sie gültige Parameter erhalten. Es hängt sich dabei zwischen den Mapper und die eigentliche C-API, um häufige falsche Parameter abzufangen.

Den Quelltext findet ihr hier unten drunter:

Code

Hinweise

  • Dieses Tool ist nicht dazu geeignet, in der fertigen Kartenversion verwendet zu werden.
  • Dieses Tool ist nach dem Laden eines Spielstandes nicht mehr aktiv.
  • Es kann sowohl in der lokalen Skriptumgebung als auch in der globalen verwendet werden.
  • Ihr könnt damit auch Fehler seitens BB finden.
  • Ladet dieses Skript erst in der Mission_FirstMapAction() (packt es also in eine eigene Funktion), oder ihr werdet keinen Ritter mehr haben (Grund siehe eins oben drüber)
  • Die Liste der geschützten Logic-Funktionen ist unvollständig und geht aktuell nur einigermaßen komplett bis zum Buchstaben 'C'. Jeder kann diese Seite bearbeiten und eine weitere Funktion hinzufügen (achtet dabei aber darauf, dass es zu keiner Endlosrekursion kommt!).

Wie fügt man eine neue Funktion ein?

Eine neue Funktion fügt man ein, indem man sie in einer Zeichenkette deklariert. Am besten lässt es sich verstehen, wenn man sich schon die bisherigen Einträge am Ende des Tools anschaut:

  • Jeder Parameter muss deklariert werden. Dazu reicht allein die Angabe eines Types, aber man kann ihn auch noch näher bezeichnen.
  • Optionale Parameter stehen in eckigen Klammern.
  • Sollte eine variable Anzahl Parameter an eine Funktion möglich sein, so muss hinter die Typangabe ein '…' zur Markierung der variablen Argumentliste eingefügt werden. Beispiel: „EntityID… entities“ für eine beliebige Anzahl Einheiten an diese Funktion.
  • Sollte ein Typ noch nicht definiert sein, so kann man ihn mit der Funkton LogicProtection:AddType(_typeName, _typeData) hinzufügen. Ein Typ benötigt mindestens eine check()-Funktion, um einen Parameter zu überprüfen!

Anmeldung/ Registrierung

Passwort vergessen? Kein Problem: Sende neues Passwort

· Zuletzt geändert: 10/03/2009 13:13 von netsurfer (962 views)