Jeremiah Opublikowano 22 Grudnia 2010 Udostępnij Opublikowano 22 Grudnia 2010 Witam, chciałbym prosić o pomoc w rozwiązaniu pewnego dziwnego problemu: 1. Mam główny obiekt (hero). W create ma: b_id=0; h_t=instance_create(x,y,h_tarcza); h_t.szef=self.id; 2. W powstałym obiekcie mam między innymi (w step): if szef.b_id=0 { i tak dalej... } PS Podobnych odwołań mam więcej, usunięcie tej linijki powoduje tylko przejście problemu do następnej... 3. Zmiana roomu powstaje poprzez wciśnięcie enter w kolizji z innym obiektem: if x=133&&room=City1 { other.x=590; other.y=350; room=Gosp1; } 4. Podczas zmiany roomu pojawia się problem: Unknown variable b_id Potem wystarczy dać ignore i wszystko gra :D Nie wiem z czym to jest związane. Jeżeli zamiast "szef" wpisałbym "hero" to wszystko gra -_- niby mogę zaznaczyć w ustawieniach GM, żeby mi nieznane zmienne ustawiało jako '0", ale podczas dalszej pracy mogę mieć problemy i nie zauważyć, że jakaś zmienna nie jest zdefiniowana. Poza tym chciałbym poznać naturę problemu. Proszę o pomoc, bo nie potrafię skumać co tu może być nie tak -_- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 22 Grudnia 2010 Udostępnij Opublikowano 22 Grudnia 2010 if szef.b_id=0 nie powinno być na odwrót?: if b_id.szef=0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jeremiah Opublikowano 22 Grudnia 2010 Autor Udostępnij Opublikowano 22 Grudnia 2010 Nie, wtedy już na samym starcie pojawia się błąd. W końcu to "szef" to jest obiekt, a po kropce powinna być zmienna do której się odwołuję (b_id) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 22 Grudnia 2010 Udostępnij Opublikowano 22 Grudnia 2010 To ustaw, żeby nie pokazywał errorów i tyle ._. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2010 Administratorzy Udostępnij Opublikowano 22 Grudnia 2010 GML if instance_exists(szef){ if szef.b_id=0 { i tak dalej... } } Zobacz, czy to też powoduje błąd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jeremiah Opublikowano 22 Grudnia 2010 Autor Udostępnij Opublikowano 22 Grudnia 2010 Sprawdzałem już, niestety, tak... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2010 Administratorzy Udostępnij Opublikowano 22 Grudnia 2010 a przy zmianie roomu się czasem nie zmieniają id obiektów ? Dodaj w zdarzeniu room start dla h_tarcza: GML show_message(string(hero.id) + '/' + string(szef)); Poza tym, jeśli hero jest jeden, to nie ma sensu ustawianie szefa, tylko własnie korzystanie z hero. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 22 Grudnia 2010 Udostępnij Opublikowano 22 Grudnia 2010 to może daj CAŁĄ treść błędu Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 22 Grudnia 2010 Udostępnij Opublikowano 22 Grudnia 2010 To w create daj GML zmienna1 = false w przejściu do następnego rooma GML if x=133&&room=City1 { other.x=590; other.y=350; room=Gosp1; zmienna1 = true } Tu: GML if zmienna1 = false if szef.b_id=0 { i tak dalej... } i tyle ode mnie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2010 Administratorzy Udostępnij Opublikowano 22 Grudnia 2010 Zelman, to nie pomoże w niczym, do tego rozwiązanie jest głupie i zawiera błędy składni (ok, GM to uciągnie, ale...). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jeremiah Opublikowano 22 Grudnia 2010 Autor Udostępnij Opublikowano 22 Grudnia 2010 Gnysek - ID się nie zmienia. A ustawiam szefa, bo pewnie kilku herosów będzie, chcę mieć robotę po prostu ułatwioną ;) Zrobiłem na próbę, że po przyciśnięciu klawisza s zmienia się room bez zmiany x i y hero. Żaden problem się nie pojawia. Sęk w tym, że wtedy bohater znajduje się w różnych dziwnych miejscach ;) Dalej (też ciekawe). W create h_tarcza dopisałem b_id=10, z kolei w step if variable_local_exists(b_id). Wtedy działa, przy if variable_local_exists(szef.b_id) są problemy... nie kumam -_- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2010 Administratorzy Udostępnij Opublikowano 22 Grudnia 2010 Rozumiem, że wszystkie obiekty mają persistent? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jeremiah Opublikowano 22 Grudnia 2010 Autor Udostępnij Opublikowano 22 Grudnia 2010 Tak, mają. Roomy też. Zamiast if variable_local_exists(b_id) wpisałem if variable_local_exists('mama.b_id') Trochę lepiej to wygląda. EDIT: ale dopiero teraz zauważyłem, że wtedy step nie jest wykonywany -_- Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 22 Grudnia 2010 Administratorzy Udostępnij Opublikowano 22 Grudnia 2010 Czy czasem obiekty się nie duplikują przez to, że roomy mają presistence? Wydaje mi się, że tak własnie się dzieje - bo zachowujesz obiekty w roomie, ale je też przenosisz do następnego, w którym mozliwe, ze były już zapamiętane. Pytanie, czy błąd pojawia się przy wejściu do rooma, czy przy wyjsciu z poprzedniego. Ogólnie, to odradzam korzystanie z presistance. Fakt, ze trzeba troche wiecej kodu czasem napisac, ale od tego są struktury danych, zeby np. spakować wszystko co potrzebujesz w nie i potem odtworzyc w nowej planszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Jeremiah Opublikowano 22 Grudnia 2010 Autor Udostępnij Opublikowano 22 Grudnia 2010 Hm... fakt, wyłączenie persistent roomów spowodowało zniknięcie problemu. Sęk w tym, że o strukturach danych słyszę pierwszy raz. To wybitnie skomplikowanie? Czy trzeba będzie wyłączyć persistence roomów i obiektów, czy tylko obiektó/roomów? Jeśli to nie problem, jak wyglądałby kod na np. przeniesienie obiektu "hero" ze zmiennymi "x" i "byleco"? 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ę