Skocz do zawartości

Co jest źle


Ignis

Rekomendowane odpowiedzi

Moglibyście mi powiedzieć co jest źle w moim kodzie? Chciałbym by co pięć sekund pojawiał się na maie przeciwnik. Jeżeli to było proste to przepraszam. Dopiero zacząłem sam uczyć się poważniejszych kodów.

 

GML
if alarm[0]=0

switch(round(random(13)))

{

case 0:{instance_create(990,70,object1);} break;

case 1:{instance_create(990,90,object1);} break;

case 2:{instance_create(990,300,object1);} break;

case 3:{instance_create(990,150,object1);} break;

case 4:{instance_create(990,200,object1);} break;

case 5:{instance_create(990,80,object1);} break;

case 6:{instance_create(990,320,object1);} break;

case 7:{instance_create(990,64,object1);} break;

case 8:{instance_create(990,390,object1);} break;

case 9:{instance_create(990,410,object1);} break;

case 10:{instance_create(990,254,object1);} break;

case 11:{instance_create(990,59,object1);} break;

case 12:{instance_create(990,129,object1);} break;

case 13:{instance_create(990,368,object1);} break;

}

Odnośnik do komentarza
Udostępnij na innych stronach

GML
if [color="#0000ff"]alarm[/color][0]=0

switch(i[color="#000084"]random[/color](14))

{

case 0:{[color="#000084"]instance_create[/color](990,70,object1);} break;

case 1:{[color="#000084"]instance_create[/color](990,90,object1);} break;

case 2:{[color="#000084"]instance_create[/color](990,300,object1);} break;

case 3:{[color="#000084"]instance_create[/color](990,150,object1);} break;

case 4:{[color="#000084"]instance_create[/color](990,200,object1);} break;

case 5:{[color="#000084"]instance_create[/color](990,80,object1);} break;

case 6:{[color="#000084"]instance_create[/color](990,320,object1);} break;

case 7:{[color="#000084"]instance_create[/color](990,64,object1);} break;

case 8:{[color="#000084"]instance_create[/color](990,390,object1);} break;

case 9:{[color="#000084"]instance_create[/color](990,410,object1);} break;

case 10:{[color="#000084"]instance_create[/color](990,254,object1);} break;

case 11:{[color="#000084"]instance_create[/color](990,59,object1);} break;

case 12:{[color="#000084"]instance_create[/color](990,129,object1);} break;

case 13:{[color="#000084"]instance_create[/color](990,368,object1);} break;

}

Po co random ?

chyba if alarm[0] = -1

No chyba nie.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie zmienia jeśli kod sprawdzający jest w step, wtedy może co chwilę sprawdzić stan alarmu, jednak gdy jest np. w zdarzeniu naciśnięcia klawisza to cienko z tym 0.

 

W takim wypadku niech umieści kod generujący przeciwników w zdarzeniu alarmu.

GML
switch(round(random(13)))

{

case 0:{instance_create(990,70,object1);} break;

case 1:{instance_create(990,90,object1);} break;

case 2:{instance_create(990,300,object1);} break;

case 3:{instance_create(990,150,object1);} break;

case 4:{instance_create(990,200,object1);} break;

case 5:{instance_create(990,80,object1);} break;

case 6:{instance_create(990,320,object1);} break;

case 7:{instance_create(990,64,object1);} break;

case 8:{instance_create(990,390,object1);} break;

case 9:{instance_create(990,410,object1);} break;

case 10:{instance_create(990,254,object1);} break;

case 11:{instance_create(990,59,object1);} break;

case 12:{instance_create(990,129,object1);} break;

case 13:{instance_create(990,368,object1);} break;

}

alarm[0] = room_speed * 5;

Odnośnik do komentarza
Udostępnij na innych stronach

Event ALARM0 ---> if alarm[0]=-1 ---> NIE ZADZIAŁA NIGDY

 

A jeśli w stepie, po co -1, 0 rox :> ?

 

Ignis, może nie dałeś, żeby alarm ustawiał się na 5*room_speed, gdy wynosi 0 ? Sprawdź:

GML
if alarm[0]=0{

switch(irandom(14))

{

case 0:{instance_create(990,70,object1);} break;

case 1:{instance_create(990,90,object1);} break;

case 2:{instance_create(990,300,object1);} break;

case 3:{instance_create(990,150,object1);} break;

case 4:{instance_create(990,200,object1);} break;

case 5:{instance_create(990,80,object1);} break;

case 6:{instance_create(990,320,object1);} break;

case 7:{instance_create(990,64,object1);} break;

case 8:{instance_create(990,390,object1);} break;

case 9:{instance_create(990,410,object1);} break;

case 10:{instance_create(990,254,object1);} break;

case 11:{instance_create(990,59,object1);} break;

case 12:{instance_create(990,129,object1);} break;

case 13:{instance_create(990,368,object1);} break;

}alarm[0]=5*room_speed}

 

@UP no tymek co ty robisz :<

gdy jest np. w zdarzeniu naciśnięcia klawisza to cienko z tym 0.

Założyciel tematu powiedział: co pięć sekund.

 

@DOWN

A skąd mam wiedzieć, gdzie on to umieścił ? Nie nabijaj postów xd . Poza tym, sam napisałem:

Ale event alarm wykonuje się przy wartości 0.

