/docs/sdk/definition/defcore.xml

https://bitbucket.org/randrian/openclonk2 · XML · 257 lines · 256 code · 1 blank · 0 comment · 0 complexity · 9539a38e355b60117d1848de61704154 MD5 · raw file

  1. <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
  2. <!DOCTYPE doc SYSTEM "../../clonk.dtd">
  3. <?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
  4. <doc>
  5. <title>DefCore.txt</title>
  6. <h id="DefCoretxt">DefCore</h>
  7. <part>
  8. <text>In der Komponente DefCore.txt eines Objekts lässt sich das Basisverhalten eines Objekts
  9. einrichten. Dazu gehören zum Beispiel die Kategorie, also ob es sich um ein Gebäude oder ein Lebewesen handelt,
  10. die Grafik, Eingangs- und Einsammelbereiche, Brennbarkeit, Wert, Masse, und so weiter.
  11. Außerdem wird hier das Objekt-ID angegeben, mit dem dieser Objekttyp
  12. später in Scripten referenziert wird - es ist wichtig, dass jedes Objekt ein eigenes ID hat.
  13. Hierzu siehe auch <emlink href="definition/index.html#ObjektundEntwicklerIdentifikation">Objekt- und
  14. Entwickleridentifikation</emlink>.</text>
  15. <text>
  16. <table>
  17. <caption id="SektionDefCore">Sektion [DefCore]</caption>
  18. <rowh><col>Wert</col><col>Datentyp</col><col>Beschreibung</col></rowh>
  19. <row><col>id</col><col>Definitions-ID</col>
  20. <col>Id des Objekts.</col></row>
  21. <row><col>Version</col><col>3 Integer</col>
  22. <col>Minimale vom Objekt benötigte Engine-Version. Dieser Eintrag sollte bei jeder Änderung auf die jeweils
  23. aktuelle Clonk-Version gesetzt werden, damit ersichtlich ist, zu welchem Zeitpunkt das Objekt erschienen ist.</col></row>
  24. <row><col>Name</col><col>Zeichenfolge (max. 30)</col>
  25. <col>Name des Objekts. Bei Mehrsprachigkeit Names.txt nutzen.</col></row>
  26. <row><col>Category</col><col>Integer</col>
  27. <col>Kategorie des Objekts. Siehe <emlink href="definition/category.html">Objektkategorien</emlink>.</col></row>
  28. <row><col>MaxUserSelect</col><col>Integer</col>
  29. <col>Maximale Anzahl beim Platzieren des Objekts im Menüsystem.</col></row>
  30. <row><col>TimerCall</col><col>Zeichenfolge (max. 30)</col>
  31. <col>Regelmäßig aufgerufene Funktion des Objektscripts.
  32. Siehe <emlink href="definition/script.html">Objektscripte</emlink>.</col></row>
  33. <row><col>Timer</col><col>Integer</col>
  34. <col>Zeitabstand der TimerCalls in Frames. Ohne Angabe gilt der Vorgabewert 35.</col></row>
  35. <row><col>ContactCalls</col><col>Integer</col>
  36. <col>0 oder 1. Legt fest, ob Kontaktaufrufe im Objektscript getätigt werden.</col></row>
  37. <row><col>Width</col><col>Integer</col>
  38. <col>Breite des Objekts.</col></row>
  39. <row><col>Height</col><col>Integer</col>
  40. <col>Höhe des Objekts.</col></row>
  41. <row><col>Offset</col><col>2 Integer</col>
  42. <col>Koordinatenabstand der linken oberen Ecke zur Objektmitte.</col></row>
  43. <row><col>Value</col><col>Integer</col>
  44. <col>Wert des Objekts in Geldpunkten.</col></row>
  45. <row><col>Mass</col><col>Integer</col>
  46. <col>Gewicht des Objekts. Stein 10, Clonk 50, Hütte 1000, Burg 10000.</col></row>
  47. <row><col>Components</col><col>ID-Liste</col>
  48. <col>Elemente, aus denen das Objekt zusammen gesetzt ist.
  49. Im Bau oder Wachstum befindliche Objekte enthalten nur anteilige Komponenten.</col></row>
  50. <row><col>SolidMask</col><col>6 Integer</col>
  51. <col>Massivbereiche des Objekts. Zielrechteck aus Graphics.bmp aufs Objekt.</col></row>
  52. <row><col>TopFace</col><col>6 Integer</col>
  53. <col>Verdeckende Oberflächen. Zielrechteck aus Graphics.bmp aufs Objekt.</col></row>
  54. <row><col>Picture</col><col>4 Integer</col>
  55. <col>Repräsentativgrafik des Objekts. Rechteck aus Graphics.bmp.</col></row>
  56. <row><col>Vertices</col><col>Integer</col>
  57. <col>Anzahl der Eckpunkte des Objekts. 1 bis 30.</col></row>
  58. <row><col>VertexX</col><col>bis zu 30 Integer</col>
  59. <col>Liste der horizontalen Koordinaten der Eckpunkte des Objekts.
  60. Siehe <emlink href="definition/vertices.html">Vertices</emlink>.</col></row>
  61. <row><col>VertexY</col><col>bis zu 30 Integer</col>
  62. <col>Liste der vertikalen Koordinaten der Eckpunkte des Objekts.</col></row>
  63. <row><col>VertexCNAT</col><col>bis zu 30 Integer</col>
  64. <col>Liste der Ausrichtungsbestimmungen der Eckpunkte.
  65. Siehe <emlink href="definition/cnat.html">CNAT</emlink>.</col></row>
  66. <row><col>VertexFriction</col><col>bis zu 30 Integer</col>
  67. <col>Liste der Reibungswerte der Eckpunkte, jeweils 1 bis 100.</col></row>
  68. <row><col>Entrance</col><col>4 Integer</col>
  69. <col>Koordinaten des Eingangsbereichs des Objekts relativ zur Objektmitte.</col></row>
  70. <row><col>Collection</col><col>4 Integer</col>
  71. <col>Koordinaten des Aufnahmebereichs des Objekts relativ zur Objektmitte.</col></row>
  72. <row><col>CollectionLimit</col><col>Integer</col>
  73. <col>Anzahl der maximal aufnehmbaren Objekte, 0 für uneingeschränkt.</col></row>
  74. <row><col>FireTop</col><col>Integer</col>
  75. <col>Flammenabstand zur Objektunterkante.</col></row>
  76. <row><col>Placement</col><col>Integer</col>
  77. <col>Platzierung: 0 Oberfläche, 1 in Flüssigkeit, 2 in der Luft.</col></row>
  78. <row><col>Exclusive</col><col>Integer</col>
  79. <col>0 oder 1. Legt fest, ob das Objekt dahinterliegende Objekte blockiert.</col></row>
  80. <row><col>ContactIncinerate</col><col>Integer</col>
  81. <col>Kontaktentzündlichkeit: 0 keine, 1 (hoch) bis 5 (niedrig)</col></row>
  82. <row><col>BlastIncinerate</col><col>Integer</col>
  83. <col>Explosionsentzündlichkeit: 0 keine, sonst bei angegebenem Schadenswert</col></row>
  84. <row><col>BurnTo</col><col>C4ID</col><col>Definitionswechsel bei Entzündung.</col></row>
  85. <row><col>Base</col><col>Integer</col>
  86. <col>0 oder 1. Legt fest, ob das Objekt Heimatbasis sein kann.</col></row>
  87. <row><col>Line</col><col>Integer</col>
  88. <col>1 Energieleitung, 2 Zuflussrohr, 3 Abflussrohr.</col></row>
  89. <row><col>LineConnect</col><col>Integer</col>
  90. <col>Anschlussfähigkeit für Leitungen.
  91. Siehe <emlink href="definition/lineconnect.html">LineConnect</emlink>.</col></row>
  92. <row><col>Prey</col><col>Integer</col>
  93. <col>0 oder 1. Legt fest, ob das Objekt ein Beutelebewesen ist.</col></row>
  94. <row><col>Edible</col><col>Integer</col>
  95. <col>0 oder 1. Legt fest, ob das Objekt essbar ist (noch nicht unterstützt).</col></row>
  96. <row><col>CrewMember</col><col>Integer</col>
  97. <col>0 oder 1. Wenn 1, wird das Objekt beim Kauf der Mannschaft hinzugefügt.
  98. Mit CreateObject erzeugte CrewMember-Objekte müssen mit <emlink href="script/fn/MakeCrewMember">MakeCrewMember</emlink>
  99. der Mannschaft eines Spielers hinzugefügt werden.</col></row>
  100. <row><col>Growth</col><col>Integer</col>
  101. <col>Wachstum des Objekts. Baum 1-4, Lebewesen 15.</col></row>
  102. <row><col>Rebuy</col><col>Integer</col>
  103. <col>0 oder 1. Legt fest, ob das Objekt nach Verkauf zurückgekauft werden kann.</col></row>
  104. <row><col>Construction</col><col>Integer</col>
  105. <col>0 oder 1. Legt fest, ob das Objekt als Baustelle gebaut werden kann.</col></row>
  106. <row><col>ConstructTo</col><col>C4ID</col>
  107. <col>Definitionswechsel beim Bau.</col></row>
  108. <row><col>Grab</col><col>Integer</col>
  109. <col>0 kein Anfassen, 1 Anfassen und Verschieben, 2 nur Anfassen.</col></row>
  110. <row><col>GrabPutGet</col><col>Integer</col>
  111. <col>Bitmaske: Bit 0 (Wert 1) Grab und Put, Bit 1 (Wert 2) Grab und Get</col></row>
  112. <row><col>Collectible</col><col>Integer</col>
  113. <col>0 oder 1. Legt fest, ob das Objekt eingesammelt werden kann.</col></row>
  114. <row><col>Rotate</col><col>Integer</col>
  115. <col>0 keine Rotation, 1 volle Rotation, 2-360 eingeschränkte Rotation</col></row>
  116. <row><col>Chop</col><col>Integer</col>
  117. <col>0 oder 1. Legt fest, ob das Objekt gefällt werden kann.</col></row>
  118. <row><col>Float</col><col>Integer</col>
  119. <col>Auftrieb in Flüssigkeiten: 0 kein Auftrieb, sonst Auftriebshöhe über Mitte</col></row>
  120. <row><col>ContainBlast</col><col>Integer</col>
  121. <col>0 oder 1. Legt fest, ob Explosionen im Inneren nach außen wirken.</col></row>
  122. <row><col>ColorByOwner</col><col>Integer</col>
  123. <col>0 oder 1. Bei Wert 1 wird das Ausgangsblau, bzw. die Overlay.png, nach dem Besitzer gefärbt.</col></row>
  124. <row><col>ColorByMaterial</col><col>Zeichenfolge (max. 15)</col>
  125. <col>Name des Materials, nach dem das Objekt gefärbt wird.</col></row>
  126. <row><col>HorizontalFix</col><col>Integer</col>
  127. <col>0 oder 1. Bei Wert 1 kann das Objekt sich nur vertikal bewegen.</col></row>
  128. <row><col>BorderBound</col><col>Integer</col>
  129. <col>Bitmaske: Bit 0 (1) Stop an Seiten, Bit 1 (2) Stop oben, Bit 2 (4) Stop unten</col></row>
  130. <row><col>UprightAttach</col><col>Integer</col>
  131. <col>Wenn ungleich 0 (8-10) sitzt das Objekt aufgerichtet auf Massivbereichen auf.</col></row>
  132. <row><col>StretchGrowth</col><col>Integer</col>
  133. <col>0 oder 1. Bei Wert 1 wird das Objekt wie ein Lebewesen vergrößert (abhängig von der Fertigstellung.
  134. Siehe <emlink href="script/fn/GetCon.html">GetCon</emlink>)</col></row>
  135. <row><col>Basement</col><col>Integer</col>
  136. <col>0 kein Fundament, 1 Fundament, andere Werte speziell</col></row>
  137. <row><col>NoBurnDecay</col><col>Integer</col>
  138. <col>0 oder 1. Bei Wert 1 verbrennt das Objekt nicht.</col></row>
  139. <row><col>IncompleteActivity</col><col>Integer</col>
  140. <col>0 oder 1. Wert 1 für Lebewesen, die auch im Wachstum aktiv sein können.</col></row>
  141. <row><col>Oversize</col><col>Integer</col>
  142. <col>0 oder 1. Das Objekt kann mit DoCon auf Übergröße vergrößert werden.</col></row>
  143. <row><col>AttractLightning</col><col>Integer</col>
  144. <col>0 oder 1. Das Objekt zieht Blitze an.</col></row>
  145. <row><col>Fragile</col><col>Integer</col>
  146. <col>0 oder 1. Objekt sollte nicht geworfen werden.</col></row>
  147. <row><col>NoPushEnter</col><col>Integer</col>
  148. <col>0 oder 1. Das Objekt kann nicht durch Anfassen und Steuerung Rauf in andere Objekte hineingeschoben werden
  149. (z.B. Fahrstuhlkorb).</col></row>
  150. <row><col>VehicleControl</col><col>Integer</col>
  151. <col>Bitmaske: Bit 0 (Wert 1) das Objekt kann durch Anfassen von außen und/oder Bit 1 (Wert 2) von innen gesteuert
  152. werden. Bei aktiviertem VehicleControl werden die selbständig auszuführenden Befehle (Commands) eines Clonks
  153. als ControlCommand-Aufrufe an das Script des entsprechenden Fahrzeugs weitergeleitet und können von diesem
  154. ausgewertet und abgefangen werden.
  155. Siehe <emlink href="definition/script.html#ControlFunktionen">Control-Funktionen</emlink>.</col></row>
  156. <row><col>Pathfinder</col><col>Integer</col>
  157. <col>1 - 10. Beeinflusst die Suchtiefe des Wegfindungsalgorithmus (Standard: 1). Vorsicht: hohe Werte sind sehr rechenintensiv.
  158. Mit diesem Wert setzen auch Objekte ohne CrewMember-Wert bei der Ausführung von Kommandos (z.B. MoveTo)
  159. den internen Wegfindungsalgorithmus ein. Erweitert ab 4.95.4.</col></row>
  160. <row><col>NoComponentMass</col><col>Integer</col>
  161. <col>0 oder 1. Bei 1 zählt der Inhalt des Objekts nicht mit zur Gesamtmasse. Dadurch lässt sich zum Beispiel
  162. verhindern, dass Rucksäcke oder Köcher durch ihren Inhalt mörderische Wurfwaffen werden.</col></row>
  163. <row><col>NoStabilize</col><col>Integer</col>
  164. <col>0 oder 1. Bei 1 richtet sich das Objekt nicht automatisch auf 0° Drehung auf, wenn es nur sehr leicht gedreht ist.</col></row>
  165. <row><col>ClosedContainer</col><col>Integer</col>
  166. <col>0 oder 1. Bei 1 können enthaltene Clonks bei aktiviertem Fog Of War nicht herausschauen.</col></row>
  167. <row><col>SilentCommands</col><col>Integer</col>
  168. <col>0 oder 1. Bei 1 werden bei fehlgeschlagenen Commands keine Meldungen ausgegeben.</col></row>
  169. <row><col>NoBurnDamage</col><col>Integer</col>
  170. <col>0 oder 1. Bei 1 wird dem Objekt kein Schaden zugefügt, wenn es brennt.</col></row>
  171. <row><col>TemporaryCrew</col><col>Integer</col>
  172. <col>0 oder 1. Bei 1 wird das Objekt nicht in die Dauerhafte Crew des Spielers eingetragen.</col></row>
  173. <row><col>SmokeRate</col><col>Integer</col>
  174. <col>0 bis 200: Gibt die Rauchmenge an, die das Objekt im Brandfall verursacht. 0 ist kein Rauch, 100 ist die Standardmenge.
  175. Bei Werten ungleich 0 wird allerdings immer die Maximalmenge Rauch produziert, wenn das Objekt in schneller Bewegung ist
  176. (zum Beispiel Brandpfeile).</col></row>
  177. <row><col>BlitMode</col><col>Integer</col>
  178. <col>0 oder 1. Bei 1 wird das Objekt additiv gezeichnet.</col></row>
  179. <row><col>NoBreath</col><col>Integer</col>
  180. <col>0 oder 1. Bei 1 atmet das Objekt nicht, selbst wenn es ein Lebewesen ist.</col></row>
  181. <row><col>ConSizeOff</col><col>Integer</col>
  182. <col>Wert >=0. Abzug des benötigten Bauplatzes von oben.</col></row>
  183. <row><col>NoSell</col><col>Integer</col>
  184. <col>0 oder 1. Bei 1 kann das Objekt nicht verkauft werden.</col></row>
  185. <row><col>NoGet</col><col>Integer</col>
  186. <col>0 oder 1. Bei 1 kann das Objekt nicht manuell aus anderen Objekten heraus genommen werden.01.</col></row>
  187. <row><col>NoFight</col><col>Integer</col>
  188. <col>0 oder 1. Bei 1 kämpft das Objekt nicht mit anderen Lebewesen, selbst wenn es selber ein Lebewesen ist.</col></row>
  189. <row><col>LiftTop</col><col>Integer</col>
  190. <col>Wird ein Objekt bei einer Action mit der Procedure "<emlink href="definition/procedures.html">LIFT</emlink>" mehr als die angegebene Höhe
  191. über der Objektmitte angehoben, wird die Funktion LiftTop im Script aufgerufen.</col></row>
  192. <row><col>RotatedEntrance</col><col>Integer</col>
  193. <col>0 Eingang ist nur bei aufgerichtetem Objekt geöffnet, 1 Eingang ist immer geöffnet, 2-360 Eingang ist innerhalb des entsprechenden Bereichs geöffnet. Ab 4.95.4.</col></row>
  194. <row><col>MoveToRange</col><col>Integer</col>
  195. <col>Maximale Distanz, mit der ein Bewegungskommando einen Zielpunkt treffen muss, damit das Bewegungskommando als erfüllt gilt. Vorgabewert 5. Ab 4.95.4.</col></row>
  196. <row><col>NoTransferZones</col><col>Integer</col>
  197. <col>0 oder 1. Bei 1 berücksichtigt die Wegfindung des Objekts keine Transferzonen an Gebäuden. Ab 4.95.4.</col></row>
  198. <row><col>AutoContextMenu</col><col>Integer</col>
  199. <col>0 oder 1. Bei 1 wird für dieses Gebäude beim Betreten automatisch das Kontextmenü geöffnet. Ab 4.9.7.7.</col></row>
  200. </table>
  201. </text>
  202. <text>
  203. <table>
  204. <caption id="SektionPhysical">Sektion [Physical]</caption>
  205. <rowh><col>Wert</col><col>Datentyp</col><col>Beschreibung</col></rowh>
  206. <row><col>Energy</col><col>Integer</col>
  207. <col>0-100000. Maximale Energie bzw. Lebensenergie.</col></row>
  208. <row><col>Breath</col><col>Integer</col>
  209. <col>0-100000. Maximaler Atem.</col></row>
  210. <row><col>Walk</col><col>Integer</col>
  211. <col>0-100000. Laufgeschwindigkeit.</col></row>
  212. <row><col>Jump</col><col>Integer</col>
  213. <col>0-100000. Sprungkraft.</col></row>
  214. <row><col>Scale</col><col>Integer</col>
  215. <col>0-100000. Klettergeschwindigkeit.</col></row>
  216. <row><col>Hangle</col><col>Integer</col>
  217. <col>0-100000. Hangelgeschwindigkeit.</col></row>
  218. <row><col>Dig</col><col>Integer</col>
  219. <col>0-100000. Grabgeschwindigkeit.</col></row>
  220. <row><col>Swim</col><col>Integer</col>
  221. <col>0-100000. Schwimmgeschwindigkeit.</col></row>
  222. <row><col>Throw</col><col>Integer</col>
  223. <col>0-100000. Wurfkraft.</col></row>
  224. <row><col>Push</col><col>Integer</col>
  225. <col>0-100000. Schiebekraft.</col></row>
  226. <row><col>Fight</col><col>Integer</col>
  227. <col>0-100000. Kampfkraft.</col></row>
  228. <row><col>Magic</col><col>Integer</col>
  229. <col>0-100000. Maximale Zauberenergie.</col></row>
  230. <row><col>Float</col><col>Integer</col>
  231. <col>0-100. Fluggeschwindigkeit.</col></row>
  232. <row><col>CanScale</col><col>Integer</col>
  233. <col>0 oder 1. Klettern.</col></row>
  234. <row><col>CanHangle</col><col>Integer</col>
  235. <col>0 oder 1. Hangeln.</col></row>
  236. <row><col>CanDig</col><col>Integer</col>
  237. <col>0 oder 1. Graben.</col></row>
  238. <row><col>CanConstruct</col><col>Integer</col>
  239. <col>0 oder 1. Bauen. Bei Werten größer 1: Prozentuale Baugeschwindigkeit (100 entspricht dem Standard;
  240. 50 ist halbe Standardgeschwindigkeit). Erweitert</col></row>
  241. <row><col>CorrosionResist</col><col>Integer</col>
  242. <col>0 oder 1. Legt fest, ob das Objekt Säure widersteht.</col></row>
  243. <row><col>BreatheWater</col><col>Integer</col>
  244. <col>0 Objekt atmet Luft, 1 Objekt atmet Wasser.</col></row>
  245. </table>
  246. </text>
  247. <h>Hinweis:</h>
  248. <text>Sobald ein Mannschaftsmitglied erschaffen wird, wird für dieses eine eigenständige
  249. Physical-Sektion erschaffen, die zusammen mit dem Mannschaftsmitglied in der Objektinfo (c4i)
  250. gespeichert wird. Jedes Mannschaftsmitglied behält seine eigene Physical-Sektion, da hier alle
  251. individuellen Veränderungen (z.B. erweiterte Fähigkeiten durch Beförderung)
  252. vorgenommen werden. Die Physical-Sektion der Objektdefinition wird also nur bei der Erschaffung des
  253. Objekts verwendet und nicht etwa bei ChangeDef.</text>
  254. </part>
  255. <author>Sven2</author><date>April 2002</date>
  256. </doc>