Vehicles
en
EN
pl
PL

nfo
NFO Specs
Main Page
Action 0
Action 2
Action 3
Action 4
VehicleRefitting
RealSprites
RecolorSprites
NFO Tutorial

Contents

Wprowadzenie

Zmienne

zmienna Rozmiar Wersja Opis Dostępne na liście zakupów
10 D Obsługiwane przez OpenTTD 1.2 (r23080)1.2 Nieobsługiwane przez TTDPatch Wybieranie sprite'ów dla różnych okien GUI - Zobacz Action2/Vehicles. Obsługiwane przez OpenTTD 1.2 (r23080)1.2 Nieobsługiwane przez TTDPatch
40 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Pozycja w składzie i długość składu nie
41 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Pozycja i długość łańcucha kolejnych pojazdów o tym samym ID nie
42 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Rodzaje ładunków przewożonych nie
43 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Player info Obsługiwane przez OpenTTD 0.6 (r4611)0.6 Obsługiwane przez TTDPatch 2.5 (beta 2)2.5
44 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (2.0.1 alpha 48)2.5 Aircraft info nie
45 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (2.0.1 alpha 58)2.5 'Informacje o krzywiznach' nie
46 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (2.0.1 alpha 59)2.5 'Licznik ruchu' nie
47 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Informacje o ładunku pojazdu Obsługiwane przez OpenTTD 0.7 (r15542)0.7 Nieobsługiwane przez TTDPatch[1]
48 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Informacje o typie pojazdu Obsługiwane przez OpenTTD 0.6 (r5338)0.6 Obsługiwane przez TTDPatch 2.5 (beta 2)2.5
49 D Obsługiwane przez OpenTTD 0.7 (r13376)0.7 Obsługiwane przez TTDPatch 2.6 (r2216)2.6 Rok budowy (długi format, 0 bazowy) Obsługiwane przez OpenTTD 0.7 (r13376)0.7 Nieobsługiwane przez TTDPatch[2]
4A D Obsługiwane przez OpenTTD 1.1 (r20165)1.1 Nieobsługiwane przez TTDPatch Informacje o aktualnym typie kolei/typie drogi/tramwaju nie
4B D Obsługiwane przez OpenTTD 1.2 (r23068)1.2 Nieobsługiwane przez TTDPatch Data ostatniego serwisu Obsługiwane przez OpenTTD 1.2 (r23068)1.2 Nieobsługiwane przez TTDPatch[2]
4C D Obsługiwane przez OpenTTD 1.3 (r24246)1.3 Nieobsługiwane przez TTDPatch Aktualna maksymalna prędkość, w tym ograniczenia prędkości toru lub rozkładu jazdy. Ważne tylko dla pojazdu przedniego. Uwaga, jednostki różnią się dla każdego typu pojazdu[3] nie
4D D Obsługiwane przez OpenTTD 1.4 (r26157)1.4 Nieobsługiwane przez TTDPatch Położenie w pojeździe przegubowym (articulated) nie
60 D Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (2.0.1 alpha 57)2.5 Liczba Veh.ID wystąpienie (occurence) nie
61 -[4] Obsługiwane przez OpenTTD 1.2 (r22997)1.2 Nieobsługiwane przez TTDPatch Kwerenda zmienna n-ty pojazdu w łańcuchu (chain) nie
62 D Obsługiwane przez OpenTTD 1.2 (r22998)1.2 Nieobsługiwane przez TTDPatch Różnica krzywizny/położenia dla pojazdu n-ty w łańcuchu nie
97 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Licznik 'ticków', zwiększał każdy 'tick' silnika nie
B2 W

Pojazd status: bit0 = pojazd niewidoczny (w tunelu/zajezdni), bit1 = zatrzymany, bit7 = rozbity nie
B4 W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Aktualna prędkość. Uwaga, jednostki różnią się dla każdego typu pojazdu[3] nie
B9 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Typ ładunku (typ B z listy pod CargoTypes; zależne od klimatu) nie
C0 W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Wiek silnika w dniach
Obsługiwane przez OpenTTD 1.2 (r22816)1.2 Obsługiwane przez TTDPatch 2.5 (alpha 61)2.5 Ważne dla wagonów i części przegubowych, jak również.
no
C4 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Rok budowy (liczone od 1920)), Należy pamiętać, że jest to modyfikowane, gdy Cht: Year jest używany Obsługiwane przez OpenTTD 0.6 (r4611)0.6 Nieobsługiwane przez TTDPatch[2]
C6 W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 ID typu pojazdu [5] (przydatne dla Callback 1D) nie
C8 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Typ sprite; FD dla pociągów do przodu, FE lub FF po odwróceniu nie
C9 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Licznik dzienny; zwiększa się codziennie nie
DA W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.02.0 Następny indeks wagonu, FFFF jeśli ostatni wagon (użyj shift-num=08 i sprawdź FF) nie
F2 B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Cykl refit, ile razy przebudowany (refitted) do tego samego typu ładunku Obsługiwane przez OpenTTD 0.7 (r15542)0.7 Nieobsługiwane przez TTDPatch[1]
FE W Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Modflags nie
FF B Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Modflags nie
  1. 1.0  1.1  Zmienna 47 odnosi się do ładunku domyślnego pojazdu, gdy znajduje się na liście zakupów. Różni się to od ładunku używanego w akcji 3, która jest 0xFF na liście zakupów. "Cykl refit" (F2) jest obecnie zawsze zerowy na liście zakupów.
  2. 2.0  2.1  2.2  Jest to bieżąca data
  3. 3.0  3.1  Zerknij train property 09, road vehicle property 08 (nie 15, nawet przy użyciu realistycznego przyspieszenia), ship property 0B i aircraft property 0C.
  4.  Rozmiar wyniku odpowiada rozmiarowi poszukiwanej zmiennej.
  5.  Obsługiwane przez OpenTTD 0.70.7 Nieobsługiwane przez TTDPatch W OpenTTD 0.7 i nowszych jest grf-lokalny ID pojazdu. Wcześniejsze wersje OpenTTD i TTDPatch zgłaszają TTD ID . W przypadku pociągów jest to samo; dla innych typów pojazdów różnią się one.

W przypadku innych 80 + x zmiennych nadaj TTD vehicle structure .

Zmienne 40, 41, 42 i 43 są buforowane. Oznacza to, że chociaż są one zasadniczo drogie obliczeniowo, mogą być używane bez wpływu na wydajność. Zmienne 45 i 60 są również drogie obliczeniowo, ale nie można ich buforować, dlatego należy ich używać oszczędnie. Jeśli to możliwe, należy preferować zmienne 80+x.

Zmienione w pamięci podręcznej zmienne są aktualizowane, gdy gra jest załadowana, kiedy konsola wjeżdża lub jest przestawiana w składzie i kiedy pociąg się cofa.

Na liście zakupów dostępnych jest tylko kilka zmiennych. W szczególności nie można uzyskać dostępu do pojazdu przedniego (obiekt powiązany) ani innych części przegubowych.

Opis

Pozycja i długość (40, 41)

Format: 00nnbbff

Zmienna Wartość
ff pozycja pojazdu w składzie liczona od silnika (przód), np. silnik miałby ff=0, pierwszy wagon lub przedział pocztowy samolotów miałby ff=1, drugi wagon lub wirnik śmigłowców miałby ff=2, trzeci wagon miałby ff=3 itd.
bb taki sam jak ff, ale liczony od końca, tj. ostatni wagon ma bb=0, następny wagon ma bb=1 itd..
nn Łączna liczba pojazdów w składzie, w tym cień i wirnik do samolotu.
  • W var 40 jest to zero. Oznacza to, że zwrócona wartość jest o jeden mniejsza niż rzeczywista liczba pojazdów. Pociąg z silnikiem i trzema wagonami ma nn=3.
  • W var 41 jest to oparte na jednym. Oznacza to, że zwrócona wartość to faktyczna liczba pojazdów.

W przypadku zmiennej 40 liczby te odnoszą się do całości, ale w przypadku zmiennej 41 odnoszą się tylko do łańcucha kolejnych pojazdów o tym samym identyfikatorze co obecny wagon (w tym sam, ale być może z wyłączeniem silnika):

File:vehicle_var40_41.png

Należy odnotować, że dostęp do "pokrewnego" (related) obiektu (tj. Lokomotywy) nie ma większego sensu w przypadku pojazdów Vars 40/41, z wyjątkiem var40 w łańcuchu callback 1D .

Skład ładunku (42)

Format: uuiicctt

