Action4
en
EN
pl
PL

nfo

Contents

Wprowadzenie

Zdefiniuj ciągi znaków, np. Nazwy pojazdu, domu lub branży

Tworząc nowe grafiki pojazdów, musisz także nazwać nowe pojazdy, w przeciwnym razie pojawią się z oryginalną nazwą z TTD. Jednak niestandardowe nazwy pojazdów przypisane przez gracza w grze (lub dla TTDPatch również za pośrednictwem TTD pojazdu.dat) zawsze będą miały pierwszeństwo.

W TTDPatch możesz również użyć tej akcji, aby zmienić większość ciągów tekstowych TTD.

Syntax

Dane wyglądają następująco:

<Sprite-number> * <Length> 04 <feature> <language-id> <num-ent> <offset> <text>
Element Rozmiar Opis
<Sprite-number> dec Sekwencyjny numer 'sprite'
<length> dec Łączna liczba bajtów użytych w tej akcji.
04 B Definiuje action 04
<feature> B Do jakiego rodzaju pojazdu/stacji należy zastosować tę definicję?
<language-id> B Dla którego z języków TTD ta nazwa jest
<num-ent> B Liczba kolejnych ciągów (strings) do zmiany
<offset> B/W Pierwszy Id do zmiany
<text> S Nowe ciągi tekstowe

Czy <offset> jest BYTE (rozszerzony bajt w openttd dla pojazdów) lub a WORD decyduje bit 7 z <language-id>, patrz poniżej.

Opisy

Sprite-number

To tylko numer, na którym jesteś.

Długość

Policz liczbę bajtów w tej akcji.

Funkcja

To ustawia typ feature które chcesz zmienić. Ustaw na:

00 Trains
01 Road Vehicles
02 Ships
03 Aircraft
04 Stations
07 Houses
0A Industries
0B Cargos
0D Airports
0F Objects
10 Railtypes
12 Roadtypes
13 Tramtypes
48 Original strings; zerknij TextIDs po listę text ID TTD.

ID języka

Znaczenie tego bajtu zależy od wersji GRF pliku .grf ustawionej w action 8.

Bit Wartość Znaczenie
0 01 American lub "other"
1 02 English
2 04 German
3 08 French
4 10 Spanish
7 80 Flag dla 16 bit string IDs

Dodaj bity wszystkich języków, których dotyczą następujące ciągi. Bit 7 kontroluje, czy następujący ID ciągu składa się z 16 czy 8 bitów. Nieznane języki będą używać ciągów amerykańskich jako rezerwowych. W przeciwnym razie ciąg znaków pozostałby niezdefiniowany dla tych języków. Aby faktycznie zdefiniować ciągi znaków dla dowolnego nowego języka, musisz użyć grf w wersji 7.

W obu schematach można użyć odpowiednio wartości 7F lub FF, aby zdefiniować ciągi znaków dla języków, dla których tłumaczenie nie jest zapewniane. Najpierw ustaw wszystkie ciągi znaków na wartość domyślną, a następnie zastąp te specyficzne dla języka, jeśli istnieją.

Ustaw bit7 (dodaj 0x80 do languageID jak w poniższej tabeli), aby użyć 16-bitowych ID`y ciągu.

Aby uzyskać listę liczby mnogiej, zobacz StringCodes . Ponieważ przypisanie formularzy liczby mnogiej do języków w rzeczywistości nie jest tak ustalone, jak można się spodziewać, używana forma liczby mnogiej jest definiowana przez każdy GRF osobno dla jego ciągów znaków za pomocą właściwości Action0/Global Settings 15.

Obecnie planuje się używać międzynarodowych kodów telefonicznych jako ID`ów języka, chyba że są one poza zasięgiem. Tworząc nowe tłumaczenie dla OpenTTD, wybierz numer niejasno powiązany w jakiś sposób. Albo coś innego.

Prawidłowe identyfikatory językowe są wymienione w poniższej tabeli. Przypadki, płcie i rodzaj plural form podano tylko jako odniesienie. Autorytatywne są definicje w pliku językowym OpenTTD dla każdego języka. Dostępna jest pełna lista tych dokładnych definicji here (generated page).

ID language cases genders plural form
00 English (US)

01 English (GB)

02 German

m w n p

03 French

m m2 f 2
04 Spanish

m f

05 Esperanto

n

06 Ido

07 Russian m f n p nom gen dat acc abl pre m f n p 6
08 Irish

4
09 Maltese

12
0A Tamil

0B Chuvash

0C Chinese (Traditional)

1
0D Serbian nom big gen dat aku vok lok ins muški ženski srednji 6
0E Norwegian (Nynorsk) small masculine feminine neuter

0F Welsh

10 Belarusian m f n p nom gen dat acc abl pre m f n p 6
11 Marathi

12 Faroese

m f n

13 Scottish Gaelic dat gen nom voc m f 13
14 Arabic (Egypt)

1
15 Czech nom gen dat acc voc loc ins big small m f n map mnp fp np 10
16 Slovak g m z s 10
18 Bulgarian m f n p m f n p

1B Afrikaans

male

1E Greek subs date geniki m f n 2
1F Dutch

21 Basque

22 Catalan

Masculin Femenin

23 Luxembourgish

24 Hungarian t ba

2
26 Macedonian

27 Italian ms mp fs fp m ma f

28 Romanian

29 Icelandic

karlkyn kvenkyn hvorugkyn

2A Latvian kas m f 3
2B Lithuanian kas ko kam ka kuo kur kreip vyr mot 5
2C Slovenian r d t

8
2D Danish

2E Swedish

2F Norwegian (Bokmal) small masculine feminine neuter

30 Polish d c b n m w m f n 7
31 Galician

m f n

32 Frisian

33 Ukrainian r d z m f s mn 6
34 Estonian g in sü

35 Finnish

36 Portuguese

n m f mp fp

37 Brazilian Portuguese

m f 2
38 Croatian nom gen dat aku vok lok ins male female middle 6
39 Japanese

1
3A Korean

m f 11
3C Malay

3D English (AU)

3E Turkish tamlanan

1
42 Thai

1
54 Vietnamese

1
55 Mexican Spanish

m f 0
56 Chinese (Simplified)

1
5A Indonesian

1
5C Urdu

m f

61 Hebrew singular plural gen m f

62 Persian

66 Latin gen acc abl dat m f n mp fp np

Tłumacząc nowy język, po prostu edytuj language list i dodaj nową definicję tutaj.

num-ent

Ile kolejnych wpisów należy zmienić.

offset

ID pierwszego ciągu do zmiany.

Gdy bit 7 ID języka jest czysty, jest to wartość bajtowa; Dla OpenTTD od r13482, gdzie jest to wartość rozszerzonego bajtu dla pojazdów.

Gdy ustawiony jest bit 7 id-języka, jest to wartość słowa w małej notacji endian, np. 8134 staje się 34 81.

Wersja 8-bitowa jest dozwolona tylko dla pojazdów, aby ustawić swoją nazwę, w którym to przypadku tekstowy ID jest tylko ID pojazdu. Aby zastąpić oryginalne teksty lub zdefiniować teksty do wykorzystania w wywołaniach zwrotnych lub właściwościach pojazdów, stacji, domów lub gałęzi przemysłu, musisz użyć wersji 16-bitowej. Jednak nazwy miast są zmieniane za pomocą Action F.

