Autor Thema: Mod-Tagebuch  (Gelesen 39137 mal)

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Re: Mod-Tagebuch
« Antwort #40 am: 27. August 2010, 02:55:08 Uhr »
Zitat
Und wenn sie das nicht mehr finden sollten wäre evtl. ein temporäres Auferstehen des alten silverstyle-Forums nice - so das wir die Modding-relevanten Themen hierher migrieren können.

Das wäre natürlich echt spitze, wenn man an die Moddingthreads herankommt und sie wieder online stellen würde. Kenne ja das Forum nur vom Hörensagen. Die Infos wären sicher hilfreich um die Welt von "The Fall" zu erweitern. Finde es immer sehr schade, das nach der Handlung so eine virtuelle Welt brach liegt. Das Addon "Mutant City" hätte sicher eine gute Chance gehabt weitere witzige Handlunsstränge zu verflechten und neue Abenteuer in den Wastelands zu eröffnen.
Ich hoffe aber überhaupt erst einmal auf eine Antwort vom Team.  
« Letzte Änderung: 27. August 2010, 03:10:11 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
Re: Mod-Tagebuch
« Antwort #41 am: 27. August 2010, 12:00:45 Uhr »
Naja, so viele Informationen gab es im Forum auch nicht. Lediglich drei oder vier Threads wären noch interessant, wenn ich mich richtig erinnere. Unter anderem der, in dem beschrieben wurde, wie die Minimap generiert wird, etc. Der Rest ist (zumindest mir) mehr oder weniger bekannt. Abgesehen von den Problemen mit dem Hinzufügen eines neuen Ortes und dem korrekten Anzeigen dessen Name im Quest Log natürlich.....
only when you no-life you can exist forever, because what does not live cannot die

Offline Tyler

  • Heilige Granate
  • Beiträge: 5.643
  • Discord #2324
Re: Mod-Tagebuch
« Antwort #42 am: 28. August 2010, 13:09:42 Uhr »
Wolna muss wieder ran. Der kann dann das ganze russische Communityzeug übersetzen.^^
"Soviet radiation is the best radiation in the world."
- Artur Korneyev

First rule of gun safety: Have fun

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
Re: Mod-Tagebuch
« Antwort #43 am: 28. August 2010, 13:18:40 Uhr »
lol. Der Witz war gut. :>
only when you no-life you can exist forever, because what does not live cannot die

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Re: Mod-Tagebuch
« Antwort #44 am: 28. August 2010, 13:32:05 Uhr »
Erst müsste Silver Style auf die Mail antworten. Mal schauen ob sie Interesse zeigen? Zur Not gibt`s ja unter Kontakt ja auch noch `ne Telefonnummer oder Lexx klingelt mal an der Ladentür  ;).
Bisher haben sie sich noch nicht gemeldet, sind vielleicht auch grad im Urlaub  ;D

Für Wolna hätte ich da schon mal ne russische Seite http://fall.pro-d.ru/?map - aber sie verstehen auch englisch dort  #thumbsup.
« Letzte Änderung: 28. August 2010, 13:37:49 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
Re: Mod-Tagebuch
« Antwort #45 am: 28. August 2010, 13:34:25 Uhr »
Ich wohne am anderen Ende von Berlin. Da hinzufahren wäre ein Tagesausflug.
only when you no-life you can exist forever, because what does not live cannot die

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Neue kombinierte Items - abgebrochene Flasche
« Antwort #46 am: 06. September 2010, 00:48:37 Uhr »
Die Mitarbeiter von Silver Style haben leider noch nicht geantwortet, werde es erneut versuchen. In der Zwischenzeit habe ich etwas mit den kombierbaren Items experimentiert und poste mal den ersten Erfolg.

Im Spiel existiert als Nahkampfwaffe auch eine abgebrochene Glasflasche. Diese habe ich nur bei der Ärztin der Schatten gesehen, welche sie aber als Trichter verwendet hat. Die Idee ist aus einer leeren Flasche eine abgebrochene zu basteln - klingt einfach, war es auch.

Die leere Flasche befindet sich in scripts / itemdata / items.py Nebenbei habe ich den Stapplungswert (stacking) bei allen Items, der Munition und vielen Nahkampfwaffen einfach mal um Faktor 10 bis 100 erhöht :).

create_item_type(typeid='SET_EMPTY_BOTTLE')
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="name", value=globaltext.SET_EMPTY_BOTTLE_NAME)
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="hint", value=globaltext.SET_EMPTY_BOTTLE_HINT)
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_EMPTY_BOTTLE')
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="resource3d", value='RES3D_EMPTY_BOTTLE')
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="value", value=1.0)
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="weight", value=0.3)
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="stacking", value=100)
objects.set_attribute(object='SET_EMPTY_BOTTLE', attribute="occupied_slots", value=["left_hand","right_hand"])

Die abgebrochene Flasche als Waffe befindet sich in scripts / itemdata / weapons.py

create_weapon_type(typeid='SET_BROKEN_OFF_BOTTLE')
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="name", value=globaltext.SET_BROKEN_OFF_BOTTLE_NAME)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="hint", value=globaltext.SET_BROKEN_OFF_BOTTLE_HINT)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_BROKEN_OFF_BOTTLE')
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="resource3d", value='RES3D_BROKEN_OFF_BOTTLE')
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="value", value=0.00)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="weight", value=0.10)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="stacking", value=100)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="weapon_type", value="nahkampf")
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="hoerweite", value=2.0)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="schusspausenzeit", value=1.6)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="genauigkeit_bewegte_ziele", value=0.6)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="genauigkeit", value=0.2)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="minimale_feuerreichweite", value=0)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="maximale_feuerreichweite", value=2)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="salvenlaenge", value=1)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="feuergeschwindigkeit", value=0.0)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="occupied_slots", value=["right_hand"])
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="fire_animation", value=FPA_CLOSE_COMBAT_BATON)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="munitionsarten", value=['SET_BROKEN_OFF_BOTTLE_PSEUDOAMMO'])
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="magazingroesse", value=1.0)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="effects", value={"sound_shot" : "attack_knife"})
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="illegal_bodymodes", value=["LIE","KNEEL"])
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="combine_xp", value=25)
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
"combination_list" : [
['SET_EMPTY_BOTTLE']]})

objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="combine_xp", value=25)                          Man erhält 25 XP für das erste Zerschlagen der Flasche.
objects.set_attribute(object='SET_BROKEN_OFF_BOTTLE', attribute="item_combination",   value={
   "difficulty_assemble"   :                                COMBO_EVERYBODY,                                                           Die Herstellung gelingt unabhängig vom Technikskill.
   "combination_list"      :     [  
                                                                                                                        ['SET_EMPTY_BOTTLE']]})
     In der Liste ist nur die leere Flasche.
Weitere Beispiele:
"difficulty_assemble" : 65,Durch diese Zeile wäre die Herstellung nicht für jedermann durchführbar, sondern erst ab einem Technikskill von 65 möglich.

