PRT Opublikowano 12 Lutego 2008 Udostępnij Opublikowano 12 Lutego 2008 Witam, piszę AI. Do tego potrzebny mi był kod który znajdzie najbliższy obiekt o parencie PROWY, oraz przynależącym do odpowiedniego państwa ;). Oto kod z objaśnieniem. Acha nie patrzcie na klamry bo są wszystkie zamknięte tylk oto jest wycinek kodu ;P GML if wojsko>0 //jeżeli w ogóle są jakieś wojska w państwie { for(i=0;i<instance_count;i+=1) //pętla z obiektami { iii=instance_id // pobiera id kolejnego obiektu if instance_exists(iii) // sprawdza czy obiekt aby na pewno istnieje { parent=object_get_parent(iii) // pobiera parent danego obiektu if parent!=-1 // jeśli w ogóle parent istnieje { if parent="PROWY" // jeśli parent = PROWY , czyli obiekt jest prowincją { for(j=0;j<global.maxwojny;j+=1) // pętla z wojnami { if iii.panstwo=wojna[j] //jeśli nazwa państwa prowincji (iii) jest na liście wojen państwa z tym AI { for(k=0;k<maxwojska;k+=1) //pętla wojska { if obb[k].ruch=0 // jeżeli dane wojsko nie jest aktualnie w ruchu { obb[k].x=iii.x //to dane wojsko pojawia się na najbliższej prowincji państwa z którym mamy wojnę obb[k].y=iii.y //j.w ruch=1 // wojsko jest w ruchu } } } } } } } Teraz to jest prototyp ;) wojsko nie będzie znikało i pojawiało się w innym miejscu, ale to później dorobię, najpierw sprawy ogólne. Więc, kod zatrzymuje się na linij, kiedy jest sprawdzany czy parent!=-1. Wszystko co zanim, nie wykonuje się. Sprawdziłem, jest obiekt w roomie który ma parent PROWY , ba nawet są 2 (bo tylko 2 prowincje na razie ) Więc jest problem w object_get_parent gdyż pobiera zawsze -1 ;/ Być może da się ten kod napisać o wiele prościej, ale to są moje początki w pisaniu AI i każdy kolejny kod na pewno będzie bardziej zoptymalizowany. Starałem się wszystko ładnie wyjaśnić mam nadzieje, że rozwiążecie ten uciążliwy dla mnie problem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę