POJAZDY Kamaz - czyli obsługa GRFMakera
#1
Oto mały newgrf z kamazem mogącym przewozić węgiel lub rudę żelaza.
Ale ważniejsze że poniżej opiszę jak prosto stworzyć takiego kamaza lub inny pojazd w GRF Makerze.
Link do GRF: http://www.mediafire.com/?ccngfecdssc33vo

Na początek potrzebujemy GRF Makera , gdy go już posiadamy to tworzymy folder o nazwie newgrf w folderze z naszym ottd (jest to niezbędne! - będą tam zapisywane stworzone przez nas pliki).
[Obrazek: grfmscr1.png]

Następnie potrzebne są nam sprity tego co chcemy stworzyć, tu jest to kamaz więc oto jego sprity:
[Obrazek: kamazsorut.png]

Możemy a wręcz powinniśmy stworzyć coś własnego więc rysujemy własne pojazdy. każdy sprite powinny być oddzielony od następnego taką samą odległością, dodatkowo aby sprity były poprawne, każdy kolejny poziomy rząd musi być równo ułożony (względem górnej krawędzi patrz: powyższe sprity kamaza).
Ważne jest aby korzystać z odpowiedniej palety kolorów.
Jeśli chodzi o wielkość spritów dla pojazdów drogowych i kolejowych dobrym pomysłem jest skorzystanie z tego szablonu autorstwa TadeuszaD: [Obrazek: 480template8_7_6_5.png]

W moim drogowym secie użyłem 7/8 dla autobusów i 6/8 dla ciężarówek. Kiedy już mamy narysowane wszystkie sprity naszego wymarzonego pojazdu zapisujemy plik graficzny z nimi (format BMP) w folderze "projects" w folderze GRF Makera.
Uruchamiamy GRF Makera.
[Obrazek: grfmscr2.png]

Klikamy 2 razy na linijkę oznaczoną strzałką "1" Otwiera się nam tzw "header block". Wpisujemy w nim od góry:
-Numer wersji
-4 GRF-ID (wystarczą 2) - w każdym możemy wpisać od 0-255, sam nie wiem dokładnie co to ale ustaliłem że jest to identyfikator. Jeśli gra wykryje 2 newgrf z identycznym identyfikatorem to wyświetli błąd i nie skorzysta z żadnego z tych newgrf.
-Opis czyli tak naprawdę nazwa naszego grf dla naszego przykładowego kamaza jest to "Kamaz v1"
-Prawa czyli tak naprawdę opis, tu opisujemy co zawiera ten newgrf. Dla kamaza - "Simple test GRF with one Kamaz truck"
Po wypisaniu tego dajemy "Ok".

Następnym krokiem do stworzenia naszego Kamaza jest naciśnięcie przycisku oznaczonego strzałką "2". Wybieramy czy ma to być lokomotywa, wagon, pojazd drogowy, samolot czy co. Pojawia się nam nowa linijka. Klikamy w nią
dwa razy. Pojawia się nam okno właściwości pojazdu.
Tu już przyda się znajomość angielskiego. Najważniejsze pole to ID - w górnym lewym rogu. Wpisujemy tam (w systemie szesnastkowym) lub częściej wybieramy z listy który pojazd ma zostać zastąpiony przez nasz pojazd. Dla naszego kamaza jest to "2E (MPS copper ore truck)" bo mój drogowy set korzysta z ID od 00 do 2D.
Następnie wpisujemy pozostałe dane (nie musimy wszystkich).
"Vechicle life" to okres przez który można użytkować po zakupie dany pojazd (po jego upływie otrzymujemy komunikat że pojazd się starzeje i należy go wymienić)
"Model life" to okres po jakim pojazd przestanie być produkowany (po tym czasie
niezawodność nowych pojazdów tego typu zacznie spadać aż model zostanie wycofany). Nie zaznaczenie tego pola sprawia iż pojazd jest dostępny od roku wprowadzenia aż do końca gry.
Domyślnie przewożony towar wybieramy z rozwijanego menu przy "Cargo type".
Cargo amount to jego ilość. I tu uwaga 21 dla węgla itp to 21 ton, dla pasażerów i żywca 21 sztuk, dla towarów 21 skrzyń, dla ropy 21000 litrów itd.
Jest to szczególnie ważne przy przebudowywaniu na inne ładunki bo jest pewien przelicznik. Pojazd wożący 20 ton po przebudowaniu na towarowy/pasażerski nie
będzie woził 20 skrzyń/pasażerów a odpowiednio więcej - ok 40.
Dziwne szopki są z kosztem pojazdu (cost factor) i z kosztem utrzymania pojazdu (running cost factor). Wpisujemy tam wartość która jest wielokrotnością czegoś. Wartości dla Kamaza (120 i 116x) sprawiają że jest trochę droższy od Stara 200 z mojego setu. Niestety trzeba tu wpisywać na wyczucie i patrzeć co to zmienia w grze.
Po wypisaniu danych zatwierdzamy.
Nasz pojazd już działa, ale korzysta z domyślnej grafiki dla wybranego ID.
Więc klikamy przycisk oznaczony strzałką "3".
Pojawia się okienko w którym wybieramy typ pojazdu, wybieramy plik graficzny (mapę bitową) znajdującą się we wcześniej folderze
"projects" oraz wpisujemy graphic ID w systemie szesnastkowym - dla Kamaza jest to 17 ponieważ ostatnie grafiki z mojego setu mają ID 16. Zatwierdzamy.

[Obrazek: grfmscr3.png]
Prawym przyciskiem zaznaczamy wszystkie sprity z których będzie korzystać nasz
pojazd, w przypadku Kamaza są to dosłownie wszystkie. Następnie w menu XYrel klikamy "set deflaut values" co w przypadku użycia powyżej zamieszczonego szablonu sprawi że nasz pojazd będzie pojawiał się w odpowiednim miejscu na "kratce" w OTTD. Jeśli się tak nie stanie - w grze pojazdy będą jeździć obok dróg/torów musimy ręcznie poprzesuwać zaznaczone lewym przyciskiem sprity (można zaznaczyć więcej przytrzymując ctrl) przy użyciu przycisków ze strzałkami.
Aby nasz pojazd miał inną grafikę gdy jedzie pełny/pół pełny pusty lub gdy jedzie z innym towarem, na skos od okna z zaznaczonymi spritami jest zaznaczone "Action 2" zmieniamy tego parametr z "Automatic" na "Custom" a nastepnie klikamy w odblokowany przycisk "Action 2".
Ujrzymy taką tabelkę, tyle że pustą:
[Obrazek: grfmscra2.png]

Należy do niej wpisać, ID towaru oraz numer grafik w różnych stopniach załadunku.
W przypadku Kamaza mamy:
[01][4][4][01,02,02,03,01,02,02,03]
Oznacza to że dla towaru z ID 01 (węgiel) są 4 "klatki" załadunku i 4 "klatki" rozładunku. Kolejność w najszerszej rubryce oznacza:
od 0%-25% załadunku użyj rzędu spritów nr 01, od 25%-50% użyj 02, od 50-75% użyj 02, od 75%-100% użyj 03. I tu się kończą 4 wartości określone w "loadingtype" w "loadtype" jest to samo gdyż przy rozładunku używane są te same sprite w ten sam sposób. Ważne że pierwsza cyfra po lewej oznacza sprite dla 0%+
Jeśli tak jak cysterna wygląd pojazdu się nie zmienia w "loadtype i loadingtype"
wpisujemy 1 a w szerokiej rubryce po jednym numerze spritu dla każdego np 01,01
im większą wartość ustawimy w "loadtype" i "loadingtype" tym więcej grafik będziemy musieli przypisać i sprawimy że podział będzie szczegółowszy - 4 grafiki = zmiana grafiki co 25% załadunku. 10 grafik = zmiana grafiki co 10% załadunku 2 - co 50% itd.
Kamaz ma też przypisane grafiki dla towaru o ID 08 czyli dla rudy żelaza. Rząd z grafikami rudy ma wyższy numer niż węgla stąd (można to sprawdzić najeżdżając na sprite wyświetlą się nam cyfry, cyfra po prawej to rząd) inne wartości dla towaru z ID 08. Po ustaleniu z których rzędów grafik w której "fazie" załadunku/rozładunku ma korzystać nasz pojazd zatwierdzamy.
Mamy już właściwości pojazdu i to z których spritów i jak ma korzystać.
Teraz musimy tylko wskazać z grafiki o jakim ID ma korzystać pojazd o danym ID.
Klikamy na przycisk oznaczony strzałką "4"
Wybieramy z rozwijanego menu rodzaj naszego pojazdu. Następnie klikamy 2 razy na nowo powstałą linijkę.
Na samej górze wpisujemy/wybieramy ID naszego pojazdu - dla Kamaza jest to 2E (MPS copper ore truck). W polu deflaut graphic ID wpisujemy ID linijki ze spritami. Dla Kamaza jest to 17. W tabelce poniżej zaznaczamy z których towarów korzysta nasz pojazd i wpisujemy ich ID. Kamaz ma węgiel 01, ruda żelaza 08 - odniesie się to do uzupełnianej wcześniej tabelki.
Korzystając z własnego Action2 musimy też ustalić której grafiki pojazd ma używać w menu zakupu. W przypadku kamaza nie ma problemów - wystarczy wpisać 01 tak jak przy węglu.
Zatwierdzamy przyciskiem Ok.
Powinniśmy uzyskać coś takiego:
[Obrazek: grfmscr4.png]
Nasz pojazd jest już gotowy ale pozostało nam stworzyć newgrf. Aby to zrobić, najpierw zapisujemy plik projektu (pliki z których korzysta GRF Maker) - File -> Save as i wpisujemy nazwę, musimy zapisać ten plik w folderze project aby uniknąć błędów. Po zapisaniu klikamy na przycisk oznaczony strzałką "5" i czekamy aż program skompiluje nasz newGRF. Gdy zakończy w folderze "newgrf" znajdziemy plik newgrf który możemy użyć w ottd po przekopiowaniu w odpowiednie miejsce.
Aby dodawać do setu kolejne pojazdy należy powtarzać procedurę od naciśnięcia przycisku oznaczonego strzałką "2". Należy pamiętać o zmienianiu ID na wyższe przy każdym kolejnym pojeździe.
Tutaj link to pliku projektu który możemy otworzyć GRF Makerem po wrzuceniu do folderu "projects" aby porównać mojego (prawidłowego) Kamaza z waszymi:
http://www.mediafire.com/?w6yfn55evofmnr5

