Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Witajcie!

1. Napotkałem problem, który nie za bardzo wiem jak obejść. Otóż posiadam koszary, w których rekrutuję ludzi. Problem polega na tym, że tworzą się oni jeden na drugim, a przez to nie mogą się ruszyć (chodzą za pomocą mp_potential_step). Wszystkie rozwiązania które próbowałem zastosować zawodzą...

Próbowałem zrobić by nowonarodzeni żołnierze podążali przez chwilkę do jakiegoś punktu w okolicy baraków, jednak ostatecznie do tego miejsca robiła się kolejka, i znów ostatni w kolejce "zrastał się" z nowym rekrutem.

 

2. Kolejne pytanie: Jak inaczej zrobić system poruszania? Na razie jest tak, że zaznaczam ludzi i przez kliknięcie na mapę każę im iść. Oni zapisują sobie cel w zmiennych wewnętrznych i idą, a gdy są przy nim (około 20 pikseli) to się zatrzymują. Problem w tym, że im więcej ludzi próbuje dojść tym więcej "tańczy" dookoła punktu w którym już stoją ludzie i zajmują miejsce.

 

Z góry dziękuję i pozdrawiam!

Opublikowano

1. Generalnie mp_potential_step sam z siebie to mało. Przydało by się stworzenie jakiejś siatki po której Twoje jednostki mogły by się poruszać. Przejrzyj funkcje mp_...

 

2. Grupuj. Niech grupa podąża do celu w jakiejś formacji. Bo tu problemem jest, że każda jednostka ma ten sam punkt docelowy no i próbuje go osiągnąć.

Opublikowano

Dziwnie trochę to rozwiązałem. Całą mapę mam podzieloną na pola 32x32, pola te podzieliłem jeszcze na 4, i w nich ustawiam jednostki (8x8). Po prostu jeśli reszta z dzielenia zmiennych cel_x i cel_y (odpowiadających za cel podróży jednostek) nie wynosi zero to odejmuję po 1 i sprawdzam jeszcze raz. Niewiem na ile to jest dobre rozwiązanie, bo tylko jedna jednostka osiąga cel. Teraz jednak mam więcej danych odnośnie położenia jednostek. Istnieje funkcja, która pozwoli mi określić czy w danym punkcie stoi już jednostka?

Opublikowano
Istnieje funkcja, która pozwoli mi określić czy w danym punkcie stoi już jednostka?

 

instance_position(x,y,object)

collision_point(x,y,object,prec,notme)

Opublikowano

Pomocne. Już jednostki lepiej ogarniają jak mają się poruszać, ale to jeszcze nie wszystko...

Jeśli jednostka pojawi się w polu do którego miały iść wszystkie inne, to niewiem w jaki sposób kazać im wyszukać kolejnego wolnego miejsca, którego najbliżej są i które jest najbliższe temu zajętemu...

Opublikowano

Musisz sprawdzić czy w miejscu, do którego idzie jednostka, jest wolne. Jeśli nie jest to powinna poszukać innego wolnego miejsca lub się zatrzymać.

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...