Wprowadzenie
W przypadku budynków miejskich (lub po prostu domów) przesunięcie określa pierwszy ID domu dla tej akcji 0. 'ID' domów, takie jak 'ID' stacji, są unikalne w każdym pliku grf, i w sumie każda gra może mieć tylko 255 'ID' w TTDPatch i 512 'ID' w OpenTTD dla wszystkich aktywnych plików grf.
Aby rozpocząć korzystanie z ID domu, musisz go najpierw zdefiniować, ustawiając jego właściwość 08 (patrz poniżej). Jeśli spróbujesz zmodyfikować ID domu, którego właściwość 08 nie jest ustawiona, twoje żądanie zostanie zignorowane, ale również nie zostanie zgłoszone jako błąd. 'ID' domów, w przeciwieństwie do 'ID' stacji, nie muszą być ustawione w kolejności, więc możesz użyć akcji 7, aby pominąć akcję 0 domów, których obecnie nie potrzebujesz (na przykład domy, które i tak nie pojawiają się w obecnym klimacie). Zaleca się to zrobić w celu zdefiniowania jak najmniejszej liczby 'ID' , pozostawiając miejsce dla innych GRF. Nie musisz pomijać wszystkich zer akcji dla ID domu, aby go wyłączyć; wystarczy pominięcie akcji 0, która ustawia właściwość 08.
Właściwości
Numer | Rozmiar | Wersja | Opis |
---|---|---|---|
08 | B | 0.6 2.5 | Zastępczy typ budynku |
09 | B | 0.6 2.5 | 'Flagi Budynków' |
0A | W | 0.6 2.5 | Lata dostępności |
0B | B | 0.6 2.5 | Populacja |
0C | B | 0.6 2.5 | Mnożnik generowania poczty |
0D | B | 0.6 2.5 | Akceptacja pasażera |
0E | B | 0.6 2.5 | Przyjmowanie poczty |
0F | B | 0.6 2.5 | Przyjmowanie towarów, jedzenia lub napojów gazowanych |
10 | W | 0.6 2.5 | Zmniejszenie oceny LA po usunięciu (należy ustawić tę samą wartość dla każdego kafla w przypadku budynków wielokaflowych) |
11 | B | 0.6 2.5 | Mnożnik kosztu usunięcia (w przypadku budynków wielokaflowych powinien mieć taką samą wartość dla każdego kafla) |
12 | W | 0.6 2.5 | ID nazwy budynku |
13 | W | 0.6 2.5 | Budowanie maski dostępności |
14 | B | 0.6 2.5 | Flagi 'callback' domu |
15 | B | 0.6 2.5 | Bajt 'zastąpienia' House |
16 | B | 0.6 2.5 | Mnożnik okresowego odświeżania |
17 | 4*B | 0.6 2.5 | Cztery losowe kolory do użycia |
18 | B | 0.6 2.5 | Względne prawdopodobieństwo pojawienia się |
19 | B | 0.6 2.5 | 'Dodatkowe' flagi |
1A | B | 0.6 2.5 | Ramki animacji |
1B | B | 0.6 2.5 | Prędkość animacji |
1C | B | 0.6 2.5 | Klasa typu budynku |
1D | B | 0.6 2.5 | Flagi 'callback' 2 |
1E | D | 0.6 2.5 | Akceptowane rodzaje ładunków |
1F | W | 0.6 2.6 | Minimalna żywotność w latach |
20 | W | 1.2 2.6 | Lista obserwacyjna przyjęcia ładunku |
21 | W | 0.7 | Długi rok (liczony od zera) minimalnego wyglądu |
22 | W | 0.7 | Długi rok (liczony od zera) maksymalnego wyglądu |
23 | V | 1.9 | Lista akceptacji kafli |
Kiedy miasto decyduje się na rozwój, każdy aktywny typ domu (zarówno stary, jak i nowy) ma jednakowe prawdopodobieństwo pojawienia się, więc im więcej nowych domów zdefiniujesz, tym mniej starych budynków TTD pojawi się.
Opisy
Substytut typu budynku (08)
Ten typ budynku zostanie użyty zamiast nowego, jeśli twoja definicja nie jest dostępna z jakiegokolwiek powodu (na przykład nie znaleziono pliku grf).
Nie ustawiaj zastępczego typu budynku, który jest większy niż twój nowy (na przykład, nie ustawiaj 14 (stadion) dla budynku 1x1), ponieważ może to uszkodzić zapisywane gry. Ustawienie tej właściwości powoduje automatyczne kopiowanie wszystkich właściwości budynku zastępczego do nowego budynku, dzięki czemu nie trzeba zmieniać właściwości, które są takie same jak zamiennik.
Flagi domów 40 i 80 są wyjątkami; flagi te nigdy nie są ustawiane automatycznie. Tylko pierwsza właściwość 08 ustawia właściwości kopiowania; jeśli później go zmienisz, właściwości pozostaną.
Istnieje specjalne zastosowanie tej właściwości, zaczynając od alfy 72: jeśli ustawisz ją na FFh, możesz wyłączyć stary typ domu. W takim przypadku użyty identyfikator musi być numerem starego typu domu, który chcesz wyłączyć. Wyłączenie tylko zapobiega budowaniu tego typu w miastach; domy już obecne na mapie pozostaną niezmienione. Ten typ można nadal zastąpić, a zastąpienie wpływa na domy obecne na mapie.
Jeśli akcja 3 tego domu pojawi się przed ustawieniem tej właściwości, akcja 3 nie przyniesie żadnego efektu.
Flagi Budynku (09)
Bit | Wartość | Znaczenie |
---|---|---|
0 | 1 | To jest budynek 1x1 |
1 | 2 | Ten budynek można zbudować tylko na płaskim terenie (jeśli jest czysty, fundamenty są automatycznie wyświetlane na pochyłym terenie) |
2 | 4 | To jest budynek 2x1[1] |
3 | 8 | To jest budynek 1x2[1] |
4 | 10 | To jest budynek 2x2[1][2] |
5 | 20 | Flaga animacji osadzona na kaflach 04 i 05 (duży biurowiec). Nowe budynki mają inny schemat animacji niż duże biurowce, ale animacja jest nadal włączona z tym bitem.[3] |
6 | 40 | Ten budynek to kościół[4] |
7 | 80 | Ten budynek to stadion[4] |
- ↑ 1.0 1.1 1.2 Jeśli Twój budynek nie jest 1x1, ustaw flagi dla kafla północnego, a następnie zdefiniuj kolejne 1 lub 3 kafle (ustawiając ich właściwość 8). Jedyny bit, który można ustawić we flagach dodatkowych kafli, to bit 5 (animacja). Między pierwszym kaflem a dodatkowymi kaflami nie powinno być ustawienia właściwości 8.
- ↑ W przypadku budynków 2x2 pierwszy dodatkowy kafel to wschodni, drugi zachodni, a trzeci południowy. Prawdopodobnie chcesz ustawić substytut dodatkowych kafli na dodatkowy kafel TTD, której flagi są już zerowe. Budynki 2x2 są zawsze budowane na płaskim terenie, niezależnie od ustawienia bitu 1.
- ↑ Flaga animacji działa dla każdego kafla, więc powinieneś włączyć ją również dla dodatkowych kafli budynków wielokaflowych, jeśli chcesz, aby wszystkie kafle były animowane.
- ↑ 4.0 4.1 W mieście może istnieć tylko jeden kościół i jeden stadion. Miasto nie będzie budować budynków z ustawioną odpowiednią flagą, dopóki stary kościół/stadion nie zostanie usunięty. (Może to zrobić miasto lub gracz)
Lata dostępności (0A)
Niski bajt to minimalny rok, wysoki to maksimum. Budynek można zbudować tylko między tymi dwoma latami (włącznie). 1920 jest dodawany do obu bajtów przed użyciem wartości.
Od roku liczenie zatrzymuje się w TTDPatch w 2070 roku nawet z EternalGame lata początkowe powyżej 150 lat oznaczają "nigdy", a lata końcowe powyżej 150 lat oznaczają "na zawsze" . W OpenTTD nie ma limitu na maksymalny rok (odpowiednio 5000000).
UWAGA: Nie ustawiaj roku rozpoczęcia poniżej 1930 (0Ah), chyba że wiesz, co robisz!
Jeśli TTDPatch znajdzie budynek, który jest dostępny przed 1930 r., Nie zbuduje starych typów budynków do tego roku, więc musisz podać co najmniej jeden niestandardowy typ budynku, który jest dostępny przed 1930 r. Dla każdego town zone , lub TTD może się zakleszczyć podczas próby stworzenia losowej gry lub rozszerzenia miasta.
Dostępność wszystkich aktywnych domów o najniższym roku dostępności ma rozpocząć się od roku 0, więc zawsze dostępny będzie przynajmniej jeden dom, niezależnie od roku początkowego. Dlatego jeśli dezaktywujesz domy domyślne lub ustawisz datę wprowadzenia przed domyślnym domem 1930, powinieneś mieć przynajmniej dla każdego town zone dom z tym samym najwcześniejszym rokiem dostępności lub może dojść do sytuacji, w której nie będzie można umieścić domu town zone.
Populacja (0B) i mnożnik generowania poczty (0C)
Populacja miasta zostanie zwiększona o kwotę określoną w rekwizytach. 0B, jeśli ten budynek jest zbudowany. Dodatkowe części domu powinny mieć populację równą zero. Im wyższa jest ta wartość, tym więcej pasażerów generuje ten budynek.
Im wyższy mnożnik generowania poczty, tym więcej poczty generuje budynek. W przypadku budynków z wieloma kaflami generowanie poczty odbywa się dla poszczególnych kafli, dzięki czemu można określić różne wartości dla każdego kafla, chociaż sugeruje się równomierne rozłożenie generacji między kafle.
Tak właśnie generowani są pasażerowie: w każdym okresowym przetwarzaniu (tj. Co 256 tyknięć) dla każdego kafla domu generowana jest losowa wartość 0<=X<=255 . Jeśli X nie jest mniejszy niż populacja kafla, nie są generowani pasażerowie. W przeciwnym razie generowane są pasażery X/8+1 (zaokrąglone w dół). W przypadku recesji liczba generowanych pasażerów zmniejsza się o połowę, ale podział ten zaokrągla się w górę zamiast w dół. Generowanie poczty odbywa się w podobny sposób, ale z nową losową wartością i porównuje się z mnożnikiem generowania poczty zamiast z populacją.
Możesz dalej dostosowywać sposób generowania ładunku za pomocą callback 2E.
Przyjmowanie przez pasażera (0D), pocztę (0E) i dobre / jedzenie / napoje gazowane (0F)
Akceptacja jest podana w jednostkach 1/8 i nie może być większa niż 8 ósmych.
W przypadku właściwości 0F wartości dodatnie wskazują, że budynek przyjmuje towary, a wartości ujemne (tj. FF = 1/8, FE = 2/8 itd.) Oznaczają przyjęcie żywności lub napojów gazowanych, w zależności od klimatu.
Wszystkie powyższe trzy wartości można ustawić niezależnie dla kafli budynków wielokaflowych, ponieważ każdy kafel jest przetwarzany indywidualnie podczas określania, co akceptuje stacja.
Rodzaj przyjętego ładunku można zmienić za pomocą property 1E.
Należy pamiętać, że w TTDPatch przełącznik officefood może modyfikować akceptację w klimacie subarktycznym i subtropikalnym.
Building name ID (12)
Identyfikator tekstu, który powinien być wyświetlany w oknie zapytania dotyczącego gruntu. Nazwę można również ustawić za pomocą action 4 (zobacz tam). Należy ustawić tę samą wartość dla każdego kafla w przypadku budynków z wieloma kaflami.
Budowanie maski dostępności (13)
Bit | Wartość | Znaczenie |
---|---|---|
0..4 | 1,2,4,8,10 | w której town zone(s) można wybudować budynek |
11 | 800 | może pojawić się w klimacie subarktycznym powyżej granicy śniegu |
12 | 1000 | może pojawić się w klimacie umiarkowanym |
13 | 2000 | może pojawić się w klimacie subarktycznym poniżej granicy śniegu |
14 | 4000 | może pojawić się w klimacie subtropikalnym |
15 | 8000 | może pojawić się w klimacie toyland |
Ta właściwość powinna być ustawiona na zero dla dodatkowych kafli budowlanych.
Flagi 'callback' domu (14,1D)
W przypadku domów można zdefiniować następujące callbacks poprzez ustawienie odpowiedniego bitu we właściwości 14:
Właściwość 1D została wprowadzona po wypełnieniu wszystkich bitów właściwości 14. Jego użycie jest takie samo, tylko znaczenie bitów jest inne:
Bit to bit, który musisz ustawić, robisz to poprzez dodanie wszystkich wartości dla wszystkich bitów. Zmienna wartość 0C to ta, dla której zostanie ustawiona zmienna 0C, do sprawdzania jej w wariacyjnym Action2 dla wywołań zwrotnych.
Flagi 'Callback' są ignorowane w przypadku dodatkowych kafli budynku.
Bajt zastąpienia House (15)
Ustawienie tej właściwości powoduje, że ten budynek pojawia się zamiast podanego starego typu budynku TTD. Ustawienie właściwości jest ignorowane, jeśli dany stary typ domu jest już przesłonięty. Możesz ustawić tę właściwość więcej niż raz, aby zastąpić więcej starych typów budynków.
W miastach nie powstanie żaden nowy dom przesłoniętych typów.
Ta właściwość działa na podstawie pojedynczych kafli, więc indywidualnie zastępujesz kafle starych budynków z wieloma kaflami, chociaż stary typ będzie nadal budowany, jeśli nie zastąpisz jego północnego kafla.
Mnożnik okresowego odświeżania (16)
Służy do losowych wyzwalaczy i określa, jak często kafel jest ponownie losowy. Po ustawieniu na X, kafel będzie ponownie losowy przy każdym (X+1) -tym okresowym przetwarzaniu. (Innymi słowy, każda (X+1)*256 tyknięć gry.) Jeśli chcesz, aby wszystkie kafle zostały ponownie zrandomizowane, musisz ustawić (ale niekoniecznie tę samą wartość) dla każdego kafla.
Jeśli funkcja zwrotna 1B jest włączona we właściwości 14, jest również wywoływana po ponownej randomizacji losowych bitów.
1.1 2.5 W wersjach TTDPatch przed TTDPatch 2.6 r1639 i TTDPatch 2.5 beta 9 (w tym beta 9) ta zmienna może mieć dowolną wartość z zakresu od 0 do 255. Po tych wersjach górna granica została obniżona do 63. Aby zachować zgodność, wartości powyżej 63 będą być interpretowane jako 63.
Losowe kolory (17)
Określa cztery kolory używane do losowego malowania (patrz Action2HousesIndustryTiles ). Każdy bajt dwordu określa kolor, wartości są takie same jak w Action2, z tą różnicą, że numeracja zaczyna się od zera zamiast 775. Jeśli nie jest ustawiona, domyślnie jest to 04 08 0c 06 (czerwony, niebieski, pomarańczowy i zielony, kolory nowoczesnego budynku biurowego) . Można zestawiać różne wartości dla kafli 'zabudowań z podzielonymi kaflami'.
Prawdopodobieństwo (18)
Określa względne prawdopodobieństwo budowy tego domu. Stare typy domów TTD mają prawdopodobieństwo 16, i jest to również domyślne dla nowych typów.
Zwiększ (lub lepiej pomnóż) tę wartość, aby twój budynek pojawiał się stosunkowo częściej, lub zmniejsz (podziel), aby był rzadszy. Jeśli ustawisz tę wartość na zero, typ domu nigdy się nie pojawi. Minimalna użyteczna wartość 1 oznacza, że jest szesnaście razy mniej prawdopodobne, aby zbudować ten typ niż typ normalny, natomiast maksymalne ustawienie 255 oznacza, że jest prawie szesnaście razy bardziej prawdopodobne.
Prawdopodobieństwo jest względne, ponieważ prawdopodobieństwo bezwzględne zależy również od liczby i prawdopodobieństwa innych domów: im więcej dostępnych rodzajów (i wyższe są ich prawdopodobieństwa), tym mniejsza szansa, że twój typ zostanie wybrany.
Dodatkowe flagi (19)
Bit | Wartość | Wersja | Znaczenie |
---|---|---|---|
0 | 1 | 0.6 2.5 | Ten budynek pojawia się podczas generowania miasta, ale nie później, tj. Pojawi się w losowych grach, ale nowe nie zostaną zbudowane podczas gry. Przydatny w przypadku budynków, które mają być historyczne. |
1 | 2 | 0.6 2.5 | Ten budynek jest chroniony, tzn. Miasta i gracze AI nie będą go usuwać. Ludzcy gracze nadal mogą go usunąć, więc może być konieczne ustawienie wysokiego kosztu/'rating', aby zmusili go do dwukrotnego zastanowienia. |
2 | 4 | 0.6 2.5 | Synchronized callback 1B. (do budynków z wieloma kaflami)[1] |
3 | 8 | 0.6 2.5 | Callback 1A potrzebuje losowych bitów |
- ↑ Jeśli włączone są zsynchronizowane połączenia zwrotne, wywołanie zwrotne 1B zostanie wywołane, gdy okresowe przetwarzanie dotrze do głównego kafla budynku, a nie po osiągnięciu bieżącego kafla. Jest to przydatne, jeśli twoja animacja musi działać synchronicznie na każdym kaflu budynku. Jeśli ten bit jest ustawiony, wywołanie zwrotne 1B jest wywoływane zgodnie z właściwością 16 głównego kafla, a nie z bieżącym, aby upewnić się, że każdy kafel pozostaje zsynchronizowany.
Ramki animacji (1A)
Dolne siedem bitów określa, z ilu ramek składa się animacja, minus jeden. (Tj. 0 oznacza 1 ramkę, 1 oznacza 2 ramki itp.) Najwyższy bit ma inny cel (patrz poniżej), więc największą obsługiwaną wartością jest 7F (128 ramek).
Najwyższy bit jest ustawiany, jeśli animacja jest zapętlona, tzn. Powinien zacząć się od pierwszej klatki po wyświetleniu ostatniej klatki. Animacje niepętlowe zatrzymują się po ostatniej klatce, pozostawiając ją na ekranie. Oba rodzaje animacji uruchamiają się automatycznie podczas tworzenia budynku. Zaleca się stosowanie wywołania zwrotnego 1B z animacjami niepętlącymi, aby były odtwarzane wielokrotnie.
0.6 2.5 W wersjach TTDPatch przed TTDPatch 2.6 r1639 i TTDPatch 2.5 beta 9 (w tym beta 9) i OpenTTD przed r12347 liczba klatek była ograniczona do 32. Jeśli zamierzasz zachować zgodność z tymi wersjami, nie powinieneś używać animacji dłuższych niż 32 klatki.
Prędkość animacji (1B)
Jest to czas między przełączaniem ramek.
Wartość domyślna to 2, co oznacza, że przełączanie następuje co 108 milisekund. Zwiększenie tej wartości o jeden podwaja czas oczekiwania, tj. 3 spowoduje opóźnienie 216 ms, a 4 wstrzyma 432 ms i tak dalej. Wartości poniżej 2 mają taki sam efekt jak 2, więc domyślnie jest to najszybsze możliwe ustawienie. Maksymalna wartość to 16, co oznacza 1769 sekund (około pół godziny) opóźnienia. Ustawienia powyżej tej wartości mogą powodować dziwne zachowanie.
Klasa budynku (1C)
Typy, które otrzymały ten sam bajt klasy, są uważane za należące do tej samej klasy. Jeśli nie ustawisz wyraźnie tej wartości, typ zostanie uznany za nieposiadający klasy (nie będzie uważany za klasę 0). Zakres klasy jest bieżącym plikiem GRF, więc dwa typy nigdy nie należą do tej samej klasy, jeśli zostały zdefiniowane przez różne pliki GRF. Obecnie ta właściwość wpływa tylko na zmienną 44.
Ta właściwość jest zależna od kafla, możesz też ustawić ją na dodatkowe kafle. Lepiej jest jednak ustawić go tylko dla głównego kafla, ponieważ var. 44 liczy kafle, a nie budynki, w przeciwnym razie możesz policzyć wiele kafli.
Akceptowane typy ładunków (1E)
Mogą zdarzyć się sytuacje, gdy chcesz, aby Twój dom zaakceptował coś innego niż domyślne (pasażer, poczta, towary i jedzenie). Ta właściwość pozwala to zrobić. Jeśli ta właściwość jest ustawiona na FFFFFFFFh (wartość domyślna), znaczenie właściwości 0D, 0E i 0F nie ulega zmianie, to znaczy, że są to odpowiednio przyjęcia dla pasażerów, poczty i towarów/żywności. Jeśli ta właściwość nie jest FFFFFFFFh, pierwsze trzy bajty muszą być numerami miejsc ładunkowych zależnymi od klimatu (czwarty bajt jest ignorowany). W tym przypadku właściwość 0D jest kwotą przyjęcia pierwszego podanego rodzaju ładunku, 0E jest takie samo dla drugiego rodzaju, a 0F jest takie samo dla trzeciego rodzaju.
Począwszy od wersji 7 GRF i wyższej, znaczenie tej właściwości zmienia się: zamiast numerów szczelin ładunkowych zależnych od klimatu, musisz podać niezależne od klimatu identyfikatory ładunków. Jeśli twój GRF ma tabelę translacji ładunku, wówczas ten identyfikator jest indeksem w tej tabeli; w przeciwnym razie jest to numer przedziału ładunkowego. Odbiór aktualnie nieobecnych ładunków zostanie automatycznie wyłączony.
Minimalna żywotność w latach (1F)
Miasta nie mogą zniszczyć domu, jeśli nie osiągnął jeszcze podanego tutaj wieku. Domyślna wartość to 0, co oznacza, że miasta mogą usunąć dom w dowolnym momencie. Pamiętaj, że to ustawienie nie uniemożliwia graczom AI usunięcia domu; dotyczy to tylko miast. Jeśli chcesz również chronić swój budynek przed graczami AI, możesz ustawić flagę "chronione" (protected) (właściwość 19 bit 1) lub użyć callback 143 i użyj własnego kodu zdecydować, kto (i kiedy) może usunąć budynek.
Aby działało to konsekwentnie na budynkach z wieloma kaflami, musisz ustawić taką samą minimalną żywotność dla wszystkich kafli budynku.
Lista obserwacyjna przyjmowania ładunku (20)
Ta właściwość nie ma wpływu, jeśli nie istnieje struktura station2. Struktura station2 jest obecna, jeśli spełniony jest jeden z poniższych warunków:
- Generalfixes jest włączony, a miscmods.noextendstationrange jest wyłączony
- Włączono dowolne ładowanie, ładowanie nowych lub nieregularne stacje
Lata dostępności (format długi) - Minimum (21) - Maksimum (22)
Te dwie właściwości pozwalają na określenie zakresu dat (na podstawie roku zerowego (0), które nie są ograniczone do dat z 1930 r., Więc można wprowadzić wcześniejsze budynki. Pamiętaj, aby dodać do domów znaczne domy, jeśli nie chcesz mają jednolite miasta, ponieważ obecne najwcześniejsze domy pozostaną w obecnej erze 1920 r. Pamiętaj również o latach wprowadzenia ostrzeżeń opisanych w nieruchomości 0A.
Lista akceptacji kafli (23)
Format:
<numinput> (<cargotype> <acceptance>)*
Rozmiar | Zmienna | Znaczenie |
---|---|---|
B | numinput | Liczba (<cargotype> <acceptance>) par do 'naśladowania', |
B | cargotype | Cargotyp (z CTT) do zaakceptowania. |
B | acceptance | Akceptacja w 1/8 jednostki. |
Ta właściwość określa do 16 cargotypów, które są akceptowane przez dom. Użyj tej właściwości zamiast właściwości 0D..0F.