kalis Opublikowano 18 Sierpnia 2005 Udostępnij Opublikowano 18 Sierpnia 2005 Ostatnio mi sie nudzilo a to sobie siadlem do Gm Pomysl sobie szybko znalazlem no i sobie robiem i robiem ale mam problem gdzie tu jest bład w kodzie : tmp=global.gracz[1,7] tmp2=tmp-1 if tmp2>=0 and global.ekwip_ile[1]<9 { global.gracz[1,7]=tmp2; global.ekwip_ile[1]+=1; global.dostepny_ekwip[1,global.ekwip_ile[1]]=1 } instance_destroy(); global.gracz[1,7] mam ustawione na 20 kod ten mam w left pressed i po nacnisnieciu na ten obiekt global.gracz[1,7] zmienia sie na 11a wg mnie powinno na 19 dodam ze global.ekwip_ile=0 na poczatku i to pewnie z tego sie bierze mi sie wydaje ze on mi ten if robi te 9 razy dawno sie nie bawilem i juz pozapominalem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zakol Opublikowano 18 Sierpnia 2005 Udostępnij Opublikowano 18 Sierpnia 2005 Jeżeli jest tak jak napisałeś, to ci raczej nie pomogę :] Sprawdź jednak, czy zamiast LEFT PRESSED nie zrobiłeś LEFT BUTTON, bo wtedy program dziewięciokrotnie wykona kod (jakbyś nie wiedział ;) )! 1. Sprawdzi, czy wartość global.ekwip_ile[1] jest mniejsza od 9; 2. Powiększy global.ekwip_ile[1] o 1, oraz pomniejszy global.gracz[1,7] o 1; 3. Na końcu powtórzy te czynności 9 razy, aż global.ekwip_ile[1] nie będzie równe 9; 4. Wynikiem czego będzie global.gracz[1,7] = 11 Przynajmniej tak mi sie wydaje :wink: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 18 Sierpnia 2005 Udostępnij Opublikowano 18 Sierpnia 2005 Być może wartość global.dostepny_ekwip[1,global.ekwip_ile[1]] nie istnieje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kalis Opublikowano 18 Sierpnia 2005 Autor Udostępnij Opublikowano 18 Sierpnia 2005 na poczatku wartosci maja: global.ekwip_ile[1]=0 global.dostepny_ekwip[1,0-9]=0; ( od 0 do 9) napewno mam left pressed i wiem ze to jest problem z ifem bo gdy zmieniem wartosc przy global.ekwip_ile[1]<wartosc to on mi to wykona tyle razy ile jest ta wartosc a ja chce tylko raz tymon ta wartosc istnieje bo global.ekwip_ile[1]=0 ale wchodzac do ifa zwieksza sie o jeden czyli otrzymujem global.dostepny_ekwip[1,1] co istnieje nie wiem moze moj mozg cos nie pojmuje dzis help me please Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zakol Opublikowano 18 Sierpnia 2005 Udostępnij Opublikowano 18 Sierpnia 2005 To widocznie zapomniałeś podać jakiejś ważnej informacji albo ci po prostu umknęła :P Sprawdziłem ten kod i u mnie działa prawidłowo (na końcu global.gracz[1,7]=19)). Może jakiś inny objekt zmienia tę wartość? :mellow: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kalis Opublikowano 18 Sierpnia 2005 Autor Udostępnij Opublikowano 18 Sierpnia 2005 dla proby usunelem wszystko i zostawilem zeby tylko po nacisnieciu na obiekt odjelo mi od tego 10 global.gracz[1,7]-=10; instance_destroy(); a okazalo sie ze odejmuje mi do -300 dziwne Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Zakol Opublikowano 18 Sierpnia 2005 Udostępnij Opublikowano 18 Sierpnia 2005 Sprawdź inne objekty! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kalis Opublikowano 18 Sierpnia 2005 Autor Udostępnij Opublikowano 18 Sierpnia 2005 przestudiowalem wszystko i dalej nic zmienilem kod if mouse_check_button_released(mb_left) { tmp2=global.gracz[1,7] tmp2-=5 if tmp2>=0 and global.ekwip_ile[1]<=9 { global.gracz[1,7]=tmp2; global.ekwip_ile[1]+=1; global.dostepny_ekwip[1,global.ekwip_ile[1]]=1 //napoj_reg_1 } global.pionek_akcja[1]=false; global.targowisko_akcja=false; global.czy_akcja_wykonane=true; instance_destroy(); } odkrylem że na poczatku global.ekwip_ile[1]=0 i wg tego co ja planujesz powinno sie o jeden zwiekszyc a sie zwieksza o 4 a gdy chce ponowic to juz pozostaje tylko 4 i bierze mi -37 z global.gracz[1,7] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kalis Opublikowano 19 Sierpnia 2005 Autor Udostępnij Opublikowano 19 Sierpnia 2005 if global.czy_zdarzenie[1]=true { ob_player1.x=200; global.czy_zdarzenie[1]=false//deaktywacja; global.czy_akcja=false//deaktywacja global.aktualny_player+=1; global.czy_ruch_pionek[global.aktualny_player]=true } Dawno się nie bawilem w GMie i nie pamietam kodu, ale może to dlatego że jest: if global.czy_zdarzenie[1]=true a nie: if global.czy_zdarzenie[1]==true Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 20 Sierpnia 2005 Udostępnij Opublikowano 20 Sierpnia 2005 Gdzieś ciągle jest zmieniana zmienna global.czy_zdarzenie[1] na true. Innego wytłumaczenia to nie ma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SLy Opublikowano 20 Sierpnia 2005 Udostępnij Opublikowano 20 Sierpnia 2005 Uruchom w Debug Mode i sprawdź jak zachowuje się reszta zmiennych. 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ę