"assemble_function" : "assemble_explosives", Die Herstellung gelingt nur, wenn man über das Talent "Sprengstoffe herstellen" verfügt.



Nun stellt man sich spontan die Frage, wozu bei den ganzen Ballermännern braucht man eine abgebrochene Flasche - also in der Arena könnte ja zufällig von der Tribüne mal eine leere Flasche fallen  ;D
« Letzte Änderung: 06. September 2010, 22:33:05 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Neue Wurfwaffe - der Stein
« Antwort #47 am: 06. September 2010, 02:35:17 Uhr »
Was wäre wohl aus der Menschheit ohne die älteste aller Fernwaffen geworden....  ??? warum den Helden von TF der einfache Stein als Wurfwaffe vorenthalten wurde und dafür solche praktischen Dartpfeile existieren, blieb mir immer ein Rätsel. Nun im Raten bin ich eher schlecht und habe den Stein einfach mal dem Inventar hinzugefügt ... zumindest in der Theorie, denn wer will schon Steine vom Händler kaufen, jener kauft dann später auch Steine im Baumarkt   :redfingr:.
Also werden auf den Karten dann halt Steine zum Auflesen zu finden sein, denn man kann sie ja nach dem Werfen wieder verwenden.

Das ursprüngliche Steinskript in scripts / itemdata / items.py mit # deaktivieren oder löschen (Backup gemacht?).

Und dazu das eingefügte Skript in scripts / itemdata / weapons.py Habe es direkt unter dem Wurfmesser plaziert.

create_throw_object_type(typeid='SET_STONE')
objects.set_attribute(object='SET_STONE', attribute="name", value=globaltext.SET_STONE_NAME)
objects.set_attribute(object='SET_STONE', attribute="hint", value=globaltext.SET_STONE_HINT)
objects.set_attribute(object='SET_STONE', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_STONE')
objects.set_attribute(object='SET_STONE', attribute="resource3d", value='RES3D_STONE')
objects.set_attribute(object='SET_STONE', attribute="value", value=1.0)
objects.set_attribute(object='SET_STONE', attribute="weight", value=1.2)
objects.set_attribute(object='SET_STONE', attribute="stacking", value=500)
objects.set_attribute(object='SET_STONE', attribute="minimale_feuerreichweite", value=0)
objects.set_attribute(object='SET_STONE', attribute="maximale_feuerreichweite", value=23)
objects.set_attribute(object='SET_STONE', attribute="salvenlaenge", value=1)
objects.set_attribute(object='SET_STONE', attribute="feuergeschwindigkeit", value=0)
objects.set_attribute(object='SET_STONE', attribute="genauigkeit", value=0.6)
objects.set_attribute(object='SET_STONE', attribute="kampfwert_air", value=15.00)
objects.set_attribute(object='SET_STONE', attribute="kampfwert_armoured", value=100.00)
objects.set_attribute(object='SET_STONE', attribute="kampfwert_infantry", value=100.00)
objects.set_attribute(object='SET_STONE', attribute="munitionsarten", value=['SET_STONE_PSEUDOAMMO'])
objects.set_attribute(object='SET_STONE', attribute="fire_animation", value=FPA_THROW_KNIFE)
objects.set_attribute(object='SET_STONE', attribute="weapon_type", value="wurf")
objects.set_attribute(object='SET_STONE', attribute="magazingroesse", value=1.0)
objects.set_attribute(object='SET_STONE', attribute="hoerweite", value=0.0)
objects.set_attribute(object='SET_STONE', attribute="schusspausenzeit", value=1.5)
objects.set_attribute(object='SET_STONE', attribute="genauigkeit_bewegte_ziele", value=0.5)
objects.set_attribute(object='SET_STONE', attribute="occupied_slots", value=["throw"])


Alle Wurfwaffen haben eine Pseudomunition, welche in scripts / itemdata / ammo.py und den Schaden verursacht, sie ist Ingame nicht sichtbar, aber für den erzeugten Schaden notwendig.
create_ammo_type(typeid='SET_STONE_PSEUDOAMMO')
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="name", value='None')
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="hint", value='None')
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="resourceui", value='None')
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="resource3d", value='None')
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="value", value=0.00)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="weight", value=3)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="stacking", value=1)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="wirkungsbereich", value=0.0)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schaden_organisch_min", value=100)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schaden_organisch_max", value=150)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schaden_struktur_min", value=0)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schaden_struktur_max", value=1)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schuss", value=1)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="schussbahn", value=BALLISTIC)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="muendungsgeschwindigkeit_min",value=7)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="muendungsgeschwindigkeit_max",value=7)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="durchschlag", value=20)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="hit_chance_factor", value=1.0)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="fire_range_factor", value=1.0)
objects.set_attribute(object='SET_STONE_PSEUDOAMMO', attribute="weapon_types", value=[])

Einzigstes Manko, der Stein ist leider nicht in der Hand sichtbar, aber in der Wurfbahn schon  - Willkommen in der Steinzeit :D.
« Letzte Änderung: 06. September 2010, 02:40:32 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Bolzen und Armbrust selbst herstellen
« Antwort #48 am: 06. September 2010, 22:20:53 Uhr »
Das es im Spiel eine Armbrust gibt ist eine feine Sache, noch besser wäre es, wenn es auch mehr Bolzen dafür geben würde. Die Ödnis ist ja voll von Zivilisationsschrott, warum also aus den alten Eisenstangen nicht selbst Bolzen feilen  ;).

In der Datei scripts / itemdata / ammo.py einfach folgende Zeilen einfügen:

create_ammo_type(typeid='SET_SHORT_IRON_ROD')
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="name", value=globaltext.SET_SHORT_IRON_ROD_NAME)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="hint", value=globaltext.SET_SHORT_IRON_ROD_HINT)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_RUSTY_IRON_ROD')
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="resource3d", value='RES3D_RUSTY_IRON_ROD')
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="value", value=1.00)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="weight", value=0.50)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="stacking", value=100)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="wirkungsbereich", value=0.00)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schaden_organisch_min", value=22)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schaden_organisch_max", value=25)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schaden_struktur_min", value=0)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schaden_struktur_max", value=4)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schuss", value=5)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="schussbahn", value=LINEAR)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="muendungsgeschwindigkeit_min",value=200)## !! >>
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="muendungsgeschwindigkeit_max",value=200)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="kaliber", value=globaltext.CALIBER_BOLT)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="durchschlag", value=20)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="hit_chance_factor", value=1.0)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="fire_range_factor", value=1.0)
objects.set_attribute(object='SET_SHORT_IRON_ROD', attribute="weapon_types", value=[])

create_ammo_type(typeid='SET_AMMOPACK_BOLT')
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="name", value=globaltext.SET_AMMOPACK_BOLT_NAME)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="hint", value=globaltext.SET_AMMOPACK_BOLT_HINT)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="resourceui", value='RES_ITEM65X32_AMMOPACK_BOLT')
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="resource3d", value='RES3D_AMMOPACK_BOLT')
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="value", value=2.00)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="weight", value=0.20)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="stacking", value=100)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="wirkungsbereich", value=0.00)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schaden_organisch_min", value=22)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schaden_organisch_max", value=25)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schaden_struktur_min", value=0)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schaden_struktur_max", value=4)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schuss", value=5)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="schussbahn", value=LINEAR)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="muendungsgeschwindigkeit_min",value=200)## !! >>
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="muendungsgeschwindigkeit_max",value=200)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="kaliber", value=globaltext.CALIBER_BOLT)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="durchschlag", value=20)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="hit_chance_factor", value=1.0)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="fire_range_factor", value=1.0)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="weapon_types", value=[])
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="combine_xp", value=75)
objects.set_attribute(object='SET_AMMOPACK_BOLT', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
"assemble_function" : "assemble_dumdum_munition",
"combination_list" : [['SET_RASP','SET_SHORT_IRON_ROD']]})

Die kurze Eisenstange sollte dann noch als Name und Hint in scripts / globaltext / german / german.py wie folgend definiert werden:
add_global_text(id='SET_SHORT_IRON_ROD_NAME', text='kurze Eisenstange')
add_global_text(id='SET_SHORT_IRON_ROD_HINT', text='kurze Eisenstange')

Nun kann man mit dem Talent "Munition  manipulieren" und einer Feile aus kurzen Eisenstangen selbst Bolzen herstellen. Die Eistenstangen müssten dann an alten Wehrzäunen oder Ruinen, Schrottplätzen zu finden sein.
Ein paar Erfahrungspunkte bekommt man bei der ersten Bolzenanfertigung.

Bei den vielen Ersatzteilen könnte man sich ja dann auch eine Armbrust selber basteln und so in der scripts / itemdata / weapons.py das Armbrustskript verlängern:
create_weapon_type(typeid='SET_CROSSBOW')
objects.set_attribute(object='SET_CROSSBOW', attribute="name", value=globaltext.SET_CROSSBOW_NAME)
objects.set_attribute(object='SET_CROSSBOW', attribute="hint", value=globaltext.SET_CROSSBOW_HINT)
objects.set_attribute(object='SET_CROSSBOW', attribute="resourceui", value='RES_ITEM65X32_WEAPON_CROSSBOW')
objects.set_attribute(object='SET_CROSSBOW', attribute="resource3d", value='RES3D_CROSSBOW')
objects.set_attribute(object='SET_CROSSBOW', attribute="value", value=60.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="weight", value=4.0)
objects.set_attribute(object='SET_CROSSBOW', attribute="stacking", value=1)
objects.set_attribute(object='SET_CROSSBOW', attribute="minimale_feuerreichweite", value=0)
objects.set_attribute(object='SET_CROSSBOW', attribute="maximale_feuerreichweite", value=33)
objects.set_attribute(object='SET_CROSSBOW', attribute="salvenlaenge", value=1)
objects.set_attribute(object='SET_CROSSBOW', attribute="feuergeschwindigkeit", value=0.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="genauigkeit", value=1.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="kampfwert_air", value=0.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="kampfwert_armoured", value=150.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="kampfwert_infantry", value=150.00)
objects.set_attribute(object='SET_CROSSBOW', attribute="munitionsarten", value=['SET_AMMOPACK_BOLT'])
objects.set_attribute(object='SET_CROSSBOW', attribute="fire_animation", value=FPA_SNIPER_SINGLE)
objects.set_attribute(object='SET_CROSSBOW', attribute="weapon_type", value="sniper")
objects.set_attribute(object='SET_CROSSBOW', attribute="magazingroesse", value=1.0)
objects.set_attribute(object='SET_CROSSBOW', attribute="hoerweite", value=1.0)
objects.set_attribute(object='SET_CROSSBOW', attribute="schusspausenzeit", value=5.2)
objects.set_attribute(object='SET_CROSSBOW', attribute="genauigkeit_bewegte_ziele", value=0.6)
objects.set_attribute(object='SET_CROSSBOW', attribute="blockadewahrscheinlichkeit", value=5.0)
objects.set_attribute(object='SET_CROSSBOW', attribute="occupied_slots", value=["left_hand","right_hand"])
objects.set_attribute(object='SET_CROSSBOW', attribute="effects", value={
"sound_shot" : "shot_crossbow",
"sound_unload" : "crossbow_discharge",
"sound_reload" : "crossbow_charge"})
objects.set_attribute(object='SET_CROSSBOW', attribute="combine_xp", value=125)
objects.set_attribute(object='SET_CROSSBOW', attribute="item_combination", value={
"difficulty_assemble" : 65,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [
['SET_FLAT_SPRING', 'SET_CLUB', 'SET_LONG_LEATHER_STRING', 'SET_REEL_OF_STEEL_WIRE','SET_KNIFE']]})

Aus einer Blattfeder, einer Holzkeule, einer langen Lederschnur und Stahldraht entsteht mit Hilfe eines Messers nun ab einem Technikwert von 65 eine Armbrust, nebenbei gibt`s für`s erste Mal 125 XP.
« Letzte Änderung: 07. September 2010, 01:13:27 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Landminen
« Antwort #49 am: 07. September 2010, 16:51:14 Uhr »
Wie in den "Geschichten aus den Wastelands" schon angekündigt, kann man nun nicht nur die Landminen nutzen, sondern sie auch selbst bauen. Durch das Talent "Sprengstoffe bauen" kann man aus den Bestandteilen: Blechdose, Schwarzpulver, kurze Nägel und einem Zünder die Minen basteln. Dadurch ergeben sich neue taktische Möglichkeiten, wie z.B. eine Minensperre oder ein Hinterhalt.

In der Datei scripts / itemdata / weapons.py einfach folgende Zeilen einfügen:
create_item_type(typeid='SET_LANDMINE')
objects.set_attribute(object='SET_LANDMINE', attribute="name", value=globaltext.SET_LANDMINE_NAME)
objects.set_attribute(object='SET_LANDMINE', attribute="hint", value=globaltext.SET_LANDMINE_HINT)
objects.set_attribute(object='SET_LANDMINE', attribute="resourceui", value='RES_ITEM65X32_EXPLOSIVE_LANDMINE')
objects.set_attribute(object='SET_LANDMINE', attribute="resource3d", value='RES3D_LANDMINE')
objects.set_attribute(object='SET_LANDMINE', attribute="value", value=10.00)
objects.set_attribute(object='SET_LANDMINE', attribute="weight", value=1.1)
objects.set_attribute(object='SET_LANDMINE', attribute="stacking", value=500)
objects.set_attribute(object='SET_LANDMINE', attribute="weapon_type", value="explosiv")
objects.set_attribute(object='SET_LANDMINE', attribute="magazingroesse", value=1.0)
objects.set_attribute(object='SET_LANDMINE', attribute="hoerweite", value=40.0)
objects.set_attribute(object='SET_LANDMINE', attribute="minimale_feuerreichweite", value=0.0)
objects.set_attribute(object='SET_LANDMINE', attribute="maximale_feuerreichweite", value=0.0)
objects.set_attribute(object='SET_LANDMINE', attribute="salvenlaenge", value=1)
objects.set_attribute(object='SET_LANDMINE', attribute="feuergeschwindigkeit", value=0.0)
objects.set_attribute(object='SET_LANDMINE', attribute="bomb_type", value="mine")
objects.set_attribute(object='SET_LANDMINE', attribute="wirkungsbereich", value=15)
objects.set_attribute(object='SET_LANDMINE', attribute="durchschlag", value=200)
objects.set_attribute(object='SET_LANDMINE', attribute="schaden_organisch_min", value=250)
objects.set_attribute(object='SET_LANDMINE', attribute="schaden_organisch_max", value=300)
objects.set_attribute(object='SET_LANDMINE', attribute="schaden_struktur_min", value=50)
objects.set_attribute(object='SET_LANDMINE', attribute="schaden_struktur_max", value=60)
objects.set_attribute(object='SET_LANDMINE', attribute="targets", value=["character", "animal"])
objects.set_attribute(object='SET_LANDMINE', attribute="detection_range", value=4.0)
#objects.set_attribute(object='SET_LANDMINE', attribute="not_tradable", value=True)
objects.set_attribute(object='SET_LANDMINE', attribute="combine_xp", value=100)
objects.set_attribute(object='SET_LANDMINE', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
"assemble_function" : "assemble_explosives",
"combination_list" : [
['SET_TIN_CAN', 'SET_GUN_POWDER', 'SET_SHORT_NAILS', 'SET_FUSE']]})
« Letzte Änderung: 07. September 2010, 21:41:26 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Lederwaren
« Antwort #50 am: 08. September 2010, 00:27:35 Uhr »
Falls die Helden in der Ödnis nicht gerade an Bolzen feilen oder mit Minen was in die Luft jagen, können sie sich auch fast friedlich nützlich machen. Mit zunehmenden Survivalskill steigt ja bekanntlich die Jagdausbeute - erst in der Fleischmenge, später kommen Felle, Krallen und Zähne hinzu. Warum sollen diese Rohmaterialien nur für das Kunsthandwerk (Ketten usw.) vorbehalten sein, viel näher liegt doch die Felle zu gerben und Leder für Kleidung und Schuhe herzustellen.

Die erste Stufe vom Fell zum gegerbten Leder schaut im Skript scripts / itemdata / items.py so aus:
create_item_type(typeid='SET_HYENA_PELT')
objects.set_attribute(object='SET_HYENA_PELT', attribute="name", value=globaltext.SET_HYENA_PELT_NAME)
objects.set_attribute(object='SET_HYENA_PELT', attribute="hint", value=globaltext.SET_HYENA_PELT_HINT)
objects.set_attribute(object='SET_HYENA_PELT', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_HYENA_PELT')
objects.set_attribute(object='SET_HYENA_PELT', attribute="resource3d", value='RES3D_HYENA_PELT')
objects.set_attribute(object='SET_HYENA_PELT', attribute="value", value=35.00)
objects.set_attribute(object='SET_HYENA_PELT', attribute="weight", value=4.00)
objects.set_attribute(object='SET_HYENA_PELT', attribute="stacking", value=15)
objects.set_attribute(object='SET_HYENA_PELT', attribute="combine_xp", value=500)
objects.set_attribute(object='SET_HYENA_PELT', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_BEAR_SKIN'],
['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_TIGER_FUR'],
['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_WOLF_PELT'],
['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_HORSE_SKIN'],
                                                        ['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_DEER_SKIN'],
                                                        ['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_ANTELOPE_PELT'],
                                                        ['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_WILD_DOG_PELT'],
                                                        ['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_BISON_SKIN'],
                                                        ['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_PIG_SKIN'],
['SET_KNIFE', 'SET_AMMONIUM_NITRATE', 'SET_SOAP','SET_COW_SKIN']]})

Im Spiel gibt es ein Hyänenfell, da es aber ingame nie Hyänen gab, habe ich mir die Textur für das gegerbte Leder gekrallt und in der  scripts / globaltext / german / german.py den Namen und Hint umgenannt:
add_global_text(id='SET_HYENA_PELT_NAME', text='Gegerbtes Leder')
add_global_text(id='SET_HYENA_PELT_HINT', text='Gegerbtes Leder')

Zum Gerben werden dann noch folgende Zutaten und Werkzeuge gebraucht:
- ein Messer zum Abschaben des Fettes, der Fleischreste und Haare
- das Ammoniumnitrat als Beizmittel
- die Seife zum Säubern
- ein Fell (egal ob Hirsch, Wolf, Bär, Bison, Pferd, Schwein, Wildhund, Puma oder Antilope)

Das nun gegerbte Leder kann nun weiter zu Lederkleidung und Schuhen verarbeitet werden. Doch für die Herstellung wären auch Lederschnüre ganz hilfreich.

Aus den Pfoten oder bekrallten Vorderläufen der Raubtiere könnte man die Sehnen oder die Haut zu kurzen und langen Lederschnüren verarbeiten.
Die beiden Skripte in scripts / itemdata / items.py wie beschrieben verlängern.

Lange Schnüre aus den Pfoten von Bären, Berglöwen oder Wölfen:
create_item_type(typeid='SET_LONG_LEATHER_STRING')
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="name", value=globaltext.SET_LONG_LEATHER_STRING_NAME)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="hint", value=globaltext.SET_LONG_LEATHER_STRING_HINT)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_LONG_LEATHER_STRING')
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="resource3d", value='RES3D_LONG_LEATHER_STRING')
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="value", value=1.0)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="weight", value=0.3)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="stacking", value=100)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="combine_xp", value=50)
objects.set_attribute(object='SET_LONG_LEATHER_STRING', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_BEAR_CLAW'],
['SET_KNIFE', 'SET_TIGER_CLAW'],
['SET_KNIFE', 'SET_WOLF_CLAW']]})

Kurze Schnüre aus den Pfoten von Wildhunden:
create_item_type(typeid='SET_SHORT_LEATHER_STRING')
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="name", value=globaltext.SET_SHORT_LEATHER_STRING_NAME)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="hint", value=globaltext.SET_SHORT_LEATHER_STRING_HINT)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_SHORT_LEATHER_STRING')
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="resource3d", value='RES3D_SHORT_LEATHER_STRING')
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="value", value=1.0)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="weight", value=0.01)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="stacking", value=100)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="combine_xp", value=50)
objects.set_attribute(object='SET_SHORT_LEATHER_STRING', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_WILD_DOG_CLAW']]})

Die Namen und Hints werden in scripts / globaltext / german / german.py wie folgend verändert:
add_global_text(id='SET_BEAR_CLAW_NAME', text='Bärenpfoten mit Krallen')
add_global_text(id='SET_BEAR_CLAW_HINT', text='Bärenpfoten mit Krallen')
add_global_text(id='SET_TIGER_CLAW_NAME', text='Berglöwenpfoten mit Krallen')
add_global_text(id='SET_TIGER_CLAW_HINT', text='Berglöwenpfoten mit Krallen')
add_global_text(id='SET_WOLF_CLAW_NAME', text='Wolfspfoten mit Krallen')
add_global_text(id='SET_WOLF_CLAW_HINT', text='Wolfspfoten mit Krallen')
add_global_text(id='SET_WILD_DOG_CLAW_NAME', text='Wildhundpfoten mit Krallen')
add_global_text(id='SET_WILD_DOG_CLAW_HINT', text='Wildhundpfoten mit Krallen')


« Letzte Änderung: 09. September 2010, 17:14:45 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Lederkleidung
« Antwort #51 am: 09. September 2010, 16:37:43 Uhr »
Gegerbtes Leder + Lange Lederschnur + Messer  =  Dünne Lederkleidung
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_INTRO_CLOTHES')
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="name", value=globaltext.SET_INTRO_CLOTHES_NAME)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="hint", value=globaltext.SET_INTRO_CLOTHES_HINT)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_INTRO_CLOTHES')
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="resource3d", value='RES3D_INTRO_CLOTHES')
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="value", value=25.00)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="weight", value=2.50)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="stacking", value=6)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="armor", value=1)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="occupied_slots", value=["clothes"])
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="not_tradable", value=True)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="combine_xp", value=50)
objects.set_attribute(object='SET_INTRO_CLOTHES', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_HYENA_PELT', 'SET_LONG_LEATHER_STRING']]})


Gegerbtes Leder + Lange Lederschnur + Nieten + Messer  = Lederkleidung
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_LEATHER_CLOTHES')
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="name", value=globaltext.SET_LEATHER_CLOTHES_NAME)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="hint", value=globaltext.SET_LEATHER_CLOTHES_HINT)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_LEATHER_CLOTHES')
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="resource3d", value='RES3D_LEATHER_CLOTHES')
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="value", value=15.00)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="weight", value=2.0)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="stacking", value=6)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="armor", value=4)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="occupied_slots", value=["clothes"])
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="combine_xp", value=50)
objects.set_attribute(object='SET_LEATHER_CLOTHES', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_HYENA_PELT', 'SET_LONG_LEATHER_STRING', 'SET_RIVETS']]})


Gegerbtes Leder + Kurze Lederschnur + Messer  =  Lederhandschuhe
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_LEATHER_GLOVES')
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="name", value=globaltext.SET_LEATHER_GLOVES_NAME)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="hint", value=globaltext.SET_LEATHER_GLOVES_HINT)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_LEATHER_GLOVES')
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="resource3d", value='RES3D_LEATHER_GLOVES')
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="value", value=15.00)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="weight", value=0.20)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="stacking", value=6)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="armor", value=1)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="occupied_slots", value=["gloves"])
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="combine_xp", value=25)
objects.set_attribute(object='SET_LEATHER_GLOVES', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_HYENA_PELT', 'SET_SHORT_LEATHER_STRING']]})


Gegerbtes Leder + Kurze Lederschnur + Nieten + Messer  =  Lederschutzkappe
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_LEATHER_CAP')
objects.set_attribute(object='SET_LEATHER_CAP', attribute="name", value=globaltext.SET_LEATHER_CAP_NAME)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="hint", value=globaltext.SET_LEATHER_CAP_HINT)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_LEATHER_CAP')
objects.set_attribute(object='SET_LEATHER_CAP', attribute="resource3d", value='RES3D_LEATHER_CAP')
objects.set_attribute(object='SET_LEATHER_CAP', attribute="value", value=7.00)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="weight", value=0.40)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="stacking", value=6)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="armor", value=2)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="occupied_slots", value=["helm"])
objects.set_attribute(object='SET_LEATHER_CAP', attribute="combine_xp", value=30)
objects.set_attribute(object='SET_LEATHER_CAP', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_parlor_game",
"combination_list" : [['SET_KNIFE', 'SET_HYENA_PELT', 'SET_SHORT_LEATHER_STRING', 'SET_RIVETS']]})


Gegerbtes Leder + Kurze Lederschnur + Nieten + Hammer  =  Lederstiefel
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_LEATHER_BOOTS')
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="name", value=globaltext.SET_LEATHER_BOOTS_NAME)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="hint", value=globaltext.SET_LEATHER_BOOTS_HINT)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_LEATHER_BOOTS')
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="resource3d", value='RES3D_LEATHER_BOOTS')
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="value", value=25.00)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="weight", value=1.5)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="stacking", value=6)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="armor", value=2)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="occupied_slots", value=["boots"])
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="combine_xp", value=60)
objects.set_attribute(object='SET_LEATHER_BOOTS', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_plate_armor",
"combination_list" : [['SET_SLEDGE_HAMMER', 'SET_HYENA_PELT', 'SET_SHORT_LEATHER_STRING', 'SET_RIVETS']]})


Gegerbtes Leder + Kurze Lederschnur + Nieten + Stahlplatten + Hammer  =  Stahlkappenstiefel
Das Skript kann in scripts / itemdata / items.py wie folgt verändert werden:
Spoiler for Hiden:
create_item_type(typeid='SET_STEEL_CLAD_BOOTS')
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="name", value=globaltext.SET_STEEL_CLAD_BOOTS_NAME)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="hint", value=globaltext.SET_STEEL_CLAD_BOOTS_HINT)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_STEEL_CLAD_BOOTS')
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="resource3d", value='RES3D_STEEL_CLAD_BOOTS')
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="value", value=50.00)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="weight", value=2.00)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="stacking", value=6)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="armor", value=4)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="occupied_slots", value=["boots"])
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="combine_xp", value=75)
objects.set_attribute(object='SET_STEEL_CLAD_BOOTS', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_plate_armor",
"combination_list" : [['SET_SLEDGE_HAMMER', 'SET_HYENA_PELT', 'SET_SHORT_LEATHER_STRING', 'SET_RIVETS', 'SET_STEEL_PLATES']]})


Auf diesen Skripten aufbauend kann man dann folgende Ideen umsetzten:

Eisenplatten + Hammer  =  einfacher Helm
Stahlplatten + Hammer  =  Stahlhelm

« Letzte Änderung: 10. September 2010, 00:08:13 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline le Chew

  • Vertibirdpilot
  • Beiträge: 1.808
    • zero-projekt.net
Re: Mod-Tagebuch
« Antwort #52 am: 09. September 2010, 20:15:13 Uhr »
Hehe, er wütet wieder  :D

Da sind schicke Sachen dabei - ich überlege gerade ob 2 Dinge sinnvoll wären:

1. Ein "Übersichtsthread" mit Linklisten a la "Dünne Lederrüstung" -> Link zum Codeschnippsel
2. Ein (privates) SVN-Repository der Original-"The Fall"-Pythonscripte mit dem wir dann diffs anfertigen - so könnte jeder seine lokalen Scripte ganz einfach patchen und hätte deine Änderungen :)

(Privates SVN deswegen weil ich denke ein Öffentliches würde evtl. Probleme machen wegen Lizenzen etc...)

Weiter so, du aktivstes deutsches The-Fall-Modding-"Team" du  :s000:

cheers,
chewie
« Letzte Änderung: 09. September 2010, 20:19:13 Uhr von chewie »

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Re: Mod-Tagebuch
« Antwort #53 am: 09. September 2010, 20:37:15 Uhr »
Danke chewie  :D

Zitat
1. Ein "Übersichtsthread" mit Linklisten a la "Dünne Lederrüstung" -> Link zum Codeschnippsel
2. Ein (privates) SVN-Repository der Original-"The Fall"-Pythonscripte mit dem wir dann diffs anfertigen - so könnte jeder seine lokalen Scripte ganz einfach patchen und hätte deine Änderungen

Die Itemliste hat hat sich gerade ein wenig verselbständigt und die Übersicht leidet - sollten eigentlich nur Beispiele werden *g* - aber der Ideenfluß war zu schnell  ;D.
Wie könnte so ein SVN ausschauen, habe da leider gar keinen Plan von, außer das die Skriptteile miteinander verglichen werden.
Wenn die Zeit und Motivation reichen, soll ja aus der Iddensammlung des Modtagebuches eine kleine Mod entstehen - sowas wie "TF-Extended" - mal schauen.   

Über Urheberrechte habe ich mir auch schon Gedanken gemacht, deswegen stehen als Quellen immer die Skriptpfade da. Da es ja auch Modtool und den Editor + die Anleitungen zum Modden gibt hoffe ich mal nicht Probleme zu bekommen. Anderenfalls werden sie Skriptteile halt wieder entfernt. Ich habe auch schon zwei Emails an Silver Style geschrieben, leider haben sie noch nicht geantwortet.
« Letzte Änderung: 09. September 2010, 23:24:02 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Werkzeug selbst definieren
« Antwort #54 am: 14. September 2010, 00:11:39 Uhr »
Wie man selbst Werkzeuge definiert, zeigt folgendes Skript (z.B.: Zange oder Hammer, welche nach dem Benutzen wieder im Inventar zur Verfügung stehen). Im Beispiel wird unter scripts / combos.py eine Backform für das spätere Brotbacken  :D beschrieben:

def assemble_cake_tin(character_id, items, item):
"""Creates cake tin.

Parameters:
        character_id - Id of owner of items.
        items        - List of id of items to combine.
        item         - The item_type of new item.
"""
for act_item in items:
if (objects.get_attribute(act_item, "typeid")!="SET_CAKE_TIN"):
objects.remove_item_from_inventory(character_id, act_item)


objects.create_item_in_inventory(object=character_id, equipment=item)
return True

In scripts / itemdata / items.py ist dann unter dem Brot diese Funktion wieder zu finden:
create_item_type(typeid='SET_BREAD')
objects.set_attribute(object='SET_BREAD', attribute="name", value=globaltext.SET_BREAD_NAME)
objects.set_attribute(object='SET_BREAD', attribute="hint", value=globaltext.SET_BREAD_HINT)
objects.set_attribute(object='SET_BREAD', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_BREAD')
objects.set_attribute(object='SET_BREAD', attribute="resource3d", value='RES3D_BREAD')
objects.set_attribute(object='SET_BREAD', attribute="value", value=4.0)
objects.set_attribute(object='SET_BREAD', attribute="weight", value=0.5)
objects.set_attribute(object='SET_BREAD', attribute="stacking", value=500)
objects.set_attribute(object='SET_BREAD', attribute="le_recovery", value=8)
objects.set_attribute(object='SET_BREAD', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
        "assemble_function" : "assemble_cake_tin",
"combination_list" : [['SET_CAKE_TIN', 'SET_SUGAR','SET_WATER_SKIN']]})

Nun ist es möglich aus Wasser, Mehl (ursprünglich die orginale Zuckertüte) und der Backform (eigentlich die Kuchenform) das erste eigene Brot zu backen.  ;)

Alles gut und schön, an Wasser im Ödland zu kommen ist ja schon gut möglich, doch wo findet man Mehl?

Option A: Wo eine Windmühle steht, könnte der Müller nicht weit sein und wo Säcke liegen, könnte auch Mehl drin sein  ;D. Es wird also auf einigen Karten hinterlegt.

Option B:Selbst ist der Wasteländer, naja, fast. Da wo es Kornfelder gibt (manchmal schon abgeerntet mit Stroh) werden Roggenbündel zu finden sein, aus denen Mehl zu gewinnen ist.

Das Skript für die Verarbeitung von Rogenbündeln zu Mehl. Es ist zwar etwas mühselig mit einem Hammer die Körner zu zerstampfen, aber Not macht erfinderisch:
Spoiler for Hiden:
create_item_type(typeid='SET_SUGAR')
objects.set_attribute(object='SET_SUGAR', attribute="name", value=globaltext.SET_SUGAR_NAME)
objects.set_attribute(object='SET_SUGAR', attribute="hint", value=globaltext.SET_SUGAR_HINT)
objects.set_attribute(object='SET_SUGAR', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_SUGAR')
objects.set_attribute(object='SET_SUGAR', attribute="resource3d", value='RES3D_SUGAR')
objects.set_attribute(object='SET_SUGAR', attribute="value", value=2.0)
objects.set_attribute(object='SET_SUGAR', attribute="weight", value=0.5)
objects.set_attribute(object='SET_SUGAR', attribute="stacking", value=100)
objects.set_attribute(object='SET_SUGAR', attribute="combine_xp", value=100)
objects.set_attribute(object='SET_SUGAR', attribute="item_combination", value={
"difficulty_assemble" : COMBO_EVERYBODY,
"assemble_function" : "assemble_plate_armor",
"combination_list" : [
['SET_BUNCH_OF_RYE_PLANTS','SET_SLEDGE_HAMMER']]})
« Letzte Änderung: 12. Oktober 2010, 09:53:56 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Objekte des Editors als Inventaritems im Spiel definieren
« Antwort #55 am: 12. Oktober 2010, 11:09:40 Uhr »
Seit einiger Zeit habe ich damit experimentiert Gegenstände des Editors in nutzbare Spielobjekte um zu wandeln. Als Beispiel möchte ich das an Pilzen dokumentieren:

1. Der Name des neuen Items lautet MUSHROOMS_1 und wird wie bisher gewohnt als Objekt in scripts / itemdata / items.py definiert:
                 create_item_type(typeid='SET_MUSHROOMS_1')
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="name", value=globaltext.SET_MUSHROOMS_1_NAME)
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="hint", value=globaltext.SET_MUSHROOMS_1_HINT)
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_MUSHROOMS_1')
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="resource3d", value='RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1')
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="value", value=2.0)
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="weight", value=0.2)
objects.set_attribute(object='SET_MUSHROOMS_1', attribute="stacking", value=10)



2. Der Namen und Hint der Pilze im Spiel werden in scripts / globaltext / german / german.py definiert:
                add_global_text(id='SET_MUSHROOMS_1_NAME', text='Champignons')
