Gibki Kaktus Opublikowano 9 Kwietnia 2015 Udostępnij Opublikowano 9 Kwietnia 2015 Jestem już chyba ślepy, bo nie widzę gdzie tutaj błąd mam: o_system create GML maxrzad=9; maxmiejsce=14; for(r=0;r<=maxrzad;r+=1) { for(i=0;i<maxmiejsce;i+=1) { itemk[i,r]=-1; } } for(r=0;r<=maxrzad;r+=1) { for(i=0;i<maxmiejsce;i+=1) { itemki[i,r]=0; } } itemk[0,0]=0 itemk[1,0]=1 itemk[2,0]=2 itemki[0,0]=4 itemki[1,0]=2 itemki[2,0]=1 o_item.step GML if o_system.itemrodzaj[item]=5 { for(r=0;r<=o_system.maxrzad;r+=1) { for(i=0;i<=o_system.maxmiejsce;i+=1) { if o_system.itemk[i,r]=-1 { o_system.itemk[i,r]=item; instance_destroy(); } } } } Błąd: ___________________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Evento_gracz for object o_item: Push :: Execution Error - Variable Index [14,0] out of range [14,-1] - 0.itemk(100162,448000) at gml_Object_o_item_CollisionEvent_17_1 (line 72) - if o_system.itemk[i,r]=-1 ################################################################################ ############ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 9 Kwietnia 2015 Udostępnij Opublikowano 9 Kwietnia 2015 GML for(i=0;i<maxmiejsce;i+=1) GML for(i=0;i<=o_system.maxmiejsce;i+=1)Jeden znak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CyberZoGA (ZombiesWillBack) Opublikowano 9 Kwietnia 2015 Udostępnij Opublikowano 9 Kwietnia 2015 Nie jestem pewny ale coś tu nie gra GML if o_system.itemk[i,r]=-1 { o_system.itemk[i,r]=item; instance_destroy(); } nie powinno być czasami? GML if o_system.itemki[i,r] == -1; //<--- { //... } ale nie jestem pewny EDIT: OPS Tymon szybszy, bardziej się zna :P :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gibki Kaktus Opublikowano 9 Kwietnia 2015 Autor Udostępnij Opublikowano 9 Kwietnia 2015 Jestem już ślepy ;_; Godzinę przyglądałem się wszystkiemu, a tego nie zauważyłem, mimo, że zwracałem na to uwagę... Dzięki. E: Jak ty chcesz dać średnik w ifie? I podwójny znak równości nie jest wymagany, to nie C# czy coś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 10 Kwietnia 2015 Udostępnij Opublikowano 10 Kwietnia 2015 Nie jestem pewny ale coś tu nie gra nie powinno być czasami? GML if o_system.itemki[i,r] == -1; //<--- { //... } ale nie jestem pewny EDIT: OPS Tymon szybszy, bardziej się zna :P :) W C++ czy innych podobnych językach programowania taki zapis jaki przedstawił Boad przypisałby o_system.itemki[i,r] wartość -1 i wykonał to co jest w środku bloków poprzedzonych warunkiem za każdym, bo operacja przypisania zwraca wartość true i się wykonuje, ale GML jest trochę nielogiczny pod tym względem a to dlatego że można w nim stosować polecenia z Pascala, to znaczy nie wiem czy zadziała pętla for i czy będą działały bloki begin i end, ale w każdym razie porównywanie zmiennych działa jak w Pascalu co nie oznacza że powinno się mieszać te 2 style, ogólnie lepiej przyzwyczajać się do == bo później łatwiej z GMa przestawić się na inne języki. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
szmalu Opublikowano 11 Kwietnia 2015 Udostępnij Opublikowano 11 Kwietnia 2015 To nie jest nielogiczne, to dobrze że GML jest uproszczony i przystosowany dla początkujących programistów, mi samemu dużo dała znajomość GML jako podstawa do nauki "prawdziwych" języków. Przyjazne dla amatorów, a osoba bardziej zaawansowana i tak ma już dobre nawyki i używa prawidłowych operatorów porównania, średników, nawiasów przy warunkach (przynajmniej w Javie, bo widzę że tutaj nikt o tym nie wspomniał) itd. A z kolei na moich warsztatach z GM, uczę już od razu dobrych nawyków, a o ułatwieniach GML-a tylko wspominam, no ale większość studentów miała już jakąkolwiek styczność z programowaniem, więc uczenie podstaw nie ma sensu :P Także polecam dbać o odpowiedni zapis i formatowanie kodu. 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ę