Marcin T. Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 Witam Mam małe pytanka, jak zrobić tak, że np. gdy będziesz miał 0 punktów, to nie możesz już nic kupować, a jak uzbierasz np. 1000 to znowu możesz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
LionX Dagger Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 Witam Mam małe pytanka, jak zrobić tak, że np. gdy będziesz miał 0 punktów, to nie możesz już nic kupować, a jak uzbierasz np. 1000 to znowu możesz? oto ci chodzi O.o? if punkty >=1000 { //kod kupna punkty-=1000 } else if punkty=0 { //Kod na wykop biedaka z sklepu :P } ps.Tak tylko zacytuje to co jest dużymi czerwonymi literami na samej górze tematu --------------------------------------------- Zanim zadasz pytanie: 1. Sprawdź czy odpowiedzi nie ma w dziale FAQ lub czy podobnego tematu nie było na forum 2. Zapoznaj się z polskim tłumaczeniem dokumentacji (help) 3. Zapoznaj się też z naszymi kursami i przykładami Powtarzające się pytania będą karane ostrzeżeniami lub usuwaniem tematów !!! Nigdy nie nazywaj tematu "Pomoc", "Help me!" itp. Tytuł tematu powinien być "mówiący" czyli taki, który od razu po przeczytaniu informuje o poruszanym w nim problemie. --------------------------------------------- ciekawsze punkty pogrubiłem Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Właśnie chudzi mi o ten wykop ze sklepu biedaka. Chodzi mi oto jak zrobić tak, że gdy nie będziesz miał wystarczająco dużo punktów ( masz np. 40, a żeby coś kupić jest potrzebne 50 ) To nie możesz np. postawić jakiegoś budynku, a jak kogoś zabijesz i dostaniesz za to 10 punktów to już możesz. Oczywiście po kupnie danego np. budynku to zmniejszają się twoje punkty o tyle ile kosztował ten budynek, czyli po prostu za niego zapłacisz. A w tych dużych czerwonych napisach tego nie ma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 Zrob punkty jako zmienna globalna. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Sory, ale ja jestem początkujący :( ? Niezbyt rozumiem? Zmienna globalna? Nigdy o takim czymś nie słyszałem? Nie wystarczy jakiś zwykły kod w np. step obiektu który u mnie kontroluję budowanie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 żeby zrobić global po prostu dodajesz ten przedrostek. np: zmienna na global.zmienna dzięki temu możesz się do 1 zmiennej odwoływać ze wszystkich obiektów Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arekadiusz Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 A więc tak: CREATE: GML global.punkty=0 //ustawia zmienną globalną punkty</span> PODCZAS ZDOBYWANIA PUNKTÓW: GML global.punkty +=10 //dodawanie 10 punktów(może być oczywiście inna ilośc punktów)</span> PODCZAS KUPOWANIA JAKIEGOŚ OBIEKTU: GML if global.punkty > 50 //jeżeli mamy więcej niż 50 punktów(zamiast 50 możesz wpisac jakąś inną ilość punktów) { //akcja jeżeli mamy tyle punktów(kupno itd.) global.punkty -=50 //zabieranie punktów(musi tu być taka sama liczba jak tam wyżej) } else { show_message("Sory! Nie masz tyle punktów!!!") //komunikat //akcja gdy nie mamy tyle punktów } EDIT: Kupowanie i zdobywanie punktów oczywiście możesz dać w innych obiektach. EDIT2: Poczytaj o zmiennych globalnych i innych: Dokumentacja, zmienne No myśle że prościej się chyba nie da. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Dobra zrobiłem jak mi powiedziałeś, ale gdy włączam grę to pokazuje mi się ten błąd: ___________________________________________ ERROR in action number 1 of Step Event for object object5: Error in code at line 3: global.punkty +=10 ^ at position 2: Unknown variable punkty A oto kod który miał robić tak, że gdy object5 ma 0 życia to znika i do daje mi 10 punktów ( w błędzie o nim jest napisane ) GML if ( hp <= 0 ) instance_destroy() global.punkty +=10 Co zrobiłem źle? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 musisz w create dać GML global.punkty=0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Dobra dałem to w create, ale teraz gdy buduję to nie odejmują mi się punkty. I mogę budować bez ustanku, a do tego za zabicie jakiegoś obiektu to nie rosną mi punkty :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 no to podaj kod na kupno, dodawanie punktów :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Kod na kupowanie: GML if global.punkty > 50 //jeżeli mamy więcej niż 50 punktów(zamiast 50 możesz wpisac jakąś inną cene towaru) { //akcja jeżeli mamy tyle kasy(kupno itd.) global.punkty -=50 //zabieranie kasy(musi tu byc taka sama liczba jak tam wyżej) } else { show_message("Sory! Nie masz tyle kasy!!!") //komunikat with(editor_controler) instance_destroy() } Kod na budowanie: GML if !instance_position(x div 25 * 25,y div 25 * 25,_aktualny) and y>25 instance_create(x div 25 * 25,y div 25 * 25,_aktualny); Kod na dodawanie punktów: GML if ( hp <= 0 ) instance_destroy() global.punkty +=10 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 if ( hp <= 0 ) instance_destroy() global.punkty +=10 a w jakim warunku(if -ie) to masz? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 W step jeśli o to pytasz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 W takim razie dodaje 300 punktów na sekundę ;P najlepiej prześlij projekt na pw (przyrzekam że nie użyje go do niecnych celów). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Dobra prześle tylko się nie zdziw, że jest trochę dziwny, robię dopiero testy gry którą chce zrobić w przyszłości... Wyśle ci w Game Maker 8.0 Pro. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 tam gdzie masz GML if ( hp <= 0 ) instance_destroy() global.punkty +=10 zmień na GML if ( hp <= 0 ) {instance_destroy() global.punkty +=10} Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 No dobra zmieniłem, ale nic się nie zmieniło oprócz tego, że gdy chce coś wybudować to pokazuje mi się ta informacja, że nie masz kasy, ale wciąż mi się buduje budynek. :( Zobacz na projekcie. Teraz idę się umyć i nie będę chwile pisał. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 Kod na kupowanie: GML if global.punkty > 50 //jeżeli mamy więcej niż 50 punktów(zamiast 50 możesz wpisac jakąś inną cene towaru) { //akcja jeżeli mamy tyle kasy(kupno itd.) global.punkty -=50 //zabieranie kasy(musi tu byc taka sama liczba jak tam wyżej) } else { show_message("Sory! Nie masz tyle kasy!!!") //komunikat with(editor_controler) instance_destroy() } Kod na budowanie: GML if !instance_position(x div 25 * 25,y div 25 * 25,_aktualny) and y>25 instance_create(x div 25 * 25,y div 25 * 25,_aktualny); Kod na dodawanie punktów: Kod na kupowanie i budowanie, musi być ze sobą jakoś powiązany. Nie mogą występować oddzielnie. Sugeruję się tym co wcześniej napisałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 usuń wszystko co jest w evencie Global Left Pressed w editor_controler i daj GML if global.punkty>49 { if !instance_position(x div 25 * 25,y div 25 * 25,_aktualny) and y>25 instance_create(x div 25 * 25,y div 25 * 25,_aktualny); global.punkty-=50; } else { show_message("Sory! Nie masz tyle kasy!!!") //komunikat with(editor_controler) instance_destroy() } sorry że tak długa ale przed chwilą dostałem beta key do MOH-a :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 30 Czerwca 2010 Autor Udostępnij Opublikowano 30 Czerwca 2010 Sory, że tak późno, ale do rzeczy. Dobra zostały mi tylko 2 błędy :) 1. Nawet gdy mam wyznaczaną ilość punktów na kupno obiektu to wyskakuje mi komunikat, że nie mam tyle kasy, na szczęście wtedy już mi się buduje budynek, chodzi mi tylko o ten komunikat. 2. Raczej takie pytanie niż błąd: Jak zrobić, żeby pokazywało ile mam tych punktów?, bo gdy robię normalnie to pokazuje mi zwyczajne punkty, a nie te za które kupuję. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 30 Czerwca 2010 Udostępnij Opublikowano 30 Czerwca 2010 1. Nawet gdy mam wyznaczaną ilość punktów na kupno obiektu to wyskakuje mi komunikat, że nie mam tyle kasy, na szczęście wtedy już mi się buduje budynek, chodzi mi tylko o ten komunikat. nie, po prostu kod na wyświetlanie wyniku jest zły. Aha i jeszcze zmień na GML if global.punkty>49 { if !instance_position(x div 25 * 25,y div 25 * 25,_aktualny) and y>25{ instance_create(x div 25 * 25,y div 25 * 25,_aktualny); global.punkty-=50; } } else { show_message("Sory! Nie masz tyle kasy!!!") //komunikat with(editor_controler) instance_destroy() } dzisiaj już mnie nie będzie, jutro wstaje o 3 więc trzeba się porządnie wyspać ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
candy Opublikowano 1 Lipca 2010 Udostępnij Opublikowano 1 Lipca 2010 Chodzi Ci o cenę budynków? Stwórz nową zmienną np cena w obiekcie który ma to wyświetlać. Następnie piszesz kod, który będzie do tej zmiennej przekazywał wartość budynku. Załóżmy, że masz panel wyboru budynków. Najeżdżasz teraz na któryś z budynków myszką. GML if(myszka jest nad budynkiem ) { if( !wybrany) { wybrany=true; o_rysuj.cena=100;//o_rysuj wyświetla cenę budynku } } else if(wybrany) { wybrany=false; o_rysuj.cena=false; } Zmienna wybrany jest po to aby budynki ciągle nie zerowały zmiennej cena. Potem juz tylko rysujesz zmienną cena. Wcześniej dajesz warunek: GML if(cena) draw_text() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 1 Lipca 2010 Udostępnij Opublikowano 1 Lipca 2010 https://gmclan.org/up6357_12_813f65d062.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 1 Lipca 2010 Autor Udostępnij Opublikowano 1 Lipca 2010 TheMarcQ ja wiem jak to robić już w mojej grze tak jest, chodzi mi o kupno, a nie o budowę. Candy nie o to mi chodziło. Jag by ci to wytłumaczyć...? Gdy chcesz, żeby pokazywało twoje punkty, życia, pasek życia to Score i tam wybierasz Set score, Draw lives itp. Wtedy twoje punkty widać w czasie gry ( klik ). Chodzi mi o to samo tylko, żeby było widać te punkty za które kupuję, czyli te pieniądze. Gdy robię to normalnie to pokazują mi się zwyczajne punkty, a nie te punkty pieniądze za które kupuję budynki. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 1 Lipca 2010 Autor Udostępnij Opublikowano 1 Lipca 2010 Sory za post pod postem pomyliło mi się i nie wiem jak tego posta usunąć :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 1 Lipca 2010 Udostępnij Opublikowano 1 Lipca 2010 [offtop]napisz do jakiegoś administratora z prośbą o usunięcie[/offtop] [offtop=2]fajnie żeby zostały zrobione takie ramki w bbcode :D[/offtop] sory ale dalej lekko nie kapuje :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 1 Lipca 2010 Udostępnij Opublikowano 1 Lipca 2010 w obiect 9 usuwasz event room start i dajesz draw, a w nim: GML draw_text(10,10,string(global.punkty)+"$") Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Marcin T. Opublikowano 1 Lipca 2010 Autor Udostępnij Opublikowano 1 Lipca 2010 Chodzi mi, o to żeby było widać ile masz pieniędzy tak jak punkty. Edit: A się trochę spóźniłem, dzięki mipo57 już działa :) Temat skończony i zamykam go :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mipo57 Opublikowano 1 Lipca 2010 Udostępnij Opublikowano 1 Lipca 2010 ale w twoim kodzie jest tylko global.punkty Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi