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 - Praktyczne zastosowanie pętli

SAIL - Praktyczne zastosowanie pętli

Nitek pisze:Praktyczne zastosowanie pętli.

Często warto użyć pętli jeżeli daliśmy komuś zadanie pójścia w dane miejsce i nic się nie wydarzy dopóki ta postać tam nie dojdzie. W tym przykładzie postać o identyfikatorze “Ludek” dostała zadanie pójścia do miejsca x=22 y=11. Gra będzie czekać sekundę i powtarzać tą czynność dopóki nasz Ludek nie dojdzie do wyznaczonego miejsca.

Kod:

ComMoveXY(Ludek,22,11);
 Repeat
  Wait(0$1)
 Until
  IsAt(Ludek,22,11);
Say(Ludek,'Jakis-Dialog');

Inne przykładowe zastosowanie to zwiększanie zmiennej o 1 co sekundę dopóki jednostka z identyfikatorem “Czlowieczek” nie dojdzie w pobliże jednostki “Skladzik”. Można zrobić to samo używając every, ale zajmie to więcej czasu, miejsca i będzie mniej czytelne; a jak wiadomo jeżeli 10 linijek robi to samo co 20 linijek, to te 10 linijek będzie lepszym rozwiązaniem.

Kod:

 Repeat
  Begin
   ZmiennaA=ZmiennaA+1;
   Wait(0$1);
  End;
 Until
  GetDistUnits(Czlowieczek,Skladzik)<12;

JRF pisze:@nitek jeśli chodzi o ludzi, to wolę krótszą i bardziej uniwersalną pętlę:

Kod:

while not IsIdle(sol) do wait(0$1);

Author: Nitek & JRF
Topic: https://forum.original-war.net/viewtopic.php?f=42&t=2993

» Obsah > Modding Archive > SAIL - Praktyczne zastosowanie pętli