seltene resurcen produzieren

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:

seltene resurcen produzieren

Beitrag von Chris1231 »

nun ist es soweit,
wiggles können nun selte ressurcen selbst produzieren.

Änderung update vom 23.3.2013
es wurde fast der ganze Mod geändert. falls ihr den Mod schon habt, bitte alles prüfen.
die dazugekommenen unterstriche sind wichtig!


Steinmetz aus 9 Steinen > 1 Eisenerz
Schmelze aus 9 Pilzstamm > 1 Kohle
Schmelze aus 9 Eisenerz > 1 Golderz

Hochofen aus 6 Stein > 1 Eisenerz
Hochofen aus 6 Pilzstamm > 1 Kohle
Dampfhammer aus 6 Eisenerz > 1 Golderz
Dampfhammer aus 6 Kohle > 1 Kristallerz

öffnet die datei \Wiggles\Data\Scripts\misc\techtreetunes.tcl

Bei set tttitems_Dampfhammer setzt ihr Eisenerz_ Kristallerz dahinter

Code: Alles auswählen

 
       "Dampfhammer" {
          set tttmaterial_Dampfhammer         {Pilzstamm Pilzstamm Pilzstamm Stein Stein Stein Eisen Eisen Eisen Eisen}
          set tttinvent_Dampfhammer         {{exp_Metall 0.15}}
          set tttgain_Dampfhammer            {{exp_Holz 0.158} {exp_Stein 0.158} {exp_Metall 0.21}}
          set tttinfluence_Dampfhammer      {{exp_Metall 0.3}}
          set tttitems_Dampfhammer         {Abfluss Dampfaufzug Hochofen Schleiferei Metalltuer Kristallschmiede Eisenerz_ Kristallerz}
          set tttpreinv_Dampfhammer         {Abfluss}
          set tttenergyclass_Dampfhammer      2
          set tttenergycons_Dampfhammer      100
          set tttfow_x                  18
          set tttfow_y                  18
       }

Bei set tttitems_Hochofen setzt ihr Kohle_ Golderz_ dahinter

Code: Alles auswählen

       "Hochofen" {
          set tttmaterial_Hochofen         {Eisen Eisen Eisen Eisen Eisen Stein Stein Stein Stein Pilzstamm Pilzstamm}
          set tttinvent_Hochofen            {{exp_Metall 0.25} {exp_Energie 0.05}}
          set tttgain_Hochofen            {{exp_Metall 0.3} {exp_Stein 0.24} {exp_Holz 0.12} {exp_Energie 0.15}}
          set tttinfluence_Hochofen         {{exp_Metall 0.3}}
          set tttitems_Hochofen            {Eisen_ Gold Kohle_ Golderz_ }
          set tttpreinv_Hochofen            {Eisen_}
          set tttenergyclass_Hochofen         2
          set tttenergycons_Hochofen         20
          set tttfow_x                  30
          set tttfow_y                  30
       }

Bei set tttitems_Schmelze setzt ihr Kohle und Golderz ein

Code: Alles auswählen

	"Schmelze" {
		set tttmaterial_Schmelze			{Pilzstamm Pilzstamm Stein Stein Stein Stein Stein}
		set tttinvent_Schmelze				{{exp_Stein 0.19} {exp_Metall 0.019}}
		set tttgain_Schmelze				{{exp_Stein 0.04} {exp_Energie 0.02}}
		set tttinfluence_Schmelze			{{exp_Stein 0.3} {exp_Metall 0.1}}
		set tttitems_Schmelze				{Eisen Kohle Golderz}
		set tttpreinv_Schmelze				{Eisen}
		set tttenergyclass_Schmelze			1
		set tttenergycons_Schmelze			10
		set tttfow_x						12
		set tttfow_y						12
	}
bei set tttitems_Steinmetz setzt ihr Eisenerz ein

Code: Alles auswählen

	"Steinmetz" {
		set tttmaterial_Steinmetz			{Stein Stein Stein Stein Pilzstamm Pilzstamm}
		set tttinvent_Steinmetz				{{exp_Stein 0.026}}
		set tttgain_Steinmetz				{{exp_Holz 0.01} {exp_Stein 0.03}}
		set tttinfluence_Steinmetz			{{exp_Holz 0.1} {exp_Stein 0.2}}
//# IF FULL
		set tttitems_Steinmetz				{Grenzstein Steinschleuder Grabstein Keule Plattmachfalle Schmiede Schmelze Eisenerz}
//# ELSE
		set tttitems_Steinmetz				{Grenzstein Steinschleuder}
//# ENDIF
		set tttpreinv_Steinmetz				{Grenzstein}
		set tttenergyclass_Steinmetz		0
		set tttenergycons_Steinmetz			0
		set tttfow_x						12
		set tttfow_y						12
	}
nun müsst ihr neue attribute erstellen für die neuen produkte.
setzt diese über den attribut gold ein

Code: Alles auswählen

       "Eisenerz_" {
          set tttmaterial_Eisenerz_         {Stein Stein Stein Stein Stein Stein}
          set tttinvent_Eisenerz_            {{exp_Stein 0.3} {exp_Metall 0.25}}
          set tttgain_Eisenerz_            {{exp_Metall 0.05} {exp_Stein 0.06}}
          set tttinfluence_Eisenerz_         {{exp_Metall 0.5}}
    }
       "Kohle_" {
          set tttmaterial_Kohle_            {Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm}
          set tttinvent_Kohle_               {{exp_Holz 0.15} {exp_Stein 0.1}}
          set tttgain_Kohle_               {{exp_Stein 0.05} {exp_Holz 0.1} {exp_Energie 0.016}}
          set tttinfluence_Kohle_            {{exp_Stein 0.6}}
    }
       "Golderz_" {
          set tttmaterial_Golderz_            {Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz}
          set tttinvent_Golderz_            {{exp_Metall 0.4} {exp_Stein 0.25} {exp_Energie 0.2}}
          set tttgain_Golderz_               {{exp_Stein 0.07} {exp_Metall 0.12} {exp_Energie 0.028}}
          set tttinfluence_Golderz_         {{exp_Stein 0.6}}
    }
       "Kristallerz" { 
          set tttmaterial_Kristallerz         {Kohle Kohle Kohle Kohle Kohle Kohle}
          set tttinvent_Kristallerz         {{exp_Stein 0.7}}
          set tttgain_Kristallerz            {{exp_Stein 0.3}}
          set tttinfluence_Kristallerz      {{exp_Stein 0.9}}
    }
       "Eisenerz" { 
          set tttmaterial_Eisenerz         {Stein Stein Stein Stein Stein Stein Stein Stein Stein}
          set tttinvent_Eisenerz            {{exp_Stein 0.15} {exp_Metall 0.2}}
          set tttgain_Eisenerz            {{exp_Metall 0.05} {exp_Stein 0.06}}
          set tttinfluence_Eisenerz         {{exp_Metall 0.5}}
    }
       "Kohle" { 
          set tttmaterial_Kohle           {Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm Pilzstamm}
          set tttinvent_Kohle              {{exp_Holz 0.1} {exp_Stein 0.15}}
          set tttgain_Kohle              {{exp_Stein 0.05} {exp_Holz 0.1} {exp_Energie 0.016}}
          set tttinfluence_Kohle            {{exp_Stein 0.6}}
    }
       "Golderz" {
          set tttmaterial_Golderz           {Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz Eisenerz}
          set tttinvent_Golderz            {{exp_Metall 0.25} {exp_Stein 0.15} {exp_Energie 0.2}}
          set tttgain_Golderz               {{exp_Stein 0.07} {exp_Metall 0.12} {exp_Energie 0.028}}
          set tttinfluence_Golderz         {{exp_Stein 0.6}}
    }