Zmienna Wartość
tt maska ​​bitowa wszystkich cargo classes transportowanych przez skład
cc najczęściej cargo type (z kolumny dla typu A)
ii najczęstszy cykl 'refit' (wariant F2) ładunku typu cc
uu wynik 'ORing' bitów 'prop.' 25 ze wszystkich pojazdów w pociągu

W przypadku użycia z VarAction2 typ 81 (pojazd) zwraca on tylko ładunek z tego pojazdu, przy typie 82 (silnik), na który składa się całość. Zobacz także zmienną 47, aby uzyskać więcej informacji na temat ładunku przewożonego przez pojazd.

Informacje o graczu (43)

Format: Ccttmmnn

Zmienna Wartość
nn liczba obecnego gracza od 0 do 7 (aż do E (14) w OpenTTD od r14735)
mm numer gracza wieloosobowego, przy czym gracz hosta (lub gracz pojedynczy) to 0, a gracz klienta to 1
tt typ player'a, patrz poniżej dla możliwych wartości
c kolor głównego gracza
C Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (r1405)2.5 kolor drugiego gracza, równy c, jeśli brak (od r1405)
wartość tt Znaczenie
0 Gracz jest człowiekiem (firma na stałe)
1 Gracz jest graczem AI (nie zarządzany)
2 Nieobsługiwane przez OpenTTD Obsługiwane przez TTDPatch 2.52.5 Gracz to człowiek zarządzający firmą AI
3 Nieobsługiwane przez OpenTTD Obsługiwane przez TTDPatch 2.52.5 Gracz jest oryginalną firmą gracza będącego człowiekiem, teraz tymczasowo kontrolowaną przez AI

Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (r1497)2.5 Od r1497, kiedy 'sprite' pojazdu jest wyświetlana w oknie ekskluzywnej oferty lub wiadomości z nowym pojazdem, lub w innych okolicznościach, gdy z pojazdem nie jest powiązany żaden gracz, nn będzie FF.

Info o samolocie (44)

Format: xxxxhhtt

hh jest wysokością statku powietrznego nad ziemią, a właściwie wysokością jego cienia. Budynki, w tym lądowisko dla śmigłowców, nie liczą się jako "ziemia" (ground) , tj. Aby uzyskać wysokość nad lądowiskiem dla śmigłowców, należy odjąć wysokość lądowiska dla śmigłowców od hh.

tt jest rodzajem bieżącego lotniska: 0=mały, 1=duży, 2=lądowisko dla śmigłowców, 3=platforma wiertnicza. Obecne lotnisko to lotnisko docelowe dla samolotów, które zakończyły wynurzanie i są w locie.

Informacje o krzywiznach (45)

Format: xxxTxBxF

Zwraca to krzywiznę między sąsiednimi parami wagonów. Jest to przydatne w przypadku pojazdów kolejowych, które zwykle przechylają się na zakrętach. Krzywizna to różnica w kierunku między otaczającymi pojazdami:

F = dla przedniej pary (poprzedni wagon do obecnego wagonu, 0, jeśli pojazd jest pierwszy)

B = dla tylnej pary (aktualny wagon na następny, 0 jeśli wagon jest ostatni)

T = dla tripletu (poprzedni wagon do następnego wagonu; zero na zakręcie S)

Możliwa wartość:

Decimal Hex Znaczenie
-4 C 180° 'krzywa' w lewo (tylko T.)
-3 D Zakręt 135 ° w lewo (tylko T)
-2 E Zakręt 90° w lewo
-1 F 45° krzywa w lewo
0 0 brak krzywej
1 1 45° zakręt w prawo
2 2 Zakręt 90° w prawo
3 3 135° zakręt w prawo (tylko T.)
4 4 Zakręt 180° w prawo (tylko T.)

Licznik ruchu (46)

Format: 32-bit value

Ta zmienna zlicza ruch, który wykonał pojazd.  Dotyczy tylko pierwszego pojazdu w składzie (tzn. Należy użyć VarAction2 typ 82!).  Jego wartość wynosi 1/4096 płytki.  Pojazd faktycznie porusza się w sposób widoczny za każdym razem, gdy licznik ruchu wzrasta o 256, a ponieważ płytka składa się z 16 takich podjednostek, 16 * 256 = 4096 jednostek ruchu oznacza ruch na jednej płytce.

