MeloPL Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 Witam, mam pewien problem. Nie potrafię zrobić czegoś takiego, by jedno "if" dotyczyło dwóch rzeczy naraz. Pragnę zrobić coś w stylu "if (place_meeting(x,y-2,hero))" połączone z "if ziel = true", ale nie wiem, jak to sensownie napisać, by nie było żadnego błędu. Chodzi o to, że warunek "ziel" połączony ze staniem postaci na obiekcie, będzie powodował pewną rzecz (którą umiem wykonać). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Czerwca 2009 Administratorzy Udostępnij Opublikowano 29 Czerwca 2009 Do wyboru do koloru (a klawisza F1 nie ma w GM?) GML if costam and costam2 if costam or costam2 if costam and costam and costam2 if costam { if costam2 { } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 if(place_meeting(x,y-2,hero)) && (ziel = true") { /rób coś/ } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
47xxxxxxxx Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 if costam && costam {akcja} if costam and costam {akcja} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 if (costam1 || costam2){ działanie} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 29 Czerwca 2009 Autor Udostępnij Opublikowano 29 Czerwca 2009 No, więc wcześniej sam nawet korzystałem z "and", ale myślałem, że po prostu to nie działa i trzeba użyć innej komendy. Jednak to działa, a ja myślałem, że nie, bo błąd zrobiłem w czymś innym (lecz nie wiem, w czym). Mój skrypt step zielonego klocka wygląda tak: if (place_meeting(x,y-2,hero)) and (ziel = true) { znikanie = 1 } if (znikanie = 1){ image_alpha-=0.05 } if (image_alpha < 0){ instance_destroy()} Jednak mimo to, że wszedłem w zielony obiekt, który powoduje "ziel = true", to po nastąpieniu na zielony klocek (ze skryptem powyżej), to nic się nie dzieje. Zielony obiekt ma taki skrypt kolizji z bohaterem: ziel = true; image_alpha-=1; if (image_alpha < 0){instance_destroy()} Warunek "ziel = false" umieściłem w create bohatera. Gdy ze step skryptu zielonego klocka usunę "and (ziel = true)", klocek normalnie zanika, lecz nie trzeba kolizji z zielonym obiektem, na której mi zależy. A jeśli jednak zostawie "and (ziel = true)" ze step zielonego klocka, to mimo kolizji z zielonym obiektem, zielony klocek nie zanika przy nastąpieniu na niego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 oj oj oj za duzo pogmatwania. patrz: w create zielonego kloca dajesz: ziel = true dalej w step: if (image_alpha < 0){instance_destroy()} i w kolizji z bohaterem: ziel = true; image_alpha-=0.01; i starczy aż za świat Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 Eltix, w create ma być napisane 'false', a nie 'true', a w evencie collision: ziel = true if(ziel = true) image_alpha -= 0.01 Dodaj event begin step i wpisz: ziel = false Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 dla mnie to ziel jest niepotrzebne zupełnie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 Mój skrypt step zielonego klocka wygląda tak: if (place_meeting(x,y-2,hero)) and (ziel = true) { znikanie = 1 } if (znikanie = 1){ image_alpha-=0.05 } if (image_alpha < 0){ instance_destroy()} Jednak mimo to, że wszedłem w zielony obiekt, który powoduje "ziel = true", to po nastąpieniu na zielony klocek (ze skryptem powyżej), to nic się nie dzieje. Zamiast 'if(place_meeting(x,y-2,hero))' użyj 'if(collision_rectangle(x,y,x+|szerokość sprite'a|,y+|wysokość sprite'a|,hero,true,false) = true)'. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
don_soyer Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 jak dla mnie 80% kodu jest niepotrzebna zeby dzialalo. tak jak napisałem dziala. pozdro Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 29 Czerwca 2009 Autor Udostępnij Opublikowano 29 Czerwca 2009 Eh, zastosowałem się do wszystkiego, co tu napisaliście. Zrobiłem dokładnie tak, jak napisał eltix, ale klocek zanikał nawet wtedy, gdy się nie wzięło tego zielonego obiektu. Poprawiłem na taką wersję, o jakiej napisał (po kolei, w 2 postach) Muuuuczek567, lecz tym razem klocek wcale nie znikał, nie ważne, czy wzięło się ten zielony obiekt, czy nie. Dlatego powtórzę, że mam problem ze skryptem, dzięki któremu po wzięciu zielonego obiektu, a po tym ustanięciu na zielonym klocku, zaczyna on (klocek) zanikać (skrypty, jakie do tego napisałem, które wymagają poprawki, bo nie działają zamieszczone są parę postów wyżej). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 jak dla mnie 80% kodu jest niepotrzebna zeby dzialalo. tak jak napisałem dziala. pozdro Jeśli ci działa, to udostępnij ten przykład. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 29 Czerwca 2009 Autor Udostępnij Opublikowano 29 Czerwca 2009 Witam ponownie. Tak więc dalej mam ten sam problem, o którym napisałem 2 posty wyżej. Do tego właśnie chciałbym też się spytać, co zrobić, by dzięki strąceniu wszystkich klocków z mapy (jeśli wreszcie powyższy problem udałoby się rozwiązać) postać przechodziła do kolejnego poziomu i dostawała (dzięki przejściu do kolejnego poziomu) punkty, oraz aby je traciła przy każdym spadnięciu z mapy? To może być trudne, przynajmniej część z tego, ale póki nikt nie odpowie dalej będę kombinował, jak to zrobić, a przede wszystkim jak naprawić mój problem 2 posty wyżej. Pozdrawiam. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 29 Czerwca 2009 Udostępnij Opublikowano 29 Czerwca 2009 Bohater, evevt Step: GML if(instance_number(klocek) = 0) { punkty += |ilość punktów| room_goto_next() } if(y > room_height) { punkty -= |liczba punktów| x = xstart y = ystart } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 30 Czerwca 2009 Autor Udostępnij Opublikowano 30 Czerwca 2009 Ok, zrobiłem tak, jak jest napisane wyżej. Wszystko działa (tylko trzeba było zmienić "punkty" na "score"), z tym, że jak już się spadnie, to niestety po powrocie na miejsce początku roomu, nie restartuje się on. Jest na to jakiś skrypt, by room się odnowił po upadku? :D Aha, no i jeszcze jedno - dalej mam problem z tym, że nie potrafię zrobić działającego skryptu na to, by zielony klocek znikał po tym, jak bohater zdobędzie pewien zielony obiekt i na niego nastąpi (na zielony klocek). 1. Bohater biega po zielonym klocku, ale klocek nie znika. 2. Bohater bierze zielony obiekt (ma z nim kolizję). 3. Bohater staje na zielonym klocku, który zaczyna zanikać. To chcę osiągnąć. Na razie umiem zrobić tylko skrypt, by klocek zanikał po tym, jak nastąpi na niego bohater. Mój nieudany skrypt wyglądał w ten sposób: 1. W create zielonego obiektu "ziel = false". 2. Po kolizji z gracza z zielonym obiektem "ziel = true" 3. W skrypcie zielonego klocka, gdy bohater na niego nastąpi "and" ziel = true, klocek znika. Jednak skrypt robiony tak, jak napisałem wyżej, po prostu nie działa. :/ Dlatego potrzebuję pomocy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
boom Opublikowano 30 Czerwca 2009 Udostępnij Opublikowano 30 Czerwca 2009 zamiast x = xstart,y = ystart daj room_restart() i po kłopocie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MeloPL Opublikowano 30 Czerwca 2009 Autor Udostępnij Opublikowano 30 Czerwca 2009 Zamieszczam tu mój projekcik: http://www.speedyshare.com/370730969.html Jehttps://forum.gmclan.org/index.php?showtopic=18590#śli ktoś wie, co zrobić z moim problemem powyżej, a nie wie dokładnie, o co chodzi, lub chce specjalnych skryptów z mojego projektu, by sprawdzić, co tam zrobiłem, to niech ściągnie ten projekt i zobaczy, lub spróbuje naprawić ten skrypt, a po tym opisze, co trzeba zrobić, lub zamieści gotowy (projekt). --------------------------------------------------- Edit. Zauważyłem, że wątek zszedł z tematu. Tytuł wątku, to "if cośtam + coś.", czyli nawiązuje on tylko do tego, a sam wątek jednak schodzi na kolejne tematy, co może wielu zmylić (i ma trochę sprzeczności z regulaminem), dlatego postanawiam założyć nowy temat, który będzie kontynuował ten wątek (i będzie do niego oczywiście nawiązywał). Tak więc mój kolejny problem będzie w kolejnym temacie, a ten temat można już zablokować, gdyż został już na początku rozwiązany. Pozdrawiam. 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ę