Objects
en
EN
pl
PL

nfo

Contents

Wprowadzenie

Definiowanie właściwości nowych obiektów.

W przeciwieństwie do pojazdów lub nowych stacji, większość nowych obiektów nie ma rzeczywistego odpowiednika w TTD.

W związku z tym ID`y można wybierać dowolnie i faktycznie zostaną one przydzielone automatycznie przez łatkę. W akcji 0 podajesz tylko ID`y w stosunku do zestawu, tj. ID pierwszego typu obiektu to 00, drugi typ obiektu to 01 itd. W sumie każda gra może mieć tylko 255 ID`ów obiektów dla wszystkich aktywnych plików grf.

Właściwością, którą musisz ustawić dla każdego ID obiektu, jest 08 (oprócz zdefiniowania dla niego akcji 3). Ponadto wszystkie ID`y obiektów muszą mieć klasy we właściwej kolejności, zaczynając od ID 00.

Właściwości

Numer Rozmiar Wersja Opis
08 D Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Etykieta klasy, patrz poniżej
09 W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 ID tekstu dla klasy
0A W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 ID tekstowy tego obiektu
0B B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Climate availability
0C B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Bajt reprezentujący rozmiar, patrz poniżej
0D B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Współczynnik kosztu budowy obiektu (ustawia również współczynnik kosztu usunięcia obiektu)
0E D Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Data wprowadzenia, patrz poniżej
0F D Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Data zakończenia życia, patrz poniżej
10 W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Flagi obiektów, patrz poniżej
11 W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Informacje o animacji
12 B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Prędkość animacji
13 W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Wyzwalacze animacji
14 B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Object removal cost factor (set after object build cost factor)
15 W Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Flagi callback, patrz poniżej
16 B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Wysokość budynku
17 B Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Liczba widoków obiektów
18 B Obsługiwane przez OpenTTD 1.4 (r25879)1.4 Nieobsługiwane przez TTDPatch Zmierz liczbę obiektów umieszczonych podczas tworzenia mapy

Sprawdź Lakie's Graphical Representation of the newObject Specifications

Opisy

Klasa obiektu (08)

Etykiety klas są niepowtarzalnymi identyfikatorami złożonymi z liter A-Z i / lub cyfr 0–9,  analogicznie do station class labels.

Ich głównym zastosowaniem jest łączenie obiektów w klasy i udostępnianie ich za pomocą górnej listy rozwijanej w oknie budowy obiektu.

W przeciwieństwie do stacji, nie ma domyślnej klasy dla obiektów. Autorzy zestawu muszą określić swoje own labels , chociaż zdecydowanie zaleca się stosowanie ogólnego schematu, aby uniknąć zamieszania.

ID`y klas muszą być ustawione przed jakąkolwiek inną właściwością.

ID tekstowy klasy obiektu (09)

ID tekstowy dla tej klasy (wartość słowa). Ten textid powinien być textid TTD lub textid D4xx (ustawiany przez D0xx w action4).

Określając obiekt, nie musisz ponownie ustawiać nazwy klasy, jeśli zrobiłeś to już dla innej z tą samą klasą.

ID tekstu obiektu (0A)

ID tekstowy obiektu do zapytania i wyboru (wartość słowa). Takie same wymagania jak w przypadku property09.

Rozmiar obiektu (0C)

Rozmiar obiektu do 15x15 kafli.

Ta wartość bajtu jest podzielona na dwie wartości. Pierwszy określa rozmiar w kierunku y, a drugi określa rozmiar w x (tj. Przechowywany jako YX).

Pamiętaj, że każda wartość mniejsza niż 0x11 zostanie odrzucona.

Koszt budowy (0D)

Mnożnik kosztów kompilacji. Mnoży się to przez liczbę kafli do oceny kosztów budowy i usunięcia obiektu.

Data wprowadzenia (0E)

Data wprowadzenia obiektu, w dniach od roku 0. Uwzględnia lata przestępne; dzieli się przez 4, ale nie 100, chyba że 400. Datę początkową 1920-01-01 uzyskuje się o wartości 701265 (51 B3 0A 00). W TTDPatch wszystko przed 1920 jest uważane za zawsze dostępne i powinno pozwolić na działanie obiektów po 2044, data jest również pierwszą datą, w której możesz zbudować obiekt.

Data zakończenia żywotności (0F)

W ubiegłym roku można zbudować obiekt, w dniach od roku 0. Takie same wymagania jak powyżej. Pamiętaj też, że musi upłynąć co najmniej rok (365 dni) od daty wprowadzenia, w przeciwnym razie TTDPatch zignoruje to.

Flagi obiektów (10)</span<>

Następujące flagi kontrolują zachowanie obiektu i są buforowane dla obiektów zbudowanych, więc zmiana tych flag nie będzie miała wpływu na obiekty już zbudowane.

Bit Wartość Version Znaczenie
0 1 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Dostępne tylko w edytorze scenariuszy[1]
1 2 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Nieusuwalne[2]
2 4 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Wszystko może usunąć (zachowanie gruntu)
3 8 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Zezwalaj na budowę obiektu na wodzie
4 16 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Koszt 'przeprowadzki' to w rzeczywistości dochód (zachowanie gruntu)
5 32 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Nie wyświetlać fundamentów, jeśli na zboczu
6 64 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Obiekt ma animację[3]
7 128 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Dostępne tylko podczas gry[1]
8 256 Obsługiwane przez OpenTTD 1.1 (r20670)1.1 Obsługiwane przez TTDPatch 2.6 (r2340)2.6 Umożliwia mapowanie o pojemności 2 cm3 dla obiektów zamiast domyślnego 133
9 512 Obsługiwane przez OpenTTD 1.11.1 Obsługiwane przez TTDPatch 2.6 (r2331)2.6 Nie zezwala na budowę na lądzie (ma również nieco 3 zachowanie)
10 1024 Obsługiwane przez OpenTTD 1.11.1 Obsługiwane przez TTDPatch 2.6 (r2331)2.6 Rysuje wodę pod obiektem[4]
11 2048 Obsługiwane przez OpenTTD 1.1 (r21455)1.1 Nieobsługiwane przez TTDPatch Zezwalaj na most nad obiektem, biorąc pod uwagę wysokość budynku
12 4096 Obsługiwane przez OpenTTD 1.1 (r21455)1.1 Obsługiwane przez TTDPatch 2.6 (r2360)2.6 Losowe bity w wywołaniu zwrotnym "następna klatka animacji"
13 8192 Obsługiwane przez OpenTTD 1.4 (r25878)1.4 Nieobsługiwane przez TTDPatch Skaluj ilość obiektów umieszczonych na generacji map nie według obszaru mapy, ale mniej więcej według długości linii brzegowej
  1. 1.0  1.1  Należy pamiętać, że bity 0 i 7 są niezgodne i ustawienie obu spowoduje, że obiekt będzie całkowicie niedostępny.
  2.  Obiekt nie może być usunięty przez normalny dynamit, kontrola musi być utrzymywana, a koszt usunięcia zostanie pomnożony przez 25 (jest to zwykłe zachowanie dla większości obiektów klasy A w TTDPatch).
  3.  Ustawienie tej flagi pozwoli na zwiększenie licznika animacji obiektu, należy ustawić, jeśli planujesz korzystać z animacji. Podobnie jak stacje, musisz włączyć animację na podstawie 'kafla' za pomocą wyzwalacza "wbudowanego kafla" i wywołania zwrotnego 159.
  4.  Stosuje się tylko wtedy, gdy zbudowany na wierzchu kafla wody, zastępuje również kafel gruntowy obiektu całkowicie. (Nie działa, gdy obiekt zbudowany na nachylonych kaflach wodnych).

Informacje o animacji (11)

Niższy bajt określa liczbę klatek animacji pomniejszoną o jedną, więc 00 oznacza 1 klatkę, 01 oznacza 2 klatki itp. Maksymalna liczba klatek wynosi 256, chociaż możesz mieć pewne problemy, jeśli twoja animacja przekracza liczbę klatek FD (253). Górny bajt musi wynosić 0 dla animacji nie zapętlonych i 01 dla animacji zapętlonych. Każda inna wartość jest zarezerwowana do wykorzystania w przyszłości. Ponadto, jeśli całe słowo zawiera FFFF, animacja dla tego obiektu jest wyłączona (jest to wartość domyślna).

Ponieważ nie możesz mieć właściwości dla poszczególnych kafli obiektu, ta właściwość dotyczy każdej kafelka obiektu. Jeśli nie chcesz animować niektórych kafli, powinieneś sprawdzić bieżącą pozycję podczas callback 159 i zwrócić FD, jeśli bieżący kafel nie trzeba być animowanym. Jeśli potrzebujesz także animacji o różnej długości na kafel, musisz użyć callback 158 .

Prędkość animacji (12)

Znaczenie jest takie samo jak dla house property 1B , ale dolny limit to 0 zamiast 2, więc najszybsza możliwa animacja zmienia klatki każdego tyknięcia gry (27ms). Wartość domyślna to 0.

Wyzwalacze animacji (13)

Jest to maska ​​zdarzeń, które powinny 'wyzwalać' callback 159 , umożliwiając zmianę stanu animacji

Bit Wartość Znaczenie 'To się dzieje' Var 18
0 1 Obiekt jest zbudowany wszystkie kafle

1 2 Periodyczny pętla kafli pojedynczy kafel

2 4 Zsynchronizowana periodyczna pętla kafli wszystkie kafle

Obecnie żaden wyzwalacz nie zapewnia dodatkowych informacji w var 18.

Zsynchronizowana periodyczna pętla kaflowa jest wywoływana bezpośrednio po (niezsynchronizowanej) periodycznej pętli kaflowej kafla północnego.

Współczynnik kosztu usunięcia obiektu (14)

Współczynnik kosztów usunięcia obiektu. Należy to ustawić po właściwości 0D (współczynnik kosztu kompilacji obiektu), ponieważ to zastępuje tę wartość.

Flagi callback (15)

W przypadku obiektów można zdefiniować następujące callbacks poprzez ustawienie odpowiedniego bitu we właściwości 15:

Bit Wartość Zmienna wartość 0C 'Callback'
0 1 157 'Niestandardowa kontrola nachylenia'
1 2 158 Decyduje o następnej klatce animacji
2 4 15A Decyduje o szybkości animacji
3 8 15B Decyduje o kolorze budynku
4 16 15C Pokaż dodatkowy tekst w oknie obiektu budowania
5 32 15D Zezwalaj/nie zezwalaj na autosloping

Wysokość budynku (16)

Ustaw wysokość budynku w poziomach wysokości (8 pikseli). Na przykład, jeśli struktura ma 16 pikseli wysokości, ustaw tę właściwość na 2.

Obsługiwane przez OpenTTD 1.1 (r21455)1.1 Nieobsługiwane przez TTDPatch W OpenTTD ta właściwość służy do określania wysokości okna obiektu kompilacji; wysokość podglądu obiektu jest ustawiona na 32 + "value of property 16" * 8 . Właściwość służy również do określania wysokości mostu, jeśli jest to dozwolone przez bit we właściwości 10.

Liczba wyświetleń (17)

Obiekty mogą mieć "widoki", tj. Różne reprezentacje graficzne, np. służy do wyświetlania obróconych widoków obiektu. Liczba wyświetleń może wynosić 1, 2 lub 4. Wartość domyślna to 1.

W przypadku obiektów innych niż kwadratowe rozmiary xiy są zamieniane na nieparzyste widoki. To znaczy, podając rozmiar obiektu 1*2 (x = 1, y = 2) , będzie wyświetlany jako 1*2 dla num = [0,2] (kierunek x), ale jako 2*1 dla num = [1,3] (kierunek y).

Użyj obiektu varaction2 var48, aby uzyskać dostęp do określonych widoków obiektu.

Przykłady