SAIL - Bloki Every i jednostka czasu

Wszelkie pytania na temat SAIL'a i modowania OW.
Odpovědět
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Příspěvky: 4166
Registrován: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontaktovat uživatele:

SAIL - Bloki Every i jednostka czasu

Příspěvek od Serpent »

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

Budowa:

Kód: Vybrat vše

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:

Kód: Vybrat vše

Every 0$10 do
begin
// Kod
end;
Przykład - Chcemy aby Funkcja1 wywołała się w 75 sekundzie:
Spoiler:

Kód: Vybrat vše

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:

Kód: Vybrat vše

Every 0$01 trigger x = true do
begin
// Kod
end;
Można skrócić ten zapis:

Kód: Vybrat vše

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:

Kód: Vybrat vše

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:

Kód: Vybrat vše

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:

Kód: Vybrat vše

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:

Kód: Vybrat vše

Zapis "Every 0$01 do" jest równoważny "Every 35 do"
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Markok
Soldier level 6
Soldier level 6
Příspěvky: 313
Registrován: čtv zář 04, 2014 12:53 am
Bydliště: Oberschlesien
Kontaktovat uživatele:

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Markok »

Jak działają bloki every z markedami ? Zaczynają odliczać dopiero po aktywowaniu markeda, czy cały czas odliczają i uruchamiają się wraz z markedem ?
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Příspěvky: 4166
Registrován: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontaktovat uživatele:

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Serpent »

Marked to taki typ warunku. Zasada działania jest identyczna.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Uživatelský avatar
hidan
Soldier level 3
Soldier level 3
Příspěvky: 59
Registrován: stř lis 10, 2010 8:41 pm
Bydliště: Polska

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od hidan »

A jak z kolejnościom wykonania np:
Główny moduł

Kód: Vybrat vše

...
Enable(01);
Say(Bar,"D1i-Bar-1');
...
moduł z markedm

Kód: Vybrat vše

Every 1$2 marked 01 do
begin
// kod
End;
To czy dialog będzie po aktywacji markeda czy po jego wykonani (1$2)?
Can't stop, can't stop the feet
Won't stop, won't stop the beat
And GO

Historia niedopowiedziana
2/20 - AM
6/20 - AR
3/20 - RU
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Příspěvky: 4166
Registrován: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontaktovat uživatele:

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Serpent »

Dialog będzie pierwszy chyba że idealnie wpasowałbyś się w 1$2 wtedy wykona się kod z bloku z markedem ;)
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Markok
Soldier level 6
Soldier level 6
Příspěvky: 313
Registrován: čtv zář 04, 2014 12:53 am
Bydliště: Oberschlesien
Kontaktovat uživatele:

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Markok »

No i to właśnie jest dziwne.. odliczanie powinno się zaczynać dopiero po aktywowaniu markeda, a tak jest misz-masz..
Uživatelský avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Příspěvky: 4166
Registrován: úte črc 07, 2009 9:13 pm
Bydliště: Polska - EuroStan ZSRE
Kontaktovat uživatele:

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Serpent »

Markok píše:No i to właśnie jest dziwne.. odliczanie powinno się zaczynać dopiero po aktywowaniu markeda, a tak jest misz-masz..
Every opiera się na tick'ach które są niezależne od funkcji.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
Uživatelský avatar
ziame
Soldier level 1
Soldier level 1
San Marino
Příspěvky: 15
Registrován: ned dub 29, 2018 9:22 pm

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od ziame »

Trochę necro, ale w temacie:

Co oznacza obecny np w misji american 13a:

Every 0$03+2$30

to znaczy że sprawdza dwa różne czasy?
Uživatelský avatar
Nefarem
MODbase Moderator
Poland
Příspěvky: 1108
Registrován: sob led 15, 2011 8:13 pm
Bydliště: Noxus

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od Nefarem »

0$03+2$30 powoduje że Every za pierwszym razem wykona się po czasie 2$33 a kolejne co 0$03.
Naposledy upravil(a) Nefarem dne ned dub 29, 2018 11:55 pm, celkem upraveno 1 x.
Absolute Dominion
Spoiler:
Modyfikacja opowiadająca historię Ivana Bierezova, żołnierza armii Rosyjskiej , weterana wojny w Chinach który wziął udział w misji ochrony złóż Alaskitu.

Download from Dropbox
Original War Cooperation
Spoiler:
Modyfikacja umożliwiająca granie w mapach z kampanii OW i nie tylko ze znajomymi kontra AI.

Download from Steam

Download from Dropbox
Original War Dialog Editor
Spoiler:
Program ułatwiający tworzenie plików wri z dialogami, zadaniami etc do Original War .

Download
Uživatelský avatar
ziame
Soldier level 1
Soldier level 1
San Marino
Příspěvky: 15
Registrován: ned dub 29, 2018 9:22 pm

Re: SAIL - Bloki Every i jednostka czasu

Příspěvek od ziame »

Nefarem píše: ned dub 29, 2018 11:55 pm 0$03+2$30 powoduje że Every za pierwszym razem wykona się po czasie 2$33 a kolejne co 0$03.
Doskonale! Brakowalo tutaj tej informacji :)
Odpovědět