więc tak jakby powtórzyłeś.

 

PS. Zróbcie coś z tym gmlem, bo muszę sto razy edytować posta (zapominam o tym, że [ gml][ /gml] się psuje :P ).

 

EDIT5:

Kapitanie oczywisty, ja tam wolę step i co i co :angry: .

To po cholerę czepiasz się tego 0? -1 i kropka.

Nie czepiam się :< . Przecież wyszło na to, że żadnego nie sprawdzamy, ani 0, ani -1, i kropka ;) .

EDIT6:

Jak tak bardzo chcesz pogadać o swojej pięknej optymalizacji mózgu, wejdź na gg :) .

EDIT7:

CYTATA skąd mam wiedzieć, gdzie on to umieściłCYTATPrzecież wyszło na to, że żadnego nie sprawdzamy ( bo jest w alarmie )To wiesz czy nie? :>

Ty oszuście :* . Dobra koniec, bo warna zaraz dostaniemy xd .

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko powiedz mi, po co sprawdzać czy alarm[0] == 0 skoro event jest wywoływany gdy już jest równy 0. Co?

 

No to dostał odpowiedź. Niech umieści w alarmie bez warunku i z ponownym ustawieniem alarmu.

 

EDIT

To po cholerę czepiasz się tego 0? -1 i kropka.

 

captainobvious5nobrain.png

 

EDIT 2

I jajco. Zoptymalizuj sobie mózg tak samo jak optymalizujesz kod źródłowy. :P

 

EDIT 3

A skąd mam wiedzieć, gdzie on to umieścił
Przecież wyszło na to, że żadnego nie sprawdzamy ( bo jest w alarmie )
To wiesz czy nie? :>
Odnośnik do komentarza
Udostępnij na innych stronach

Wy tam wymieniajcie zdania a ja dam takie rozwiązanie problemu :)

GML (create)
sec=0

 

 

GML (steps)
if sec>=5

{

switch(round(random(13)))

{

case 0:{instance_create(990,70,object1);} break;

case 1:{instance_create(990,90,object1);} break;

case 2:{instance_create(990,300,object1);} break;

case 3:{instance_create(990,150,object1);} break;

case 4:{instance_create(990,200,object1);} break;

case 5:{instance_create(990,80,object1);} break;

case 6:{instance_create(990,320,object1);} break;

case 7:{instance_create(990,64,object1);} break;

case 8:{instance_create(990,390,object1);} break;

case 9:{instance_create(990,410,object1);} break;

case 10:{instance_create(990,254,object1);} break;

case 11:{instance_create(990,59,object1);} break;

case 12:{instance_create(990,129,object1);} break;

case 13:{instance_create(990,368,object1);} break;

}

sec=0

}

sec+=1/room_speed

Odnośnik do komentarza
Udostępnij na innych stronach

mała podpowiedź: argumenty twojego instance_create'a nie różnią sie niczym z wyjątkiem osi Y. Krócej będzie więc w switchu znaleźć Y

 

jak chcesz na zmiennej, to trzeba tak:

GML
/* CREATE */

sec=0

GML
/* STEP */

if sec<5

{sec+=1/room_speed;}

else

{

var os_y;

 

switch(round(random(13)))

{

case 0:{os_y=70}

case 1:{os_y=90} break;

case 2:{os_y=300} break;

case 3:{os_y=990} break;

case 4:{os_y=200} break;

case 5:{os_y=80} break;

case 6:{os_y=320} break;

case 7:{os_y=64} break;

case 8:{os_y=390} break;

case 9:{os_y=410} break;

case 10:{os_y=254} break;

case 11:{os_y=59} break;

case 12:{os_y=129} break;

case 13:{os_y=368} break;

}

instance_create(990,os_y,object1);

sec=0;

}

Odnośnik do komentarza
Udostępnij na innych stronach

NIE!

najpierw ustawiłeś sec na zero, a później w stepie sprawdzasłeś czy >=5.

 

mała podpowiedź: argumenty twojego instance_create'a nie różnią sie niczym z wyjątkiem osi Y. Krócej będzie więc w switchu znaleźć Y

 

jak chcesz na zmiennej, to trzeba tak:

GML
/* CREATE */

sec=0

GML
/* STEP */

if sec<5

{sec+=1/room_speed;}

else

{

var os_y;

 

switch(round(random(13)))

{

case 0:{os_y=70}

case 1:{os_y=90} break;

case 2:{os_y=300} break;

case 3:{os_y=990} break;

case 4:{os_y=200} break;

case 5:{os_y=80} break;

case 6:{os_y=320} break;

case 7:{os_y=64} break;

case 8:{os_y=390} break;

case 9:{os_y=410} break;

case 10:{os_y=254} break;

case 11:{os_y=59} break;

case 12:{os_y=129} break;

case 13:{os_y=368} break;

}

instance_create(990,os_y,object1);

}

Nie wprowadzaj ludzi w błąd, on chciał co 5 sekund a nie po 5 sekundach by mu się tworzyła masa obiektów ;)

 

najpierw pomyśl zanim napiszesz (Podpowiem ci zapomniałeś wyzerować zegar)

 

A tam jest zero

 

bo na końcu w stepie dolicza się czas gdy uzyska 5 sekund się z powrotem zeruje

i znów potrzeba 5 sekund by stworzyć obiekt :o

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