nun an die pruduktionsstätten.
öffnet die \Wiggles\Data\Scripts\classes\work\dampfhammer.tcl

ober halb von def_class Dampfhammer metal production 2 {} { fügt ihr def_class Eisenerz_ metal material 1 {} {}

Code: Alles auswählen

def_class Eisenerz_ metal material 1 {} {}

def_class Dampfhammer metal production 2 {} {
unter dem eintrag

Code: Alles auswählen

method prod_item_actions item {
		global current_worker BOXED_CLASSES
		set exp_incr [call_method this prod_item_exp_incr $item]
		set exp_infls [call_method this prod_item_exp_infl $item]
		set exp_infl [prod_getgnomeexper $current_worker $exp_infls]
		set materiallist [call_method this prod_item_materials $item]
		set rlst [list]
fügt ihr if {$item == "Eisenerz_"} {set item Eisenerz} hinzu.

Code: Alles auswählen

method prod_item_actions item {
		global current_worker BOXED_CLASSES
		set exp_incr [call_method this prod_item_exp_incr $item]
		set exp_infls [call_method this prod_item_exp_infl $item]
		set exp_infl [prod_getgnomeexper $current_worker $exp_infls]
		set materiallist [call_method this prod_item_materials $item]
		set rlst [list]

		if {$item == "Eisenerz_"} {
			set item Eisenerz}
dann fügt ihr unter foreach material $materiallist { folgendes ein, if {$item == "Kristallerz"} { set material KohleHaemmern}

Code: Alles auswählen

     foreach material $materiallist {

             if {$item == "Kristallerz"} {
             set material KohleHaemmern}

                if {[check_method [get_objclass this] "prod_actions_$material"]} {
                    set rlst [concat $rlst [call_method this "prod_actions_$material" "$material" "$exp_infl"]]
                    lappend rlst "prod_exp $exp_incr [expr 1.0/[llength $materiallist]]"
                } else {
                   log "WARNING: dampfhammer.tcl: no prod_actions method for $material (calling prod_actions_default)"
                    set rlst [concat $rlst [call_method this "prod_actions_default" "$material" "$exp_infl"]]
                }
               if {[lsearch $BOXED_CLASSES [get_class_type $item]] != -1  &&  [lsearch "Pilzstamm Kohle" $material] == -1} {
                   lappend rlst "prod_go_near_workdummy 3 2.2 0 0"   ;// jedes Werkstück zur leeren Kiste bringen
                   lappend rlst "prod_turnleft"
                   lappend rlst "prod_anim_loop_expinfl put 1 2 $exp_infl"
             }
            }

nun müsst dir ein neuen produktions ablauf schreiben.
etwas weiter unten fügt ihr ein

Code: Alles auswählen


    // Kristallerzherstellung durch Kohle hämmern

       method prod_actions_KohleHaemmern {itemtype exp_infl} {
            set rlst [list]

            lappend rlst "prod_walk_and_hide_itemtype Kohle"           ;// Kohle holen

            lappend rlst "prod_goworkdummy 1"                        ;// plazieren
            lappend rlst "prod_turnback"
              lappend rlst "prod_beam_itemtype_to_dummypos Kohle 13"

           lappend rlst "prod_changetool Hammer"                         ;// rumhämmern
           lappend rlst "prod_anim hammerstart"
           lappend rlst "prod_anim_loop_expinfl hammerloopmetall 1 5 $exp_infl"
           lappend rlst "prod_anim hammerend"
           lappend rlst "prod_changetool 0"

           lappend rlst "prod_go_near_workdummy 1 1 0 0"
           lappend rlst "prod_turnback"
           lappend rlst "prod_anim kickmachine"                            ;// Dampfhammer an
           if {[random 1.0] > $exp_infl} {
              lappend rlst "prod_anim scratchhead"
             lappend rlst "prod_turnright"
             lappend rlst "prod_anim dontknow"
             lappend rlst "prod_turnback"
             lappend rlst "prod_anim kickmachine"
           }
            lappend rlst "prod_machineanim dampfhammer.ani start"
            lappend rlst "prod_call_method dust 1"

            lappend rlst "prod_goworkdummy 1"
            lappend rlst "prod_turnback"
            lappend rlst "prod_anim_loop_expinfl workmetall 1 5 $exp_infl"
           if {[random 1.0] > $exp_infl} {
               lappend rlst "prod_anim kontrol"
               lappend rlst "prod_anim scratchhead"
              lappend rlst "prod_changetool Hammer"                         ;// rumhämmern
              lappend rlst "prod_anim hammerstart"
              lappend rlst "prod_anim_loop_expinfl hammerloopmetall 1 5 $exp_infl"
              lappend rlst "prod_anim hammerend"
              lappend rlst "prod_changetool 0"
          }

           lappend rlst "prod_go_near_workdummy 1 1 0 0"
           lappend rlst "prod_turnback"
           lappend rlst "prod_anim kickmachine"                            ;// Dampfhammer aus
            lappend rlst "prod_call_method dust 0"
            lappend rlst "prod_machineanim dampfhammer.standard stop"

           lappend rlst "prod_goworkdummy 1"
            lappend rlst "prod_turnback"

           lappend rlst "prod_anim puta"                           ;// Werkstück abkühlen
           lappend rlst "prod_hide_itemtype Kohle"
           lappend rlst "prod_anim putb"
           lappend rlst "prod_consume_from_workplace Kohle"
              lappend rlst "prod_turnleft"

          return $rlst
       }

öffnet die \Wiggles\Data\Scripts\classes\work\hochofen.tcl
Unter def_class Eisen_ metal material 1 {} {} fügt ihr ihr hinzu def_class Kohle_ stone material 1 {} {} und def_class Golderz_ metal material 1 {} {}

Code: Alles auswählen

def_class Eisen_ metal material 1 {} {}
def_class Kohle_ stone material 1 {} {}
def_class Golderz_ metal material 1 {} {}
unter

Code: Alles auswählen

	method prod_item_actions item {
		global current_worker BOXED_CLASSES
		set exp_incr [call_method this prod_item_exp_incr $item]
		set exp_infls [call_method this prod_item_exp_infl $item]
		set exp_infl [prod_getgnomeexper $current_worker $exp_infls]
		set materiallist [call_method this prod_item_materials $item]
		set numtoproduce [call_method this prod_item_number2produce $item]
		set rlst [list]

		if {$item == "Eisen_"} {
			set item Eisen}
fügt ihr if {$item == "Kohle_"} {set item Kohle} und if {$item == "Golderz_"} {set item Golderz} hinzu

Code: Alles auswählen

	method prod_item_actions item {
		global current_worker BOXED_CLASSES
		set exp_incr [call_method this prod_item_exp_incr $item]
		set exp_infls [call_method this prod_item_exp_infl $item]
		set exp_infl [prod_getgnomeexper $current_worker $exp_infls]
		set materiallist [call_method this prod_item_materials $item]
		set numtoproduce [call_method this prod_item_number2produce $item]
		set rlst [list]

		if {$item == "Eisen_"} {
			set item Eisen}
		if {$item == "Kohle_"} {
			set item Kohle}
		if {$item == "Golderz_"} {
			set item Golderz}

öffnet die \Wiggles\Data\Scripts\classes\work\schmelze.tcl

fügt unter foreach material $materiallist if {$item == "Kohle"} {set material PilzstammHaemmern} ein.

Code: Alles auswählen


		// zuerst alle Pilzstämme & Kohlestücken
		foreach material $materiallist {

			if {$item == "Kohle"} {
			set material PilzstammHaemmern}

			if {$material == "Pilzstamm"  ||  $material == "Kohle"} {
	            if {[check_method [get_objclass this] "prod_actions_$material"]} {
	                set rlst [concat $rlst [call_method this "prod_actions_$material" "$material" "$exp_infl"]]
					lappend rlst "prod_exp $exp_incr [expr 1.0/[llength $materiallist]]"
   	    	     } else {
    	        	log "WARNING: Schmelze.tcl: no prod_actions method for $material (calling prod_actions_default)"
            	    set rlst [concat $rlst [call_method this "prod_actions_default" "$material" "$exp_infl"]]
           		 }
           	}
nun müsst ihr weiter unten die herstellungsroutine eintragen.
über den eintrag //Kohle

Code: Alles auswählen

// Pilzstamm hämmern für Kohlegewinnung
	method prod_actions_PilzstammHaemmern {itemtype exp_infl} {
        set rlst [list]

        lappend rlst "prod_walk_and_hide_itemtype Pilzstamm"

		lappend rlst "prod_goworkdummy 2"
		lappend rlst "prod_turnback"
		lappend rlst "prod_anim benda"
        lappend rlst "prod_beam_itemtype_near_dummypos Pilzstamm 4 -1.0 0 0"
		lappend rlst "prod_anim bendb"
		lappend rlst "prod_waittime 1"
		lappend rlst "prod_anim wait"
		lappend rlst "prod_anim_loop_expinfl workfloormetall 1 5 $exp_infl"
        lappend rlst "prod_consume_from_workplace Pilzstamm"
        return $rlst
    }
nun erstellt ihr im ordner \Wiggles\Data\Scripts\text\doc\de neue .tcl datein
den text könnt ihr euch selbst überlegen
da wo die XXXXXX stehen fügt ihr jewals Golderz, Eisenerz, kohle und Kristallerz ein
Ihr werdet euch jetzt fragen, müsste man jetzt nichr auch für Golderz_, Eisenerz_ und Kohle_ eine neue .tcl erstellen.
nein Golderz_, Eisenerz_ und Kohle_ zählen nun zum normalen Golderz, Eisenerz und kohle.
euer text kommt zwischen die ".

Code: Alles auswählen

    textwin clear
    call /scripts/misc/onlinehelputils.tcl
    ohlp_initstyle
    textwin print "/(is10)/(ildata/gui/icons/XXXXXXX.tga)"

    // ---- text starts here - do not change anything above this line ---

    ohlp_ttheadlinestyle
    textwin print "XXXXXXX"
    ohlp_tttextbodystyle
    textwin print " euer text hier "

    // ---- do not change anything below this line ---

    textwin print "/p"
öffnet nun Wiggles\Data\messages.txt

ihr müsst nun nur noch 3 eintrage machen für Golderz_, Eisenerz_ und Kohle_.
jeweils unter dem Golderz, Eisenerz, kohle.

hier ein beispiel:

Code: Alles auswählen

## "Kohle_"
en "Coal"
de "Kohle"
fr "Charbon"
it "Carbone"
nl "Kolen"
es "Carbón"
ich habe einfach das von der kohle kopiert und aus ##Kohle ##Kohle_ gemacht ;)
so macht ihr es mit Golderz und Eisenerz und fertig


nun hoffe ich, dass ich nix vergessen haben.
bitte sollte was nicht funktionieren mir sofort melden
Zuletzt geändert von Chris1231 am So 24. Mär 2013, 22:29, insgesamt 5-mal geändert.
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: seltene resurcen produzieren

Beitrag von Chris1231 »

nach meiner testphase läuft es ohne probleme.
sollten doch welche auftreten, einfach PN an mich.

mfg
christian
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Raptus86
Beiträge: 6
Registriert: Mi 30. Jan 2013, 18:44

Re: seltene resurcen produzieren

Beitrag von Raptus86 »

Hi ich wollte mal fragen... wie ich das Symbol des zu produzierenden Produkts ins Spiel einführe? In meinem Fall Eisenerz das ich in der schmelze, neben dem Eisenbarren-Symbol, auswählen kann. Also das Symbol das man anwählen muss um die Produktion zu starten :geek: .

Im Entwicklungsbaum ist es drinnen und der Fertigungsprozess müsste auch fertig sein. Wie gesagt fehlt nur das Symbol um zu testen ob alles funktioniert.

LG Raptus
Benutzeravatar
kojo125
Hamster
Hamster
Beiträge: 99
Registriert: Sa 22. Sep 2012, 12:27
Wohnort: Wien

Re: seltene resurcen produzieren

Beitrag von kojo125 »

Du schreibst von der Schmelze . Denke der Mod von Chris bezieht sich auf den Hochofen .
Wer Rächtschreibfähler findet darf sie auch behalten .
Raptus86
Beiträge: 6
Registriert: Mi 30. Jan 2013, 18:44

Re: seltene resurcen produzieren

Beitrag von Raptus86 »

Ja ich weiß... ich wollte es aber etwas anders machen und schon in der Schmelze aus Steinen und Pilzstämmen Eisenerz herstellen.
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: seltene resurcen produzieren

Beitrag von Chris1231 »

hallo,
ich weiß was du meinst,
ich arbeite dran, sobald ich es soweit habe, poste ich es.
sollte es jemand schon haben, kanne er/sie es gern posten.
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: seltene resurcen produzieren

Beitrag von Chris1231 »

Änderung update vom 23.3.2013
es wurde fast der ganze Mod geändert. falls ihr den Mode schon habt, bitte alles prüfen.
die dazugekommenen unterstriche sind wichtig!


nun möglich

Steinmetz aus 9 Steinen > 1 Eisenerz
Schmelze aus 9 Pilzstamm > 1 Kohle
Schmelze aus 9 Eisenerz > 1 Golderz

Hochofen aus 6 Stein > 1 Eisenerz
Hochofen aus 6 Pilzstamm > 1 Kohle
Dampfhammer aus 6 Eisenerz > 1 Golderz
Dampfhammer aus 6 Kohle > 1 Kristallerz

nicht wundern, in der schmelze.tcl steht kohle duch hämmern herstellen.
dies hat einen grund. wenn ich die pilzstämme verbrenne zählen sie als verloren.
@Raptus86
Hoffe kannst dich damit auch anfreunden ;)
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
SyborgHP
Beiträge: 1
Registriert: So 15. Dez 2013, 17:45

Re: seltene resurcen produzieren

Beitrag von SyborgHP »

Wow. Sieht ja fast so aus, wie ein Teil des Mods, den ich damals auf foren-city.de geschrieben habe.
Besonders das "KohleHaemmern" . Musste ich mir ja damals einfallen lassen, damit die Kohle nicht verbrannt
wird, sondern tatsächlich als Material gehämmert wird. :D

Aber schön, dass einige Sachen nicht vergessen wurden. Sehe ja mehrere Scripte hier in Forum von dir (Chriss1231), die ich in den
Mod auch integriert hatte. :)

Fehlt nur noch das Script, damit die Wiggles nicht so schnell unglücklich werden, mit der Zeit. :D Muss mal bei Gelegenheit auf meinen
Webspeicher gucken, ob der Mod, mit dem Scripten noch vorhanden ist. :)

SyborgHP
Benutzeravatar
Chris1231
Zwerg
Zwerg
Beiträge: 226
Registriert: Do 20. Sep 2012, 17:31
Kontaktdaten:

Re: seltene resurcen produzieren

Beitrag von Chris1231 »

Sind halt Haufen verrückte :D haben alle selben wünsche und ideen
Hab dein mod leider nicht :( hätte mir einiges erspart

Mfg
Christian
Aktuelles Projekt
Wiggles NextGen
Windeln wechseln :D
City_Slider
Raupe
Raupe
Beiträge: 13
Registriert: Mi 25. Dez 2013, 15:21

Re: seltene resurcen produzieren

Beitrag von City_Slider »

Ein Newbie fragt mal: wo pack ich das ganze rein bzw wo steckt die Datei die überschrieben werden soll?

*Fragend* City
Antworten