Najbardziej przydatnym sposobem dostępu jest prawdopodobnie <shiftnum>=08 i odpowiedni <andmask>.  Na przykład, aby uzyskać animację z jedną klatką na ruch pojazdu i łącznie 16 klatek dla ruchu na całej płytce, należy użyć <shiftnum>=08 i <andmask>=0F.  Aby uzyskać animację z jedną klatką co dwa ruchy pojazdu i łącznie 4 klatki, użyj <shiftnum>=09 i <andmask>=03.

Jeśli pojazd jedzie bardzo szybko (>160 mph dla trains), może przesuwać się o kilka 1/16 części kafla jednocześnie, dlatego niektóre klatki mogą być pomijane, ale animacja nadal będzie zsynchronizowana z ruchem.

Pamiętaj, że grafika pojazdu jest aktualizowana tylko za każdym razem, gdy pojazd faktycznie się porusza, więc sprawdzenie dolnego bajtu jest prawdopodobnie bezcelowe i potrzebne tylko wewnętrznie, aby osiągnąć wystarczającą precyzję.

Informacje o ładunku pojazdu (47)

Format: ccccwwtt

Zmienna Wartość
tt cargo typ przewożony przez pojazd (z kolumny dla typu A); 'translacja', jeśli została zainstalowana tablica translacji
ww masa jednostki ładunkowej w 1/16 ton, taka sama jak cargo prop. 0F
cccc wartość cargo class ładunku przewożonego przez pojazd

Zauważ, że jeśli GRF zainstalował cargo translation table , wartość w „tt” jest numerem szczeliny w tej tabeli, niezależnie od tego, która faktyczna szczelina lub bit ładunek wykorzystuje w gra. Jeśli tabela została zainstalowana, ale aktualny ładunek nie jest tam wymieniony, „tt” zostanie ustawione na FF.

W przeciwieństwie do zmiennej 42, zmienna ta zwraca informacje tylko o bieżącym pojeździe, a nie konsystencję.

Informacje o typie pojazdu (48)

Format: xxxxxxff

Bity FF są:

Bit Wartość Znaczenie
0 1 Na rynku dostępny jest typ pojazdu
1 2 Typ pojazdu jest w fazie testów
2 4 Ekskluzywna oferta testowa dla aktywnego gracza

Wszystkie inne bity w ff są niezdefiniowane i muszą zostać zamaskowane.

Informacje o aktualnym typie szyny/typie drogi/typie tramwaju (4A)

Format: xxxxFFrr

Dolny bajt (rr) zawiera (przetłumaczony) typ szyny/typ drogi/typ tramwaju, na którym pojazd jedzie.

Jeśli typ szyny/typ drogi/typ tramwaju (railtype/roadtype/tramtype) nie ma wpisu w tabeli translacji typu szyna/droga/typ tramwaju GRF, wartość ta będzie wynosić 0xFF.

Jeśli nie ma tabeli translacji, zwracana jest surowa wartość.

Pociągi zwrócą typ szyny. Obsługiwane przez OpenTTD 1.101.10 Nieobsługiwane przez TTDPatch Pojazdy drogowe (z wyjątkiem tramwajów) zwracają typ drogi. Tramwaje zwrócą kolej.

Tylko dla pociągów następny bajt (FF) zawiera następujące flagi:

Bit Wartośc Znaczenie
0 1 Pojazd jest/byłby zasilany na obecnym typie szyny (jest to niezależne od wagonów z napędem/bez zasilania lub cokolwiek )

Wszystkie pozostałe bity są niezdefiniowane.

Wszystkie pozostałe bajty i wynik dla pojazdów innych niż kolejowe są niezdefiniowane.

Pozycja w pojeździe przegubowym (4B)

Format: xxxxbbff

Zmienna Wartość
ff Pozycja pojazdu (części przegubowej) w pojeździe przegubowym, liczona od pierwszej części, zaczynając od 0.
bb Pozycja pojazdu (część przegubowa) w pojeździe przegubowym, liczona od ostatniej części, zaczynając od 0.
xx Zarezerwowane, 'nie korzystaj'.

Całkowita liczba przegubowych części pojazdu wynosi ff + 1 + bb.

Dla pojazdów drogowych "ff" i "bb" są obecnie równe var 40, ponieważ nie ma jeszcze wagonów pojazdów drogowych.

Policz wystąpienie Vehicle.ID (60)

Format: xxxxxxnn

