Contents |
Wprowadzenie
Zmienne
Zmienna | Rozmiar | Wersja | Content |
---|---|---|---|
40 | B | 0.6 2.5 | Stan konstrukcji kafla: wartość od 0 do 3 (zdefiniowana tylko dla branż) |
41 | B | 0.6 2.5 | Typ gruntu, taki sam jak zmienna 81 dla canals |
42 | B | 0.6 2.5 | Bieżąca town zone kafla w najbliższym mieście |
43 | D | 0.6 2.5 | Względne położenie |
44 | B | 0.6 2.5 | Ramka animacji. Na przykład house variable 46 , ale może zawierać wszystko 0..FF. |
60 | D | 0.6 2.5 | Informacje o terenie pobliskich kafli |
61 | D | 0.6 2.5 | Etap animacji pobliskich kafli |
62 | D | 0.6 2.6 | Uzyskaj ID branży lub kafla lotniska na przesunięciu |
VarAction2 dla kafli lotniska jest dostępna tylko w wersji OpenTTD r19204 lub nowszej
Brak dostępnych zmiennych 80+x (nigdy nie będzie). Próba uzyskania dostępu spowoduje awarię TTD.
Town zone (42)
Town zone gdzie znajduje się budynek (co niekoniecznie jest założycielem miasta). Zero, jeśli kafla nie ma w mieście. Jest to szczególnie przydatne dla banków i innych branż miejskich.
Relative position (43)
Jest to położenie kafla względem najbardziej wysuniętego na północ kafla branży lub lotniska.
Format: 00yxYYXX
Zmienna | Content |
---|---|
x | przesunięcie x od najbardziej wysuniętej na północ kafla |
XX | to samo, ale przechowywane w bajcie zamiast 'nibble' |
y | y odsunięte od najbardziej wysuniętej na północ kafla |
YY | to samo, ale przechowywane w bajcie zamiast 'nibble' |
Z uwagi na fakt, że y i x są skubkami, mogą zawierać niepoprawne wartości, jeśli Twoja branża przekroczy 16 kafli w dowolnym kierunku. Ta zmienna może być używana do oszczędzania 'ID' kafli branży lub lotniska: ten sam typ kafli może wybrać inną reprezentację w zależności od tego, gdzie dokładnie znajduje się w branży.
Informacje o terenie pobliskich kafli (60)
Parametr tej zmiennej jest przesunięciem względem położenia bieżącego kafla. Niby-nibble zawiera podpisane przesunięcie X (to znaczy 0h=0, 1h=+1 ... 7h=+7; 8h=-8, 9h=-7 ... Fh=-1 ), high-nibble zawiera Przesunięcie Y Dlatego parametr 00h uzyskuje dostęp do samego bieżącego kafla.
Zwrócone podwójne słowo ma format rc zz bb ss , w którym oznaczono litery:
- r jest zarezerwowany do wykorzystania w przyszłości
- c zawiera landscape class kafla (tile). 0.6 2.5
- zz to wysokość najniższego rogu kafla.
- bb to pole bitowe, znaczenie poszczególnych bitów to:
- ss zawiera dane nachylenia kafla. Znaczenie poszczególnych bitów to:
Bit | Wartość | Znaczenie |
---|---|---|
0 | 1 | Zachodni róg znajduje się powyżej najniższego |
1 | 2 | Południowy róg znajduje się powyżej najniższego |
2 | 4 | Wschodni róg jest powyżej najniższego |
3 | 8 | Północny róg jest powyżej najniższego |
4 | 16 | Kafel ma strome nachylenie (tj. Róg przeciwny do najniższego jest o dwie jednostki wyższy) |
inne bity | zawsze zero |
Wynikowe, możliwe wartości tego bajtu są zilustrowane na tym obrazku (z dokumentów OpenTTD):
Czasami bardziej przydatna jest znajomość wysokości najwyższego rogu kafla. Można to obliczyć za pomocą "zz/8 + ((ss+15)/16)" , to znaczy: "60 XX 33 1F 00 60 XX 40 FF 0F 10" , gdzie XX jest parametrem. Zwraca jednak liczbę 0..31 zamiast 0..248. Dlaczego to działa i jak dostosować się do innego zakresu wartości, pozostawia się jako ćwiczenia dla czytelnika.
Należy pamiętać, że ze względu na sposób, w jaki TTD generuje losową mapę, numer klasy sąsiadującego kafla może różnić się od oczekiwanego. Na przykład, podczas umieszczania branży opartej na wodzie w sąsiedztwie wybrzeża w losowej grze, kafle te nie sąsiadują już z wodą po wygenerowaniu branży, dlatego nie można rzetelnie sprawdzić, czy na wybrzeżu znajdują się kafle wybrzeża. callback.
Etap animacji dla pobliskich kafli (61)
Parametr tej zmiennej jest interpretowany w taki sam sposób, jak dla zmiennej 60. Zwracana wartość to FFFFFFFFh, jeśli dany kafel nie należy do branży, a liczba bieżącej klatki animacji danego kafla w przeciwnym razie. (To znaczy wartość, którą var 44 zwróci dla danego kafla).
Uzyskaj ID kafla branżowego na odsunięciu (62)
Działa podobnie do przemysłowej zmiennej 60, z tym wyjątkiem, że punktem odniesienia jest bieżący kafel zamiast północnego kafla branży, a przesunięcia uważa się za podpisane.