Skip to content

stations

extrazi edited this page Jun 30, 2023 · 14 revisions
original    original
EN     PL

Manual użytkownika m4nfo

Stacje

Definiowanie właściwości i obsługa stacji kolejowych
Introduction

Kod stacji składa się z trzech części:

  • definicja stacji
  • 'łańcuch' funkcji wydajnościowych dla stacji, z uwzględnieniem zmiennych związanych z grą oraz grafiki
  • aktywacja stacji
Definicja stacji ustawia właściwości funkcji stacji, takie jak rozmiar, układ itp. Należy pamiętać, że definicja stacji może wystąpić tylko po wcześniejszym wywołaniu funkcji grfinit() dla pliku newGRF.

Funkcje wydajnościowe stacji są używane do grupowania zestawów sprite'ów graficznych z poprzedniego spriteblock() lub do oceny zmiennych związanych z grą i udostępniania ich obu funkcji aktywacji stacji.

Aktywacja stacji powoduje utworzenie instancji stacji poprzez ostateczne przypisanie zestawów graficznych i/lub wywołań zwrotnych lub innych funkcji odnoszących się do zmiennych do tej konkretnej stacji. Odbywa się to poprzez dostarczenie bloku funkcji specjalnych obsługujących odniesienia i typy ładunków do aktywacji stacji. Zobacz poniżej.

Funkcje
Funkcja Znaczenie
classnames(<Station-ID>, {<Language-ID>, {<String>}}) Definicja nazw klas stacji
definestation(<Station-ID>, {<String>}, <block>) Definicja stacji
makestation(<Station-ID>, <block>) Aktywacja stacji
stationnames(<Station-ID>, {<Language-ID>, {<String>}}) Definicja nazwy (nazw) stacji

Opis
Ta funkcja definiuje nazwę(y) klas(y) stacji, powiązanych z co najmniej jednym ID-stacji. Jest używany w taki sam sposób, jak stationnames() .

Możliwe jest zdefiniowanie jednego języka i wielu ciągów dla wielu (kolejnych) ID lub jednego ID powiązanego z jednym ciągiem z wielu języków lub obu.

Należy pamiętać, że wpisy należy cytować, patrz przykłady.


 Example 1 (one string in multiple languages for one ID):
 
 classnames(_ROOFS,
 	{UK,"Platforms"},
 	{D,"Bahnsteige"},
 	{F,"Quais"},
 	{E,UTF8 "Andénes"},
 	{I,"Banchine"}
 )
 
 Example 2 (multiple strings in one language for multiple IDs):
 
 classnames(_ROOFS,
 	{UK,"Platforms", "Roofs", "Underpasses"}
 )
 
 Example 3 (multiple strings in multiple languages for multiple IDs):
 
 classnames(_ROOFS,
 	{UK,"Platforms", "Roofs", "Underpasses"},
 	{D,"Bahnsteige", UTF8 "Dächer", UTF8 "Überwegungen"}
 )

Jak pokazano tutaj , możesz szablonować dane wejściowe do classnames() , a także do stationnames() , patrz poniżej.

Należy pamiętać, że po definicji stacji należy zdefiniować zarówno nazwy klas, jak i nazwy stacji.

definestation(<Station-ID>, {<String>}, <block>)

Ta funkcja definiuje jedną lub więcej stacji. Jego parametry to ID (pierwszej) stacji, jeden lub więcej ciągów tekstowych podających domyślną nazwę (nazwy) stacji oraz blok funkcji definiujących-właściwości , w których względne położenie funkcji właściwości jest nieistotne.

Podczas określania więcej niż jednego ID stacji należy pamiętać, że drugi parametr musi podać taką samą liczbę nazw, jak w przypadku funkcji classnames() i stationnames(). ID wielu stacji zostaną określone w sposób następujący po sobie, tj. Przy WAYP0 ustawionym na 0 dodatkowe stacje w drugim przykładzie otrzymają ID 1 .. 3.


 Przykład 1 (definicja jednej stacji):
 
 definestation(_ROOFS,"Roofs",
 	class(PLATFORMS)
 	callbacks(CB_LAYOUT)                        
 	exclude_widths(8)
 	exclude_lengths(8)
 	threshold(36)
 	nopylons(0)
 	flags({GROUNDSPRITES, DIVAMOUNT, FOUNDATIONS})
 )
 
 Przykład 2 (definition of 4 way points in one go):
 
 definestation(WAYP0,{"regular", "regular", "regular", "gantry"},
 	class("WAYP","WAYP","WAYP","WAYP")
 	callbacks(CB_LAYOUT,CB_LAYOUT,CB_LAYOUT,CB_LAYOUT)                        
 	include_widths({1,2,3,4},{1,2,3,4},{1,2,3,4},{1,2,3,4})
 	include_lengths(1,1,1,1)
 	flags(GROUNDSPRITES,GROUNDSPRITES,GROUNDSPRITES,GROUNDSPRITES)
 )  

makestation(<Station-ID>, <block <)

Ta funkcja aktywuje wcześniej zdefiniowaną stację. Jego parametrami są ID stacji oraz blok specjalnych funkcji związanych z ładunkiem:
Funkcja Znaczenie
link(<ref()>, <CargoType>) Łączenie łańcucha grafik lub zależności-zmiennych z tą stacją
default(<ref()>) Domyślny 'łańcuch' do użycia z tą stacją
Do celów specjalnych ID stacji można pominąć, aby utworzyć "ogólne wywołanie zwrotne" (CB_AISELECT) .

link(<ref()>, <CargoType>)

Ta funkcja łączy odniesienie do łańcucha funkcji opisujących grafikę i/lub oceny zmiennych z określonym typem ładunku. Jego parametry są odniesieniem do łańcucha funkcji i typu ładunku .

W przypadku stacji można dodatkowo zdefiniować rodzaj ładunku SPECJALNEGO, który zapobiega używaniu domyślnego (który pokazywałby sumę całego ładunku). Zamiast tego podany ID-zestawu jest wyświetlany bez ładunku.

default(<ref()>)

Ta funkcja jest używana, jeśli żaden wpis z funkcji link() nie pasuje lub jeśli w funkcji link() nie ma żadnych specjalnych typów-ładunków.


 Przykład:
 
 makestation(_ROOFS,
 	link(ref(21), MENU)
 	link(ref(20), PASS, SPECIAL)
 	default(ref(20))
 )

stationnames(<Station-ID>, {<Language-ID>, {<String>}})

Ta funkcja definiuje więcej nazw dla jednej lub więcej stacji niż domyślna podana przez definestation() . Powinien być używany, jeśli stacja potrzebuje nazw w więcej niż jednym języku. Jego parametry to ID (pierwszej) stacji oraz blok składający się z ID języków i powiązanych nazw.

Sposób użycia jest dokładnie taki sam, jak classnames() . Zobacz przykłady powyżej.

References

Clone this wiki locally