Skocz do zawartości

Nie może znaleźć żadnej instancji


Gibki Kaktus

Rekomendowane odpowiedzi

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

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

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

  • Administratorzy

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

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

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

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

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

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

  • Administratorzy

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

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

  • Administratorzy

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

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

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ę...