NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Poprzedni temat :: Następny temat
[TGF] Wykrywanie detektorem i akcja
Autor Wiadomość
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 17-10-2005, 00:10   [TGF] Wykrywanie detektorem i akcja

Zabardzo nie wiedzialem jak nazwać ten temat zeby było wiadomo o co chodzi, a żeby nie robic nazwy tematu na pół ekranu ;)

Otóż mam obiekty aktywne i każdy z nich ma detektor, mam petle która tworzy n detektorów itd. i wszystko jest cacy. Problem w tym że jesli gracz znajdzie sie w zasiegu detektora to akcje podejmie obiekt do ktorego należy ten sam obiekt (ma ta sama wartość A, która jest identyfikatorem). Ogólnie potrzebuje coś takiego zeby gracz po wejściu w detektor danego przeciwnika, ten przeciwnik otrzymywał odpowiednią wartość B. Teraz działa to tak, że po wejściu w zasięg jednego wroga działają wszyscy a tego nie chce :)
 
     
Natie 
Bohaterka


Główny edytor: Fusion 2.5
Pojedynki: nie
Pomogła: 7 razy
Posty: 380

10110 Prestiż
Wysłany: 17-10-2005, 00:12   

Do warunku colission dodaj Get all objects with altebrate value A = i tu wartość detektora który sie styknął z graczem.
 
     
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 17-10-2005, 00:25   

Crazy Corkin napisał/a:
Do warunku colission dodaj Get all objects with altebrate value A = i tu wartosc detektora który sie styknął z graczem.


Probowalem i nie dziala; reaguja wszyscy przeciwnicy
 
     
Tasmpol 
Bohater
young god


Główny edytor: MMF2
Pomógł: 14 razy
Posty: 955

24606 Prestiż
Wysłany: 17-10-2005, 00:32   

Nie bardzo rozumiem...
Jeżeli chodzi o to, że każdy wróg ma swoje pole zasięgu widzenia to najlepiej je utworzyć w takiej samej kolejności, jak wrogów. Potem dajemy na początku poziomu Set Alterbate value A dla detektorów i wrogów. Jeżeli:

Kod:
Gracz colliding with the Detektor +
Choose object Wrog with reference to they value A:
I tutaj aktywuj wroga.

Wątpię, czy o to chodzi, najlepiej daj tutaj przykład tego i ktoś poprawi. Hmmm... Pokombinuj jeszcze, kiedyś miałem coś podobnego i jakoś określone obiekty władowałem do określonych grup i wszystko było ok.
Daj przykład tego co chcesz uzyskać, jak możesz, a postaram się poprawić. Bo nie bardzo rozumiem, o co chodzi ;)
_________________
the preacher man says its the end of time
 
     
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 17-10-2005, 00:40   

Mam przeciwnikow i na starcie tworzone sa detektory, tworzone jest ich tyle ile przeciwnikow. Przyporzadkowane maja wartosci A jak i przeciwnicy (spread value), no i kazdy przeciwnik ma detektor [pole widzenia]. I wszystko działa jak nalezy. Chce teraz zrobic zeby po wejsciu w detektor danego wroga, jego wartosc B ustawiala sie np. na 50 (jest to 'chęć' do gonienia gracza, jesli gracz jest poza widokiem, to wartość B spada ciągle, jeśli dojdzie do 0 to przeciwnik przestaje nas gonić - możemy go 'zgubić'.). No i teraz problem w tym, że gdy wejde w jakikolwiek detektor, wartość B maja wszyscy przeciwnicy, a co za tym idzie, gonią mnie wszyscy :) Próbowałem tego z 'wybieraniem wszystkich obiektow o wartosci A = iles', jak i probowalem tez 'jesli wartosc detektor = wartosc wrog' i tez nie działa.
 
     
Tasmpol 
Bohater
young god


Główny edytor: MMF2
Pomógł: 14 razy
Posty: 955

24606 Prestiż
Wysłany: 17-10-2005, 00:47   

Mam nadzieję, że chodzi o to w załączniku:
A więc, jeżeli każdy wróg ma taką samą wartość A jak swój detektor, to jeżeli Gracz wejdzie na detektor to powinno pobrać wartość A tego detektoru, w który on wszedł i względem tej wartości powinien zareagować ten wróg, który ma wartość A jak ten detektor, w który wszedł Gracz...
Jeżeli o to chodzi to sprawdzę, czy to zadziała u mnie. Jeżeli nie - postaram się coś wykombinować.

[ Dodano: 2005-10-17, 00:00 ]
Sorry, że pisze drugiego posta pod rząd...
Przykład, u mnie działa:

wrogowie.JPG
Plik ściągnięto 143 raz(y) 14,85 KB

aaii.rar
Pobierz Plik ściągnięto 292 raz(y) 3,35 KB

_________________
the preacher man says its the end of time
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3444

33725 Prestiż
Wysłany: 17-10-2005, 10:37   

W moim silniku Zaawansowane AI (v1.4 :) ) jest zaimplementowane omijanie - sprawdź zdarzenia związane z tym zachowaniem i zobacz, czy o to właśnie chodzi (każdy przeciwnik osobno reaguje na kolizje detektora ze ścianą).

To powyższe też jest chyba dobre :)
 
     
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 04-11-2005, 01:36   

Eh, jakbym nie kombinował dalej nie działa, zawsze reagują wszyscy. Niewiem co z tym zrobić a rozwiązanie tego problemu jest mi bardzo potrzebne.

http://fire.duke.org.pl/ai.rar
 
     
Natie 
Bohaterka


Główny edytor: Fusion 2.5
Pojedynki: nie
Pomogła: 7 razy
Posty: 380

10110 Prestiż
Wysłany: 04-11-2005, 08:42   

Po pierwsze robiłeś pętlą spread tyle ile jest przeciwników , a robi się to tylko jeden raz, bo przeciwnicy dostaną po 0 ub 1 wartości A.
Po drugie podnosisz obiekty o wrtości A = detektorowi a nie przeciwnikowi.
Jak przyjdę ze szkoły to pokażę poprawiony przykład.
_________________
...
 
     
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 04-11-2005, 18:36   

Ok pozbyłem się spread w petli, wydawało mi się że przez to problem ale jednak usunięcie jednego problemu powoduje drugi :)

Teraz kazdy przeciwnik i wróg ma przyporządkowaną wartość i wszystko byłoby OK gdyby nie to, że detektory ustawiają się w odpowiednich pozycjach odnośnie tylko jednego przeciwnika. Czyli musi coś być nie tak ze zdarzeniem ustawiającym detektory - próbowałem zrobić tak:


Kod:
Get all object with value A = value A przeciwnik -> set position itd...


I to nie działa. Próbowałem też rozbić zdarzenia na indywidualne dla każdego detektora i zrobiłem warunek "jeśli wartość A detektor = v A przeciwnik" ale to też nie działa...
_________________
http://retrocade.net/
http://ccorner.duke4.net/
 
     
Natie 
Bohaterka


Główny edytor: Fusion 2.5
Pojedynki: nie
Pomogła: 7 razy
Posty: 380

10110 Prestiż
Wysłany: 06-11-2005, 10:29   

Źle było rodzielane spread, to czasami tak źle działa ta funkcja, Broo o tym w jednym arcie przestrzegał. Posprawdzałem licznikiem jakie są wartości A i wsystkie obiekty miały wartość A=0. Zmieniłem akcje spread do porównania czy ten duży trójkątny detektor jest w liczbie kopii równej tym zombiakom. Jeśli tak to z akcją Run this event once rodzieliłem 0 na zombiaki. Nie mam hosta więc wysłałem ci na maila. Mam nadzieje że u ciebie też działa ;)
Jeśli jakieś jeszcze błędy znajdziesz to powiedz, poprawie, napchałem tam pętli więc wiesz :)
_________________
...
 
     
Cage 
Plutonowy
Wishmaster


Główny edytor: Construct
Drugi edytor: RPG Maker
Pomógł: 3 razy
Posty: 84

2548 Prestiż
Wysłany: 07-11-2005, 16:50   

Działać działa, problem w tym, że teraz reaguje tylko 1 zombiak :) Będe bardzo wdzięczny za pomoc, sam nie jestem za dobry technicznie w tgf, pozatym strasznie długo się z tym problemem gimnastykuje i nie moge nic wymyśleć... Bardzo mi zależy na rozwiązaniu tego problemu, bo akurat zaplanowałem sobie zrobienie AI a teraz przez to po prostu się zatrzymałem.
_________________
http://retrocade.net/
http://ccorner.duke4.net/
 
     
Natie 
Bohaterka


Główny edytor: Fusion 2.5
Pojedynki: nie
Pomogła: 7 razy
Posty: 380

10110 Prestiż
Wysłany: 07-11-2005, 17:03   

Wysłałem ci chyba nie to co trzeba :P A jeśli i w tym co trzeba nie działa to będe główkował dalej :)
 
     
Omenski
Starszy kapral


Pomógł: 2 razy
Posty: 40

1019 Prestiż
Wysłany: 11-11-2005, 14:07   

Udało mi się przerobić plik ai.rar co był przesłany by działał poprawnie. Niestety nie mam jak tego wrzucić na jakiegoś FTPa. Jeśli kogoś jeszcze interesuje ten kod proszę o podanie mi na GG: 1266337 maila bądź adresu FTPa by móc umieścić plik.

Ogólnie mogę powiedzieć, że zły był algorytm ruchu. Przerobiłem też część przydzielającą wartości detektorom.

Na marginesie podam, że ten kod co napisałem nie będzie działał gdy ubijemy strażników - nie chciało mi się tego robić, zresztą to praca dla autora gry :D .

/Nie masz hosta?; RomanX/
Ostatnio zmieniony przez Minty 06-09-2007, 15:13, w całości zmieniany 1 raz  
 
 
     
BROO 
Pupogłowy
Wizard x-)


Główny edytor: TGF
Pojedynki: nie
Pomógł: 37 razy
Posty: 502

31680 Prestiż
Wysłany: 11-11-2005, 14:42   

A czy to oby nie jest centralnie kurs Czy widać przeciwnika?:
http://drewicz.superhost.pl/fg/kursy/16.html
 
     
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group