Waffen, Werkzeug und Tränke einlagern

Du hast den perfekten Techtree ausgearbeitet oder im LevelEditor eine tolle Karte gebastelt? Nur hier rein damit.
zed2000
Hamster
Hamster
Beiträge: 52
Registriert: Mi 25. Feb 2015, 02:02

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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.
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 »

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.
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Goticha
Beiträge: 5
Registriert: Fr 15. Mai 2015, 04:55
Wohnort: Adorf
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von Goticha »

Dann mache ich.Ich muss die Links halten.Sie sind wichtig :D






sony m4 aqua schutzhülle
Es ist (immer) dafür gesorgt, dass die Bäume nicht in den Himmel wachsen.iphone 6 plus hülle
Checker
Raupe
Raupe
Beiträge: 10
Registriert: Mi 23. Sep 2015, 09:17

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag von Checker »

Sehen gut aus. Vielen Dank!
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 »

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
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
zed2000
Hamster
Hamster
Beiträge: 52
Registriert: Mi 25. Feb 2015, 02:02

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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.
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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)
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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)
akku
Beiträge: 7
Registriert: Mi 25. Nov 2015, 19:57

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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
++++++++
Benutzeravatar
cech12
Zwerg
Zwerg
Beiträge: 242
Registriert: Di 9. Jun 2015, 12:18
Kontaktdaten:

Re: Waffen, Werkzeug und Tränke einlagern

Beitrag 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
Antworten