(05.03.2016, 15:08)Timeflyer schrieb: wobei du die Windräder erst ab gewissen Datum (genau ab 1.Januar 1986) bauen kannst..soweit ich weiß.
Wäre schön, wenn es eine einzelne NewGRF gäbe, in denen jemand z.B. Windräder (modern) alte Windmühlen , Wassermühlen usw. eventuell entwirft und dann codet, ähnlich dem Lighthouse Set.
Ist aber sicherlich Haufen Arbeit und sicher nicht einfach.
Da hilft nur ausprobieren. Such dir mal eine Windmühle aus und versuche sie zu zeichnen. Um das Coding kann man sich dann anschließend kümmern. Das Coding von NewObjects ist durchaus machbar.
(06.03.2016, 02:03)Timeflyer schrieb: Außerdem müsste man dann ja vorher die FIRS-Ersteller um Lizens bitten, die Grafiken verwenden zu dürfen, dann erstmal die eigenen Sprites erstellen usw usw.
Zumindest das ist kein Problem. FIRS wird unter der GPL v2 veröffentlicht.
davon ab....evtentuell auch ganz schön:
Wenn sich OpenFGX Ersteller (Windräder) und WIRES zusammentun... so könnten neben den Kohlekraftwerken auch die WIndräder eventuell Strom erzeugen. Nur mal so als Gedankengut.
Und vielleicht findet sch noch ein Solarjunkeee......und so weiter...
Ich drifte ab. Sorry.
Schafft endlich das HousePlacing in den Editor !!!!
(06.03.2016, 02:03)Timeflyer schrieb: Ich leider nicht, weil vom Coden so gut wie Null Ahnung (auch nach zwei Wochen der Recherche über NML und GrfCodec und Specs usw... , verstehe nur weiterhin Bahnhof. lol , scheinbar liegt mir das nicht )
Versuch es doch mal mit einem praktischen Beispiel:
Code:
/*
* Dieser Block definiert die Basisdaten der NewGRF:
* http://newgrf-specs.tt-wiki.net/wiki/NML:GRF
*/
grf {
//Die grfid ist ein -hoffentlich- einmalige ID mit 4 Buchstaben bzw jeweils zwei Ziffern pro Buchstabe (und \ davor)
grfid: "TFW\01";
//Das ist der Name der GRF (der dann im Menü angezeigt wird). Es wird ein String mit entsprechendem Name in der lng-Datei referenziert.
name: string(STR_GRF_NAME);
//Die Beschreibung für das Menü. Ebenfalls ein String.
desc: string(STR_GRF_DESCRIPTION);
//Die Versionsnummer (am besten immer aufsteigend)
version: 0;
//Die älteste Versionsnummer, die noch kompatibel ist.
min_compatible_version: 0;
}
/*-------------------Ein Objekt-------------------*/
/*
* Spriteset: Dieser Block "schneidet" die einzelnen Sprites aus einer Grafikdatei aus.
* In der ersten Zeile wird in den runden Klammern der Name für den Block gesetzt, um den später verwenden zu können
* In der zweiten Zeile wird ein Sprite aus der Datei geholt.
* [x-Wert linke obere Ecke, y-Wert linke obere Ecke, Breite, Höhe, Verschub-X, Verschub-Y, Datei]
* http://newgrf-specs.tt-wiki.net/wiki/NML:Realsprites
*/
spriteset (spriteset_windrad) {
[0, 0, 114, 70, -57, -30, "gfx/windrad.png"]
}
/*
* Dieser Block setzt das Objekt zusammen.
* Auch hier wird in der ersten Zeile der Name eingesetzt. In den Klammern könnten Parameter gefordert werden.
* Im ground-Block wird ein Boden ausgewählt.
* Im building-Block wird ein Spriteset (von oben) eingesetzt.
* Die Bedeutung der Optionen gibt es hier: http://newgrf-specs.tt-wiki.net/wiki/NML:Spritelayout
*/
spritelayout layout_windrad() {
ground {
sprite :GROUNDSPRITE_SNOW;
hide_sprite :1;
}
building {
sprite :spriteset_matterhorn_purchase();
always_draw :1;
xextent :16;
yextent :16;
zextent :50;
zoffset :0;
}
}
/*
* Dieser Block ist für die ganzen Eigenschaften zuständig.
* Diese sind alle hier beschrieben http://newgrf-specs.tt-wiki.net/wiki/NML:Objects
*/
item (FEAT_OBJECTS, item_windrad) {
property {
class :"WIND";
classname :string(STR_CLASS_WIND);
name :string(STR_WINDRAD_NAME);
climates_available :bitmask(CLIMATE_ARCTIC, CLIMATE_TEMPERATE, CLIMATE_TROPIC);
size :[1,1];
build_cost_multiplier :0;
remove_cost_multiplier :0;
introduction_date :date(1900,1,1);
end_of_life_date :0xFFFFFFFF;
object_flags :bitmask(OBJ_FLAG_NO_FOUNDATIONS);
height :10;
num_views :1;
}
graphics {
default :layout_windrad;
purchase :layout_windrad;
additional_text :string(STR_WINDRAD_PURCHASE);
autoslope :CB_RESULT_AUTOSLOPE;
}
}
Das wäre der ganze Code für eine GRF mit einem einzelnen Objekt. Lese dir das mal durch und schreibe, an welcher Stelle ein Verständnis-Problem existiert.
Es gibt sicherlich viele Mitglieder, die vom Grundsatz sowohl die Fähigkeiten als auch die Lust an der Erstellung neuer GRF-Dateien haben (ich zähle mich auch dazu). Leider sind alle (?) notwendigen Anleitungen in englischer Sprache. die - um es mal nett auszudrücken - nicht jedem liegt (mir z. B. auch nicht) oder die aufgrund von Fachbegriffen selbst mit Kenntnisse der englischen Sprache nicht oder nur schwer zu verstehen sind.
Dein "Kommentierter Beispielcode" in deutscher Sprache motiviert mich allerdings nun doch, mich mal ein wenig mit der Materie zu beschäftigen, ohne vorher einen zweijährigen Kurs in englischer Sprache absolvieren zu müssen .
Prima finde ich, dass du ganz konkret ein Beispiel bringst und nicht mit den üblichen Forenphrasen wie "... lerne erst mal Englisch", "... findest du alles im englischen Forum ...", "... einfach mal die Suchfunktion benutzen ..." usw. mit deinem Fachwissen tatsächlich Interessierten hilfst!
Vielleicht findet sich ja der eine oder andere, der ebenfalls einen kleinen Beitrag leisten kann. Ggf. könnten alle Beiträge auch in einem eigenen Thread "GRF in deutsch für Anfänger" gesammelt werden. Ich kann mir vorstellen, dass es längerfristig für alle Mitglieder und Spieler vorteilhaft ist.
Gruß mogro
PS: Meine Homepage "www.spielemaps.de" habe ich ab 7.4.2024 aufgegeben.
Vielleicht findet sich ja der eine oder andere, der ebenfalls einen kleinen Beitrag leisten kann. Ggf. könnten alle Beiträge auch in einem eigenen Thread "GRF in deutsch für Anfänger" gesammelt werden. Ich kann mir vorstellen, dass es längerfristig für alle Mitglieder und Spieler vorteilhaft ist.
denke ich auch....hab ja HMTL und PHP auch nicht von heute auf morgen gelernt.
Werd mich ebenfalls mal weiter einlesen.... schade wie gesagt, dass ich dabei meist den GoogleTranslator nutzen muss, da wie bereits erwähnt meist alles was Development bzgl. OpenTTD auf englisch ist.
Nebenher mal eine Frage: Welche Programme sind (neben einem Zeichenprogramm wie Paint/Gimp oder höherwertige) zwingend erforderlich, wenn man in NML coden möchte??
Schafft endlich das HousePlacing in den Editor !!!!
Wenn ich Zeit habe, mache ich euch mal ein kleines Miniset mit den benötigten Dateien, dann habt ihr die komplette Übersicht, was so zu einem Minimal-Aufbau dazugehört.
(07.03.2016, 22:24)Yoshi schrieb: Wenn ich Zeit habe, mache ich euch mal ein kleines Miniset mit den benötigten Dateien, dann habt ihr die komplette Übersicht, was so zu einem Minimal-Aufbau dazugehört.
Allein der Wille ist schon positiv zu vermerken!
Gruß mogro
PS: Meine Homepage "www.spielemaps.de" habe ich ab 7.4.2024 aufgegeben.
(07.03.2016, 19:03)Timeflyer schrieb: Welche Programme sind (neben einem Zeichenprogramm wie Paint/Gimp oder höherwertige) zwingend erforderlich, wenn man in NML coden möchte??
Du brauchst einen Texteditor (wenn ich nicht irre, einen UTF-8-fähigen) und NML (den Compiler) selbst.