Neue Gebäude per cfg coding

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Neue Gebäude per cfg coding

      Hallo zusammen.

      Ich hatte mich mit gebäude coding also mehr mit dem coding vom props sich Container oder Tanks beschäfftigt
      Da ich da langsam den dreh raus habe würde mich natürlich auch jetzt interessieren wie das ganze bei Produktions
      gebäuden usw. funktioniert.

      Dieses Thema ist in anschluss zu meinem ersten thema Tycoon/Eco props.

      Ich wäre sehr dankebar für hilfe :)

      MfG Blubby
    • Im Endeffekt ist jedes Produktionsgebäude gleich aufgebaut.

      <Asset>
      <Template>FactoryBuilding</Template>
      <Values>
      <Blocking>
      <DeleteNatureElementsFrameSize>4096</DeleteNatureElementsFrameSize>
      </Blocking>
      <BuildCost> |ist klar
      <ResourceCost>
      <Credits>300</Credits>
      </ResourceCost>
      <ProductCost> | auch klar
      <Tools>4000</Tools>
      <Wood>4000</Wood>
      <Glass>10000</Glass>
      <BuildingModules>8000</BuildingModules>
      </ProductCost>
      <NeedsIntermediatelevel>IntermediateComfortFood</NeedsIntermediatelevel> |klar
      </BuildCost>
      <Building>
      <BuildingLevel>Ecos1</BuildingLevel>
      </Building>
      <Danger />
      <Factory> |RawMaterial1: erste Eingangsware, RawMaterial2: zweite Eingangsware, RawNeededX: Menge der X. Ware, die pro produzierter Tonne Endware verbraucht wird.
      <RawMaterial1>Flour</RawMaterial1>
      <RawNeeded1>1200</RawNeeded1>
      <RawMaterial2>Vegetables</RawMaterial2>
      <RawCapacity2>5000</RawCapacity2>
      <RawNeeded2>2100</RawNeeded2>
      </Factory>
      <Hitpoints>
      <MaxHitpoints>1000</MaxHitpoints>
      </Hitpoints>
      <Influence>
      <InfluenceRadius>20</InfluenceRadius>
      </Influence>
      <InfoLayer />
      <KIModule />
      <MaintenanceCost>
      <ActiveCost>20</ActiveCost>
      <InactiveCost>10</InactiveCost>
      <ActiveEcoEffect>-16384</ActiveEcoEffect>
      <InactiveEcoEffect>-8192</InactiveEcoEffect>
      <ActiveEnergyCost>8192</ActiveEnergyCost>
      <InactiveEnergyCost>4096</InactiveEnergyCost>
      </MaintenanceCost>
      <Mesh />
      <Object> |Grafik
      <Variations>
      <Item>
      <Filename>data\graphics\buildings\ecos\production\bakery_ecos\bakery_ecos.cfg</Filename>
      </Item>
      </Variations>
      <AssetCategory>-1822219540</AssetCategory>
      </Object>
      <Selection />
      <Standard>
      <Name>bakery</Name>
      <GUID>10180</GUID>
      <Creator>Joachim</Creator>
      <CreationTime>2010-11-30 09:51</CreationTime>
      <LastChangeUser>Joachim</LastChangeUser>
      <LastChangeTime>2011-10-25 18:01</LastChangeTime>
      </Standard>
      <TradingPrice />
      <WareProduction> |Zeit, um eine Tonne zu produzieren und produzierte Ware.
      <ProductionTime>60000</ProductionTime>
      <Product>ComfortFood</Product>
      <NeedsStreetConnection>1</NeedsStreetConnection>
      <ProductionSound>98228</ProductionSound>
      </WareProduction>
      <FeedbackHub />
      <Reward />
      </Values>
      </Asset>
    • hier ist due anim verandwoltlich ich zitier mal Judekw wie er es mir beschrieben hat :

      judekw wrote:


      wenn die grafik eine animation hat musst du das hier eintragen
      <m_Animations><m_Config><m_FileName></m_FileName>
      <m_LoopCount>0</m_LoopCount>
      <m_Scale>1.000000</m_Scale>
      <m_ConfigType>ANIMATION</m_ConfigType>
      </m_Config>
      <m_Config><m_FileName></m_FileName>
      <m_LoopCount>0</m_LoopCount>
      <m_Scale>1.000000</m_Scale>
      <m_ConfigType>ANIMATION</m_ConfigType>
      </m_Config>
      </m_Animations>
      die reihen folge ist egal wird später in der <m_Sequences> geregelt

      <m_Sequences>


      sie steuern die reinfolge der Effeckte !, wenn nicht vorhanden, wird die grafic bei 0/0/= und in orginaler größe angezeigt


      Produktiongebäude
      5000 = nicht im betrib
      6000 = für betrib


      einheiten
      5000 für betrieb
      1000 für stillstand
      4000 für schießen bei waffen


      <m_Sequences>
      <m_Config>
      <m_SequenceID>6000</m_SequenceID> In der Zeile musst du darauf achten, dass die Zahl die richtige ist.
      Bei einem Produktionsgebäude muss das 6000 für Produktion und 5000 für Stillstand sein. Bei Einheiten 1000 für Bewegung und 5000 für Stillstand!


      <m_Looped>1</m_Looped> Bei 1 lassen, damit sich die Animation wiederholt. Bei 0 stoppt die nach einem Durchgang!


      <m_Speed>1.000000</m_Speed> So lassen!
      <Track>
      <TrackID>1</TrackID> Einfach nach Zahlen ordnen!
      <TrackElement>
      <Type>0</Type> Typ 0 für eine Animationsdatei (nicht dein Fall), 1 für einen Effekt (Dein Fall! Da also eine 1), 2 für eine Condition
      <m_StartTime>0</m_StartTime> Bei welcher Zeit soll der Effekt starten? in Millisekunden!
      <m_EndTime>1250</m_EndTime> Bei welcher Zeit soll der Effekt enden? in Millisekunden!


      <m_EffectID>0</m_EffectID> Bei Typ 1 (siehe oben) musst du natürlich auf einen Effekt verweisen!
      VORSICHT! Die Zählung beginnt bei 0 anstatt bei 1, für den ersten Effekt unter <Effects> musst du also eine 0 eintragen, für den zweiten hier eine 1 usw.
      Vermutlich lag da dein Fehler!
      Bei Typ 0, also wenn ein Objekt eine Animation bekommt, beginnt die Zählung auch bei 0. Als fürs erste Modell eine 0 und für die erste Animation auch eine 0!</TrackElement>
      </Track>
      <m_ConfigType>SEQUENCE</m_ConfigType> Die Zeile muss immer am Ende einer Sequence stehen!!
      </m_Config>
      </m_Sequences>



      die Sequenz musst du auch in der .ifo des Objekts erwähnen, für diesen Fall so:


      <Sequence>
      <Id>6000</Id>
      <Duration>1250</Duration> Die Gesamtzeit der Sequenz in Millisekunden.


      <Speed>4096</Speed> 4096 entspricht 1 (siehe oben: <m_Speed>1.000000</m_Speed> So lassen!), da also auch nichts ändern.
      </Sequence>
    • Danke leider versteh ich gerade garnichts mehr :(

      Ich wollte eine erweiterte version vom Schmelzwerk machen
      das im late game mehr bauenzellen produziert.
      Dafür wollte ich 2 Schmelzwerke direkt nebeneinander machen
      mit dem Bau zaun und ein paar container.

      Ich hatte gehofft das du vllt anhand des codes mir es besser erklären könntest aber
      leider kann ich den normalen code vom schmelz werk nicht posten weil nur 10000 zeichen erlaubt
      sind.

      Der code ist komplett anderes als der vom dem Container abgesehen von den animations codes.
      Es gibt keine codes für das veränderen der scale und der positionen und einfach diese codes einfügen
      bringt garnichts weil das gebäude unsichtbar wird.

      Sorry das ich mich einfach zu doof anstelle aber die codes sind so unübersichtlich und es wird auch nicht angezeigt
      ob was falsch ist. :(
    • also hier musst du mein Trick Nr. 7 nutzen.
      cfg über cfg in eine haupt cfg.

      heißt :
      du nimmst dein gebäude cfg, die der schmelze und kopierst du die neue bennst du um. z.b hängst _grund dran,
      Nun öffne die alte und lösche alle effeckt, ground, und der models eintrage, bis zu den <m_Sequences> eintrag und dem kleine anhängesl darunter.
      oben das gleiche mit der file eintrag bis das nur die einträg löschen sollst dass du dann hast :
      <m_Config><m_Files>
      </m_Files>
      <m_Sequences>

      wir machen das über die files nun füge diesen eintrag zu :

      <m_Config><m_FileName>data\graphics_tycoon_mod\buildings\ecos\production\landteigwaren\chip_factory_others\chip_factory_others.cfg</m_FileName>hier dann dein grafik pfad zur cfg _grund
      <m_ConfigType>FILE</m_ConfigType>
      <m_Transformer><m_Config>das gleich wie oben
      <m_Position.x>-1.000000</m_Position.x>
      <m_Position.y>0.000000</m_Position.y>
      <m_Position.z>2.000000</m_Position.z>
      <m_Rotation.x>0.000000</m_Rotation.x>
      <m_Rotation.y>1.000000</m_Rotation.y>
      <m_Rotation.z>0.000000</m_Rotation.z>
      <m_Rotation.w>0.000000</m_Rotation.w>
      <m_Scale>1.000000</m_Scale>
      <m_Conditions>0</m_Conditions>
      <m_ConfigType>ORIENTATION_TRANSFORM</m_ConfigType>
      </m_Config>
      </m_Transformer>
      </m_Config>

      das zwei mal und es sollte funktionieren
    • Danke für den trick so ist es doch leichter zu verstehen.

      Ich hatte es versucht so zu machen wie du aber mein gebäude bleibt unsichtbar.
      Ich habe einen eigenen grafik ordner erstell damit alles übersichtlicher bleib.
      Sogar das unveränderte model mit meinem pfad ist unsichtbar.

      Liegt das vllt an meinem grafik pfad oder das vllt etwas fehlt bei der schmelze
      das sich in anderen ordner noch befindet?.
      Das komische ist das props wie container und so in meinem grafik ordner gelesen werden
      vom spiel nur keine eigendlichen gebäude.

      ---Edit---

      Ich habe es jetzt hinbekommen props wie container in gebäude mit animationen eizufügen.
      Nur als ich versucht habe ein gebäude mit animation einzufügen ist das spiel gecrasht
      als ich das gebäude platzieren wollte :)

      Das ist der code.


      <m_Config><m_FileName>data\graphics_test_mod\buildings\others\production\tool_factory_mk2.cfg</m_FileName>
      < m_ConfigType>FILE</m_ConfigType>
      < m_Transformer><m_Config>
      <m_Position.x>1.000000</m_Position.x>
      <m_Position.y>-0.300000</m_Position.y>
      <m_Position.z>2.000000</m_Position.z>
      <m_Rotation.x>0.000000</m_Rotation.x>
      <m_Rotation.y>1.000000</m_Rotation.y>
      <m_Rotation.z>0.000000</m_Rotation.z>
      <m_Rotation.w>0.000000</m_Rotation.w>
      <m_Scale>1.000000</m_Scale>
      < m_Conditions>0</m_Conditions>
      < m_ConfigType>ORIENTATION_TRANSFORM</m_ConfigType>
      < /m_Config>
      < /m_Transformer>
      < /m_Config>

      Liegt es womöglich an der ifo file? Da ist ja die bounding box und build/groundblocker drin.

      The post was edited 1 time, last by Blubby ().

    • komisch :
      ich hab den orginalen dateien der schmelze genommen und die cfg so verändert :

      Source Code

      1. <m_Config><m_Files><m_Config><m_FileName>data\graphics\buildings\others\production\smelting_works_others\smelting_works_others.cfg</m_FileName>
      2. <m_ConfigType>FILE</m_ConfigType>
      3. <m_Transformer><m_Config>
      4. <m_Position.x>-2.000000</m_Position.x>
      5. <m_Position.y>0.000000</m_Position.y>
      6. <m_Position.z>0.000000</m_Position.z>
      7. <m_Rotation.x>0.000000</m_Rotation.x>
      8. <m_Rotation.y>0.000000</m_Rotation.y>
      9. <m_Rotation.z>0.000000</m_Rotation.z>
      10. <m_Rotation.w>0.000000</m_Rotation.w>
      11. <m_Scale>1.000000</m_Scale>
      12. <m_Conditions>0</m_Conditions>
      13. <m_ConfigType>ORIENTATION_TRANSFORM</m_ConfigType>
      14. </m_Config>
      15. </m_Transformer>
      16. </m_Config><m_Config><m_FileName>data\graphics\buildings\others\production\smelting_works_others\smelting_works_others.cfg</m_FileName>
      17. <m_ConfigType>FILE</m_ConfigType>
      18. <m_Transformer><m_Config>
      19. <m_Position.x>2.000000</m_Position.x>
      20. <m_Position.y>0.000000</m_Position.y>
      21. <m_Position.z>0.000000</m_Position.z>
      22. <m_Rotation.x>0.000000</m_Rotation.x>
      23. <m_Rotation.y>0.000000</m_Rotation.y>
      24. <m_Rotation.z>0.000000</m_Rotation.z>
      25. <m_Rotation.w>0.000000</m_Rotation.w>
      26. <m_Scale>1.000000</m_Scale>
      27. <m_Conditions>0</m_Conditions>
      28. <m_ConfigType>ORIENTATION_TRANSFORM</m_ConfigType>
      29. </m_Config>
      30. </m_Transformer>
      31. </m_Config>
      32. </m_Files>
      33. <m_Sequences><m_Config><m_SequenceID>6000</m_SequenceID>
      34. <m_Looped>1</m_Looped>
      35. <m_Speed>1.000000</m_Speed>
      36. <Track><TrackID>1</TrackID>
      37. <TrackElement><Type>0</Type>
      38. <m_StartTime>0</m_StartTime>
      39. <m_EndTime>7000</m_EndTime>
      40. <m_ModelID>0</m_ModelID>
      41. <m_AnimationID>0</m_AnimationID>
      42. </TrackElement>
      43. </Track>
      44. <Track><TrackID>2</TrackID>
      45. <TrackElement><Type>1</Type>
      46. <m_StartTime>4052</m_StartTime>
      47. <m_EndTime>6052</m_EndTime>
      48. <m_EffectID>2</m_EffectID>
      49. </TrackElement>
      50. </Track>
      51. <Track><TrackID>3</TrackID>
      52. <TrackElement><Type>1</Type>
      53. <m_StartTime>5000</m_StartTime>
      54. <m_EndTime>7000</m_EndTime>
      55. <m_EffectID>3</m_EffectID>
      56. </TrackElement>
      57. </Track>
      58. <Track><TrackID>4</TrackID>
      59. <TrackElement><Type>2</Type>
      60. <m_StartTime>0</m_StartTime>
      61. <m_EndTime>7000</m_EndTime>
      62. <m_Condition>8</m_Condition>
      63. </TrackElement>
      64. </Track>
      65. <m_ConfigType>SEQUENCE</m_ConfigType>
      66. </m_Config>
      67. <m_Config><m_SequenceID>5000</m_SequenceID>
      68. <m_Looped>1</m_Looped>
      69. <m_Speed>1.000000</m_Speed>
      70. <Track><TrackID>1</TrackID>
      71. <TrackElement><Type>0</Type>
      72. <m_StartTime>0</m_StartTime>
      73. <m_EndTime>32</m_EndTime>
      74. <m_ModelID>0</m_ModelID>
      75. <m_AnimationID>1</m_AnimationID>
      76. </TrackElement>
      77. </Track>
      78. <Track><TrackID>2</TrackID>
      79. <TrackElement><Type>2</Type>
      80. <m_StartTime>0</m_StartTime>
      81. <m_EndTime>1000</m_EndTime>
      82. <m_Condition>0</m_Condition>
      83. </TrackElement>
      84. </Track>
      85. <m_ConfigType>SEQUENCE</m_ConfigType>
      86. </m_Config>
      87. </m_Sequences>
      88. <m_RenderPropertyFlags>131712</m_RenderPropertyFlags>
      89. <m_Center.x>0.000000</m_Center.x>
      90. <m_Center.y>2.547852</m_Center.y>
      91. <m_Center.z>0.303731</m_Center.z>
      92. <m_Extent.x>2.000000</m_Extent.x>
      93. <m_Extent.y>3.297852</m_Extent.y>
      94. <m_Extent.z>1.803731</m_Extent.z>
      95. <m_Radius>4.257848</m_Radius>
      96. <m_ConfigType>ROOT</m_ConfigType>
      97. </m_Config>
      Display All
      die anim wird angezeigt
    • Mmmh das ist wirklich echt komisch. Naja aber immerhin klappts jetzt so sachen wie Container,kisten und zäune in
      gebäuden mit animationen einzufügen.

      Ich werd einfach weiter testen.
      Ich hab nochmal eine frage bezüglich dieses codes

      [list=1]<m_Position.x>-2.000000</m_Position.x>
      <m_Position.y>0.000000</m_Position.y>
      <m_Position.z>0.000000</m_Position.z>
      <m_Rotation.x>0.000000</m_Rotation.x>
      <m_Rotation.y>0.000000</m_Rotation.y>
      <m_Rotation.z>0.000000</m_Rotation.z>
      <m_Rotation.w>0.000000</m_Rotation.w>
      [/list]Im großen teil kommen ich nun recht gut mit den positionieren gut klar aber eine
      sache versteh ich immernoch nicht und zwar das drehen von objekten.

      Ich hab mir mal cfgs von gebäuden deiner mod und der JudeKw mod angeschaut und gesehen das bestimmte zahlen
      das gebäude um 90 oder 45 grad drehen.

      Für 90grad muss man bei Rotation y und w 0.707107 eingeben
      und bei 45 grad 0.382683 bei y und bei w 0.923879

      Wie genau bist du auf diese zahlen gekommen? Es würde doch Jahre dauern um auf genau diese zahlen combo zu kommen wenn man
      nicht weiß wonach man ausschau halten muss oder? Gibts da irgendeine weise diese zahlen combo zu finden? Ich bin am verzweifeln :(

      Sorry das die eigendlich frage offtopic ist aber ich wollte nicht extra deswegen noch mal ein thema aufmachen und nerven möchte ich auch niemanden mit meinen fragen :)
    • Vielen dank für die info Wisc0ra :)
      Das ist wirklich sehr hilfreich.

      Kennst du dich damit gut aus? Ich hab mal ein bisschen darüber gelesen und auch eine
      tabelle gefunden mit verschieden grad wie 90 und 45 jedoch sind die zahlen da anderes
      als die von den cfgs wo ich 45 und 90 grad gefunden habe.

      In der eine tabelle steh bei 45 grad 0.70711 also ein ganz anderer betrag.
      Könntest du vllt ein beispiel machen ?
    • AUSKENNEN ist gut gesagt,

      ich weiß wie es Funktioniert und kann es mir ausrechnen, nur auf die SCHNELLE erklären kann ich das nicht so gut das es jemand verstehen würde.
      Die Sinus- und Kosinusfunktion ist halt nichts was man ausführlich in der Schule lernt. Ich habe aber gerade angefangen Tutorials
      zum ANNO 2070 Modding zu schreiben ich denke ich mache das mal zum nähsten Thema. :D