Polski Česky English Français Русский Español
Home Site Original War Support Community Forums Facebook YouTube Discord
¿Tu primera vez por aquí? Lee esto!
» Índice > Modding Archive > SAIL - Bloki Every i jednostka czasu

SAIL - Bloki Every i jednostka czasu

Serpent pisze:Bloki Every są bardzo pomocnym narzędziem gdyż ich najważniejszą cechą jest to że wywołują się po upływie danego czasu.

Budowa:

Kod:

Every CZAS do // nagłówek
begin // rozpoczyna blok
// Kod
end; // kończy blok

Przykład - Chcemy aby kod wykonał się w 10 sekundzie po rozpoczęciu gry:

Spoiler:

Kod:

Every 0$10 do
begin
// Kod
end;

Przykład - Chcemy aby Funkcja1 wywołała się w 75 sekundzie:

Spoiler:

Kod:

Every 1$15 do
begin
Funkcja1;
end;

Takie wywoływanie jest przydatne jednak często chcemy aby kod wykonał się dopiero po spełnieni jakiegoś warunku.

Spoiler:

Przykład - Chcemy aby kod wykonał się dopiero gdy warunek x = true:

Kod:

Every 0$01 trigger x = true do
begin
// Kod
end;

Można skrócić ten zapis:

Kod:

Every 0$01 trigger x do
begin
// Kod
end;

Oba zapisy oznaczają to samo.

Istnieje jeszcze drugi sposób na wywoływanie bloków Every, są to tzw. marked’y:

Spoiler:

Kod:

Przykład:
Every 0$01 marked 01 do
begin
// kod
End;

Kod wykona się jeżeli marked o numerze 01 jest ustawiony na Enable;

Spoiler:

Kod:

Przykład - Chcemy aby blok Every został zablokowany po 10 sekundach, następnie odblokowany po 20 sekundach:

Every 0$01 marked 01 do
begin
enable;
// Kod
end;

Every 0$10 do
begin
Disable(01); // blokuje every z markedem 01
end;

Every 0$20 do
begin
Enable(01); // ponownie odblokowywuje every z markedem 01
end;

Należy pamiętać że marked’y domyślnie są ustawione na Enable.

Dodatkowo bloki Every można zapętlić:

Spoiler:

Kod:

Every 0$01 trigger x do
begin
enable; 
// Kod
end;

Dodanie enable w bloku zapętla go - oznacza to że blok będzie wykonywał się w tym przypadku co sekundę.

Czas SAIL:
Jednostką czasu w Original War jest “tick”.
35 tick’ów = 1 sekunda.

Przykład:

Kod:

Zapis "Every 0$01 do" jest równoważny "Every 35 do"

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

» Índice > Modding Archive > SAIL - Bloki Every i jednostka czasu