ActionB
en
EN
pl
PL

nfo

Contents

Wprowadzenie

Generuj komunikaty o błędach.

Za pomocą tej akcji możesz ostrzec użytkownika o problemach związanych ze sposobem ładowania pliku grf, np. niewłaściwa kolejność, niewłaściwa wersja łaty lub złe parametry.

Składnia

Dane wyglądają następująco:

<Sprite-number> * <Length> 0B <severity> <language-id> <message-id> [<message>] [<data> [<parnum>
[<parnum>]]]
Element Rozmiar Opis
<Sprite-number> dec Sekwencyjny numer 'sprite'
<length> dec Łączna liczba bajtów użytych w tej akcji
0B B Definiuje action 0B
<severity> B Jak poważny jest ten komunikat ('zawiadomienie/ostrzeżenie/błąd/błąd krytyczny')
<language-id> B W jakich językach wyświetla się ten komunikat
<message-id> B Jaką wiadomość pokazać
<message> S Tekst niestandardowej wiadomości, tylko jeśli <message-id>==FF
<data> S Ciąg do wstawienia we wbudowanych lub niestandardowych komunikatach
<parnum> B Parametry GRF do wyświetlenia w komunikacie

Opis

Sprite-number

To tylko numer, na którym jesteś.

Length

Policz liczbę bajtów w tej akcji.

severity

Określa to, jak poważna jest wiadomość.

'Severity' Znaczenie Prefix 'Działania podjęte'
00 'Wzmianka' (none) kontynuuj ładowanie pliku grf
01 Ostrzeżenie "Warning: " kontynuuj ładowanie pliku grf
02 Błąd "Error: " kontynuuj ładowanie pliku grf
03 'Fatalny błąd' "Error: " przerwać ładowanie pliku grf

Zwykle Akcja B jest ignorowana podczas 'inicjalizacji'. Jeśli istotność ma ustawiony bit 7, działanie krytyczne B zostanie zastosowane nawet podczas inicjalizacji. Może to być przydatne, aby zapobiec błędom spowodowanym przez nieprawidłowe 'sprites' podczas inicjalizacji. 'Należy odnotować', że działa to poprawnie tylko od TTDPatch 2.0.1 alpha 66, we wcześniejszych wersjach pokazane okienko błędu jest uszkodzone, jeśli ustawiony jest bit 7.

Wiadomości są wyświetlane ze znakiem "/!\" W oknie stanu GRF ( TTDPatch , OpenTTD ) . Pierwszy komunikat krytyczny podczas każdej aktywacji jest również wyświetlany jako czerwone okienko wyskakujące.

language-id

Ma ten sam format, co language-id in action 4.

Użyj 7F (wszystkie języki) dla wbudowanych wiadomości, ponieważ automatycznie używają właściwego języka.

message-id

Ustaw rodzaj wiadomości do wyświetlenia. Masz następujące opcje:

ID wiadomości Content
00 80 " requires at least TTDPatch version " 80 00
01 80 " is for the " 80 " version of TTD." 00

<data> should be "DOS" or "Windows"
02 80 " is designed to be used with " 80 00

<data> should be a switchname + value, e.g. "multihead 0"
03 "Invalid parameter for " 80 ": parameter " 80 " (" 7B ")" 00

<data> should be the switch number written out ("5")
04 80 " must be loaded before " 80 "." 00
05 80 " must be loaded after " 80 "." 00
06 80 " requires OpenTTD version " 80 " or better." 00
FF Custom message, use text from <message>

ID`y wiadomości 04 i 05 są dostępne od TTDPatch 2.6 alfa 1 (r858).

Wiadomość ID 06 jest dostępna od OpenTTD r11330. Tego komunikatu należy używać tylko wtedy, gdy zmienna 9D Działania 7/9 ma wartość 1 (OpenTTD).

message

Niestandardowy tekst wiadomości do wyświetlenia.

parnum

Numery parametrów (maksymalnie dwa) do wyświetlenia zamiast 7B w tekście wiadomości.

Notes

We wszystkich komunikatach (wbudowanych i niestandardowych) pierwsze 80 jest zastąpione nazwą pliku pliku grf, drugie 80 jest zastąpione treścią <data>. Po dwóch 80 bajtach możesz mieć jeden lub dwa bajty 7B, które są zastąpione wartością parametru (parametrów) określoną przez <parnum>. Zauważ, że posiadanie 7B jest nieprawidłowe przed napotkaniem dokładnie dwóch 80 bajtów. Oznacza to, że dozwolone są następujące kombinacje bajtów specjalnych:

(none)

80

80 80

80 80 7B

80 80 7B 7B

Przed, po lub pomiędzy bajtami możesz mieć dowolne znaki.

Zaletą wbudowanych komunikatów jest to, że można je tłumaczyć przy użyciu mechanizmu mkpttxt, podczas gdy niestandardowe komunikaty będą dostępne tylko w językach dostarczonych z plikiem grf.

Zauważ, że jeśli kilka plików grf próbuje wyświetlić krytyczne komunikaty o błędach, w tej chwili jest pokazywany tylko pierwszy komunikat, ponieważ TTD nie ma kolejki dla wyskakujących czerwonych błędów. Wszystkie pozostałe zostaną jednak wyświetlone w oknie Status GRF.

Należy również pamiętać, że ponieważ ta akcja została wprowadzona tylko w TTDPatch 2.0.1 alpha 13, nie ma sensu sprawdzać, czy wersja jest co najmniej alfa 13, jeśli chcesz użyć komunikatu o błędzie 00. We wcześniejszych wersjach łatka wyświetla się komunikat o błędzie "invalid sprite" (nieprawidłowy) , ponieważ działanie jest nieznane.

Przykład

Poniżej znajduje się przykład tego, jak mogłaby wyglądać pseudo-sprite' Action B wraz z Action 7 wymagane, aby pominąć go w odpowiednich okolicznościach.

2 * 6  07 85 01 01 37 01

3 * 17 0B 03 7F 02 "newtrains on" 00
Bajt(y) Nazwa Znaczenie
07 <action> Ustawia tego pseudo-sprite, aby działał jako action 7
85 <variable> Sprawdź patch flags
01 <size> zmienny rozmiar; ignorowane, ponieważ jest to trochę test
01 <cond> pomiń, jeśli bit jest ustawiony
37 <val> sprawdź bit 37 (newtrains)
01 <num-sprites> pomiń jednego 'sprite'
0B <action> Ustawia tego pseudo-sprite, aby działał jako action B
03 <severity> Ustawia to na błąd krytyczny
7F <language-id> Uruchom ten 'sprite' we wszystkich językach
02 <message-id> Użyj wiadomości 02 (80 " is designed to be used with " 80)
"newtrains on" 00 <data> Ciąg do wstawienia w miejsce drugich 80 w wiadomości