Anubarak Opublikowano 25 Sierpnia 2009 Udostępnij Opublikowano 25 Sierpnia 2009 Mam 2 obiekty player i npc. W npc mam taki kod: GML //create kolejka=ds_queue_create() aktualna_wartosc=0 //step if distance_to_object(player)<100 and keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)!=0 { ds_queue_clear(kolejka) ds_queue_enqueue(kolejka,"Czesc jestem Franek.") ds_queue_enqueue(kolejka,"Chce cie pociac.") ds_queue_enqueue(kolejka,"I mam dla ciebie misje.") ds_queue_enqueue(kolejka,"Oto jej tresc: potnij sie.") } if distance_to_object(player)>100 ds_queue_clear(kolejka) if keyboard_check_pressed(vk_enter) and ds_queue_empty(kolejka)=0 aktualna_wartosc=ds_queue_dequeue(kolejka) //draw if ds_queue_empty(kolejka)=0 draw_text(320,320,aktualna_wartosc) No i niby ta kolejka ignoruje ostatnią wartość czyli mi jej nie wyświetla. Co radzicie (oprócz tego żeby dodać piątą wartość która będzie tylko po to żeby pozostałe się wyświetlały a ta nie)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Sierpnia 2009 Administratorzy Udostępnij Opublikowano 25 Sierpnia 2009 Bo jak zdejmiesz z kolejki ostatnią wartośc, to do zmiennej aktualna kolejka przypisujesz dane z kolejki, ale warunek w draw nie jest już spełniony, bo przecież zdjąłeś ostatni element z kolejki :) Napisz samo "draw_text(320,320,aktualna_wartosc)" i zobaczysz, że ostatni wiersz ściąga. Ja bym zrobił tak: STEP GML ... ... //ostatni IF if keyboard_check_pressed(vk_enter) if not ds_queue_empty(kolejka) aktualna_wartosc=ds_queue_dequeue(kolejka); else aktualna_wartosc = ''; draw GML if aktualna_wartosc != '' draw_text(320,320,aktualna_wartosc); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Anubarak Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Teraz wyświetla się błąd że nie może porównać argumentów: ___________________________________________ ERROR in action number 1 of Draw Event for object object1: Error in code at line 1: if aktualna_wartosc !='' draw_text(320,320,aktualna_wartosc) at position 23: Cannot compare arguments. _______________________________________________ I niewiem jak temu zaradzić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 25 Sierpnia 2009 Administratorzy Udostępnij Opublikowano 25 Sierpnia 2009 w create masz aktualna_wartosc = '' ?? Wygląda na to, że masz zmienną real przypisaną. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Anubarak Opublikowano 25 Sierpnia 2009 Autor Udostępnij Opublikowano 25 Sierpnia 2009 Dzięki tamtego nie zauważyłem problem rozwiązany. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi