Gibki Kaktus Opublikowano 9 Marca 2015 Udostępnij Opublikowano 9 Marca 2015 GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Event0 for object bossy: Unable to find any instance for object index '116115' at gml_Object_bossy_StepNormalEvent_1 (line 63) - if distance_to_object(gracz) > dystans and distance_to_object(gracz) < 300 and atakuje=0 and hspeed=0 and ginie=0 ################################################################################ ############ O co chodzi? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 9 Marca 2015 Udostępnij Opublikowano 9 Marca 2015 Pokaż więcej kodu. Ale z tego co rozumiem, to pomiędzy przypisaniem do 'gracz', a kodem z błędu instancja jest usuwana. Spróbuj dopisać do warunku instance_exists(gracz) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 10 Marca 2015 Udostępnij Opublikowano 10 Marca 2015 Można korzystać z tylu warunków? A weź spróbuj to skrócić. Tak, że jeden if, pod drugim ifem. Wiem, że miałem coś podobnego i chyba właśnie źle coś w ifach dałem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 10 Marca 2015 Udostępnij Opublikowano 10 Marca 2015 Można korzystać z tylu warunków? A weź spróbuj to skrócić. Tak, że jeden if, pod drugim ifem. Wiem, że miałem coś podobnego i chyba właśnie źle coś w ifach dałem. What. Możesz korzystać z ilu chcesz. Poza tym błąd wskazuje na coś innego, niż zła konstrukcja. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 10 Marca 2015 Autor Udostępnij Opublikowano 10 Marca 2015 Można korzystać z tylu warunków ile się chce. Najgorsze jest to, że 3 miesiące temu to wszystko działało.. @Uzjel, tam pomogło, a co z tym zrobić: GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Eventkolizja for object bossy: Unable to find any instance for object index '116196' at gml_Object_bossy_CollisionEvent_1 (line 19) - if random(100)<other.sz ################################################################################ ############ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 10 Marca 2015 Udostępnij Opublikowano 10 Marca 2015 Za każdym razem powinieneś sprawdzać czy obiekt do którego się odnosisz istnieje. Wszędzie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 10 Marca 2015 Administratorzy Udostępnij Opublikowano 10 Marca 2015 Other widocznie nie istnieje w tym evencie, albo nie ma takiej zmiennej. I błąd może być przed wspomnianym kawałkiem kodu lub zaraz za - czasem kompilator się myli :) Edit: a co do warunków, w GMS jak pierwszy warunek zatwierdza resztę, to nie sa sprawdzane, np. if (1==2 and 2==2), pierwszy warunek jest fałszywy, to nie ma sensu sprawdzać drugiego, bo FALSE AND X zawsze da FALSE if (1==1 or 2==3), pierwszy warunek jest prawdziwy, to nie ma sensu sprawdzać drugiego, bo TRUE OR X zawsze da TRUE Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 10 Marca 2015 Udostępnij Opublikowano 10 Marca 2015 Edit: a co do warunków, w GMS jak pierwszy warunek zatwierdza resztę, to nie sa sprawdzane, np. if (1==2 and 2==2), pierwszy warunek jest fałszywy, to nie ma sensu sprawdzać drugiego, bo FALSE AND X zawsze da FALSE if (1==1 or 2==3), pierwszy warunek jest prawdziwy, to nie ma sensu sprawdzać drugiego, bo TRUE OR X zawsze da TRUE Pała, siadaj do ławki! :whip: To o czym mówisz dzieje się tylko podczas używania Short Circuit Evaluation czyli && oraz ||. No i oczywiście włączoną tą opcją. and i or w dalszym ciągu pozwalają reszcie warunków na sprawdzenie się. Tak więc dzięki temu można bez problemu robić coś takiego: GML if(instance_exists(other) && other.x<x) Edit: Wait wat??? Dałbym sobie... (albo i lepiej nie) że na początku and i or nie podlegały tym zasadom. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 10 Marca 2015 Autor Udostępnij Opublikowano 10 Marca 2015 Threef, zawsze jak używałem and i jesli pierwszy warunek nie był spełniany to reszta nie była sprawdzana. Tym razem nie pomogło: GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Eventkolizja for object bossy: Unable to find any instance for object index '117042' at gml_Object_bossy_CollisionEvent_1 (line 19) - if (instance_exists(other)) and random(100)<other.sz ################################################################################ ############ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 10 Marca 2015 Udostępnij Opublikowano 10 Marca 2015 Weź spróbuj wkleić ten kod ale w with(other) {...} w obiekcie z którym kolidujesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 10 Marca 2015 Autor Udostępnij Opublikowano 10 Marca 2015 Jak dałem with, to jeszcze szybciej jest błąd: GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Eventkolizja for object bossy: Push :: Execution Error - Variable Get -1.hp(100140, -2147483648) at gml_Object_bossy_CollisionEvent_1 (line 3) - hp-=other.atak ################################################################################ ############ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 11 Marca 2015 Udostępnij Opublikowano 11 Marca 2015 Kwestionowalbym posiadanie przez "other" odpowiedniego ID, ale z bledu widze ze jakiestam sobie posiada. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Marca 2015 Administratorzy Udostępnij Opublikowano 11 Marca 2015 HP wygląda jak niezdefiniowane. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 Hp jest dobrze wczytywane jak napisze bez with(). HP jestzdefiniowane w create. Kolizje tak robie(na takiej zasadzie) GML Atak=instace_create(kolizja,x,y) Atak.atak=atak Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Marca 2015 Administratorzy Udostępnij Opublikowano 11 Marca 2015 Ale -1 oznacza SELF, czyli obiekt który ma event kolizji nie ma zmiennej HP. http://code.gnysek.pl/45/instance-exists-p...mi-wartosciami/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 11 Marca 2015 Udostępnij Opublikowano 11 Marca 2015 Z tego co widzę, kod masz raczej ok. Musi się coś tam dziać, czego nie przewidujesz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 Uzjel, jak juz pisalem, wczesniej wszystko dzialalo. No taki blad wyskakuje jak uzywam with(). Jak jest bez with to mam taki blad: GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Eventkolizja for object bossy: Unable to find any instance for object index '117042' at gml_Object_bossy_CollisionEvent_1 (line 19) - if (instance_exists(other)) and random(100)<other.sz ################################################################################ ############ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Marca 2015 Administratorzy Udostępnij Opublikowano 11 Marca 2015 A co masz linijkę/dwie wcześniej ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 GML hp-=other.atak if gracz.dhp>0 and gracz.dhp<gracz.dmaxhp { tu jest kod na lifesteala. } pas.hp=hp if (instance_exists(other)) and random(100)<other.sz { czas=5 kr=other.atak } if other.stun>0 { stun=1 alarm[0]=room_speed*other.stun } if hp<0 { hp=0 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Marca 2015 Administratorzy Udostępnij Opublikowano 11 Marca 2015 GML pas.hp=hp a ten pas istnieje ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 Istnieje. Jest tworzony w create. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 11 Marca 2015 Administratorzy Udostępnij Opublikowano 11 Marca 2015 Hm, a poniżej znów masz if na other, bez sprawdzania czy istnieje... GML if (instance_exists(other)) { hp-=other.atak // to też przesnies z góry!!! if random(100)<other.sz { czas=5; kr=other.atak; } if other.stun>0 { stun=1; alarm[0]=room_speed*other.stun; } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 Okej, to się naprawiło, ale wracamy do punktu wyjścia, bo w stepie znów coś nie tak jest.. GML ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Event0 for object bossy: Unable to find any instance for object index '116040' at gml_Object_bossy_StepNormalEvent_1 (line 62) - if (instance_exists(gracz)) { ################################################################################ ############ EDIT: I jeszcze wyskakuje taki błąd: ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 2 of Step Event0 for object gracz: Unable to find any instance for object index '115651' at gml_Object_gracz_StepNormalEvent_2 (line 42) - kol.image_speed=image_speed ################################################################################ ############ Przy takim kodzie: GML cd1=cd1r*room_speed-(cd1r*dcd*room_speed) sprite_index=a1sprit if postac='Morderca' and dsz>99 { sprite_index=mor_atak11 } image_index=0 image_speed=cd1anim atakuje=1 strzela=1 kol=instance_create(x,y,nic) kol.sprite_index=k1 kol.image_speed=image_speed kol.image_xscale=image_xscale kol.atak=a1+a1*da kol.sz=0 kol.stun=0 kol.o=0 kol.typ=cd1typ kol.pan=id audio_play_sound(sound1,1,0) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 11 Marca 2015 Udostępnij Opublikowano 11 Marca 2015 gracz jest obiektem czy przypisujesz sobie gracz = obj_gracz; ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 11 Marca 2015 Autor Udostępnij Opublikowano 11 Marca 2015 gracz jest obietkem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 12 Marca 2015 Administratorzy Udostępnij Opublikowano 12 Marca 2015 Chyba nie podałeś całego kodu, bo to nie jest linijka 42, tylko 14. I STAWIAJ PROSZĘ ŚREDNIKI!!!! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 12 Marca 2015 Autor Udostępnij Opublikowano 12 Marca 2015 A co konkretnie średniki dają? To jest cały kod ataku. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 12 Marca 2015 Administratorzy Udostępnij Opublikowano 12 Marca 2015 W takim razie nie tego obiektu, bo błąd jest ewidetnie gdzie indziej (kolcek nr. 3, linia 42, event step obiektu gracz). Średniki kończą wyrażenie i zapobiegają łączeniu się ich. Większość języków bez tego uznaje ciągłość, GM:S próbuje je dostawiać sam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 12 Marca 2015 Autor Udostępnij Opublikowano 12 Marca 2015 Tego obiektu. W kodzie to jest 42 linijka. Ale ja tu sam kod ataku wkleilem. Wyzej sa same komentarze i nic nie wnoszoce do ataku rzeczy. Okej, zaczne uzywac srednika. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sutikku Opublikowano 12 Marca 2015 Udostępnij Opublikowano 12 Marca 2015 To ja tylko dodam od siebie, że z średnikami wszystko ładniej wygląda. A tak to bym sprawdził czy zadziała jak tak zrobisz GML image_index=0; image_speed=cd1anim; atakuje=1; strzela=1; kol=instance_create(x,y,nic); with(kol) { sprite_index=k1; image_speed=image_speed; image_xscale=image_xscale; atak=a1+a1*da; sz=0; stun=0; o=0; typ=cd1typ; pan=id; } Przyznam się, że nie pamiętam jak zadziała takie image_speed=image_speed. Czy przypiszę wartość gracza, czy kol. Ewentualnie self dodaj ;x Bo wychodzi na to, że we wcześniejszych przypisaniach, wszystko działa. 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ę