Teraz jest Pn 01 gru, 2025 16:43


Potrzebny skrypt podążania za pojazdem

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

Jerry

Pułkownik

Pułkownik

  • Posty: 2598
  • Dołączył(a): Pn 19 lip, 2004 21:28
  • Lokalizacja: 52° 14'N, 20° 56'E

Potrzebny skrypt podążania za pojazdem

PostŚr 16 mar, 2005 18:11

Jakby ktoś się zajął takim problemem, jak poniżej pisze, to byłbym bardzo wdzięczny :)

A skrypt ma być następujący: pojazd porusza się cały czas za drugim, nie będącym w grupie (czyli moge getpos drugi pojazd) ale pozostaje za nim 3 metry z tyłu.... I tak aż do odwołania komendy. Z pozoru proste, ale moja wiedza n/t skryptów jest zbyt mała, żeby sobie poradzić...
Obrazek
Offline
Avatar użytkownika

Przemo_212

Major

Major

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

PostŚr 16 mar, 2005 19:16

Kod: Zaznacz cały
;auto1, auto2 -pojazdy

#www

@(auto1 Distance auto2<3)

auto1 domove (getpos auto2)

goto "www"

Chodzi ci o coś takiego może??


P.S Skryptu nie sprawdzałem, bo ostatnio mi coś się dzieje z Flashpointem :[
Obrazek
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostŚr 16 mar, 2005 22:15

Nie stukną się przypadkiem? :wink:
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostŚr 16 mar, 2005 22:21

3 m w świecie FlashPointowym to przesada - rozsądna odległość to 7 m minimum...
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline
Avatar użytkownika

JaFranek

Major

Major

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

PostŚr 16 mar, 2005 22:33

Właśnie z tymi 7 metrami to może być problem ( przynajmniej dla mnie ). Prubowałem cos zrobić ale mi cierpliwości brakło :(

Jeśli nie ważne jest dla Ciebie po której stronie stoi jednostka od ciebie w tych 7 metrach to to będzie dobre:


#Loop
_oa = GetPos e1 Select 0
_ob = GetPos e1 Select 1

e2 DoMove [_oa, _ob +7, 0 ]

~1

Goto "loop"


e2 to nazwa jednostki podążającej za e1

Prubowałem też aby jednostka zawsze była za jednostką ale to nie jest kompletny skrypt. Ale jeśli koncepcja by była dobra i ktoś wiedział by jak to dokończyć .......... :idea:

#Loop
_oa = GetPos e1 Select 0
_ob = GetPos e1 Select 1

~1

_oc = GetPos e1 Select 0
_od = GetPos e1 Select 1


?(_oa > _oc) and (_ob > _oc): e2 DoMove [_oc + 5, _ob + 5, 0 ]
?(_oa < _oc) and (_ob > _oc): e2 DoMove [_oc - 5, _ob + 5, 0 ]
?(_oa < _oc) and (_ob < _oc): e2 DoMove [_oc - 5, _ob - 5, 0 ]
?(_oa < _oc) and (_ob > _oc): e2 DoMove [_oc + 5, _ob - 5, 0 ]

Goto "loop"


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

Jerry

Pułkownik

Pułkownik

  • Posty: 2598
  • Dołączył(a): Pn 19 lip, 2004 21:28
  • Lokalizacja: 52° 14'N, 20° 56'E

PostŚr 16 mar, 2005 22:39

No te 3 to tak dla przykładu, no.. :P Próbuję przerobić skrypt Pandy dla Poruszania się oddziałów piechoty bez rozłażenia sie po bokach, ale chętnie tez zobacze inne rozwiązania :)
Obrazek
Offline
Avatar użytkownika

JaFranek

Major

Major

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

PostŚr 16 mar, 2005 22:46

Mugłbyś podać ten skrypt Pandy w tym topicu ??
Nie pytaj, co OF może zrobić dla ciebie, ale co Ty możesz zrobić dla OF
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostŚr 16 mar, 2005 23:04

Jonez napisał(a):3 m w świecie FlashPointowym to przesada - rozsądna odległość to 7 m minimum...


Tu nie chodzi o to że za mało, tylko że jeżeli prowadzący np. przejedzie 10 metrów i stanie to podążający pojedzie dokładnie tam gdzie on stoi :]. Tak przyanjmniej wynika ze skryptu. Ciekawe czy AI się zatrzyma i w ogóle co będzie robić skoro "coś" stoi w miejscu gdzie ma dojechać.

JaFranek napisał(a):Prubowałem też aby jednostka zawsze była za jednostką ale to nie jest kompletny skrypt. Ale jeśli koncepcja by była dobra i ktoś wiedział by jak to dokończyć ..........


Funkcje trygonometryczne się kłaniają :twisted: :wink:
Offline
Avatar użytkownika

Jerry

Pułkownik

