blondi Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 Więc tak robiąc po swojemu questlog napotkałem taki problem,otóż strzałkami chciałbym przewijać questy (tak chce nosić więcej niż 1-2 limit na 5 załóżmy) Jak napisać warunek że jeśli mam tak podzielone questy quest[0] quest[1] quest[2] itd itd, i każdą z tych wartości ma false(nie ma jeszcze questa w dzienniku) true kiedy ma być quest...i teraz sedno sprawy jak zrobić żeby omijał te co sa na false? O.o...np z 2 questa na 34? z góry dzieki za pomoc ^^" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pamparampa Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 gdzieś w create zadeklaruj, że i=0 z=0 GML do { if quest { z=i <pokaz quest[z]> break } i+=1 if i>ilość questów {i=0} } until(i!=z) mam nadzieję, że zadziała Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 12 Lutego 2011 Autor Udostępnij Opublikowano 12 Lutego 2011 więc tak : w create mam (w questach) zmienną -quest_aktualny=opd za to właśnie jaki quest ma byc -quest=gdzie i to numer questa -questaktywny=false/true=to czy quest jest w dzienniku czy nie i albo jestem pusty albo to co podałeś nie działa sprawdziłem na wszystkie możliwe sposoby;/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 GML //event rysowania/wyswietlania questlog'a j=false; for(i=0;i<5;i+=1)//robimy pętle { if(quest)//sprawdzamy czy quest jest dostępny { draw_text(x,y+j*20,text_quest)//wyświetl text j+=1; } } Dzięki zmiennej j, text jest wyświetlany jeden pod drugim. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 12 Lutego 2011 Autor Udostępnij Opublikowano 12 Lutego 2011 z rysowaniem sie przyda pewnie tylko tu jest kwestia przełączania tych questów co są nieaktywne: załóżmy przełączamy questy strzałkami lewo-prawo,jest 5 questów ogólnie 1-true 2-false 3false 4-true 5-true cos takiego i ma przeskakiwać te co są na false do tych co są na true i po prostu nie mam bladego pojęcia jak ;/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 GML // create a=false; //aktualna pozycja amax=10;//wymiar tablicy (tablica ta ma 11 elementów od (0 do 10) //klawisz w lewo if(keyboard_check_pressed(vk_left)&&quest[0]) { a+=1; if(a>amax)// jeżeli przekroczymy tablicę, to wróć na początek tablicy a=false; while(!quest[a]) { a+=1; if(a>amax) a=false; } } &&quest[0]- to jest po to, aby pętla nie była wykonywana w nieskończoność gdy wszystkie jej elementy mają wartość zero. Jeżeli mają być jakieś questy, to będą one w końcu dopisywane od komórki z indeksem 0, przynajmniej tak jest dla mnie logicznie. Gdy pierwsza komórka ma wartość zero, to nie ma żadnych questów i tablica nie będzie sprawdzana. Pod zmienną a masz numer indeksu interesującej Ciebie komórki. Resztę zostawiam Tobie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 12 Lutego 2011 Autor Udostępnij Opublikowano 12 Lutego 2011 hmmm inaczej podam (wiem jestem oporny na pomoc i wiedze) GML //create global.quests=0 total=3 current_quest=0 //Quest 1 quest[0]="Ocena Sytuacji :" questopis[0]=string_insert_breaks("Rozejrzyj się po okolicy.Zabij kilka goblinów w celu odnalezienia zaginionej figurki",150) questnagroda[0]="???" questexp[0]=1000 questile[0]=0 questwymagane[0]=1 questactive[0]=true questok[0]="nie" //Quest 2 quest[1]="Zabójca :" questopis[1]=string_insert_breaks("Dostałeś zlecenie na zabicie wodza goblinów.Udaj sie do ich obozu",150) questnagroda[1]="???" questile[1]=0 questexp[1]=1200 questactive[1]=false questok[1]="nie" questwymagane[1]=1 //Quest 3 quest[2]="Figury Boskie :" questopis[2]=string_insert_breaks("Doznałeś oświecenia!Biegnij do lasu SZYBKO!",150) questnagroda[2]="???" questile[2]=0 questexp[2]=2500 questactive[2]=true questok[2]="nie" questwymagane[2]=0 to mam w create a to w drawie: GML //Draw draw_text(view_xview+650,view_yview+10,quest[current_quest]) draw_set_color(c_silver) draw_text(view_xview+650,view_yview+10+string_height(quest[current_quest]),questopis[current_quest]) draw_set_color(c_olive) draw_text(view_xview+650,view_yview+12+string_height(questopis[current_quest])+string_height(quest[current_quest]),"Nagroda: "+string(questnagroda[current_quest])) draw_set_color(c_white) if not(questwymagane[current_quest]=0 ) draw_text(view_xview+650,view_yview+14+string_height(questnagroda[current_quest])+string_height(quest[current_quest])+string_height(questopis[current_quest]),string(questile[current_quest])+" / "+string(questwymagane[current_quest])) i ta cześć działa bez problemu @candy nie wiem czemu wyskakuje mi błąd że źle skonstruowane wyrażenie z " && quest[0]" nie wiem jak już to robić bo coś niezbyt mi idzie>.< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 Ponieważ pod quest[0] masz string, a ja myślałem, że ma być liczba. Dlatego się krzaczy. Masz pliczek, mam nadzieję, że o to Ci chodziło: https://gmclan.org/up4155_12_questy.html. Musisz to później przerobić na własne potrzeby. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 12 Lutego 2011 Autor Udostępnij Opublikowano 12 Lutego 2011 dziwne zrobiłem tak jak na twoim pliku wszystko idealnie tylko że pod moją zmienną i nie działa :o w ogóle nie przełącza...ech trza coś pokombinować<.< Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 12 Lutego 2011 Udostępnij Opublikowano 12 Lutego 2011 Co dokładnie Ci nie działa? Może po prostu nie zmieniłeś wartości zmiennej amax? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
blondi Opublikowano 12 Lutego 2011 Autor Udostępnij Opublikowano 12 Lutego 2011 dobra poprawka już działa,pozmieniałem parę rzeczy w create u siebie i już śmiga jak powinno xD wielkie dzięki ;x pomogłeś ogromnie xD 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ę