Ignis Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
wikku9 Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 chyba if alarm[0] = -1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 No raczej tak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wikku9 Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 gdy alarm jest nieaktywny to ma wartość -1 poczytaj art o alarmach Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Assassin Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 Ale event alarm wykonuje się przy wartości 0. Czy 0 czy -1, coś to w ogóle zmienia ? Poza tym powiedział: co 5 sekund, nie gdy jest nieaktywny alarm. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
wikku9 Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 ale on chce po alarmie poprzednim i przed następnym wywołać tą akcję to i tak będzie 5 sekund i alarm chyba będzie się wykonywał od stworzenia obiektu więc będzie dobrze Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
Assassin Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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. 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 Więcej opcji udostępniania...
LionX Dagger Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
Mentoss Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
LionX Dagger Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 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 Więcej opcji udostępniania...
Mentoss Opublikowano 21 Kwietnia 2010 Udostępnij Opublikowano 21 Kwietnia 2010 sorki, zgubiłem zerowanie sec'a i chyba nie zauważyłem zerowania... zwracam honor, już poprawione. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignis Opublikowano 21 Kwietnia 2010 Autor Udostępnij Opublikowano 21 Kwietnia 2010 Dziękuję wszystkim! 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ę