Gra nie reaguje na warunek "ap in veh"

Moderator: Inkwizytor

ODPOWIEDZ
templar
Posty: 60
Rejestracja: 10 grudnia 2008, 12:16
ID Steam:
ID gracza: 0

Gra nie reaguje na warunek "ap in veh"

Post autor: templar »

Witam. Mam kolejny problem, a mianowicie gra nie reaguje mi na warunek "ap in veh"
Mam napisane coś takiego:

Kod: Zaznacz cały

_w1 = w1;
_UH1 = UH1;
if(_w1 in _UH1)
then
{
[] exec "UH1WP1.sqs";
};
ale kiedy zmienię

Kod: Zaznacz cały

(_w1 in _UH1)
na

Kod: Zaznacz cały

(alive _w1)
wszystko jest ok.
Jak rozwiązać ten problem?
"Celem wojny nie jest śmierć za ojczyznę, ale spowodowanie żeby jakiś drań umarł za swoją." - General George S. Patton
Obrazek
Awatar użytkownika
kondor
Posty: 1526
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: Gra nie reaguje na warunek "ap in veh"

Post autor: kondor »

możliwe problemy:
-któraś ze zmiennych jest nieprawidłowa
-sprawdzenie następuje, gdy _w1 nie jest w _UH1
aby to sprawdzić przed samym "ifem" wpisz:

Kod: Zaznacz cały

hint format["%1 in %2 to: %3", _w1, _UH1, _w1 in _UH1];
jeśli wyskoczy scalar bool array ... to ktoraś ze zmiennych jest nieprawidłowa, poza tym zobaczysz kiedy następuje sprawdzenie
templar
Posty: 60
Rejestracja: 10 grudnia 2008, 12:16
ID Steam:
ID gracza: 0

Re: Gra nie reaguje na warunek "ap in veh"

Post autor: templar »

Wyskoczyło
w1 in UH1 to: false
, ale zmienne są chyba ok bo w pliku "UH1WP1.sqs" są komendy dodające dla UH1 punkt drogi a gdy warunek

Kod: Zaznacz cały

if (alive _w1)
jest wpisany to helikopter leci do tego punktu.
"Celem wojny nie jest śmierć za ojczyznę, ale spowodowanie żeby jakiś drań umarł za swoją." - General George S. Patton
Obrazek
Awatar użytkownika
aszek
Posty: 133
Rejestracja: 11 lipca 2008, 06:17
ID Steam:
Numer GG: 8568774
ID gracza: 0

Re: Gra nie reaguje na warunek "ap in veh"

Post autor: aszek »

Czy 'w1' jest jednostką pieszą ? Jesteś pewny, że 'UH1' może przyjąć na pokład 'w1' (ma miejsce) ? Czy 'UH1' jest na ziemi podczas sprawdzania warunku ? Czy 'w1' ma zsynchronizowany WP (wsiadaj) z WP 'UH1' (załaduj).

Jeśli nie, to pilot 'UH1' zignoruje WP (uniesie maszynę do góry i operacja załadunku nie bedzie możliwa - i odleci sobie na koniec mapy - tak się zachowują jednostki lotnicze bez WP), więc albo dasz synchronizację, albo w skrypcie musisz zmusić pilota do wylądowania i poczekania na załadunek.

Kod: Zaznacz cały

; lądowanie (najlepiej na helipadzie, bo AI samo wybierze miejsce, jak się 'poszczęści' to i z pół kilometra dalej)

vehicle UH1 land "LAND";

; czekanie na wylądowanie
@(UnitReady vehicle UH1);

; dla pewności można się asekurować:
UH1 flyinheight 0;

; czekanie na załadunek
@(w1 in UH1)
UH1 flyinheight 50;
Dalej już po Twojemu, odpal ten skrypt WP'towy.
"True glory consists in doing what deserves to be written, in writing what deserves to be read." - Pliny The Elder
ODPOWIEDZ

Wróć do „Edytor - tworzenie misji, skrypty oraz programowanie”