Pułkownik

  • Posty: 2598
  • Dołączył(a): Pn 19 lip, 2004 21:28
  • Lokalizacja: 52° 14'N, 20° 56'E

PostŚr 16 mar, 2005 23:32

alderous napisał(a):
Tu nie chodzi o to że za mało, tylko że jeżeli prowadzący np. przejedzie 10 metrów i stanie to podążający pojedzie dokładnie tam gdzie on stoi :]. Tak przyanjmniej wynika ze skryptu. Ciekawe czy AI się zatrzyma i w ogóle co będzie robić skoro "coś" stoi w miejscu gdzie ma dojechać.


I dokładnie mi o to chodzi, by niezależnie, czy tamten pojazd stoi, czy się porusza, ten drugi był za nim o te parę metrów.
Obrazek
Offline
Avatar użytkownika

ag_smith

Chorąży

Chorąży

  • Posty: 243
  • Dołączył(a): Pt 21 sty, 2005 00:27
  • Lokalizacja: Wawa

PostCz 17 mar, 2005 03:37

Komenda doMove nie rozróżnia miejsc przeznaczenia odległych od siebie o mniej niż 10 (?) metrów, co oznacza, że jeśli każemy pojazdowi przesunać się np. o 5 metrów, to nie ruszy się on z miejsca.
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostCz 17 mar, 2005 08:51

Jerry napisał(a):
alderous napisał(a):
Tu nie chodzi o to że za mało, tylko że jeżeli prowadzący np. przejedzie 10 metrów i stanie to podążający pojedzie dokładnie tam gdzie on stoi :]. Tak przyanjmniej wynika ze skryptu. Ciekawe czy AI się zatrzyma i w ogóle co będzie robić skoro "coś" stoi w miejscu gdzie ma dojechać.


I dokładnie mi o to chodzi, by niezależnie, czy tamten pojazd stoi, czy się porusza, ten drugi był za nim o te parę metrów.


Ale każesz mu być dokładnie tam gdzie jest pierwszy pojazd, a nie pare metrów za nim, comprendre?
Offline
Avatar użytkownika

Jerry

Pułkownik

Pułkownik

  • Posty: 2598
  • Dołączył(a): Pn 19 lip, 2004 21:28
  • Lokalizacja: 52° 14'N, 20° 56'E

PostCz 17 mar, 2005 09:39

Dlatego właśnie się zastanawiam, jak zrobić domove do pozycji pojazdu poprzedzającego minus te parę metrów...
Obrazek
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostCz 17 mar, 2005 09:49

hmm...auto1 doMove [(getPos auto2 select 0)-3*sin(getDir auto2),(getPos auto2 select 1)-3*cos(getDir auto2)] 8)
Offline
Avatar użytkownika

JaFranek

Major

Major

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

PostCz 17 mar, 2005 15:22

Udało mi się zrobić ten skrypt bez funkcji trygonometrycznych 8) . Na odległości mniejsze niż 7 metrów skrypt głupieje. Jednostka ładnie podąża za drugą jednostką.

#Loop

@e1 Distance e2 > 7

_oa = GetPos e1 Select 0
_ob = GetPos e1 Select 1

e2 DoMove [_oa, _ob, 0 ]

?(e1 Distance e2) < 10:Goto "Dalej"

~0.1

Goto "Loop"

#Dalej
_oc = GetPos e2 Select 0
_od = GetPos e2 Select 1

e2 DoMove [_oc, _od, 0 ]

~0.1

Goto "Loop"


e2 to jednostka podążająca za e1

Dopisane

auto1 doMove [(getPos auto2 select 0)-3*sin(getDir auto2),(getPos auto2 select 1)-3*cos(getDir auto2)]


Wow w tym skrypcje jednostka podążająca zawsze jest za plecami drugiej jednostki, nawet gdy ta stoi w miejscu i tylko się obraca :shock: :spoko:
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 31 mar, 2005 14:39

Komenda doMove nie rozróżnia miejsc przeznaczenia odległych od siebie o mniej niż 10 (?) metrów, co oznacza, że jeśli każemy pojazdowi przesunać się np. o 5 metrów, to nie ruszy się on z miejsca.

To zależy od rodzaju jednostki. Jerry, zostaw mój skrypt, komplikujesz sobie życie.
można to rozwiązać każąc jednostce ruszać się gdzieś dalej, po czym zatrzymując ją w połowie:
Kod: Zaznacz cały
_unit1=_this select 0
_unit2=_this select 1
_dist=_this select 2

#begin
@((_unit1 distance _unit2)>_dist)
_unit2 domove getpos _unit1
@((_unit1 distance _unit2)<_dist)
dostop _unit2

Goto "begin"
TEST
OMGWTFBBQ
Następna strona

Powrót do Operation Flashpoint

Kto przegląda forum

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

cron