alwin Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 Mam globalne GML global.planet_earth_osrodki_wydobywcze = 0; GML global.planet_moon_osrodki_wydobywcze = 0; // planeta -_- GML global.planet_mercury_osrodki_wydobywcze = 0; I Jestem sobie w obj_menu które odpowiada za budowanie budynków. Zależnie która planeta jest aktualnie wybrana do globalnej global.current_planet GML global.current_planet = "global.planet_earth_" A w drawie obj_menu mam : GML /* CENTRUM ############ ########## WYDOBYWCZE */ if(mouse_x>=view_xview[0]+724 && mouse_x<=view_xview[0]+756 && mouse_y>=view_yview[0]+324 && mouse_y<=view_yview[0]+356) { if (mouse_check_button_pressed(mb_left)) { // mamy kase if(global.statistics_ore>=planet_cena_osrodki_wydobywcze) { global.statistics_ore-=planet_cena_osrodki_wydobywcze; //TUTAJ JEST PROBLEM //Mam tak: if(global.current_planet == "global.planet_earth_"){global.planet_earth_osrodki_wydobywcze+=1} //Ale to bez szensu aby robić ify dla wszytskich planet tutaj.. // Czy nie dałoby rady tego zrobić np tak = zmienna = string(global.current_planet)+ "osrodki_wydobywcze" // czyli global.planet_earth_osrodki_wydobywcze zmienna+=1; // tak aby odwołało mi do global.planet_earth_osrodki_wydobywcze i ją powiększyło } } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 post do usunięcia xD w evencie END STEP daj global.zmiennaktorachceszpowiekszyc=zmienna Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
baca Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 W tytule jest. Czyżby gra na 0x? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2011 Autor Udostępnij Opublikowano 27 Maja 2011 Co w tytule jest? Nie.. gra na PC. edit: Aaa nooo jo! :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawka83 Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 Omg "Czyżby gra na 0x?" czyli na https://forum.gmclan.org/index.php?showtopi...view=getnewpost Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 Spróbuj z GML execute_string(global.planet+"_pierdoły_na_planecie +="+string(wartość)) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kt1117 Opublikowano 27 Maja 2011 Udostępnij Opublikowano 27 Maja 2011 Dajmy na to zmienną a i b. Jak zwiększy się zmienna a, to musi zwiększyć się zmienna b, ale nie mają mieć takiej samej wartości. Trzeba więc sprawdzać, czy zmienna a się zmieniła. Potrzebna jest więc nowa zmienna, dajmy na to ab. I teraz czas na kod: GML (Begin Step) ab=a GML (End Step) if a>ab b+=1 Oczywiście zmienną ab musisz zadeklarować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 27 Maja 2011 Autor Udostępnij Opublikowano 27 Maja 2011 Spróbuj z GML execute_string(global.planet+"_pierdoły_na_planecie +="+string(wartość)) COMPILATION ERROR in string to be executed Error in code at line 1: global.planet_earth_osrodki_wydobywcze ^ at position 38: Assignment operator expected. a zrobiłem tak- GML execute_string(planeta_nazwa+"osrodki_wydobywcze") i to mi daje dostęp do zmiennej global.planet_earth_osrodki_wydobywcze ? więc zmiena+=1 powinna powiekszyć global.planet_earth_osrodki_wydobywcze ? Udało się - GML execute_string(string(planeta_nazwa)+'osrodki_wydobywcze+=1') Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 28 Maja 2011 Udostępnij Opublikowano 28 Maja 2011 Eee, a nie można tak: GML variable_global_set("nazwa_planety",1) ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 28 Maja 2011 Autor Udostępnij Opublikowano 28 Maja 2011 Nie wiem. Ale ja chcę zmienną powiększyć np o 1 a nie ustawić ją na 1; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 28 Maja 2011 Udostępnij Opublikowano 28 Maja 2011 znaczy chcesz zmienić nazwę zmiennej o 1 numerek? Czemu nie użyjesz tablic? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
alwin Opublikowano 28 Maja 2011 Autor Udostępnij Opublikowano 28 Maja 2011 nie nazwę.. przeanalizujmy. mamy globalne np global.ziemia_koszary = 0; global.mercury_koszary = 0; mam obiekt menu w którym jest zmienna planeta_nazwa. Zmienna ta przyjmuje wartość zależnie od tego jaką mamy zanzaczoną planetę. Np Mercury-> jakis tam obiekt kontroler wysyła informację do obiektu menu, do zmiennej planeta_nazwa = "global.mercury" a w menu mam również zakodowane budowanie budynków- (zmniejszyłem kod dla przejrzystości) GML // koszary if (mouse_check_button_pressed(mb_left)) { execute_string(string(planeta_nazwa)+'_koszary+=1') // } Jakoś tak się za to wziąłem. Jeżeli zaznaczona bedzie np ziemia wtedy GML execute_string(string(planeta_nazwa)+'_koszary+=1') // da nam GML global.ziemia_koszary=+1; TAkie dynamiczne cuś. Nie chciałem pisać tworzenia budynków w każdej planecie.. wolę jak jeden obiekt bedzie za to odpowiedzialny. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
M@ILOSZ Opublikowano 29 Maja 2011 Udostępnij Opublikowano 29 Maja 2011 Nie wiem. Ale ja chcę zmienną powiększyć np o 1 a nie ustawić ją na 1; No to przecież proste: GML variable_global_set("nazwa_planety",variable_global_get("nazwa_planety")+1) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Maja 2011 Administratorzy Udostępnij Opublikowano 29 Maja 2011 A moim zdaniem szybciej i czytelniej jest tak: GML //w okienku z constans: merkury = 1 wenus = 2 ziemia = 3 mars = 4 ... //w kodzie global.jakas_wlasciwosc[merkury] = jakas_wartosc; Używam tego sposobu od jakiegoś czasu i całkiem dobrze mi się z tym pracuje. Druga zaleta - podpowiada w kodzie ;) 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ę