deyvin12008 Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 Mam w grze obj_wróg. W roomie jest ich wstawionych kilkanaście. Zrobiłem już że co 120 stepów strzelają wszystkie. Mój problem polega na tym, że chcę żeby tylko jeden (losowy) obj_wróg strzelał co 120 stepów. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 w jakimś obiekcie kontrolującym grę ustaw alarm na 120 a w nim: GML (alarm) var _wrog; _wrog = instance_find( obj_wrog, irandom(instance_number(obj_wrog)) ); with ( _wrog ) { // kod na strzal }; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
deyvin12008 Opublikowano 17 Kwietnia 2011 Autor Udostępnij Opublikowano 17 Kwietnia 2011 w jakimś obiekcie kontrolującym grę ustaw alarm na 120 a w nim: GML (alarm) var _wrog; _wrog = instance_find( obj_wrog, irandom(instance_number(obj_wrog)) ); with ( _wrog ) { // kod na strzal }; czyli mam obj_controler w nim tworzę event alarm0 w nim wpisuję var _wrog; _wrog = instance_find( obj_wrog, irandom(instance_number(obj_wrog)) ); with ( _wrog ) { // kod na strzal } a gdzie ustawić alarm0 na 120? P.S. Możecie mi to tak po kroku wytłumaczyć?? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 no np. w create tego kontrolera. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cordoba Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 Najlepiej ustaw go w Create obiektu, czyli: GML alarm[0]=120; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
deyvin12008 Opublikowano 17 Kwietnia 2011 Autor Udostępnij Opublikowano 17 Kwietnia 2011 Dzięki za pomoc. P.S. Nie zamykam jeszcze bo chciałem żeby strzelał jeden, a jest że strzela mi kilku, czy nie dało się zrobić żeby mniejsza liczba ich strzelała (mam z 10 a strzela od 3 do 6 a chciałbym żeby tak od 2 do 4 strzelało) Jeszcze jedno. Ma ktoś jakieś lepsze rozwiązanie . Jak tak mam to na początku dużo ich strzela ale za chwilę coraz mniej aż w końcu wcale albo jak ich jest mało to też w ogóle nie strzelają. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 HuderLord Twój kod jest wadliwy. Najpierw faktycznie wyszukuje losowego, ale za drugim wykonaniem dwóch, poczem 4 itd.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 17 Kwietnia 2011 Udostępnij Opublikowano 17 Kwietnia 2011 Tamten kod jest poprawny mała poprawka: GML var _wrog; _wrog = instance_find( obj_wrog, irandom(instance_number(obj_wrog)-1) ); with ( _wrog ) { // kod na strzal }; oto dowód: GM8.1> https://gmclan.org/up539_4_losowy_typ_strzela.html GM8 > https://gmclan.org/up539_12_losowy_ty_strzela.html Edit: @up widocznie tworzysz tego kontrolera razem z pociskiem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
deyvin12008 Opublikowano 18 Kwietnia 2011 Autor Udostępnij Opublikowano 18 Kwietnia 2011 Wielkie dzięki wam. P.S Jeśli możecie, to wytłumaczcie mi co jest do czego w tym kodzie, bo zrobiłem to ale nie chcę, żeby było, że bezmyślnie wklepałem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 18 Kwietnia 2011 Udostępnij Opublikowano 18 Kwietnia 2011 GML var _wrog;//zmienna tymczasowa _wrog = instance_find( obj_wrog, irandom(instance_number(obj_wrog)-1) );//wyszukiwanie losowego obiektu with ( _wrog )//kod jest wykonywany w wylosowanym obiekcie { // kod na strzal };//srednika nie powinno byc</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
deyvin12008 Opublikowano 18 Kwietnia 2011 Autor Udostępnij Opublikowano 18 Kwietnia 2011 var _wrog; _wrog = instance_find( enemy, irandom(instance_number(enemy)-1) ); with ( _wrog ) { instance_create( x, y, bullet ); }; alarm[0] = 60; _wrog = instance_find( enemy, irandom(instance_number(enemy)-1) ); tej linijki nie rozumiem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 18 Kwietnia 2011 Udostępnij Opublikowano 18 Kwietnia 2011 Czytaj to od środka: losujemy liczbe z przedzialu od 0 do (ilości przeciwników - 1) dalej funkcja instance_find znajduje obiekt o wylosowanym numerze i zwraca jego id EDIT: zrób jeszcze zabezpieczenie if ( instance_exists(enemy) ) na wypadek gdyby nie było żadnego przeciwnika. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
deyvin12008 Opublikowano 18 Kwietnia 2011 Autor Udostępnij Opublikowano 18 Kwietnia 2011 Wielkie DZIĘKI. wiem już wszystko więc zamykam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi