Seite 3 von 4

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Sa 4. Apr 2015, 22:29
von zed2000
Ich hab bis jetzt nur drei Erweiterungen zusammengetragen:

http://wiggles.ruka.at/forum/viewtopic. ... rt=10#p793 behebt nen Fehler, dass es quasi zweierlei Funktionen mit den Klassenlisten gab.

http://wiggles.ruka.at/forum/viewtopic. ... rt=10#p817 behebt den Fehler, dass nicht alle Waffen storable waren.

http://wiggles.ruka.at/forum/viewtopic. ... rt=10#p819 ist der Versuch, dass Waffen die knapp über der Oberfläche liegen, vom Pathfinder korrekt erfasst werden. Stony meinte, es klappt dann auch mit Items in der Decke. Probiers mal aus, wenn du ein Savegame hast, indem Items an der Decke kleben. Ich hab keines da.

@Chris, wenn du die drei Erweiterungen in deinen ersten Post übernehmen könntest, wärs super. Dann würde alles an einer Stelle stehen.

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: So 5. Apr 2015, 09:16
von Chris1231
Kann ich gern machen, ich les mich rein und Bau die im ersten Post mit ein.
Ich geh dir Bescheid, wenn ich es hab. Kannst dann mal drüber fliegen ob ich alles richtig hab.

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Sa 16. Mai 2015, 09:36
von Goticha
Dann mache ich.Ich muss die Links halten.Sie sind wichtig :D






sony m4 aqua schutzhülle

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Mi 7. Okt 2015, 15:34
von Checker
Sehen gut aus. Vielen Dank!

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Mi 4. Nov 2015, 18:33
von Chris1231
ich hatte es lang versprochen, nun habe ich den Post ein update verpasst.

alle Änderungen die Zed2000 beigetragen hat, hab ich eingefügt.
ich werde ihn aber sicherheitshalber mal anschreiben, nicht das ich mich irgendwo vertippt habe oder so ähnlich.

mfg
Christian

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Sa 7. Nov 2015, 13:51
von zed2000
Danke, habe das kontrolliert. Passt alles soweit. Wenns es irgendjemand ausprobiert und noch einen Fehler findet wird er/sie sich schon möglichst mit einer konkreten Fehlerbeschreibung melden. Wenn nichts mehr im Lager funktioniert, kommts meist daher, dass der Quelltext falsch kopiert wurde/Tippfehler da sind.

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: So 15. Nov 2015, 01:25
von cech12
Hey!

Ich habe mich mal ein wenig mit dem Lager beschäftigt und für den ModManager auch eine Lager-Mod entwiggelt. Hier kann man mit dieser Mod differenziert auswählen, welche Items man im Lager lagern möchte.

Was die Mod alles genau unterstützt und wie ihr sie herunterladet, findet ihr in dieser Liste.

Leider konnte ich das alles noch nicht mit höchster Genauigkeit testen.
Falls ihr also auf weitere Probleme oder Fehler stoßen solltet oder Verbesserungen vorschlagen möchtet, dann immer her damit ;)

Euer Christian (Nr. 2)

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Di 17. Nov 2015, 12:44
von cech12
Hey!

Ich habe es geschafft, Holzkiepen einzulagern! Die Angelegenheit war sehr fummelig. Es lag daran, dass das Lager ein Inventar wie ein Wiggle besitzt. Wenn nun eine Holzkiepe eingelagert wurde also dem Inventar des Lagers hinzugefügt wurde, wurde versucht, das Inventar des Lagers zu vergrößern. Das ist wahrscheinlich schief gegangen und somit wurde die Holzkiepe auf mysteriöse Art und Weise weggebeamt.

Ich habe das bereits in meine Lagerverbesserung-Mod vom Mod Manager integriert, jedoch möchte ich trotzdem nochmal schildern, wie man das auch händisch machen kann.

Zuerst muss man zwei neue Itemklassen erstellen, die nicht vom Typ "transport" sind. Am besten geht man in die Datei Scripts/classes/items/transport.tcl und fügt vor dieser Zeile