Parametr 60+x to szukany identyfikator pojazdu, a zwracana nn to liczba pojazdów w konsolach, które mają ten identyfikator. W przypadku użycia z VarAction2 typu 81, sprawdzany będzie tylko bieżący pojazd i nowsze, przy VarAction2 typu 82 wszystkie pojazdy w składzie zostaną policzone.

Zapytanie o zmienną n-tego pojazdu w łańcuchu (61)

Jest to specjalna zmienna, aby uzyskać zawartość innej zmiennej innego pojazdu w łańcuchu pojazdu. Jest obsługiwany tylko w pociągach i pojazdach drogowych. Nie jest obsługiwany podczas wywołania zwrotnego używanego do modyfikowania właściwości pojazdu w celu uniknięcia zależności kołowych, co obecnie ogranicza tę zmienną do wywołań zwrotnych 1D, 2D, 31 i 32 oraz poza zakresem oddzwaniania.

Rejestr tymczasowy 10F jest interpretowany jako liczba całkowita ze znakiem i określa przesunięcie w łańcuchu od bieżącego pojazdu. Wartości dodatnie są interpretowane jako w kierunku końca, wartości ujemne w kierunku do przodu. Jeśli przesunięcie znajduje się poza łańcuchem pojazdu, wartość wyniku wyniesie 0.

Parametr 60 + x określa zmienną dostępową, a rejestr tymczasowy 10E jest przekazywany jako nowy parametr 60 + x. Przekazanie 61 jako zmiennej jest niedozwolone. Obecnie tylko zmienne specyficzne dla pojazdu wymienione na tej stronie oraz zmienna globalna 25 i Obsługiwane przez OpenTTD 1.3 (r24527)1.3 Nieobsługiwane przez TTDPatch 5F są dostępne poprzez var 61.

Wynikowa wartość będzie miała wielkość dowolnej zmiennej, której dotyczy zapytanie.

Różnica krzywizny/położenia n-tego pojazdu w łańcuchu (62)

Format: zzyyxxFD

Ta zmienna jest obsługiwana tylko dla pociągów i pojazdów drogowych.

Parametr 60+x jest interpretowany jako liczba całkowita ze znakiem i określa przesunięcie w łańcuchu (chain) od bieżącego pojazdu. Wartości dodatnie są interpretowane jako w kierunku końca, wartości ujemne w kierunku do przodu. Jeśli przesunięcie znajduje się poza łańcuchem pojazdu, wartość wyniku wyniesie 0.

Najniższa 'skórka' ~nibble (D) zawiera różnicę kierunku między wybranym pojazdem a tym pojazdem, możliwe wartości są identyczne z wartościami variable 45 .

Następny 'skubek' ~nibble (F) ma następujące znaczenie:

Bit Wartośc Znaczenie
3 8 Pojazd jest obecnie ukryty

Trzy górne bajty zawierają podpisaną różnicę pozycji X/Y/Z między wybranym pojazdem a tym pojazdem.

Modflags (FE i FF)

Bity w FE dotyczą głównie ładowania stopniowego.  Kilka przydatnych bitów dla autorów grf;

Bit Wersja Wartość bitu
1 Obsługiwane przez OpenTTD 1.5 (r26430)1.5 Obsługiwane przez TTDPatch 2.52.5 Pojazd wciąż rozładowuje i nie rozpoczął jeszcze załadunku nowego ładunku na obecnej stacji.
5 Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Pojazd jest napędzany (silnik lub wagon napędzany, przydatne głównie do tego ostatniego))
6 Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Pojazd byłby napędzany (silnik lub wagon), gdyby istniał odpowiedni tor. (Np. Pociąg elektryczny w pociągu mieszanym na normalnym torze)
8[1] Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.52.5 Ten bit jest odwracany za każdym razem, gdy pociąg zmienia kierunek
10 Obsługiwane przez OpenTTD 0.60.6 Obsługiwane przez TTDPatch 2.5 (r1334)2.5 Pojazd został zbudowany podczas ekskluzywnej wersji zapoznawczej
  1.  Ten bit jest dokładny tylko dla pierwszego pojazdu w składzie.

zmienna FF jest tak naprawdę wysokim bajtem zmiennej FE, więc bit FE 8 jest taki sam jak bit FF 0.

Inne bity są zastrzeżone; większość z nich jest faktycznie wykorzystywana w stanach wewnętrznych TTDPatch.

Przykłady