TT-MS Headquarters
GRF Erstellen - Druckversion

+- TT-MS Headquarters (https://www.tt-ms.de/forum)
+-- Forum: Allgemeines rund um Transport Tycoon (/forumdisplay.php?fid=71)
+--- Forum: Allgemeines zu OpenTTD (/forumdisplay.php?fid=20)
+--- Thema: GRF Erstellen (/showthread.php?tid=3560)

Seiten: 1 2


GRF Erstellen - TobyHG - 26.06.2008 18:28

Gibts es Irgendwo Tools oder Tutorials wo beschrieben wird wie man neue Objekte erstellen kann wie zb. Häuser Industrien oder oder oder

Danke im vorraus


RE: GRF Erstellen - senecaII - 26.06.2008 18:36

Hier findest du alles, was dein Herz sich wünscht:

http://wiki.ttdpatch.net/tiki-index.php


RE: GRF Erstellen - TobyHG - 27.06.2008 12:23

Ich bedanke mich Herzlich !


RE: GRF Erstellen - SVW-Gigant - 27.06.2008 17:15

Ist das egal, dass das alles auf TTDPatch ausgeschrieben ist, wenn man ne OpenTTD-Version benutzt?


RE: GRF Erstellen - frosch - 27.06.2008 18:29

Schau mal genauer, es ist nicht alles auf TTDP ausgerichtet. Das Meiste geht in beiden, ein kleiner Teil geht nur in dem Einen oder dem Anderen.


RE: GRF Erstellen - RK - 27.06.2008 21:52

Die super komplexen Sachen werden wohl eher nur in TTDPatch funktionierten. Aber die willst du vorher eh nicht anfassen. Zwinkern


RE: GRF Erstellen - SVW-Gigant - 04.07.2008 19:45

Wie ist das eig. bei den GRFs, da gibts ja son Tool zum Editieren der Texte, die darin enthalten sind. grftrans.exe nennt sich das. Hab das mal angewandt, txt-Datei wurde erstellt, dann editieren/übersetzen aber wenn es per drag & drop die neue X_trans.grf erstellt, ist diese 0 Byte groß. Liegt sowas daran, dass ich nicht TTDPatch benutze, sondern OTTD? Die Beschreibung ist auch von TTDP aus betrachtet. Oder wegen Tippfehler?
Mit WinNC bzw. Hex ist doch schon sehr mühselig


- mb - 04.07.2008 20:44

SVW-Gigant schrieb:[grftrans]
[.] Hab das mal angewandt, txt-Datei wurde erstellt, dann editieren/übersetzen aber wenn es per drag & drop die neue X_trans.grf erstellt, ist diese 0 Byte groß. Liegt sowas daran, dass ich nicht TTDPatch benutze, sondern OTTD?
Nein. Wohl eher Fehlbedienung.

Zitat:Mit WinNC bzw. Hex ist doch schon sehr mühselig
Du kannst die Texte auch direkt in die .nfo schreiben und dann grfcodec mit dem Parameter "-t" (für "Text") ausführen.

Gruß
Michael


RE: GRF Erstellen - SVW-Gigant - 04.07.2008 21:36

Hab die passende Anleitung zu grfcodec gefunden und es klappt auch, man kann dann sogar Sonderzeichen in die NFOs eingeben, wunderbargroßes Grinsen


andere Tutorials - Nagus Zek - 10.05.2009 21:22

Ich hab mir die von senecaII verlinkte Wiki zu Hilfe genommen um eine neue grf zu erstellen. Nur leider ist sie unvollstaendig, sodass im Prinzip das Tutorial nur das Veraendern von Grafiken beinhaltet. Es werden zwar auch die einzelnen Aktionen vorgestellt, allerdings werde ich nicht ganz schlau daraus.
Ich plane eine grf mit Transportflugzeugen, die mit den beiden grossen Flugzeugsets nicht spielbar sind. Als erstes soll die "Antonov An-225 Mrija" implementiert werden. Die Grafiken dazu hab ich schon gemacht, sie funktionieren auch, wenn ich ein Teil aus den anderen grfs kopiere und dann meine grafiken einfuege. Allerdings ist kopieren nicht so das ware. Es hat auch die Eigenschaft, dass ich Dinge kopiert habe, wovon ich nicht weis, wie sie funktionieren. Ueber Urheberrecht kann man sich auch streiten.
Ich wuerde also gerne mehr darueber lernen und desshalb fragen, ob vielleicht jemand was weis, wo ich was finde.


RE: GRF Erstellen - frosch - 10.05.2009 22:51

Ich poste einfach ein paar Links, ok?

http://users.tt-forums.net/pikka/wiki/index.php?title=GRF_coding
http://www.tt-forums.net/viewtopic.php?f=36&t=37465
http://www.tt-forums.net/viewtopic.php?f=26&t=34279
http://users.tt-forums.net/dalestan/nforenum/

Viel Spaß.


RE: andere Tutorials - mb - 11.05.2009 07:48

Nagus Zek schrieb:Ich hab mir die von senecaII verlinkte Wiki zu Hilfe genommen um eine neue grf zu erstellen. Nur leider ist sie unvollstaendig, sodass im Prinzip das Tutorial nur das Veraendern von Grafiken beinhaltet.

Inwiefern "unvollständig"? http://wiki.ttdpatch.net/tiki-index.php?page=SampleNfoFile gibt ein vollständiges Beispiel eines neuen Fahrzeugs. Ist zwar ein Schienenfharzeug, aber ein Flugzeug wird auf die gleiche Art und Weise definiert.

Zitat:Es werden zwar auch die einzelnen Aktionen vorgestellt, allerdings werde ich nicht ganz schlau daraus.

Die Tutorials sind in Englisch ... Was genau verstehst du nicht?

Zitat:Ich wuerde also gerne mehr darueber lernen und desshalb fragen, ob vielleicht jemand was weis, wo ich was finde.

Die relevanten Links hast du schon bekommen. Wenn du spezielle Fragen hast kannst du sie auch hier stellen.

Gruß
Michael


RE: GRF Erstellen - Nagus Zek - 11.05.2009 08:12

Es wird eine Zugmaschiene vorgestellt, die nichts laden kann. Um genau zu sein wird in dem Beispiel nur die grafische Darstellung veraendert. Ich wuerde gerne noch das Bild in der "Kauf-Liste" definieren, auch das Erscheinungsdatum wuerde ich gerne veraendern. Normalerweise sollte das mit dem Erscheinungsdatum mit "Aktion 0" machbar sein, wenn ich allerdings "1A" und den entsprechenden Datumswert in Hex-Form eingebe und auch die Bit-Zahl entsprechend um 5 verlaengere, wird das erscheinungsdatum nicht veraendert. Ich mach also irgendwas falsch...
meine Zeile sieht so aus:
Zitat: 27 * 57 00 03 14 01 09 00 66 57 02 23 03 14 04 26 06 07 07 1E 08 FF 09 02 0A 01 0B 65 0C 3F 0D 07 0E FF
0F E8 03 11 00 12 07 13 00 00 00 00 14 28 18 FE FF 19 01 00 1A A5 14 0B 00



RE: GRF Erstellen - mb - 11.05.2009 09:34

Nagus Zek schrieb:Ich wuerde gerne noch das Bild in der "Kauf-Liste" definieren,

Dafür benutzt du in der ation03 den zusätzlichen Frachttyp "FF":

TTDPatch Wiki schrieb:If defined, cargo-type FF is used for graphics shown in the purchase or construction window.
http://wiki.ttdpatch.net/tiki-index.php?page=Action3

mit einem zusätzlichen Sprite.

Zitat:auch das Erscheinungsdatum wuerde ich gerne veraendern. Normalerweise sollte das mit dem Erscheinungsdatum mit "Aktion 0" machbar sein, wenn ich allerdings "1A" und den entsprechenden Datumswert in Hex-Form eingebe und auch die Bit-Zahl entsprechend um 5 verlaengere, wird das erscheinungsdatum nicht veraendert.

Ein "long" Datum benötigst du nur für den zeitraum vor 1920. Im Originalspiel bezieht sich "00 00 00" auf das Jahr 1920. Die property 1A bezieht sich auf das Jahr "0".

Zitat:Ich mach also irgendwas falsch...
meine Zeile sieht so aus:
Code:
27 * 57 00 03 14 01 09 00 66 57 02 23 03 14 04 26 06 07 07 1E 08 FF 09 02 0A 01 0B 65 0C 3F 0D 07 0E FF
0F E8 03 11 00 12 07 13 00 00 00 00 14 28 18 FE FF 19 01 00 1A A5 14 0B 00

Der erste und grösste Fehler den du machst ist dass du einfach einen Haufen zahlen angibst. Du musst das strukturieren und dokumentieren sonst wirst du nie den Überblick bekommen/behalten. Also etwa so:

Code:
27 * 57   00 03 14 01 09 // props for plane ID = 09
          00 66 57  // intro date = 1981
          02 23     // reliabilty decay
          03 14     // veh life
          04 26     // model life
          06 07     // climates    
          07 1E     // load amount = 30
          08 FF     // new sprites
          09 02     // is not heli
          0A 01     // is large plane
          0B 65     // cost factor
          0C 3F     // speed
          0D 07     // acceleration
          0E FF     // running cost
          0F E8 03  // pax capacity = 1000
          11 00     // mail capcity = 00
          12 07     // sound effect
          13 00 00 00 00 // refittability
          14 28     // set CBs (cargo suffix, refitted capacity)
          18 FE FF  // refittable cargo classes
          19 01 00  // non-refittable cargo classes
          1A A5 14 0B 00 // (long) intro date = 1988

PS: dein long intro date ist != dem intro date.

Gruß
Michael[/u]


RE: GRF Erstellen - Ammler - 11.05.2009 09:42

Edit: dieses Post kann aus zeitlichen Gründen ignoriert werden. Zwinkern

Das sieht jetzt nicht gerade "selber" gecoded aus, versuche die Sprites zu kommentieren in der Art
Code:
// Create the Forest to cut trees around (like the lumber mill)
    0 * 0    07 01 01 \70 00 01    // if param1 not set skip next
    0 * 0     00 0A 03 01
            03           // id
            08 03        // Substitute industry type
            09 03        // Industry type override
            1A \d2        // Special industry flags
    0 * 0    07 02 01 \70 00 00    // if param2 not set skip rest
    0 * 0    07 83 01 \7= 02 "T"    // if tropic goto "Tropic Forest"

Ich bin sicher, wenn du dein Sprite in dieser Art darstellst, wirst du es auch selber viel besser verstehen. Auch solltest du "Escape"- Sequenzen benutzen um Werte darzustellen und nicht selber in Hex umwandeln.

Edit2:
Code:
1A A5 14 0B 00 // (long) intro date = 1988
wäre mit "Escapen"
Code:
1A \d1988-1-1 // (long) intro date = 1988

Grüsse
Ammler


RE: GRF Erstellen - Nagus Zek - 11.05.2009 19:18

naja... bin bin da einfach der Wiki gefolgt und hatte eins nach dem Anderen rein gesetzt. (Das mit dem Kopieren waren meine ersten versuche, da hat im prinzip gar nichts geklappt: z.B. wurde eine Frachtkapazitaet von 250 t Kohle angezeigt, wenn man das Flugzeug kaufen wollte, hatte man es dann Hangar, so verblieben nurnoch 150 t. Ich hatte auch noch jede Menge andere Dinge, die nicht so berauschend waren, desswegen hab ich das kopierte und editierte entsorgt und neu angefangen. Es soll ja auch schwer von Vorteil sein, wenn man weis, was man da zusammenstellt.)
Das mit dem Kommentieren ist eigentlich ne gute Idee, wenn man im Nachhinein nochmal schnell was aendern will. Ich glaub, das mach ich mal bei Gelegenheit, wenn, dann will ich aber auch gleich alles kommentieren und nicht nur Aktion 0.
Im Prinzip funktioniert die Sache soweit, nur das mit dem Datum habe ich noch nicht so ganz geblickt. Ich hab bei mir das Datum im Langformat eingefuegt, nur das wird ignoriert. Kann mir jenand das andere Format nahebringen, welches im Jahre 1920 anfaengt? Auch das mit dem "Escapen" hab ich noch nie gehoert.
Bin dankbar fuer jede Antwort.

PS: Das mit dem Kauf-Bild klappt auch noch nicht.
Es sieht wie folgt aus (gleich mit kommentaren):
Zitat: 77 * 6 03 // action 3
03 // for planes
01 // for one plane
0B // for the one plane with the ID "0B"
01 // one cargotype
FF // cargotype is the picture in the list
die Zeile kommt direkt unter dem Sprite zu dem Bild.


RE: GRF Erstellen - mb - 11.05.2009 19:40

Nagus Zek schrieb:Das mit dem Kommentieren ist eigentlich ne gute Idee, wenn man im Nachhinein nochmal schnell was aendern will. Ich glaub, das mach ich mal bei Gelegenheit, wenn, dann will ich aber auch gleich alles kommentieren und nicht nur Aktion 0.

Mit "dem Kommentieren" solltest du sofort anfangen und es nicht auf die lange Bank schieben. Ohne vernünftige Kommentierung wirst du in der .grf-Programmierung keinen Erfolg haben.

Zitat:Im Prinzip funktioniert die Sache soweit, nur das mit dem Datum habe ich noch nicht so ganz geblickt. Ich hab bei mir das Datum im Langformat eingefuegt, nur das wird ignoriert. Kann mir jenand das andere Format nahebringen, welches im Jahre 1920 anfaengt?

Du brauchst dir dafür nur mal den code-snippet in meiner vorigen Antwort anschauen, sowie das zu beherzigen was ich dir disbzgl schrieb.

Zitat:Auch das mit dem "Escapen" hab ich noch nie gehoert.

Diese "Escape-Sequenzen" sind ein Feature des Übersetzungsprogramms grfcodec. Dies vereinfacht die Eingabe von Hex-Werten sowie arithmetischen und logischen Operatoren. Ist in der Wiki erklärt.

Zitat:PS: Das mit dem Kauf-Bild klappt auch noch nicht.
Es sieht wie folgt aus (gleich mit kommentaren):

Code:
77 * 6 03 // action 3
03 // for planes
01 // for one plane
0B // for the one plane with the ID "0B"
01 // one cargotype
FF // cargotype is the picture in the list

Die Syntax ist falsch. Bei dir fehlt sowohl die Anzeige- als auch die default-c-ID, die immer angegeben werden muss. Es muss stattdessen zB heissen:

Code:
0 * 0      03 03 01 0B 01
                FF 01 00 // c-ID 01 für Anzeige
                00 00    // c-ID für´s Fahrzeug

[edit]
Um es nochmals deutlicher zu machen. Wenn du zB kein extra Anzeige-Sprite angeben willst und auch nur ein und dasselbe Fz-Sprite benutzen willst, für alle Güter oder wenn keine Güter transportiert werden, hättest du lediglich das default-Sprite:

Code:
0 * 0      03 03 01 0B 00
                00 00    // c-ID für Fahrzeug und Anzeige
[/edit]

HTH
Gruß
Michael


RE: GRF Erstellen - Nagus Zek - 11.05.2009 20:56

Das Standard-Bild ist leider eins aus der Serie, wo das Flugzeug mit offener Bugklappe zu sehen ist, desshalb wollte ich ein anderes nehmen. Wenn ich die 4 Bytes hinzufuege, die du mir gabst, habe ich das Bild immer noch nicht drinne. Das Datum mittels Escape-funktion will bei mir nicht. In der Wiki steht ich brauch Version 0.9.11, ich hab natuerlich 0.9.10.... muss ich mal gugn, ob ich irgendwo eine neuere finde.
Ich will jetzt erstmal ran gehen und die Kommentare schreiben, vielleicht faellt mir dabei schon auf, das was faul ist. Auf jeden Fall schonmal besten Dank fuer die Antworten! Ich meld mich wieder, wenn ich die Kommentare fertig hab. Dann kann ich auch mal die nfo-Datei anhaengen.


RE: GRF Erstellen - mb - 11.05.2009 21:07

Nagus Zek schrieb:Das Standard-Bild ist leider eins aus der Serie, wo das Flugzeug mit offener Bugklappe zu sehen ist, desshalb wollte ich ein anderes nehmen. Wenn ich die 4 Bytes hinzufuege, die du mir gabst, habe ich das Bild immer noch nicht drinne.

Diese c-IDs muss es natürlich auch geben. D.h. du musst in deinem realsprite-Block (wo du die .pcx Grafiken referenzierst) auch entsprechende c-IDs vorsehen.

Zitat:Das Datum mittels Escape-funktion will bei mir nicht. In der Wiki steht ich brauch Version 0.9.11, ich hab natuerlich 0.9.10.... muss ich mal gugn, ob ich irgendwo eine neuere finde.

Die gibt es nicht. Ich benutze 0.9.10, dort funktionieren die Escape-Sequenzen.

Zitat:Ich will jetzt erstmal ran gehen und die Kommentare schreiben, vielleicht faellt mir dabei schon auf, das was faul ist. Auf jeden Fall schonmal besten Dank fuer die Antworten! Ich meld mich wieder, wenn ich die Kommentare fertig hab. Dann kann ich auch mal die nfo-Datei anhaengen.

Ja, mach´ das.

Gruß
Michael


RE: GRF Erstellen - Nagus Zek - 11.05.2009 22:25

Also das mit den Kommentaren ist wirklich ne tolle Sache (diese GRF ist das erste mal, dass ich ueberhaupt irgendwas scripte, desswegen ist das alles recht neu fuer mich)
Dadurch hab ich zumindest den Fehler mit dem Einfuehrungsdatum gefunden: ganz am Anfang von Aktion 0 kann man es definieren, hab ich gemacht, und ganz am Ende kann man es auch noch mal machen, hab ich auch gemacht, weil ich inzwischen vergessen hatte, dass ich es am Anfang schon gemacht hab. Das am Ende wird ignoriert, wenn am Anfang was dazu steht, loesche ich das am Anfang, so nimmt er das am Ende. Ich hab erstmal beides drinne gelassen (verbraucht 5 Byte zusaetzlichen Speicherplatz, soviel hab ich noch)
Nur die Sache mit dem Bild will irgendwie nicht...
Warscheinlich ist der Fehler genauso einfach. Die nfo-Datei habe ich angehaengt, ich hoffe, dass sie jetzt uebersichtlicher ist. Cool

Noch ne Frage: kann ich irgendwie die Betriebskosten noch hoeher definieren als "FF"? Ist aber nicht so wichtig, waere nur schoen, wenn es ginge.