Waffen, Werkzeug und Tränke einlagern
Verfasst: Fr 19. Okt 2012, 16:53
Update 4.11.2015
update findet ihr am ende
so könnt ihr alles einlagern, bis auf, holzkiepe, große holzkiepe, besondere waffen und questgegenstände
da einige paar probleme haben, hab ich mich mal bissel kundig gemacht. anscheint haben die verschiedenen versionen von wiggles ein paar abweichende skripts.
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
falls das nicht da stehen sollte oder mit // am anfang bitte ändern.
ganz am anfang von dem skript muss folgendes stehen
als erstes entfernt man die //
vom original
Zu
etwas weiter unten in der datei. muss man set_prod_slot_cnt this_Waffen_Werkzeug_und_Traenke_einlagern 0 einfügen
vom original
zu
nun weiter, natürlich müssen die wiggles wissen was sie einlagern sollen.
so sieht das original aus
und das fügt ihr hier ein.
in der datei \Wiggles\Data\Scripts\misc\techtreetunes.tcl
im original, im oberen drittel der datei
und so ändert ihr das
Update 4.11.2015 Update 4.11.2015 Update 4.11.2015
lang habe ich versprochen, nun kommt das Update.
das Update besteht aus einer Sammlung des folgenden threads.
Problem: es kann der Fehler auftreten, dass nicht noch den neuen Items gesucht wird.
Zed2000 hat folgendes geändert:
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
bei ungefähr Zeile 110
Im Original
geändert
Problem: Einige Waffen sind nicht sind nicht Lagerfähig.
Zed2000 hat folgendes geändert:
Dazu wurde folgende Datei geändert:
\Wiggles\Data\Scripts\init\animinit.tcl
Im Original
fügt einfach set_storable this 1ein
geändert
diese Änderung bewirkt das nun Waffen die Lagerfähigkeit erhält.
Problem: Items die an der decke kleben oder einfach nicht erkannt werden
Dieser Skript ist ein Versuch von Zed2000, wir wissen nicht ob es geht.
Dazu wurde folgende Datei geändert:
\Wiggles\Data\Scripts\classes\zwerg\z_work_prod.tcl
im Original
geändert zu
Problem: es musste neues spiel gestartet werden, damit die Items gelagert werden.
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
Zed2000 hat die funktion handle_event evt_timer_search umgändert.
Hinweis: validate_store_content ist die erste Zeile die man nicht mehr ändert.
viel spaß damit und besten dank Zed2000
mfg
Christian
update findet ihr am ende
so könnt ihr alles einlagern, bis auf, holzkiepe, große holzkiepe, besondere waffen und questgegenstände
da einige paar probleme haben, hab ich mich mal bissel kundig gemacht. anscheint haben die verschiedenen versionen von wiggles ein paar abweichende skripts.
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
falls das nicht da stehen sollte oder mit // am anfang bitte ändern.
ganz am anfang von dem skript muss folgendes stehen
Code: Alles auswählen
def_class _Nahrung_einlagern service material 1 {} {}
def_class _Kisten_einlagern service material 1 {} {}
def_class _Pilze_einlagern service material 1 {} {}
def_class _Rohmineralien_einlagern service material 1 {} {}
def_class _Mineralien_einlagern service material 1 {} {}
def_class _Waffen_Werkzeug_und_Traenke_einlagern service material 1 {} {}
vom original
Code: Alles auswählen
// if {[get_prod_slot_cnt this _Waffen_Werkzeug_und_Traenke_einlagern] != 0} {
// set store_misc 1
// } else {
set store_misc 0
// }
Code: Alles auswählen
if {[get_prod_slot_cnt this _Waffen_Werkzeug_und_Traenke_einlagern] != 0} {
set store_misc 1
} else {
set store_misc 0
}
etwas weiter unten in der datei. muss man set_prod_slot_cnt this_Waffen_Werkzeug_und_Traenke_einlagern 0 einfügen
vom original
Code: Alles auswählen
set_prod_slot_cnt this _Kisten_einlagern 0
set_prod_slot_cnt this _Nahrung_einlagern 0
set_prod_slot_cnt this _Pilze_einlagern 0
set_prod_slot_cnt this _Mineralien_einlagern 0
set_prod_slot_cnt this _Rohmineralien_einlagern 0
Code: Alles auswählen
set_prod_slot_cnt this _Kisten_einlagern 0
set_prod_slot_cnt this _Nahrung_einlagern 0
set_prod_slot_cnt this _Pilze_einlagern 0
set_prod_slot_cnt this _Mineralien_einlagern 0
set_prod_slot_cnt this _Rohmineralien_einlagern 0
set_prod_slot_cnt this _Waffen_Werkzeug_und_Traenke_einlagern 0
so sieht das original aus
Code: Alles auswählen
// liefert Klassennamen zum Einlagern
proc get_classes_to_store {} {
global store_food store_boxes store_mushrooms store_rawminerals store_minerals store_misc
set classes [list]
if {$store_food} {
lappend classes Grillpilz Grillhamster Pilzbrot Raupensuppe Raupenschleimkuchen Gourmetsuppe Hamstershake Bier
}
if {$store_mushrooms} {
lappend classes Pilzstamm Pilzhut
}
if {$store_rawminerals} {
lappend classes Eisenerz Golderz Kristallerz
}
if {$store_minerals} {
lappend classes Eisen Gold Kristall Stein Kohle
}
if {$store_misc} {
lappend classes Steinschleuder Schwert Kleiner_Heiltrank Heiltrank Grosser_Heiltrank
}
return $classes
}
Code: Alles auswählen
// liefert Klassennamen zum Einlagern
proc get_classes_to_store {} {
global store_food store_boxes store_mushrooms store_rawminerals store_minerals store_misc
set classes [list]
if {$store_food} {
lappend classes Grillpilz Grillhamster Pilzbrot Raupensuppe Raupenschleimkuchen Gourmetsuppe Hamstershake
}
if {$store_mushrooms} {
lappend classes Pilzstamm Pilzhut Bier
}
if {$store_rawminerals} {
lappend classes Eisenerz Golderz Kristallerz
}
if {$store_minerals} {
lappend classes Eisen Gold Kristall Stein Kohle
}
if {$store_misc} {
lappend classes Steinschleuder Schwert Kleiner_Heiltrank Heiltrank Grosser_Heiltrank Keule Reithamster Schild Streitaxt Kettensaege Schwert PfeilUndBogen Metallschild Presslufthammer Hoverboard Buechse Lichtschwert Kristallschild Kristallstrahl Pilzschnaps Liebestrank Unverwundbarkeitstrank Unsichtbarkeitstrank Jungbrunnentrank Fruchtbarkeitstrank Wiederbelebung
}
return $classes
}
im original, im oberen drittel der datei
Code: Alles auswählen
"Lager" {
set tttmaterial_Lager {Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzhut}
set tttinvent_Lager {{exp_Holz 0.179} {exp_Transport 0.109}}
set tttgain_Lager {{exp_Holz 0.3}}
set tttinfluence_Lager {{exp_Holz 0.3}}
set tttitems_Lager {_Kisten_einlagern _Nahrung_einlagern _Pilze_einlagern _Rohmineralien_einlagern _Mineralien_einlagern}
set tttpreinv_Lager {_Kisten_einlagern _Nahrung_einlagern _Pilze_einlagern _Rohmineralien_einlagern _Mineralien_einlagern}
set tttfow_x 30
set tttfow_y 30
Code: Alles auswählen
"Lager" {
set tttmaterial_Lager {Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzhut}
set tttinvent_Lager {{exp_Holz 0.179} {exp_Transport 0.109}}
set tttgain_Lager {{exp_Holz 0.3}}
set tttinfluence_Lager {{exp_Holz 0.3}}
set tttitems_Lager {_Kisten_einlagern _Nahrung_einlagern _Pilze_einlagern _Rohmineralien_einlagern _Mineralien_einlagern _Waffen_Werkzeug_und_Traenke_einlagern}
set tttpreinv_Lager {_Kisten_einlagern _Nahrung_einlagern _Pilze_einlagern _Rohmineralien_einlagern _Mineralien_einlagern _Waffen_Werkzeug_und_Traenke_einlagern}
set tttfow_x 30
set tttfow_y 30
Update 4.11.2015 Update 4.11.2015 Update 4.11.2015
lang habe ich versprochen, nun kommt das Update.
das Update besteht aus einer Sammlung des folgenden threads.
Problem: es kann der Fehler auftreten, dass nicht noch den neuen Items gesucht wird.
Zed2000 hat folgendes geändert:
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
bei ungefähr Zeile 110
Im Original
Code: Alles auswählen
set classes "Grillpilz Grillhamster Pilzbrot Raupensuppe Raupenschleimkuchen Gourmetsuppe Hamstershake Bier Pilzstamm Pilzhut Eisenerz Golderz Kristallerz Eisen Gold Kristall Stein Kohle"
Code: Alles auswählen
set classes [get_classes_to_store]
Zed2000 hat folgendes geändert:
Dazu wurde folgende Datei geändert:
\Wiggles\Data\Scripts\init\animinit.tcl
Im Original
Code: Alles auswählen
proc SetWeaponClasses {objclasslist} {
foreach objclass $objclasslist {
set classname [lindex $objclass 0]
set animlist [lindex $objclass 1]
def_class $classname metal tool 0 {} "
call scripts/misc/animclassinit.tcl
set classanimlist \{$animlist\}
set animname \[lindex \$classanimlist 0\]
class_defaultanim \${animname}.standard
class_physic 1
class_viewinfog 1
method is_weapon {} {}
method destroy {} { del this }
obj_init \"
set_selectable this 1
set_hoverable this 1
\"
"
}
}
geändert
Code: Alles auswählen
proc SetWeaponClasses {objclasslist} {
foreach objclass $objclasslist {
set classname [lindex $objclass 0]
set animlist [lindex $objclass 1]
def_class $classname metal tool 0 {} "
call scripts/misc/animclassinit.tcl
set classanimlist \{$animlist\}
set animname \[lindex \$classanimlist 0\]
class_defaultanim \${animname}.standard
class_physic 1
class_viewinfog 1
method is_weapon {} {}
method destroy {} { del this }
obj_init \"
set_selectable this 1
set_hoverable this 1
set_storable this 1
\"
"
}
}
Problem: Items die an der decke kleben oder einfach nicht erkannt werden
Dieser Skript ist ein Versuch von Zed2000, wir wissen nicht ob es geht.
Dazu wurde folgende Datei geändert:
\Wiggles\Data\Scripts\classes\zwerg\z_work_prod.tcl
im Original
Code: Alles auswählen
tasklist_add this "state_disable this; walk_action \"-target \{[get_pos $next_item]\} \" {state_enable this}"
Code: Alles auswählen
tasklist_add this "state_disable this; walk_action \"-target \{[get_posbottom $next_item]\} \" {state_enable this}"
Dazu wurden folgende Dateien geändert:
\Wiggles\Data\Scripts\classes\work\lager.tcl
Zed2000 hat die funktion handle_event evt_timer_search umgändert.
Code: Alles auswählen
handle_event evt_timer_search {
global items_list old_items_list storable_items_list store_range
// log "lager.tcl: Event evt_timer_search"
set classes [get_classes_to_store]
if {[llength $classes] > 0} {
set items [obj_query this "-flagneg {instore} -type tool -class \{$classes\} -owner \{[get_owner this] -1\} -alloc -1"]
foreach item $items {
if {[get_storable $item] == 0} {
set_storable $item 1
}
}
}
validate_store_content
viel spaß damit und besten dank Zed2000
mfg
Christian