Ich weiß gerade nicht wie ich diese aufrufen kann.
Ich habe mal ein wenig im Code herumgesucht und bin in der
Data/Scripts/classes/zwerg/z_work_common.tcl auf ein paar Stellen gestoßen, die dir helfen könnten.
Es gib ca. in Zeile 413 eine Funktion
prod_buildup in der eine If-Abfrage schaut, ob Items mit oder ohne Aufbauanimation aufgebaut werden sollen.
Code: Alles auswählen
if {[lsearch {Abfluss Leiter Leiter_Kristall Leiter_Metall Plattmachfalle SteinfalleMedusa} $pclass]!=-1} {
...
}
In der Liste sind alle Items, die keine Aufbauanimation haben. Da könntest du deine Schatztonne hinzufügen.
Um Items aufzubauen, wird die Item-Methode
unpackfrombox aufgerufen. Diese befindet sich in
Data/Scripts/misc/genericprod.tcl ca. in Zeile 194. Dort wird ziemlich am Ende geprüft, ob das Item eine
init-Methode besitzt und falls ja, wird diese aufgerufen.
Code: Alles auswählen
if {[check_method [get_objclass this] init] == 1} {
call_method this init
} else {
log "WARNING: no init method for class [get_objclass this]"
}
Somit müsstest du theoretisch nur in deiner neu erstellten Klasse eine
init-Methode definieren, die deine Funktion aufruft. Ungefähr so:
Oder wenn du deine
check_inventory_list in eine Methode umwandelst (anstatt
proc einfach
method davorschreibst):
Code: Alles auswählen
method init {} {
call_method this check_inventory_list
}
Viel Erfolg