Code: Alles auswählen

def_class Holzkiepe wood transport 1 {} {
folgende Zeilen ein:

Code: Alles auswählen

def_class Holzkiepe_ wood tool 1 {} {
	call scripts/misc/autodef.tcl
	class_defaultanim holzkiepe.standard

	obj_init {
		call scripts/misc/autodef.tcl
		set_anim this holzkiepe.standard 0 $ANIM_STILL

		set_attrib this weight 0.05
		set_attrib this hitpoints 0.5
	}
}

def_class Grosse_Holzkiepe_ wood tool 1 {} {
	call scripts/misc/autodef.tcl
	class_defaultanim big_holzkiepe.standard

	obj_init {
		call scripts/misc/autodef.tcl
		set_anim this big_holzkiepe.standard 0 $ANIM_STILL

		set_attrib this weight 0.05
		set_attrib this hitpoints 0.5
	}
}
Nun muss man in die Datei Scripts/misc/techtreetunes.tcl und vor dieser Zeile

Code: Alles auswählen

	"Holzkiepe" {
diesen Code einfügen:

Code: Alles auswählen

	"Holzkiepe_" {
		set tttmaterial_Holzkiepe			{}
		set tttinvent_Holzkiepe				{}
		set tttgain_Holzkiepe				{}
		set tttinfluence_Holzkiepe			{}
	}
	"Grosse_Holzkiepe_" {
		set tttmaterial_Grosse_Holzkiepe				{}
		set tttinvent_Grosse_Holzkiepe		{}
		set tttgain_Grosse_Holzkiepe		{}
		set tttinfluence_Grosse_Holzkiepe	{}
	}
Jetzt haben wir zwei neue Items erstellt, die vom Typ "tool" sind, das Inventar nicht beeinflussen, aber genauso aussehen wie die beiden Holzkiepen. Nun kommt der fummelige Teil, denn wir müssen beim Einlagern in das Lager und beim Entnehmen die Items auswechseln.

Dazu öffnen wir die Datei Scripts/classes/work/lager.tcl und tun folgendes:
1. Wir fügen vor der Zeile

Code: Alles auswählen

inv_add this $item
diesen Code ein:

Code: Alles auswählen

if {[get_objtype $item] == "transport"} {
	//Container ausleeren, sonst gehen Items verloren
	foreach invitem [inv_list $item] {
		inv_rem $item $invitem
		set_visibility $invitem 1
		set_hoverable $invitem 1
		set_posbottom $invitem [vector_fix [get_pos $item]]
	}
	
	if {[get_objclass $item] == "Holzkiepe"} {
		del $item
		set item [new Holzkiepe_]
	} elseif {[get_objclass $item] == "Grosse_Holzkiepe"} {
		del $item
		set item [new Grosse_Holzkiepe_]
	}
}
Das bewirkt, dass die Transport-Holzkiepe geleert und gelöscht wird. Daraufhin wird eine Tool-Holzkiepe für das Lager erstellt.


2. Unter diese Zeile

Code: Alles auswählen

log "item $item [get_objname $item] retrieved from lager"
fügen wir diesen Code ein:

Code: Alles auswählen

if {[get_objclass $item] == "Holzkiepe_"} {
	set_visibility $item 0
	del $item
} elseif {[get_objclass $item] == "Grosse_Holzkiepe_"} {
	set_visibility $item 0
	del $item
}
Das bewirkt, dass beim Entnehmen der Tool-Holzkiepe, diese gelöscht wird. (Das Erstellen der Transport-Holzkiepe passiert später)


3. Damit die Holzkiepen nicht zwischen den Regalen schweben ersetzen wir noch folgende Zeile

Code: Alles auswählen

set_pos $item [vector_add [get_pos this] "[expr {[lindex $slotx [expr {$slotidx % 6}]] + [random -0.15 0.15]}] [lindex $sloty [expr {$slotidx / 6}]] 0"]
mit

Code: Alles auswählen

if {[get_objclass $item] == "Holzkiepe_" || [get_objclass $item] == "Grosse_Holzkiepe_"} {
	set_pos $item [vector_add [get_pos this] "[expr {[lindex $slotx [expr {$slotidx % 6}]] + [random -0.15 0.15]}] [expr {[lindex $sloty [expr {$slotidx / 6}]] - 0.4}] -0.2"]
} else {
	set_pos $item [vector_add [get_pos this] "[expr {[lindex $slotx [expr {$slotidx % 6}]] + [random -0.15 0.15]}] [lindex $sloty [expr {$slotidx / 6}]] 0"]
}
4. bei der Zeile

Code: Alles auswählen

if {$store_misc} {
            lappend classes Steinschleuder ...
müssen noch die

Code: Alles auswählen

Holzkiepe Grosse_Holzkiepe
hinzugefügt werden.


Jetzt muss nur noch in der Datei Scripts/classes/zwerg/z_work_prod.tcl diese Zeile

Code: Alles auswählen

tasklist_add this "call_method $store retrieve_item $slotidx $item; beamto_inv $item"
ersetzt mit diesem Code werden:

Code: Alles auswählen

set item_inv $item
if {[get_objclass $item] == "Holzkiepe_"} {
	set item_inv [new Holzkiepe]
} elseif {[get_objclass $item] == "Grosse_Holzkiepe_"} {
	set item_inv [new Grosse_Holzkiepe]
}
tasklist_add this "call_method $store retrieve_item $slotidx $item; beamto_inv $item_inv"
Dies bewirkt, dass bei der Entnahme eine Transport-Holzkiepe generiert wird. (Das Löschen der Tool-Holzkiepe hat zuvor stattgefunden)


Für den Feinschliff kann man noch im Verzeichnis Texture/ClassIcons die Dateien Holzkiepe.tga und Grosse_Holzkiepe.tga dublizieren und Holzkiepe_.tga und Grosse_Holzkiepe_.tga nennen. Dann haben die Wiggles beim Entnehmen auch das richtige Symbol über ihrem Kopf.

Außderdem kann man noch in der messages.txt die folgenden Zeilen hinzufügen, damit auch die Beschreibungen im Spiel korrekt sind:

Code: Alles auswählen

## "Holzkiepe_"
en "Pannier"
de "Holzkiepe"
fr "Hotte de bois"
it "Gerla"
nl "Draagkorf"
es "Cuévano de madera"

## "Grosse_Holzkiepe_"
en "big pannier"
de "große Holzkiepe"
fr "Grande hotte de bois"
it "grande gerla"
nl "Grote draagkorf"
es "Cuévano grande de madera"
Viel Spaß beim Einlagern der Holzkiepen! :)

Euer Christian (Nr. 2)

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Mi 25. Nov 2015, 20:19
von akku
v2 hat bug ?
pn an edit_wiggler :lol:
die ersten zeilen tclerrors.txt.. startet und lauft aber tut keine kiepen einlagern ...

++++++++
error(719):missing close-brace
while compiling
"def_class Holzkiepe wood transport 1 {}":
$start
$before
def_class Holzkiepe wood transport 1 {} {
$put
++++++++

Re: Waffen, Werkzeug und Tränke einlagern

Verfasst: Do 26. Nov 2015, 10:06
von cech12
Hallo akku,

die Mod funktioniert nur zusammen mit dem DigglesManager. In den Dateien stehen nur Anweisungen, wie der DigglesManager die Dateien ändern soll.
Wenn du die Dateien nur so in das Verzeichnis kopierst, kann das Spiel damit nichts anfangen.

Bitte lade dir noch den DigglesManager herunter und die Lagerverbesserungs-Mod und starte dann den DigglesManager (wie im Beitrag beschrieben). So sollte es funktionieren.

Der DigglesManager erstellt automatisch Kopien der veränderten Dateien und wenn dir eine Mod nicht gefällt kannst du diese einfach deaktivieren und der DigglesManager stellt die ursprünglichen Dateien wieder her.

Viele Grüße
Chris