Czy ten skrypt jst poprawny?

Moderator: Inkwizytor

ODPOWIEDZ
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Czy ten skrypt jst poprawny?

Post autor: SaS TrooP »

Chwilowo nie mogę sprawdzić, więc napisane w pamięci. Czy ten skrypt mi ruszy?

Kod: Zaznacz cały

#Start
_gracz = s1,s2,s3,s4,s5,s6

if(EAST knowsabout _gracz):then 
alig getpos _gracz

goto "Start"
alig to Aligator, który ma śledzić danego gracza w wypadku odkrycia go przez wroga.
Awatar użytkownika
Trance
Posty: 1090
Rejestracja: 20 maja 2007, 19:06
ID Steam:
ID gracza: 0

Re: Czy ten skrypt jst poprawny?

Post autor: Trance »

Nie ruszy
Obrazek
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: Czy ten skrypt jst poprawny?

Post autor: SaS TrooP »

Możesz rozwinąć?
Awatar użytkownika
Trance
Posty: 1090
Rejestracja: 20 maja 2007, 19:06
ID Steam:
ID gracza: 0

Re: Czy ten skrypt jst poprawny?

Post autor: Trance »

Zalezy co chcesz osiagnac tym skryptem.
Jezeli zmienna gracz ma przechowywac nazwy edytorowe grupy jednostek, to najlepiej by było zrobic z nich tablice, czyli
_gracz = [s1,s2,s3,s4,s5,s6];
Nastepnie, podejzewam, ze chcesz sprawdzic stopien informacji jednostki strony wschodniej na temat kazdego gracza. Ale EAST to nazwa całej strony, a nie jednostki, tak jak wymaga tego komenda knowsAbout. Ponadto, knowsAbout zwraca pewną wartość z przedziału od 0 do 4, wiec gdzies w warunku musisz to sprawdzic.

Reszty skryptu nie moge rozczytac, co chciales tym osiagnac, srecyzuj moze co konkretnie ma to robic, to pomyslimy wspolnie nad dalsza czescia.
Obrazek
Awatar użytkownika
aszek
Posty: 133
Rejestracja: 11 lipca 2008, 06:17
ID Steam:
Numer GG: 8568774
ID gracza: 0

Re: Czy ten skrypt jst poprawny?

Post autor: aszek »

Jeśli już chcesz w ten sposób, to tak:

Kod: Zaznacz cały

_gracze = [s1, s2, s3, s4, s5, s6];

_index = 0;
_count = count _gracze;
#Start

_gracz = _gracze select _index;
_index = _index + 1;

? (alig knowsabout _gracz > 0) : goto "follow"
? (_index <= _count) : goto "Start"
_index = 0;
~1
goto "Start"


#follow
; śledzenie _gracza po Twojemu
@(UnitReady alig);
exit;
Ale wtedy skrypt bedzie wykrywał czy tylko jedna, wroga jednostka wie o jakimś graczu. Aby nie było takich ograniczeń, można (jeśli to konieczne) zbudować dodatkową tablicę wszystkich wrogich jednostek (np: automatycznie przez tigger) i w pętli zagnieżdzonej sprawdzać czy jakaś wroga jednostka wie o jakimś graczu.

Zaś prościej jest tak:

Kod: Zaznacz cały

_tig = createTrigger ["EmptyDetector", getpos alig];
_tig setTriggerType "Guarded by East";
_tig setTriggerStatements ["this", "this exec "follow.sqs"", ""];
_tig setTriggerArea [5000, 5000, 0, false];
_tig setTriggerTimeout [5, 5, 5, true];
_tig setTriggerActivation ["WEST", "EAST D", true]; 
_tig triggerAttachVehicle [alig];
@false;
exit;

follow.sqs

Kod: Zaznacz cały

#follow
; śledzenie _gracza po Twojemu
@(UnitReady alig);
exit;
"True glory consists in doing what deserves to be written, in writing what deserves to be read." - Pliny The Elder
Awatar użytkownika
SaS TrooP
Posty: 1586
Rejestracja: 30 października 2008, 17:30
ID Steam:
ID gracza: 0
Lokalizacja: Wodzisław Śl.
Kontakt:

Re: Czy ten skrypt jst poprawny?

Post autor: SaS TrooP »

Aszek, połowy nie rozumiem, ale wygląda pięknie. Chodzi o to, że gdy gracz zostanie nakryty (którykolwiek), czyli jakakolwiek jednostka wie o naszym graczu Aligator przylatuje na chwilową pozycję. Chciałem zrobić, że po zgubieniu tropu Aligator daje sobie spokój (żeby nie siedział ci na dupie nawet jak zwiałeś w las), ale jest na WP "Znajdź i Zniszcz", więc problem sam się rozwiązuje.
ODPOWIEDZ

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