Teraz jest Pn 23 mar, 2026 05:30


Zatrzymanie skryptu

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline

qwer17

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): Wt 27 lut, 2007 17:14

PostN 28 mar, 2010 13:47

Ruch, wsiadanie i wysiadanie z pojazdów, warunki na dystans, zmiana stanu gotowości, warunki dystansowe i takie tam... dlatego potrzebny mi jest jest drugi skrypt nie mogę wszystkiego załatwiać jednym.

Z resztą to rozwiązanie które jest z grubsza już wystarczy. Ale jeśli można by było to zrobić tak jak chcę to był by lepszy efekt po prostu.

Czyli nie ma możliwości anulowania aktualnie wykonywanego rozkazu?
"Cave tibi a cane muto"
Offline
Avatar użytkownika

reyhard

Pułkownik

Pułkownik

  • Posty: 1455
  • Dołączył(a): So 12 mar, 2005 09:56
  • Lokalizacja: wielkiego brata

PostN 28 mar, 2010 15:17

ruch można przerwać komenda doStop, tak jak Aldi wskazał, w pętli sprawdzasz warunek wyjścia i zatrzymania skryptu po czym coś tam robisz i wychodzisz ze skryptu.Czyli z grubsza rzecz biorąc, wychodzi na to, co zrobił Kadryl, z tą różnicą, że ja bym korzystał jednak z goto - @ ma częstotliwość sprawdzania warunku w czasie rzeczywistym (czy coś takiego), więc ma to tendencje generalanie do zapychania procesora, jeżeli warunek jest jakis skomplikowany.
Po prostu przyjmij do wiadomości, że nadciąga rewolucja proletariacka, lada dzień Chavez z Castro i Bin Ladenem nadjadą na białym traktorze i uwolnią ciemiężony lud polski spod władzy międzynarodowego kapitału.
Offline

qwer17

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): Wt 27 lut, 2007 17:14

PostN 28 mar, 2010 15:22

Wszystko spoko tylko komenda dostop ma mały feler
DoStop unit

Opis:
Nakazuje zatrzymać się (bez komunikatu radiowego). Uwaga! - komenda DoStop nigdy nie ulega zakończeniu tj. jednostka nigdy nie będzie gotowa (komenda UnitReady da wynik: false)


Już się tym bawiłem...
Ostatnio edytowano N 28 mar, 2010 15:25 przez qwer17, łącznie edytowano 1 raz
"Cave tibi a cane muto"
Offline
Avatar użytkownika

Kadryl

Major

Major

  • Posty: 883
  • Dołączył(a): Cz 14 wrz, 2006 14:04
  • Lokalizacja: Wa-wa

PostN 28 mar, 2010 15:24

Rzecz w tym że opisane komendy zmieniają się poprzez ich NADPISANIE np. : wsiadanie/wysiadanie, warunki na dystans, zmiany stanu gotowości etc. o ile nie są zdefiniowane w edytorze (na mapie).
Czyli problem nie jest w przerwaniu skryptu ale zmianie przypisanych wcześniej w "sqs1" wartości i zablokowaniu ich nadpisania w dalszej części skryptu "sqs1".
Np.
1) uruchamiamy "sqs1" i przypisujemy: _a = 1, _b = 1 ,...
2) skrypt "sqs1" kończy działanie więc : _a = 2, _b = 2, ...
w między czasie coś sie dzieje i autor programu oczekuje że:
1-2) skrypt "sqs1" przypisze: _a = 3, _b = 3, ... i będą to wartości już nie zmienione w fazie (2)
W tym wypadku potrzebujesz jedynie blokera typu
Kod: Zaznacz cały
? (stat) : [] exec "sqs2.sqs"; exit

który uniemozli zakończenie skryptu sqs1 natomiast uruchomi przypisanie nowych wartości.
Offline

qwer17

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): Wt 27 lut, 2007 17:14

PostN 28 mar, 2010 15:39

No to dowiedziałem się dziś czegoś nowego :grin:

sqs1
Kod: Zaznacz cały
x1 domove getpos obj1
#CHECK0
? (stat) : [] exec "sqs2.sqs"; exit
?((x1 distance obj1)>5):Goto "CHECK0"
x1 domove getpos obj2
#CHECK1
? (stat) : [] exec "sqs2.sqs"; exit
?((x1 distance obj2)>5):Goto "CHECK1"
EXIT


Teraz działa niezawodnie ! Wielkie dzięki, sam bym się długo bawił :twisted:
"Cave tibi a cane muto"
Offline
Avatar użytkownika

Kadryl

Major

Major

  • Posty: 883
  • Dołączył(a): Cz 14 wrz, 2006 14:04
  • Lokalizacja: Wa-wa

PostN 28 mar, 2010 15:44

Dodaj czasową zwłokę bo skrypt bedzie młócił blokujac inne procesy:

Kod: Zaznacz cały
x1 domove getpos obj1
#CHECK0
~1
? (stat) : [] exec "sqs2.sqs"; exit
?((x1 distance obj1)>5):Goto "CHECK0"
x1 domove getpos obj2
#CHECK1
~1
? (stat) : [] exec "sqs2.sqs"; exit
?((x1 distance obj2)>5):Goto "CHECK1"
EXIT
Offline

qwer17

Szeregowy

Szeregowy

  • Posty: 22
  • Dołączył(a): Wt 27 lut, 2007 17:14

PostN 28 mar, 2010 15:51

OK. Też racja, ale to już wyjdzie w praniu. Dzięki jeszcze raz!

Temat do zamknięcia
"Cave tibi a cane muto"
Poprzednia strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości