[Deutsch] Impacts.dbt erklärt

  • Impacts sind temporäre oder permanente Eigenschaften, die man verteilen kann, ähnlich wie propertys, allerdings mit der Möglichkeit, Laufzeit und Wert einzustellen.


    Mein Wissen über die dbt. ist leider sehr begrenzt, vielleicht kann hier ja jemand dazu beitragen:


    "id":
    Wie immer die ID dieser Tabelle, muss einzigartig sein.


    "modtype":
    Unbekannt, aber für alle gewöhnlichen Impacts, die Charaktere beeinflussen, scheint "1" zuständig zu sein.


    "timetype":
    Unbekannt, hier gibt es relativ viel Variation, bei mir funktionierte "2" für alle normalen Impacts aber immer.



    "defaultvalue":
    Standardwert, sonst hier 0 eingeben


    "name":
    Der Name des Impacts, bitte Groß- und Kleinschreibung beachten. Dies ist der Name, den ihr mit den Befehlen abfragt!



    "effecttype":
    Unbekannt, meistens 0


    "icon":
    Wenn ihr wollt, dass euer Impact sichtbar ist, muss hier ein entsprechender Pfad rein.



    Sofern euer Impact sichtbar ist, müsst ihr für diesen einen entsprechenden Eintrag in der text.dbt anlegen:


    18077 "_ONSCREENHELP_9_ACTION_IMPACT_Sugar_TOOLTIP_+0" "$S+25% Geschwindigkeit" |
    18078 "_ONSCREENHELP_9_ACTION_IMPACT_Sugar_NAME_+0" "Zuckerschock" |
    18079 "_ONSCREENHELP_9_ACTION_IMPACT_Sugar_DESCRIPTION_+0" "Der Charakter hat einen Zuckerschock und bewegt sich deshalb mit erhöhter Geschwindkeit für eine kurze Zeit." |


    Funktionen für Impacts



    AddImpact("","Sugar",1,6) fügt dem ausführenden Objekt ("") den Impact "Sugar" mit dem Wert 1 zu. Der Impact hält 6 Stunden.
    RemoveImpact("","Sugar") entfernt ALLE Impacts namens "Sugar" vom Objekt. Bitte niemals in Zusammenhang mit Talentwerten, sonst verliert ihr ALLE permanenten Boni. (Stufen-Boni ausgenommen)
    ImpactGetMaxTimeleft("","Sugar") zeigt mir an, wielange der Impact Sugar noch hält. Sollte mein Ziel mehrmals den Impact Sugar haben, gibt mir die Funktion den Impact mit der längsten Laufzeit zurück. Hat das Ziel keinen Impact "Sugar" wird -1 ausgegeben.
    GetImpactValue("","Sugar") holt mir den Wert des Impacts Sugar für "", sofern dieser vorhanden ist



    Nur für Filter-Fragen!!!


    Object.HasImpact(Sugar) gibt true oder false wider.

  • du hast nicht zufällig nen einfachen Weg, alle Impacts abzufragen, bzw. von dem Impact string in der Text.db auf den Impact selbst zu kommen?


    Ich hatte z.b überlegt in meinem "individuelle Suche" Feature eben auch nach Impacts zu suchen.
    Das heißt ich möchte z.b alle Sims angezeigt bekommen, die aktuell betrunken sind, oder zuckerschock haben, oderso.


    Die Auswahl davon kann man jetzt auf 2 Wegen machen:
    1) ich liste alle exisitierenden Impacts in einer liste auf, in der man dann den einzelnen anwählen kann.
    2) ich lasse den Spieler einen string eintippen, nach dem dann gesucht wird


    In beiden Fällen muss ich die Einträge der Impacts.dbt irgendwie mit den Einträgen der text.dbt verknüpfen können.
    Denn wenn nun z.b nach "Zuckerschock" gesucht wird, kann ich zwar mit GetDataBaseValue alle Einträge nach ID in der Impacts.dbt durchgehen, aber ich hab keinen Bezug zur Übersetzung aus der text.dbt, um die Übersetzung mit dem in 2) eingegebenen String zu vergleichen, oder diese Übersetzung in 1) der Liste anzuzeigen.


    Das einzige was mir bisher zur Lösung einfällt, ist die name strings aus der impacts.dbt in der 1) Liste anzeigen zu lassen. Diese wären dann halt immer englisch... aber besser als garnichts.
    Oder hast du ne andere Idee?