Skocz do zawartości

/l/l-ichał

Użytkownicy
  • Postów

    112
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez /l/l-ichał

  1. To taj im event colision z drzwiami, a tam instance_destroy() albo w stepie: if (place_metting(x,y,obj_drzwi)) {instance_destroy()} Czyli tak samo jak ze ścianą.
  2. GML maxid=-1 iii=-1 mindistance=10000 for(i=0;i { iii=instance_id if(iii.object_index==obj_potwor3) { if(!collision_line(x,y,iii.x,iii.y,obj_mur,0,1)) { if(iii.distance {maxid=iii;mindistance=iii.distance} o=instance_create(x,y,obj_pocisk_sojusznika) o.direction=point_direction(x,y,maxid.x,maxid.y) o.speed=8 }}} To chyba nie wina spacji. Wszystko działa aż wróg nie zniknie.
  3. Już próbowałem ale kiedy go "zabiję" to mam błąd: ERROR in action number 1 of Step Event for object obj_sojusznik: Error in code at line 13: if(iii.object_index== obj_potwor3) at position 9: Unknown variable object_index próbowałem z instance_exists ale taki sam błąd
  4. Może nie jest profesjonalne ale mi działa.
  5. No tak i teraz znowu skopiuje cały przykład do swojej gry !!!
  6. Najprostszy sposób na drzwi to: Daj w drzwiach event colision z postacią. A w nim: if (keyboard_check(vk_space)) {instance_destroy()} Pisałem z głowy więc sprawdź.
  7. Właśnie widzę, zastanawiałem się dlaczego oni tacy jajowaci. Teraz wiem :lol2:
  8. Przecież cały silnik gry jest z przykładu. Może ewentualnie alarmy zmieniłeś. A poza tym widzę sporo rzeczy wymagających poprawki: - od kiedy wróg za każdym razem ginie po pierwszym strzale ? - czy ściany są przeźroczyste ? - drzwi same się otwierają, proponuję zrobić aby otwierały się za pomocą przycisku (np. space). - wszystko jest 32 * 32 (pixele) - można strzelać bez przerwy Ja się nie czepiam tylko pokazuję błędy, które mogłeś przeoczyć. Mam nadzieję, że w pełnej wersji to poprawisz. Sam kończę podobną grę, którą robię od początku sam i wiem, że to co wypisałem nie jest trudne.
  9. Jasne jak będziesz miał czas to zobacz o co chodzi ,a na razie się ucz. :D
  10. Makary155: Jasne, jeżeli Ci się uda to będę twoim dłużnikiem :thumbsup: eltix: Spróbuje to wyjaśnić. "A" strzela do "B" którego nie zasłanie "C" tylko w tedy kiedy jest bliżej od tego drugiego "B", którego zasłania "C". A - postać strzelająca B - cele (dwa) C - ściana Bardziej nie umiem tego opisać.
  11. Skrypt: GML{ maxid = -1; maxpower = 10000; for (i=0; i { iii = instance_id; if (!collision_line(x,y,obj_potwor3.x,obj_potwor3.y,obj_mur,true,true)) {if (iii.power < maxpower) {maxid = iii; maxpower=iii.distance} } } } Kiedy sojusznik widzi wroga błąd. ERROR in action number 1 of Step Event for object obj_sojusznik: Error in code at line 19: {if (iii.power < maxpower) at position 17: Unknown variable power Jest to trochę zawiłe, jednak jeżeli mi ktoś z tym pomoże to powinno mi zadziałać. Łatwiejszy jest skrypt eltixa, jednak nie działa a twórca się nie odzywa.
  12. Możliwe jednak mam błąd z tym unit. Jeżeli trzeba tylko usunąć to zobaczę. Edit: Nie zgadniesz co się stało po usunięciu unit. Kolejny błąd.
  13. Już nie strzela do przeciwnika, który jest bliżej ale za ścianą kiedy widzi dalszego, jednak niestety do tego dalszego strzela tylko wtedy kiedy to on jest tym najbliższym(instance_nearest). (mam nadzieję, że zrozumieliście) Oczywiście może to być również moja wina. Jednak za każdym razem tak jest, a poza tym wszystko działa. Bardzo proszę o wyjaśnienie w czym jest błąd. P.S. - oto skrypt od "eltix" po drobnych modyfikacjach GML if instance_exists(obj_potwor3) { var in; in=instance_nearest(x,y,obj_potwor3) if !collision_line(x,y,in.x,in.y,obj_mur,1,0) then { var bu; bu=instance_create(x,y,obj_pocisk_sojusznika) bu.direction=point_direction(x-16,y-16,in.x,in.y) bu.speed=8 }}
  14. Dzięki pewnie będzie działać jednak odpowiem później bo teraz nie mam dostępu do GM.
  15. najwidoczniej nie :) a nie ma jakiegoś prostszego skryptu? coś w stylu: najbliższy = "najbliższy(używając instance_nearest), który nie jest za ścianą(używając !colission_line)"?? Może nie byłoby to profesjonalne ale za to skuteczne. Dzięki Makery155, ale najwyraźniej mnie to przewyższa.
  16. Kurcze kolejny błąd ale tamtego nie mia. ERROR in action number 1 of Step Event for object obj_sojusznik: Error in code at line 16: if (iii.object_index == unit) at position 30: Unknown variable unit P.S. - dzięki za poświęcenie swojego czasu
  17. Taki niefajny błąd mi wyskoczył. FATAL ERROR in action number 1 of Step Event for object obj_sojusznik: COMPILATION ERROR in code action Error in code at line 20: {maxid = iii; maxpower = iii.distance_to_object(obj_potwor3)} at position 39: Variable name expected. P.S (sorki za double posta)
  18. Przepraszam ale trochę nie zajarzyłem, o którą pętlę z helpa chodzi?
  19. Tak użyłem instance_nearest oraz !colission_line. Próbowałem pętli ale jakoś mi nie wychodziło. A oto skrypty: postać "A" (step) GML if (instance_exists(obj_potwor3)) {dis = point_distance(x,y,obj_potwor3.x,obj_potwor3.y)} if dis < max_distance * 1 {zasieg=true} else {zasieg = false} najpotwor3 = instance_nearest(x,y,obj_potwor3) postać "A" alarm[1] GML if (zasieg=true) {if instance_exists(obj_potwor3) {if (!collision_line(x,y,obj_potwor3.x,obj_potwor3.y,obj_mur,true,true)) {instance_create(x,y,obj_pocisk_sojusznika)}}} alarm[1]=40
  20. Grawitacja: GML if place_free(x,y+1) {gravity = 0.5} else {gravity = 0} gravity_direction = 270
×
×
  • Dodaj nową pozycję...