Teraz jest Pn 23 cze, 2025 19:49


Dziwny problem z ?(p1 Distance tp1<0.5)

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

Dziwny problem z ?(p1 Distance tp1<0.5)

PostN 13 lut, 2005 17:57

Mam trochę głupi problem. Otóż chce, aby wyzwalacz się włączył, gdy jednostka podejdzie do niego na odległość 0.5 m. Próbowałem na różne sposoby. Szukałem w poradnikach Alderousa i nic. Please Help :(

p1 - nazwa jednostki
tp1 - nazwa markera

Tak prubowałem

...
#Loop

~0.1

?(p1 Distance tp1<0.5):Goto "Loop"

vv=true

Exit


Przed p1 stawiałem też inne znaki ( @, # ) ale to też nic nie dało

Prubowałem również tak:

#Loop

_w=MarkerPos tp1

_d=p1 Distance _w

~0.1

?(_d>1):Goto "Loop"

vv=true

Exit
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

Czapa

Chorąży

Chorąży

  • Posty: 183
  • Dołączył(a): N 30 sty, 2005 20:32
  • Lokalizacja: Zabrze

PostN 13 lut, 2005 19:04

Moze zamiast markera daj np. niewidzialne H
Obrazek
Offline
Avatar użytkownika

Przemo_212

Major

Major

  • Posty: 703
  • Dołączył(a): Wt 20 lip, 2004 18:59

PostN 13 lut, 2005 19:05

Co ci tu może nie działać?? Musisz mieć jakiś błąd w samym skrypcie. Może powiesz za co ma odpowiadać ten skrypt??
Nie wiem...może spróbuj tak...:
@(p1 Distance tp1<0.5)
#go

tutaj co tam chcesz

goto "loop"


Albo:
(...)
#go
@(p1 Distance tp1<0.5)

goto "loop"

Nazwij ten skrypt np. wer.sqs i zrób wyzwalacz z aktywacją jednostki a w polu przy aktywacji [] exec "wer.sqs" i ustaw wyzwalacz na "cyklicznie"
Obrazek
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostN 13 lut, 2005 20:54

Nie to nic nie daje :( . Tak to wygląda jakby nie znał wartości (położenia) markera tp1. :idea: Na szczęście znalazłem sposób, aby inaczej zrobić efekt, jaki chciałem za pomocą samych wyzwalaczy. Ale temat uznaje za otwarty, ponieważ już drugi raz przydał by mi się ten skrypt, kto wie może jeszcze będzie mi to potrzebne a nie będzie się dało tego zastąpić czymś innym
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

Winters

Kapral

Kapral

  • Posty: 55
  • Dołączył(a): So 18 wrz, 2004 05:56
  • Lokalizacja: Toccoa

Re: Dziwny problem z ?(p1 Distance tp1<0.5)

PostPn 14 lut, 2005 19:17

Spróbuj tak (ze spacjami przed i po znaku <):

...
#Loop

~0.1

?(p1 Distance tp1 < 0.5):Goto "Loop"

vv=true

Exit
"Papież? A ile on ma dywizji?" - J. Stalin
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostPn 14 lut, 2005 19:32

Nie, to też nic nie daje :(
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

Przemo_212

Major

Major

  • Posty: 703
  • Dołączył(a): Wt 20 lip, 2004 18:59

PostPn 14 lut, 2005 19:32

@ Winters
Nie potrzeba spacji moim zdaniem.....
@ JaFranek
Powiedz jak to zrobiłeś za pomocą wyzwalaczy, to i zrobienie tego wtedy za pomocą skryptu nie będzie trudne :)
Obrazek
Offline
Avatar użytkownika

Radeon

Pułkownik

Pułkownik

  • Posty: 1442
  • Dołączył(a): N 01 sie, 2004 14:10
  • Lokalizacja: Starogard Gdański

PostPn 14 lut, 2005 19:48

Słyszałeś o misji ORZEł ? tam w intrze był taki bajer (Misja zawarta w Platynowej edycji OFP) spróbuj coś zerżnąć :)
User of this number is currently dead. Resurrection in 5 minutes, please wait.
Offline
Avatar użytkownika

Winters

Kapral

Kapral

  • Posty: 55
  • Dołączył(a): So 18 wrz, 2004 05:56
  • Lokalizacja: Toccoa

PostPn 14 lut, 2005 19:52

Spróbuj za pomocą samego wyzwalacza. Nazwij jednostkę np. aP. Wstaw wyzwalacz na nazwij go np. wyzwalacz1. Ustaw aktywację na Ktokolwiek.

W polu Warunek wpisz: aP distance wyzwalacz1 < 0.5, a w polu aktywacja efekt, który chcesz uzyskać. I już!
"Papież? A ile on ma dywizji?" - J. Stalin
Offline
Avatar użytkownika

Przemo_212

Major

Major

  • Posty: 703
  • Dołączył(a): Wt 20 lip, 2004 18:59

PostPn 14 lut, 2005 19:54

Na szczęście znalazłem sposób, aby inaczej zrobić efekt, jaki chciałem za pomocą samych wyzwalaczy. Ale temat uznaje za otwarty, ponieważ już drugi raz przydał by mi się ten skrypt, kto wie może jeszcze będzie mi to potrzebne a nie będzie się dało tego zastąpić czymś innym

Spróbuj za pomocą samego wyzwalacza

On ju sobie poradyi. On to chce teraz to samo zrobić, tylko za pomocą skryptu ;)
Obrazek
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostPn 14 lut, 2005 20:55

W misji którą teraz robię wystarczyły wyzwalacze ( chodziło mi o to aby skrypt został aktywowany gdy wszystkie jednostki biedą na miejscach ich przeznaczenia ). Ale np. Gdy bym chciał zrobić efekt patrolowania danego terenu przez kilkanaście grup ( bez używania weypointów przez które wszystko stało by się mniej czytelne w edytorze) z wykorzystaniem tylko kilku markerów. Gdyby jednostka podeszła na np. 0.5m została by skierowana do innego punktu a tam znowu do następnego itd.

Niedziałajacy przykład


#Loop

abc DoMove getMarkerPos "xyz"
@(abc Distance xyz<0.5):
abc DoMove getMarkerPos "xyz2"
@(abc Distance xyz2<0.5):
abc DoMove getMarkerPos "xyz3"
?(abc Distance xyz3<0.5):Goto "Loop"


Dzięki temu powiniśmy mieć efekt chodzenia grupy w kółko ale przez @(abc Distance xyz<0.5): skrypt nie przechodzi dalej
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

kondor

Major

Major

  • Posty: 880
  • Dołączył(a): Pt 11 lut, 2005 04:00
  • Lokalizacja: Berlin (wschodni)

Re: Dziwny problem z ?(p1 Distance tp1<0.5)

PostWt 15 lut, 2005 22:12

hej! (pierwszy post)

...
#Loop

~0.1

?(p1 Distance tp1<0.5):Goto "Loop"

vv=true

Exit


jestem poczatkujacy i nie czaje wszystkiego, ale nie jestem do konca pewny, czy marker jest obiektem (moze sie myle), a funkcja distance (wg specyfikacji na ofp.bmj.pl) ma za argumenty 2 obiekty

#Loop

_w=MarkerPos tp1

_d=p1 Distance _w


~0.1

?(_d>1):Goto "Loop"

vv=true

Exit

wiec tu tym bardziej jest zle, bo tu wstawiles jako argument wektor (pozycje).
Innym powodem (tez nie jestem pewny) moze byc (w pierwszym skrypcie) warunek. -distance przyjmuje wartosc liczbowa, ale na ofp.bmj.pl nie jest napisane, czy na pewno rzeczywista, czy tylko calkowita. Jesli wynik jest jednak w calkowitych, to tamten warunek jest niepoprawny, 0.5 nie da sie porownac z liczba calkowita - musisz zamienic na 1
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostŚr 16 lut, 2005 17:26

No to ja już nie wiem. Co do tego "0.5" to tylko przykład a w rzeczywistości brałem większe jednostki ( całkowite ) aby łatwiej było mi trafić w miejsce markera więc odpada. Myślę że problem jest w GetMarkerPos "tp1" (jest to tosamo co MarkerPos tp1 ) ponieważ przyjmuje on wartość w [x,y,z]
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

Panda

Chorąży

Chorąży

  • Posty: 179
  • Dołączył(a): N 09 sty, 2005 18:33
  • Lokalizacja: Warszawa

PostCz 17 lut, 2005 13:04

jestem poczatkujacy i nie czaje wszystkiego, ale nie jestem do konca pewny, czy marker jest obiektem (moze sie myle), a funkcja distance (wg specyfikacji na ofp.bmj.pl) ma za argumenty 2 obiekty

Marker NIE JEST obiektem.

Spróbuj tak (jeśli koniecznie to musi być marker):
_pos = "logic" camcreate getmarkerpos /marker/
@(_pos distance /jednostka/</odległość/)
/warunek/=true
exit
TEST
OMGWTFBBQ
Offline
Avatar użytkownika

JaFranek

Major

Major

  • Posty: 581
  • Dołączył(a): Wt 16 lis, 2004 14:46
  • Lokalizacja: Tbg

PostCz 17 lut, 2005 15:20

Panda napisał(a):Spróbuj tak (jeśli koniecznie to musi być marker):
_pos = "logic" camcreate getmarkerpos /marker/
@(_pos distance /jednostka/</odległość/)

/warunek/=true
exit


Jesteś pewien, że to powinno działać? Bo mi jakoś nie chce :?

Ostatnio wymyśliłem kulfona, który również niestety nie działa, ale może kogoś nakieruje na właściwe rozwiązanie :idea:

_oa = GetPos p1 Select 0
_ob = GetPos p1 Select 1
_oc = GetPos p1 Select 2

#Dalej3

p1 DoMove getMarkerPos "w1"

#Loop

_ox = GetMarkerPos w1 Select 0
_oy = GetMarkerPos w1 Select 1
_oz = GetMarkerPos w1 Select 2



_d = (_ox - _oa) + 1
_e = _ox - _oa
_f = (_oy - _ob) + 1
_g = _oy - _ob

?(_d<2):Goto "Dalej"
?(_e<2):Goto "Dalej"
?(_f<2):Goto "Dalej"
?(_g<2):Goto "Dalej"

~0.05

@Goto "Loop"

#Loop2

#Dalej


p1 DoMove getMarkerPos "w2"

_ox = GetMarkerPos w2 Select 0
_oy = GetMarkerPos w2 Select 1
_oz = GetMarkerPos w2 Select 2

_d = (_ox - _oa) + 1
_e = _ox - _oa
_f = (_oy - _ob) + 1
_g = _oy - _ob

?(_d = 0):Goto "Dalej2"
?(_e = 0):Goto "Dalej2"
?(_f = 0):Goto "Dalej2"
?(_g = 0):Goto "Dalej2"

~0.05

@Goto "Loop2"

#Dalej2
#Loop3

p1 DoMove getMarkerPos "w3"

_ox = GetMarkerPos w3 Select 0
_oy = GetMarkerPos w3 Select 1
_oz = GetMarkerPos w3 Select 2

_d = (_ox - _oa) + 1
_e = _ox - _oa
_f = (_oy - _ob) + 1
_g = _oy - _ob

?(_d = 0):Goto "Dalej3"
?(_e = 0):Goto "Dalej3"
?(_f = 0):Goto "Dalej3"
?(_g = 0):Goto "Dalej3"

~0.05

@Goto "Loop3"


p1 - jednostka
w1, w2, w3 - markery
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Następna strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: xersius i 7 gości

cron