add_global_text(id='SET_MUSHROOMS_1_HINT', text='Champignons')
Dem geübten Leser wird jetzt auffallen, das es sich um Champignons handeln wird.
 


3. Das Inventarbild wird in der Zeile  objects.set_attribute(object='SET_MUSHROOMS_1', attribute="resourceui", value='RES_ITEM65X32_MISCITEM_MUSHROOMS_1' ) abgefragt.

Dieses gibt es in den GUI-Daten noch nicht und muss verankert werden. Dem Spiel sind im Modordner Tools beigefügt, eines davon ist das Tool guiresourcedata.exe. Dieses öffnen.
Es hat Vorteile schon vorher zu wissen, wo sich denn die GUI-Daten der Items verstecken. Häufig halten sie sich in The Fall / data / guidata / fall_items.gui auf  ;).
Die Datei öffnen und unter "Ressourcen" auf der linken Seite erscheint eine lange Liste der definierten Inventarbilder der Objekte - Pilze sind da noch nicht zu finden, müssen noch "wachsen".
In der Datenbank einfach einen neuen Eintrag erstellen (am oberen linken Rand erstes Quadratsymbol "Neue Ressource" anklicken- schau auch in die Infozeile unten)
Die Infostruktur kann man eigentlich recht analog zu den anderen Objekten erstellen. Zu jedem Eintrag auf der linken Seite in der Datenbank stehen verschiedene Informationen auf der rechten Seite.
                           
     a. die Id: von 400000 bis 400545  - ich habe einfach die 1 genommen, da es mein erstes Objekt ist

     b. Bezeichner: RES_ITEM65X32_MISCITEM_MUSHROOMS_1  - wichtig, das ist der Name auf den sich weiter oben hier in der Objektdefinition bezogen wird

     c. Es wird ein "Neuer Bereich" definiert und es öffnet sich ein Fenster, in welchem man folgende Werte einträgt:

                   Nummer: 0
                   Koordinaten des Inventarbildes auf einem PNG-Bild:  TX1:0 TY1:0 und TX2:65 TX2: 32
                   Breite: 32
                   Höhe:  65  
                   Offset XY: 0
                   Streckung XY: 1
                   Pfad: gui\gui_mission\items\b_mushrooms1.png Dieser Pfad muss auch im Eintrag der Texturbibliothek stehen.

          Am Ende des Pfades gui \ gui-mission\items\ verstecken sich insgesamt 26 Bilder im DDS Format. Jedes Bild enthält mehrere Inventarbilder,
          welches man sich mit dem Programm dxtbmpx.EXE angesehen kann und so auch eine Vorstellung bekommt, was sich  z.B. hinter den Koordinaten verbirgt.
          Im Fall der Pilze ist das aber eh rein theoretisch, da ein Inventarbild noch gar nicht existiert. 
          Es gibt im TF-Editor Pilzbilder, welche man im Ordner The Fall / gui / preview / buildings / b_mushrooms1.png.dds finden kann.
          Entweder man legt den Pfad dahin oder man kopiert das Bild nach gui \ gui-mission\items, habe der Übersicht halber letzteres getan.

      d. Nun muss das Bild nur noch in der Texturdatenbank der GUIResourceData eingebunden werden. Dazu klickt man in der Symbolleiste den Button Texturdatenbank an und es öffnet sich das Fenster der Texturbibliothek.
          Ein ähnliches Spiel wie zuvor. Ein neuer Eintrag wird erstellt und folgende Werte definiert:

                    Id: 1
                    Pfad: gui\gui_mission\items\b_mushrooms1.png (wichtig, das Bild ist im Ordner als .dds abgelegt, es wird aber auf das .png verwiesen!), Pfad aus c muss identisch sein!
                    Format: PNG
                    Höhe: 64
                    Breite: 32 (wichtig, die anderen Bilder sind ja 256x256, da sie mehrere Inventarbilder enthalten, dieses ist nur ein einzelnes deswegen 64x32)
                    Typ: Transparent
         
        Jetzt sollte das Bild verankert sein und im Spielerinventar sichtbar sichtbar sein.


4. Als nächstes wird das 3d-Modell in der Zeile objects.set_attribute(object='SET_MUSHROOMS_1', attribute="resource3d", value='RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1') abgefragt.

In der Datei scripts / objectdata / items.py werden die 3d-Modelle der Items geladen. Da es die Pilze aber nur im Editor gibt, müssen sie unter 'RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1' durch folgende Zeilen analog zu den anderen hinzugefügt werden:
add_3d_item_data(typeid='RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1')
objects.set_attribute(object='RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1', attribute="diff3d_file", value="objects\\additionals\\thefall\\misc\\mushrooms1.diff3d")
objects.set_attribute(object='RES3D_TRES_OBJECTS_BUILDING_MUSHROOMS_1', attribute="states", value=['TRES_OBJECTS_BUILDING_MUSHROOMS_1'])
                       
Die 3d-Datei der Pilze im Editor findet sich ursprünglich unter The Fall / objects / buildings / mushrooms / mushrooms1.diff3d . Entweder man verlinkt direkt oder man verschiebt eine
Kopie nach The Fall / objects / additionals / thefall / misc / mushrooms1.diff3d zu den 3d-Modellen der anderen Items.


Wenn soweit alles richtig ausgeführt und alles gespeichert (Backup gemacht ?) wurde, kann man nun Pilze sammeln.  #yay (diese müßten natürlich noch in den Zonenskripten analog zu den Kräutern plaziert werden)

« Letzte Änderung: 12. Oktober 2010, 21:49:39 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Baustelle
« Antwort #56 am: 13. Oktober 2010, 04:56:29 Uhr »
 #radi2 Baustelle #radi2
     :coffee  :para
objects.set_attribute("GANGER_1","foes",["UISPIELER"])

zone_2 / npc.py
Spoiler for Hiden:
def initNPCS():
#RATSKULL_SQUAD_LEADER
system.create_character(
id="RATSKULL_SQUAD_LEADER",
gender="male",
party="RATSKULLS",
x=432.83,
y=668.85,
direction=0,
name=globaltext.NAME_RATSKULL,
resourceui="")

  objects.set_attribute("RATSKULL_SQUAD_LEADER", "faction", "RAT_SKULLS")
objects.set_attribute("RATSKULL_SQUAD_LEADER", "level", 3 )
objects.set_attributes("RATSKULL_SQUAD_LEADER",
model="low",
gender="male", # "female"
skin="white", # "black"
clothes="ratskull_bulletproof", # "ratskull",
face="ratskull_member_0012")
character.update_appearance("RATSKULL_SQUAD_LEADER")
character.scale("RATSKULL_SQUAD_LEADER",1.82)

zone_2 / const.py
data().ratskulls_david = ["RATSKULL_SQUAD_LEADER", "RATSKULL_002", "RATSKULL_017"]
data().ratskulls_camp = ["RATSKULL_006", "RATSKULL_007"]
data().ratskulls_village = ["RATSKULL_003","RATSKULL_004","RATSKULL_010", "RATSKULL_005","RATSKULL_011","RATSKULL_012", "RATSKULL_013","RATSKULL_014","RATSKULL_015", "RATSKULL_016"]
data().ratskulls = data().ratskulls_david + data().ratskulls_camp + data().ratskulls_village

zone_2 / shedules.py
Spoiler for Hiden:
"RATSKULL_011": ({
S_CONDITION:lambda:data().RatskullsKonversationAktiv,
# Konversation
"01:30:00":{
S_LOCATION : 1,
S_START  :(goto(638.6,560.3)),
S_LOOP :(conversate(["RATSKULL_012","RATSKULL_013","RATSKULL_014"])),
},
# Sitzen, warten
"11:25:00":{
S_LOCATION : 2,
S_START  :(sit_down_on_ground()),
S_LOOP :(sit_on_ground()),
},
},{
S_CONDITION: lambda: data().ratskulls_emergency_schedule,
"00:00:00" : {
S_START : [goto(638.6,560.5)],
S_LOOP  : []
}
}),

"RATSKULL_012": ({
S_CONDITION:lambda:data().RatskullsKonversationAktiv,
# Konversation
"00:15:00":{
S_LOCATION : 1,
S_START  :(goto(637.1,560.5)),
S_LOOP :(conversate(["RATSKULL_011","RATSKULL_013","RATSKULL_014"])),
},
# Sitzen, warten
"10:04:00":{
S_LOCATION : 2,
S_START  :(sit_down_on_ground()),
S_LOOP :(sit_on_ground()),
},
},{
S_CONDITION: lambda: data().ratskulls_emergency_schedule,
"00:00:00" : {
S_START : [goto(637.1,560.5)],
S_LOOP  : []
}
}),

"RATSKULL_013": ({
S_CONDITION:lambda:data().RatskullsKonversationAktiv,
# Konversation
"02:01:00":{
S_LOCATION : 1,
S_START  :(goto(638.11,559.37)),
S_LOOP :(conversate(["RATSKULL_012","RATSKULL_011","RATSKULL_014"])),
},
# Sitzen, warten
"13:45:00":{
S_LOCATION : 2,
S_START  :(sit_down_on_ground()),
S_LOOP :(sit_on_ground()),
},
},{
S_CONDITION: lambda: data().ratskulls_emergency_schedule,
"00:00:00" : {
S_START : [goto(638.1,559.4)],
S_LOOP  : []
}
}),

"RATSKULL_014": ({
S_CONDITION:lambda:data().RatskullsKonversationAktiv,
# Konversation
"01:20:00":{
S_LOCATION : 1,
S_START  :(goto(636.0,559.8)),
S_LOOP :(conversate(["RATSKULL_012","RATSKULL_013","RATSKULL_011"])),
},
# Sitzen, warten
"15:10:00":{
S_LOCATION : 2,
S_START  :(sit_down_on_ground()),
S_LOOP :(sit_on_ground()),
},
},{
S_CONDITION: lambda: data().ratskulls_emergency_schedule,
"00:00:00" : {
S_START : [goto(636,559.8)],
S_LOOP  : []
}
}),

Na lol,  #batsch da habe ich aus Versehen auf den roten Knopf gedrückt  :atomrofl7ep5rb:

 :smug: Dekontamination fast abgeschlossen, allgemeine Aufräumarbeiten...  #knirsch  ...  >:D ....  ich könnt  #kotzen# ... Kaffeepause  :coffee
« Letzte Änderung: 17. Oktober 2010, 06:30:51 Uhr von Torka »
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Lexx

  • Administrator
  • Auserwähltes Wesen
  • Beiträge: 17.726
Re: Mod-Tagebuch
« Antwort #57 am: 17. Oktober 2010, 12:51:54 Uhr »
Die Pilze sehen gut aus, aber ich wage zu bezweifeln, dass in dem Teil der Welt Champignons wachsen. :p
only when you no-life you can exist forever, because what does not live cannot die

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Re: Mod-Tagebuch
« Antwort #58 am: 18. Oktober 2010, 13:28:05 Uhr »
Die Pilze sehen gut aus, aber ich wage zu bezweifeln, dass in dem Teil der Welt Champignons wachsen. :p

Die Pilze sind eigentlich die Modelle aus den Pilzfarmen der Höhle. Die GNO-Karte ist nur der Teststandort für die erstellten Objekte  ;). Wenn es denn mal zur Modifikation kommen sollte, werden sie sicher in den Pilzfarmen der Schatten zu finden sein oder vereinzelt in tiefen, schattigen Tälern in der Nähe einer Quelle.
Ob Champignon- oder Egerlingsartige (Agaricaceae) auch im Südwesten der USA vorkommen habe ich mich auch gefragt und war recht erstaunt über die Antworten.
Zitat
Podaxis pistillaris ist z.B. eine Pilzart aus der Familie der Champignonartigen, welche auch in der Sonorawüste wächst. Der Pilz ist in den Halbwüsten Afrikas, Asiens, Australiens und Amerikas zwischen 40 Grad nördlicher und 40 Grad südlicher Breite zu finden. Die meisten Entdeckungen wurden in Regionen mit langen Trockenzeiten gemacht. Der Pilz wächst am schnellsten bei Temperaturen um 40 Grad Celsius. Bis etwa 20 und ab 50 Grad Celsius kann er nicht wachsen.
Den dramatischen Klimaveränderungen im Szenario des Spiels geschuldet werden die Pilze aber sehr untergeordnet und eher seltener auf den Karten zu finden sein. Vielleicht wird man Handel in den Pilzfarmen betreiben können oder durch aktive Mitarbeit (Bewäsern, Düngen) könnte es möglich sein selbst Pilze zu züchten.

Quellen:
http://www.forestryimages.org/browse/detail.cfm?imgnum=1570702
http://de.wikipedia.org/wiki/Podaxis_pistillaris
http://www.arizonensis.org/sonoran/fieldguide/podaxis_pistillaris.html
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.

Offline Torka

  • Jet Dealer
  • Beiträge: 170
  • Was für ein Wetter!
Re: Mod-Tagebuch
« Antwort #59 am: 15. April 2011, 12:26:05 Uhr »
Leider komme ich nur noch unregelmäßig zum modifizieren. Der neue Job im RL ist doch arg zeitfressend  >:(. Mein Rechner hat nach 6 Jahren auch leider den Geist aufgegeben und es bleibt nur noch eine Datensicherung übrig - aber Ostern wird auch eine neue Rechnergeneration auferstehen.  :D

Wenn es machbar ist, wird es auch hier wieder weiter gehen....
Zitat von: Typ auf Hügel an einem See, der jetzt jedes Jahr einen Zentimeter seines Wasserspiegels verliert
"So wie ihr von den Menschen behandelt werden möchtet, so behandelt sie auch. Denn das ist die Botschaft des Gesetztes und der Propheten."
etwa 32 n.s.G.