Mam nadzieję że wyjaśniłem proces tworzenia pojazdów w GRFMakerze w dość zrozumiały sposób. W razie czego proszę pytać w tym temacie, postaram się odpowiedzieć i wyjaśnić. Pozdrawiam i życzę udanego tworzenia.
#2
Przypominam że możecie śmiało mnie pytać o tworzenie w GRF Makerze, w podobny sposób się robi wszystkie pojazdy - pociągi, samoloty, statki. Pojazdy połączone jak np. autobus przegubowy to wyższa szkoła jazdy i wymaga pewnych cyrków ale jak chcecie to też mogę opisać. Dzięki GRF Makerowi można zrobić naprawdę sporo w dość prosty sposób Smile
#3
Witaj. Jeśli cierpisz na nadmiar wolnego czasu to prosiłbym cię o dokładniejsze opisanie tworzenia spritów oraz o opis tworzenia nowych przedsiębiorstw, obiektów(takich jak fences, VAST etc.)
#4
(23-05-2012, 18:57)Sojita napisał(a): ...w menu XYrel klikamy "set deflaut values" co w przypadku użycia powyżej zamieszczonego szablonu sprawi że nasz pojazd będzie pojawiał się w odpowiednim miejscu na "kratce" w OTTD. Jeśli się tak nie stanie - w grze pojazdy będą jeździć obok dróg/torów musimy ręcznie poprzesuwać zaznaczone lewym przyciskiem sprity (można zaznaczyć więcej przytrzymując ctrl) przy użyciu przycisków ze strzałkami.
Tytułem uzupełnienia - w openttd po włączeniu opcji
Kod:
developer = 1
w pliku cfg dostajemy bardzo użyteczne narzędzia:
1. sprite aligner
2. bounding box
Pierwsze, dostępne z menu z pytajnikiem, pozwala na przesuwanie wybranego sprita w górę i na boki, pokazując jakie są wartości tego Xrel i Yrel:
[Obrazek: salign1.jpg]
Drugie, po naciśnięciu ^B, pokazuje jak sprity są wpisane w trójwymiarowe prostopadłościany (chodzi o prawidłowe przekrywanie np. aby się schował do zajezdni):
[Obrazek: salign2.jpg]


Skocz do:

[-]
Zamknięcie forum OpenTTD Polska
Forum OpenTTD Polska zostało wyłączone. Obecnie znajduje się tu archiwum dyskusji o dodatkach tworzonych przez naszą społeczność.
Po aktualne treści i dyskusje zapraszamy na nasz discord! :)

[-]
Discord