Polski Česky English Français Русский Español
Home Site Original War Support Community Forums Facebook YouTube Discord
Jste tu poprvé? Tohle musíte vidět!
» Obsah > Modding Archive > SAIL - Operacje na stringach + Prosty Zegar

SAIL - Operacje na stringach + Prosty Zegar

Serpent pisze:String to jak powszechnie wiadomo zmienne przechowujące znaki (ciągi znaków).
Ciągi znaków w SAIL’u zapisujemy pomiędzy znakami ’ ’.

Przykład:

Kod:

'macmilan' 'jurij' 'masza' 'kasza'

Do wyświetlania tego typu zmiennych w grze służy funkcja display_strings.

Display_Strings

Kod:

Display_Strings := text;

Wyświetli nam w prawym górnym ekranie zmienna text. Jest to bardzo przydatne zwłaszcza podczas tworzenia skryptów do map, jeżeli chcemy zobaczyć co kryje się pod daną zmienną.

Przykładowo chcemy wyświetlać koordynaty danej jednostki:

Kod:

Every 0$0.1 do
begin
enable;
Display_Strings := ['X:', GetX(unit), 'Y:', GetY(unit)];
end;

Dodanie informacji do wyświetlenia w display_strings:

Spoiler:

Często zdarza się że chcemy coś wyświetlić gdy zawartość display_strings nie jest pusta, korzystamy wówczas ze znaku dołączania ”^”.

Przykład:

Kod:

Display_Strings := 'Kalafior'; // to mamy w display_strings
Display_Strings := Display_Strings ^ 'Bialy';

Spowoduje dodanie pod napisem “Kalafior” napisu “Bialy”.

Można też użyć już gotowej funkcji napisanej przeze mnie:

Kod:

Export Function AddToDisplay(string);
begin
Display_Strings := Display_Strings ^ string;
End;

Czyszczenie display_strings:

Spoiler:

Jeżeli chcemy usunąć obecną zawartość display_strings i dodać coś innego to normalnie używamy display_strings.

Przykład:

Kod:

// Wyświetla nam napis: "Jest godzina 12:00"
// Chcemy wyświetlić napis "Jest godzina 13:00"
Display_Strings := 'Jest godzina 13:00';

Jeżeli natomiast chcemy całkowicie wyczyścić display_strings to piszemy:

Kod:

Display_Strings := '';

Spowoduje to że napis po prawej zniknie.

Dodanie prostego zegara:

Spoiler:

Zegar w grze jest bardzo przydatny, aby go uzyskać wystarczy tylko kilka linijek kodu.

Kod:

// chcemy żeby zegar podawał nam minuty i sekundy
Export time;
Every 1 do
time := 0$00;

Every 0$01 do
begin
enable; // zapętlamy zegar

time := time + 0$01; // co sekundę będzie dodawana sekunda do wyświetlacza

Display_Strings := [#timer, time];
End;

Teraz przechodzimy do pliku Counters.wri w Texts (UWAGA! Każda wersja językowa ma swój własny plik Counters.wri!).

Tam dodajemy następujący wpis:

Kod:

timer
  Czas: %t

To tyle, teraz czas powinien być wyświetlany w formie:

Kod:

Czas: minuta:sekunda

Dodawanie stringa do stringa:

Spoiler:

Czasami może zajść potrzeba połączenia dwóch zmiennych tego typu. Używamy wówczas następującej funkcji:

Kod:

Export Function AddToString(string1, string2);
begin
result := string1 & string2;
End;

Przykład:

Kod:

zm1 := 'Andy';
zm2 := ' Cornell';

Display_Strings := AddToString(zm1, zm2);

Wyświetli: Andy Cornell

Wyświetlanie długości stringa:

Spoiler:

Jeżeli chcemy sprawdzić długość zmiennej typu string (ilość znaków w łańcuchu) to używamy funkcji:

Kod:

Export Function SizeOfString(string);
begin
result := string - 0;
End;

I wyświetlamy:

Kod:

Display_Strings := SizeOfString('jurek'); // zwróci 5

Author: Serpent
Topic: https://forum.original-war.net/viewtopic.php?f=42&t=4466

» Obsah > Modding Archive > SAIL - Operacje na stringach + Prosty Zegar