[Modding] Einträge in kit.ids überprüfen, um sie dann zu verwenden?

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.941
Ich möchte vorhandene Ilmater-Kits erkennen und diese im Skripttrigger "Kit(Player1,KITNAME)" verwenden. Dies geht nur, wenn die Kits bereits in der kitlist.ids eingetragen sind - also erst, nachdem die Kitmods, die die Kits einfügen, installiert sind.
Ich möchte mir die Arbeit ersparen und hierfür nicht nach den installierten Mods, sondern direkt nach dem Eintrag in der kit.ids prüfen.

Also sowas wie:

IF (KITNAME exists in kit.ids) THEN BEGIN
COMPILE ~something~
END

Wie würde der Code zum Prüfen eines ids- Eintrags lauten? Ich habe leider für das, was ich brauche, keine Beispiele in anderen Mods gefunden (und leider auch keine Ahnung, nach was ich suchen muss).
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.822
Du brauchst in deiner IF-Bedingung glaube ich eine Schleife und musst als erstes schauen, wie viele Einträge die KIT.IDS hat und dann jeden einzelnen überprüfen, ob es dein KITNAME ist.

Den Code dafür, kann ich aber glaube ich nicht schreiben. Mir fehlt da die Kenntnis, wie ich mit dem tp2-Code die Anzahl der Einträge rausfinde...

p.s.: ich hab das so gelöst, dass ich nach der Mod-Ressource des Kits gesucht habe... Weniger elegant, aber funktioniert.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.941
Mir ist es, ehrlich gesagt, eigentlich Wumpe wie ich rauskriege, welche Kits existieren. Ich würde auch nach installierten Modkomponenten gucken. Ich habe aber nicht den Nerv, die momentan 5 Kitmods diesbezüglich durchzugehen, um zu verstehen, welche Komponten ich da abfragen müsste.
 

Argent

Senior Member
Registriert
13.07.2010
Beiträge
356
Man kann IDS_OF_SYMBOL() nutzen. Dieser Befehl liefert die Kit-ID zurück, wenn sie existiert, ansonsten -1. Das hier sollte reichen:
Code:
ACTION_IF (IDS_OF_SYMBOL(~kit~ ~KIT_NAME~) != "-1") BEGIN
  COMPILE ~something.d~
END
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.822
Cooler Befehl! Müsste man sich merken... Geht das nur bei KIT.IDS oder könnte man damit auch Einträge z.B. in der SHOUT.IDS abfragen?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.941
Mit dem Gedanken hatte ich sogar schon gespielt, aber wusste natürlich nicht, wie man das "-1" abfragt.
Danke Argent.
Geht das nur bei KIT.IDS oder könnte man damit auch Einträge z.B. in der SHOUT.IDS abfragen?
Sollte auch gehen.
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.941
@Maus um das nochmal zu unterstreichen, das hier habe ich gerade in der setup-bst.tp2 "gefunden":
Code:
    COPY_EXISTING ~bs1000.are~ ~override/bs1000.are~
        SET songCDay1 = IDS_OF_SYMBOL (~songlist~ ~CDay1~) //Get the song's number
 

Maus

Senior Member
Registriert
07.08.2002
Beiträge
9.822
Sehr gut, danke!
 

Kensei

Senior Member
Registriert
02.06.2024
Beiträge
198
Übrigens jastey, bzgl. deiner Anfrage im Beamdog Forum; das Artisans Kitpack hat ein Paladin Kit für Ilmater, nämlich das Martyr Kit, das auch der Sirene NPC Mod verwendet.

Falls dir das was bringt.

Du müsstest für deine Mod nach Gottheiten dann evtl. auch bei Paladinen und Rangern checken?
 

Jastey

Matron Modderholic
Registriert
16.05.2004
Beiträge
13.941
@Kensei danke, ich habe mittlerweile die Abfrage für dieses Paladin-Kit. Ja, ich berücksichtige alles, nicht nur Priester (oder Mönche).
Soweit abgedeckt sind:
-Divine Remix
-Deities of Faerûn
-Artisans Kitpack
-Talents of Faerûn
-Faiths&Powers

Wer noch Ilmater Kits (nur) für den HC(!) weiß, immer her damit.
 

Kensei

Senior Member
Registriert
02.06.2024
Beiträge
198
Kein richtiger Kit Mod, aber bei Icewinddale 2 gibts ein Monk Kit, Order of the Broken Ones, den man über die IWD in EET Modifikation importieren kann.
Könntest du auch mit aufnehmen.
 
Oben