Deusald (Adamentium) Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Mam taki problem: Jak zrobić że są cztery rodzaje kluczy: kółko, kwadrat, krzyżyk i trójkąt. Są jeszcze drzwi o tych symbolach. Jak zrobić że mam np. klucz z krzyżykiem to mogę otworzyć drzwi o symbolu krzyżyk, i jak się je otworzy to klucz się traci. I tak z każdym symbolem. Drzwi po otworzeniu niszą się (destroy). Proszę o pomoc i fajne by było gdybyście dali przykładziki. :thumbsup: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 zrobić tablice "klucze" GML var i; for( i=0;i<4;i+=1 ) { global.klucze = 0; } //global.klucze[0] - czy mam kolko //global.klucze[1] - czy mam kwadrat //global.klucze[2] - czy mam krzyzyk //global.klucze[3] - czy mam trojkat Narazie wszystkie indeksy sa ustawione na 0, czyli nie masz tych kluczy. Jak zbierzesz np. krzyzyk to dajesz : GML global.klucze[2] = 1; a podczas otwierania drzwi, sprawdzasz, czy masz ten klucz GML if global.klucze[2] == 1 // jesli masz klucz { global.klucze[2] = 0; // tracisz klucz instance_destroy(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 http://www.gmclan.org/up2045_11_eded299cd3.html :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 możesz to zrobić tak: GML //create jakiegoś obiektu kontrolnego global.kluczkwadrat=0; global.kluczkolko=0; global.klucztrojkat=0; global.kluczkrzyzyk=0; // kolizja z kluczem (żeby go złapać) global.klucz/*tu dajesz nazwę danego klucza*/=1; instance_destroy() //kolizja z drzwiami np. krzyżykowymi if (global.kluczkrzyzyk==1) { instance_destroy() global.kluczkrzyzyk=0; } PS:pisane z pamięci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Po co robic 4 zmienne ? Tablica przeciez lepsza jest. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 @UP: Ojeju czepiasz się! Tak też można. Zreszta kiedy to pisałem to nie było twojego posta i pisałem na szybko. A jesli już mu dałeś kod z pętlą for to ciekawe czy wie do czego to w ogóle jest? To może ja wytłumaczę: Pętla for to pętla wyglądajaca trochę skomplikowanie, ale działająca jak każda inna. Składa sie z trzech argumentów oddzielonych (UWAGA:) średnikami! (nie przecinkami) Pierwszy to deklaracja zmiennej, drugi warunek, a trzeci to działanie wykonywane na ww. zmiennej. Działa to tak (pseudokod): GML // przykład: for(i=0;i<5;i+=1) { tablica=5+i; } //najpierw deklarowana jest zmienna i o wartości zero //sprawdza warunek //wykonuje polecenie zawarte w klamrach, czyli dla tablicy o indeksie i przypisuje wartość 5 zwiększoną o i //kończy iterację ("obieg") dodając do i 1 //sprawdza warunek ponownie //i znowu wykonuje polecenie... chwilę później //i wynosi już 5 i nie spełnia warunku pętla skończona Dziekuję mam nadzieję, że teraz gdy będziesz korzystał z pętli for będziesz wiedział jak działa ;] PS: a jeśli wiedziałeś to dobrze :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Ojeju czepiasz się! Tak też można. Wiem, ze mozna - ale napisalem co jest lepsze bo chyba o to chodzi. Moze jak jest tak malo danych, to jeszcze nie ma takiego znaczenia ale trzeba myslec przyszlosciowo o tym Adamentium xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 dobra, nie kłóćcie się. Ważne, że dostał 2 dobre odpowiedzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Misiek999 Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 dobra, nie kłóćcie się fajnie, że się kłócimy. Ty chyba kłótni nie widziałeś. :D Takie posty są jak najbardziej wskazane na forum, bo służy do dyskutowania. Nie offtopuj więcej proszę, Miśku999 ;) Tym razem bez warna. ΨΧΞ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 trzeba myslec przyszlosciowo o tym Adamentium xD No więc własnie wytłumaczyłem mu co to 'for', bo większość nowych uzytkowników nie uzywa pętli nie mówiąc już o takim 'dziwactwie' jak for :D Takie posty są jak najbardziej wskazane na forum, bo służy do dyskutowania. Właśnie ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 A ja tak dodam od siebie... Po co robic 4 zmienne ? Tablica przeciez lepsza jest. Tablica też służy do tworzenia zmiennych :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 fajnie, że się kłócimy. Ty chyba kłótni nie widziałeś. :D Takie posty są jak najbardziej wskazane na forum, bo służy do dyskutowania. No tak.....Przesadziłem trochę :sp_ike: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 28 Grudnia 2008 Autor Udostępnij Opublikowano 28 Grudnia 2008 Nie działa :crying: możecie mi dać jakies malutkie przykłady :( Prooooosze Sprawdzałem że nie działa żebyście nie mówili że nie. W tym pierwszym przykładzie nic nie ma. EDIT: To będzie gra logiczna i będzie więcej kluczy na planszy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Nie działa :crying: możecie mi dać jakies malutkie przykłady :( Prooooosze Sprawdzałem że nie działa żebyście nie mówili że nie. W tym pierwszym przykładzie nic nie ma. Przeciez podałem Ci przykład :mellow: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 28 Grudnia 2008 Autor Udostępnij Opublikowano 28 Grudnia 2008 Ale ten przykład nie działa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Ale ten przykład nie działa. Działa, przed chwila sprawdzałem. Jakiego masz GM? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Może pokaż nam swój projekt. Pozatym wyskakuje ci jakiś błąd czy poprostu nie działa? (chodzi o moje i Miśka skrypty) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 28 Grudnia 2008 Autor Udostępnij Opublikowano 28 Grudnia 2008 Mam Game makera 7 zarejestrowanego i wyskakuje błąd w twoich ZeroXbot i Misiek999 . EDIT: A ten twój przykład nie działa bo po zdobyciu klucza kółko drzwi nie znikają. Pisałem że kluczy będzie więcej bo to będzie gra logiczna. Nie pisz dwóch postów pod rząd, używaj przycisku "Edytuj"! Maximal Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 Mam Game makera 7 zarejestrowanego i wyskakuje błąd w twoich ZeroXbot i Misiek999 . EDIT: A ten twój przykład nie działa bo po zdobyciu klucza kółko drzwi nie znikają. Bierzesz kółko, podchodzisz do drzwi, NACISKASZ ENTER i co się dzieje... ? Nawet nie raczyłeś zajrzeć do kodu tylko od razu uruchomiłeś jak gre :blink: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 28 Grudnia 2008 Autor Udostępnij Opublikowano 28 Grudnia 2008 1.Nie o to mi chodziło (automatycznie po dotknięciu drzwi znikają). 2.Jak będzie więcej kluczy to nie zadziała (gracz zbierze dwa takie same klucze i wszystkie drzwi tego typu się otworzą). 3.Chodzi mi o klucze z gry tego typu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sirluki Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 1.Nie o to mi chodziło (automatycznie po dotknięciu drzwi znikają). 2.Jak będzie więcej kluczy to nie zadziała (gracz zbierze dwa takie same klucze i wszystkie drzwi tego typu się otworzą). 3.Chodzi mi o klucze z gry tego typu. 1. Wystarczy ze stepu gracza usunąć linijkę: GML &&(keyboard_check_pressed(vk_enter)) ... i będzie się usuwało automatycznie :) 2. Lekkie modyfikacje, ale nie warto pisać ich tutaj - lepiej byłoby poprawić je na przykładzie :) 3. No problemo :P Zauważ, że po kolizji z kluczem jest dodawany do zmiennej (+1) a po kolizji z drzwiami odejmowany (-1). W przykładzie który ja zrobiłem są dwa wypadki: klucz jest, albo go nie ma. Wróć do punktu 2 :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 28 Grudnia 2008 Udostępnij Opublikowano 28 Grudnia 2008 GML (Create) global.Key[0] = 0; // Klucz "Kółko" global.Key[1] = 0; // Klucz "Kwadrat" global.Key[2] = 0; // Klucz "Krzyż" global.Key[3] = 0; // Klucz "Trójkąt" GML (Collision with objDrzwi0) if( global.Key[0] > 0 ) { global.Key[0] -=1; with( other ) instance_destroy(); } GML (Collision with objDrzwi1) if( global.Key[1] > 0 ) { global.Key[1] -=1; with( other ) instance_destroy(); } GML (Collision with objDrzwi2) if( global.Key[2] > 0 ) { global.Key[2] -=1; with( other ) instance_destroy(); } GML (Collision with objDrzwi3) if( global.Key[3] > 0 ) { global.Key[3] -=1; with( other ) instance_destroy(); } GML (Collision with objKlucz0) global.Key[0] +=1; with( other ) instance_destroy(); GML (Collision with objKlucz1) global.Key[1] +=1; with( other ) instance_destroy(); GML (Collision with objKlucz2) global.Key[2] +=1; with( other ) instance_destroy(); GML (Collision with objKlucz3) global.Key[3] +=1; with( other ) instance_destroy(); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 29 Grudnia 2008 Autor Udostępnij Opublikowano 29 Grudnia 2008 Dobrze kody konrada-GM działają dzięki wszystkim za pomoc. :D :D EDIT: Aha jeszcze tylko jedno pytanie: Jak zrobić aby wyświetlało mi ilości poszczególnych kluczy? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 29 Grudnia 2008 Udostępnij Opublikowano 29 Grudnia 2008 Witam :) A więc musisz użyć kodu : GML ( DRAW) draw_sprite_ext( sprite_index,image_index,x,y,image_xscale, image_yscale,image_angle, image_blend,image_alpha); //zeby rysowało sprita bohatera //no i ilość kluczy : draw_text(x,y,"Masz:"+string(global.Key[0])+"Kluczy kółko"+" "+string(global.Key[1]+"Kluczy kwadrat"+" "+string(global.Key[2]+"Kluczy krzyż"+" "+string(global.Key[3])+"Kluczy trójkąt") te spacje to poto, żeby tekst się nie zlewał Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 29 Grudnia 2008 Autor Udostępnij Opublikowano 29 Grudnia 2008 Nie działa :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 29 Grudnia 2008 Udostępnij Opublikowano 29 Grudnia 2008 Pozwolę sobie użyczyć twojego kodu Mimek GML ( DRAW) draw_sprite_ext( sprite_index,image_index,x,y,image_xscale, image_yscale,image_angle, image_blend,image_alpha); //zeby rysowało sprita bohatera //no i ilość kluczy : draw_text(x,y,'Masz:'+string(global.Key[0])+'Kluczy kółko'+' '+string(global.Key[1]+'Kluczy kwadrat'+' '+string(global.Key[2])+'Kluczy krzyż'+' '+string(global.Key[3])+'Kluczy trójkąt') Nie powinny tu być apostrofy zamiast cudzysłowi? PS: Sprawdź Adamentium, czy masz to w evencie DRAW Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 29 Grudnia 2008 Autor Udostępnij Opublikowano 29 Grudnia 2008 Wyświetla mi się coś takiego FATAL ERROR in action number 1 of Draw Event for object object4: COMPILATION ERROR in code action Error in code at line 4: draw_text(x,y,'Masz:'+string(global.Key[0])+'Kluczy kółko'+' '+string(global.Key[1]+'Kluczy kwadrat'+' '+string(global.Key[2])+'Kluczy krzyż'+' '+string(global.Key[3])+'Kluczy trójkąt') at position 205: Symbol , or ) expected. Tu są te klucze możesz spróbować coś zrobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZeroXbot Opublikowano 29 Grudnia 2008 Udostępnij Opublikowano 29 Grudnia 2008 Juz wiem! Nie ma nawiasu zamkniętego przy (global.Key[1]. Jak go zmkniesz to powinno działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Deusald (Adamentium) Opublikowano 29 Grudnia 2008 Autor Udostępnij Opublikowano 29 Grudnia 2008 Działa :thumbsup: ale nie o to mi chodziło :unsure: Chodziło mi o coś takiego. Można tak? Jeśli można to proszę o kod. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 29 Grudnia 2008 Udostępnij Opublikowano 29 Grudnia 2008 Rysujesz sobie te kluczyki jako sprity i pod każdym odpowiednią zmienna wyświetlasz : GML draw_text(x,y,string(global.Key[0])+string(global.Key[1]))//itd. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi