Waffen, Werkzeug und Tränke einlagern

Du hast den perfekten Techtree ausgearbeitet oder im LevelEditor eine tolle Karte gebastelt? Nur hier rein damit.
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Waffen, Werkzeug und Tränke einlagern

Beitrag von Chris1231 »

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

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 {} {}
als erstes entfernt man die //
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
//		}
Zu

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
zu

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
nun weiter, natürlich müssen die wiggles wissen was sie einlagern sollen.
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
		}
und das fügt ihr hier ein.

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
		}
in der datei \Wiggles\Data\Scripts\misc\techtreetunes.tcl
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
und so ändert ihr das

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"
geändert

Code: Alles auswählen

 set classes [get_classes_to_store]
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

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
         \"
      "
   }
 }
fügt einfach set_storable this 1ein

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
         \"
      "
   }
}
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

Code: Alles auswählen

tasklist_add this "state_disable this; walk_action \"-target \{[get_pos $next_item]\} \" {state_enable this}"
geändert zu

Code: Alles auswählen

tasklist_add this "state_disable this; walk_action \"-target \{[get_posbottom $next_item]\} \" {state_enable this}"
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.

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
Hinweis: validate_store_content ist die erste Zeile die man nicht mehr ändert.


viel spaß damit und besten dank Zed2000
mfg
Christian
Zuletzt geändert von Chris1231 am Sa 7. Nov 2015, 15:37, insgesamt 3-mal geändert.
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Benutzeravatar
kosch
Beiträge: 3
Registriert: Do 18. Apr 2013, 21:21

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von kosch »

Funzt bei mir nicht. Hab die Slot-Vergrößerung raus genommen, geht trozdem nicht.
... Und da hab ich mir die Frage gestellt, wie soll das bei Gegenstänen funktionieren, die mit sich rum getragen werden und bei Bedarf benuzt werden? Woher kann/soll der Wiggli wissen welche Waffe er einlagern soll und welche Tragen? Ausserdem sind das Gegenstände, die ein Wiggle nicht selbständig aufnimmt.
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von Chris1231 »

Der lager script sagt dem wiggle welche waffe oder gegenstand er aufnehmen soll um zu lagern. Waffen und gegenstrände die der wiggle bei sich hat zählen nicht zum einlagern.
Der script sucht in einer reichweite vom lager(standart 200) nach objekten die seit dem letzten tick nicht bewegt wurden.

Es ist also egal ob der wiggle gegenstände und waffen bei sich hat, diese werden vom lager als nicht erkannt.
der script sagt nach der änderung was der wiggle aufnehmen soll

if {$store_misc} {
lappend classes Steinschleuder Schwert und so weiter

sicher hast du ein befehl vergessen oder einfach nur eine klammer gesetzt oder nicht gesetzt.
hab mir den ganzen script angeschaut und nix gefunden.

es ist darauf zu achten, dass die objekte richtig geschrieben sind, alle klammern und sonderzeichen gesetzt sind.
und das auch die techtree.tcl geändert wurde.
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Benutzeravatar
kosch
Beiträge: 3
Registriert: Do 18. Apr 2013, 21:21

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von kosch »

Danke für die Antwort. Dann muß ich nochmal genau gucken.

Und jetzt hab ich das auch mit den Sachen Tragen verstanden, das Lager macht das einlagern, und nicht der Wiggl, oder so.
:)
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von Chris1231 »

genau,
helfe gern, wenn ich kann :)

solltest du dennoch probleme haben, schick mir einfach mal die lager.tcl und die techtree.tcl per pn ich schau da schnell durch
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
herford2008
Beiträge: 5
Registriert: Do 3. Jul 2014, 21:32

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von herford2008 »

Ist hier überhaupt noch jemand Aktiv ? Spiele seit einer Woche wieder Wiggles aber das mit den Waffeneinlagern Klappt bei mir nicht. Die Funktion ist vorhanden aber kein Wiggle übernimmt die Aufgabe zum Waffeneinlagern. Habe vor Jahren mal selbst rumgebastelt und es hinbekommen aber ich weiss heute leider nicht mehr wie ich das gemacht habe :/
Benutzeravatar
kojo125
Hamster
Hamster
Beiträge: 99
Registriert: Sa 22. Sep 2012, 12:27
Wohnort: Wien

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von kojo125 »

Ja hier ist hin und wieder jemand aktiv . Zu deinen Problem frag am besten chris1231 , der kennt sich da bestens aus .
Wer Rächtschreibfähler findet darf sie auch behalten .
herford2008
Beiträge: 5
Registriert: Do 3. Jul 2014, 21:32

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von herford2008 »

Ok, habs nun selbst hinbekommen. Die Itemliste bei "Liefert Klassennamen zum Einlagern" einfach weiter oben bei "andere Itemsuche" nochmal eingefügt und jetzt Lagern sie Fleißig Waffen und Tränke ein :) Vielleicht habe ich das in der Beschreibung auch übersehen^^
Japanhonk
Beiträge: 1
Registriert: Sa 26. Jul 2014, 16:59

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von Japanhonk »

Hallo Zusammen,
ich heisse Manfred, komme aus Ostwestfalen und programmiere auch selber Adventure Games
im Bereich Star Trek, bin 38 Jahre und bin auf dieses nette Forum gestoßen...

Habe mich hier gerade angemeldet, weil ich an meinem alten Wiggles Spiel doch recht hänge und es
wieder hervorgekramt habe.

Waffen, Werkzueug und Tränke einzulagern wäre klasse.

Ich habe das Skript modifiziert, ein neues Lager gebaut und es erscheint auch das Symbol zum Einlagern.
Aber :

Es muss erst erfunden werden. Also macht sich ein Wiggle auf den Weg und setzt die Denkkappe auf - dann setzt er sie wieder ab, dann wieder auf - endlos.

Woran liegts ?

Gruss

Manni
JohannesM
Beiträge: 1
Registriert: Sa 13. Sep 2014, 16:15

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von JohannesM »

Hi,

ich hatte mal da was ähnliches zusammen gebastelt und bin der Meinung das es funktioniert hat.
Kannst ja mal ein diff über die Änderungen drüber haun, und schaun was noch fehlt.

Viele Grüße
Johannes
Dateianhänge
jmLager.zip
(49.47 KiB) 470-mal heruntergeladen
Antworten