Przydatne 16-bitowe ID`y tekstowe znajdują się w tabeli poniżej, odpowiednio. dla funkcji 48 patrz TextIDs.

Chociaż zakresy te są wspólne dla wszystkich funkcji, nadal należy ustawić odpowiednią funkcję, w której ich używasz.

ID Content
C4xx Ustaw nazwę klasy stacji związanej z ID stacji xx; to jest tekst nad podglądem (gdzie inaczej TTD pokazuje "Orientation")
C5xx Nowe nazwy stacji, zmienia tekst "liczba platform" na podany tekst, gdy wybrana jest stacja o tym ID z bieżącego zestawu (set) (tj. xx=station-id z działania 3 i 0)
C9xx Nazwa typu domu tego ID. Jeśli ustawiona jest zarówno właściwość 12, jak i ta, zawsze używana jest najnowsza definicja. Powinieneś raczej wybrać ustawienie property 12 zamiast tego, aby pliki wykonywalne przetłumaczone przy pomocy TTD Translator wyświetlały nazwę w bieżącym języku. Jeśli jednak nie możesz znaleźć odpowiednich starych tekstów TTD, możesz tego użyć do określenia swojej niestandardowej nazwy. Nie zapomnij ustawić tego samego tekstu dla wszystkich części budynku z wieloma płytkami (multi-tile).
D0xx Różne teksty graficzne, unikatowe dla każdego pliku .grf. Używany do kilku 'cb'. Niektóre 'cb' obsługują ID do D3FF.
D4xx Never use in Action4, tylko do wyświetlania tekstów w zakresie D000-D3FF (specyficzny dla grf), patrz TextIDs
D8xx Obsługiwane przez OpenTTD 1.71.7 Przydatny jak DCxx w Akcji 0 i do włączenia poprzez kody łańcuchowe (string) 0x80 i 0x81. Obsługiwane przez TTDPatch Nigdy nie używaj w Action4, dostępne tylko w funkcjach Action0, patrz TextIDs
DCxx Ustaw różne trwałe teksty GRF. Przydatne w akcji 0 i do włączenia poprzez kody łańcuchowe 0x80 i 0x81. Obsługiwane przez TTDPatch W przeciwieństwie do tekstów GRF D0xx, tych ID można używać do ustawiania właściwości. ID tekstowy należy ustawić wcześniej action 0 odwołuje się do tego.

Obsługiwane przez TTDPatch ID`y DCxx są przydzielane wewnętrznie, gdy są zdefiniowane, i są trwałe w danych zapisu. Każdy plik .grf otrzymuje osobną mapę tych wewnętrznych ID`ów i dlatego może ustawić wszystkie 256 z nich.  Jednak w sumie dostępnych jest tylko 1024 ID`ów , które mogą być współużytkowane przez wszystkie pliki .grf kiedykolwiek aktywowane w grze. Oznacza to, że ID`y te powinny być używane tak oszczędnie, jak to możliwe. Ale używaj ich, gdy są przydatne!

text

Jest to lista ciągów zakończonych zerem, musi być tyle ciągów, ile określa num-ent.

Grfcodec w wersji 0.9.6 lub nowszej akceptuje ciągi literalne w .nfo. Są one kodowane dokładnie tak, jak napisano, niezależnie od tego, jakie kodowanie wykorzystuje Twój edytor tekstu; jeśli potrzebujesz 00, umieść go bezpośrednio po literałowym ciągu. Aby zapoznać się z obsługiwanymi kodowaniami, formatem i ograniczeniami dotyczącymi używanych znaków, zobacz GRFActionsDetailed i StringCodes.

Duża liczba oryginalnych ciągów TTD wymaga kodu koloru przed rzeczywistym ciągiem. Możesz także użyć tych kodów kolorów w większości niestandardowych ciągów znaków. Korzystaj z nich mądrze! W przypadku, gdy ciąg wymaga kodu koloru, zostanie wyświetlony kod przed domyślnym tekstem wymienionym w TextIDs.Zazwyczaj ciąg kodowany kolorem rozpoczyna się znakiem ucieczki (odwrotnym ukośnikiem), po którym następuje bajt szesnastkowy, a następnie sam ciąg tekstowy. To znaczy. ciąg 0001 ("\94Off edge of map") ma kod koloru 0x94 przed ciągiem tekstowym, który pokoloruje go na biało. Możesz także umieścić zwykły bajt szesnastkowy poza cytowanym ciągiem bez konieczności ucieczki. 94 "Off edge of map" byłby taki sam jak "\94Off edge of map"

Dostępne są następujące kody kolorów:

Kod Kolor Kolor Palety
88 Blue
 
89 Silver
 
8A Golden
 
8B Red
 
8C Purple
 
8D Light Brown
 
8E Orange
 
8F Green
 
90 Yellow
 
91 Dark Green
 
92 Cream
 
93 Brown
 
94 White
 
95 Light Blue
 
96 Grey
 
97 Dark Blue
 
98 Black
 

Przykład