Ignatus Opublikowano 11 Czerwca 2017 Udostępnij Opublikowano 11 Czerwca 2017 Dzięki, o coś takiego mi właśnie chodziło Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
SimianVirus7 Opublikowano 16 Czerwca 2017 Udostępnij Opublikowano 16 Czerwca 2017 Jak zrobić pętle for w skrypcie? Pisząc coś takiego: GML ///scr_itemBounce(times,spd); times = argument0; spd = argument1; for(i=0; i<10; i++) { phy_rotation += 1; } Zmienna i w forze cały czas ma ustawioną wartość 0, prawda? Dlatego pętla cały czas jest wykonywana. Próbowałem zmienną przypisać do argumentu ale w sumie to to samo (mam na myśli coś takiego: GML Step: scr_itemBounce(0); Skrypt: i = argument0; ) Wiem, że można by zmienną i przypisać w CREATE obiektu ale zależy mi, aby zmienna była właśnie tworzona tymczasowo w skrypcie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 16 Czerwca 2017 Udostępnij Opublikowano 16 Czerwca 2017 tymczasowo tworzy się dopisując var GML for(var i=0; i<10; i++) { phy_rotation += 1; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 17 Czerwca 2017 Udostępnij Opublikowano 17 Czerwca 2017 Hej, wie ktoś czy w kodzie można ustawić event: global mouse check button? Tzn w eventach jest dostępne takie coś natomiast jeśli chce sobie to zakodzić to już niestety nie ma. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 17 Czerwca 2017 Udostępnij Opublikowano 17 Czerwca 2017 Właśnie jest na odwrót. W kodzie "nie ma" mouse check, ale jest mouse check global. Funkcje mouse_check_button[_pressed,_released] są globalne i nie dotyczą kliknięcia na obiekt. Jeżeli chcesz przy kliknięciu na obiekt musisz to zrobić ręcznie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 18 Czerwca 2017 Udostępnij Opublikowano 18 Czerwca 2017 Dziękuję za odpowiedź, rzeczywiście racja leży po Twojej stronie :) Dziękuję za pomoc. Od razu mam drugie pytanie, nie chciałbym oczywiście nadużyć cierpliwości, ale czy w GM mogę od tak otworzyć sobie plik np tekstowy, tak że uruchamia się z domyślnego programu? Np. mam w folderze z grą plik notatnik readme i chciałbym aby po kliknięciu np danego klawisza on się otwierał. Wiem , że jest coś takiego domyślnie dla F1 , wtedy otwiera się game info, ale czy mogę zrobić to ręcznie dla pliku, który sam stworzę? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 18 Czerwca 2017 Udostępnij Opublikowano 18 Czerwca 2017 Tak. Jest na marketplace do pobrania "Execute Shell" który pozwala otwierać inne programy. Wystarczy że zrobisz "notepad.exe plik.txt" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Czołg Krymski Opublikowano 18 Czerwca 2017 Filar Społeczności Udostępnij Opublikowano 18 Czerwca 2017 Execute Shell dobra rzecz polecam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
H2S04 Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Mam drobnostkę, dawno programowałem w GMS i do tego kupiłem sobie GMS2 (Studio dawał mi popalić, bo ciągle miał jakieś problemy z winem 10 u mnie :/ ) i coś robię źle ale tego nie widzę... Hmm, nie wiem, wszystko wygląda ok, ale chyba coś musiałem zje*ać :D EDIT: Dobra ja durny jestem jak pień... Nie wiem na cholerę mi potrzebne było with (o_WeaponParent)... Ehh ja to zawsze :D Błąd: GML //Pumpo _______________________________________ ################################################################################ ############ FATAL ERROR in action number 1 of Step Evento_WeaponChooser for object o_Player: Variable <unknown_object>.<unknown variable>(100023, -2147483648) not set before reading it. at gml_Object_o_Player_Collision_5aae0650_fffc_495c_88b1_5aa3451b403a (line 7) - if other.weap > 5 { ################################################################################ ############ Collision Event o_WeaponParent. GML /// @description Insert description here // You can write your code in this editor var oldweap; with (o_WeaponParent){ if other.weap > 5 { if primweap = 0{ primweap = other.weap; primammo = other.ammo; primmag = other.mag; instance_destroy(other); } else { oldweap = instance_create_layer(x,y,"Instances",o_WeaponOld); oldweap.weap = primweap; oldweap.ammo = primammo; oldweap.mag = 0; } } } /* //Wypisałem sobie na zaś trochę tego, już mam wypisane bronie jakie chciałem. global.weaponid[16,0] = "Pumpo"; // name global.weaponid[16,1] = 20; // dmg global.weaponid[16,2] = 40; // AP global.weaponid[16,3] = 10; // Ammo global.weaponid[16,4] = 10; // Max Ammo global.weaponid[16,5] = 0; // Mag global.weaponid[16,6] = 5; // Max mag global.weaponid[16,7] = 0; // empty mag global.weaponid[16,8] = sou_Pumpo; // sound global.weaponid[16,9] = room_speed*4; // reload time global.weaponid[16,10] = room_speed*1; // shoting time global.weaponid[16,11] = 0; // mag ammo ////////////////////////////////</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Hej i ja również mam drobny problem. Mam ustawioną akcje przy evencie jednego kliknięcia prawym przyciskiem myszy. Czasami jednak akcja wykonuje się dopiero po dwukrotnym kliknięciu. Sprawdzałem na różnych myszkach , i to nie wina sprzętu. Zauważyłem, że za każdym razem gdy do tego dochodzi w CompileForm pojawia się taka wiadomość: Pause event has been registered for this frame Pause event has been unregistered Dodam, że nie mam w żadnym innym obiekcie ustawionego kodu aktywującego pauze. hmmm , dziwna sprawa. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 To chyba znaczyło że kliknąłeś poza okno. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Jak przypisać sprite_index do zmiennej?? Zwykłe GML sp=sprite_index zupełnie nie działa Zadanie jest takie że po danej czynności ludzik ma wrócić do sprite jaki miał tuż przed jej wykonaniem- tak jakby sprite_index=sprite_index_previous :P sprite_get_name i object_get_sprite też nei działają tak jak powinny albo źle ich używam Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Mam problem z collision_line GML collision_line(x,y,o_gracz.x,o_gracz.y,obiekty,true,false) chciałbym żeby collision_line wykrywał wszystkie obiekty a nie tylko ten wskazany . Dzięki :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ediepl Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Spróbuj z all Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
gilos99 Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Nie działa :C Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Jak przypisać sprite_index do zmiennej?? Zwykłe GML sp=sprite_index zupełnie nie działa Zadanie jest takie że po danej czynności ludzik ma wrócić do sprite jaki miał tuż przed jej wykonaniem- tak jakby sprite_index=sprite_index_previous :P sprite_get_name i object_get_sprite też nei działają tak jak powinny albo źle ich używam Dziwna sprawa, sp = sprite_index powinno działać, bo sprite_index to wartość REAL odnosząca się do indexu sprite'a. Na pewno nie aktualizujesz sp = sprite_index co step, powodujac ze sie nadpisuje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 zobiłem wszystko od poczatku na nowo i teraz sp=sprite_index działa.Dzięki Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 20 Czerwca 2017 Udostępnij Opublikowano 20 Czerwca 2017 Mam problem z collision_line GML collision_line(x,y,o_gracz.x,o_gracz.y,obiekty,true,false) chciałbym żeby collision_line wykrywał wszystkie obiekty a nie tylko ten wskazany . Dzięki :D http://www.gmlscripts.com/script/collision_circle_list To jest to czego szukasz. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
H2S04 Opublikowano 21 Czerwca 2017 Udostępnij Opublikowano 21 Czerwca 2017 Mam problem z kodem zmiany broni. Po pierwszym kliknięciu "E" broń leżąca na ziemi zmienia x i y na x i y postaci, po drugim wciśnięciu "E" broń dopiero się zmienia... Jest to upierdliwe :/ Collision Code with o_WeaponParent: GML if keyboard_check_pressed(ord("E")){ if other.weap > 5{ if primweap = other.weap{ if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; other.mag = 0; } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; other.mag -= a; } } else { if primweap = 0{ primweap = other.weap; primammo = other.ammo; if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; instance_destroy(other); } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; instance_destroy(other); } instance_destroy(other); } else { var oldammo, oldweap, oldweapinst; oldammo = primammo; oldweap = primweap; primweap = other.weap; primammo = other.ammo; if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; instance_destroy(other); } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; instance_destroy(other); } oldweapinst = instance_create_layer(x,y,"Instances",o_WeaponOld); oldweapinst.ammo = oldammo; oldweapinst.weap = oldweap; oldweapinst.mag = 0; instance_destroy(other); } } } else { if secweap = other.weap{ if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; other.mag = 0; } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; other.mag -= a; } } else { if secweap = 0{ secweap = other.weap; secammo = other.ammo; if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; instance_destroy(other); } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; instance_destroy(other); } instance_destroy(other); } else { var oldammo, oldweap, oldweapinst; oldammo = secammo; oldweap = secweap; secweap = other.weap; secammo = other.ammo; if other.mag + global.weaponid[other.weap,5] <= global.weaponid[other.weap,6]{ global.weaponid[other.weap,5] += other.mag; instance_destroy(other); } else { var a = global.weaponid[other.weap,6] - other.mag; global.weaponid[other.weap,5] += a; instance_destroy(other); } oldweapinst = instance_create_layer(x,y,"Instances",o_WeaponOld); oldweapinst.ammo = oldammo; oldweapinst.weap = oldweap; oldweapinst.mag = 0; instance_destroy(other); } } } } //} /* global.weaponid[16,0] = "Pumpo"; // name global.weaponid[16,1] = 20; // dmg global.weaponid[16,2] = 40; // AP global.weaponid[16,3] = 10; // Ammo global.weaponid[16,4] = 10; // Max Ammo global.weaponid[16,5] = 0; // Mag global.weaponid[16,6] = 5; // Max mag global.weaponid[16,7] = 0; // empty mag global.weaponid[16,8] = sou_Pumpo; // sound global.weaponid[16,9] = room_speed*4; // reload time global.weaponid[16,10] = room_speed*1; // shoting time global.weaponid[16,11] = 0; // mag ammo ///////////////////////////////*/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 21 Czerwca 2017 Udostępnij Opublikowano 21 Czerwca 2017 Może zrób oddzielny temat do tego, bo to większy temat niż mała pierdoła i zanim dostaniesz odpowiedź pytanie może utonąć w morzu mniejszych pytań. Może opowiesz coś więcej o tym kodzie? Która zmienna odpowiada za trzymaną w ręce broń? Kod wykonałeś Ty czy ktoś inny, jak ktoś inny gdzie możemy znaleźć źródło? Edit: I jeszcze jedno pytanie. Czy E obsługje kilka rzeczy czy tylko podnoszenie broni? Edit2: Okej czyli to jest bazowane 100% na instancjach, tylko nie widze czy bron w reku to zmienne czy tez instancja. Jeżeli ty pisaleś ten kod to na miłość boską używaj komentarzy do opisywania kodu! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
H2S04 Opublikowano 21 Czerwca 2017 Udostępnij Opublikowano 21 Czerwca 2017 Na przyszłość będę pamiętał o komentarzach do kodu. Kod pisałem ja :), broń to zmienna, nie instancja, później będę rysował po prostu dany sprite, czy to przeładowania czy po prostu chodzenia z bronią. GML other.weap //jest to id broni jaką posiada objekt do losowania broni. primweap //zmienna broni głównej other.mag //zmienna ile jest magazynków przy broni. global.weaponid[other.weap,5] //posiadana ilość magazynków, global.weaponid[other.weap,6] //maxymalna ilość magazynków; other.ammo //posiadana amunicja przez obiekt other.weap > 5 //jeżeli nie jest to pistoletem, to przypisuje do slotu głównej broni oldammo //aktualnie posiadana amunicja do danej broni oldweap //id broni oldweapinst //nowa instancja broni primammo //amunicja do głównej broni</span> W postaci mam jeszcze zmienną, którą broń posiadam GML usedweap; // jest = 0(pistolety) lub 1(karabiny); to jest czy używam primweap czy secweap Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 Witam, w jaki sposób dodać font z polskimi znakami do gm studio? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PatrykPlayingPOLSKA Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 Witam, w jaki sposób dodać font z polskimi znakami do gm studio? Wydaje mi się że musisz dodać tą czcionkę do systemu,a potem w gm przy tworzeniu fonta już będziesz miał tą czcionkę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 Mam całą masę domyślnych czcionek w systemie z polskimi znakami ale każda z nich jest odczytywana w GMie bez nich :( jedyne co , to tylko u z kreską tzw "ó" wyświetla się poprawnie, reszta nie... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 W edycji fontu klikasz + a następnie wpisujesz w puste pole znaki specjalnie któe chcesz dodać do fonta. Na koniec klikasz OK. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 Zrobiłem tak jak piszesz ( dziękuję za odpowiedź) i jest postęp, mogę wpisać niektóre polskie znaki, ale niektóre takie jak np ć czy ę są wciąż poza zasięgiem GMa pomimo że dodałem je do okna Font Range. Początkowo myślałem , że to wina tego że używam AutoHotKey i mam różne makra dopisane do kombinacji klawiszy zawierające C oraz E, ale zrestartowałem komputer i nie pomogło. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 22 Czerwca 2017 Udostępnij Opublikowano 22 Czerwca 2017 Czy wybrana przez Ciebie czcionka napewno ma polskie znaki? Czy napewno dopisałeś zarówno duże jak i małe ćĆęĘ do range? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
nowy_user Opublikowano 23 Czerwca 2017 Udostępnij Opublikowano 23 Czerwca 2017 Tak, dokładnie tak jak piszesz, wszystkie są dopisane do range, a wyświetla mi wszystkie oprócz Ę ę Ć ć Ą ą . Możliwe to , że są one zabronione w GM? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 23 Czerwca 2017 Udostępnij Opublikowano 23 Czerwca 2017 Nigdy nie mialem takiego problemu. Jeżeli czcionka ma te znaki, powinny być dostępne i się wyświetlać. Sprawdź w okienku "Hello World" czy napewno te znaki są, spróbuj je wpisać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lew_leo Opublikowano 27 Czerwca 2017 Udostępnij Opublikowano 27 Czerwca 2017 macie może pomysł jak napisać ten sam kod ale w bardziej optymalny sposób? GML if place_meeting(x,y,obj_clif_right) { if image_xscale=1 { clif_size=1 clif_id=instance_place(x,y,obj_clif_right); } else { clif_id=0 clif_size=0 } } else if place_meeting(x,y-16,obj_clif_right) { if image_xscale=1 { clif_size=1 clif_id=instance_place(x,y-16,obj_clif_right) } else { clif_id=0 clif_size=0 } } else if place_meeting(x,y-32,obj_clif_right) { if image_xscale=1 { clif_size=3 clif_id=instance_place(x,y-32,obj_clif_right) } else { clif_id=0 clif_size=0 } } else if place_meeting(x,y,obj_clif_left) { if image_xscale=-1 { clif_size=1 clif_id=instance_place(x,y,obj_clif_left) } else { clif_id=0 clif_size=0 } } else if place_meeting(x,y-16,obj_clif_left) { if image_xscale=-1 { clif_size=2 clif_id=instance_place(x,y-16,obj_clif_left) } else { clif_id=0 clif_size=0 } } else if place_meeting(x,y-32,obj_clif_left) { if image_xscale=-1 { clif_id=instance_place(x,y-32,obj_clif_left) clif_size=3 } else { clif_id=0 clif_size=0 } } else { clif_id=0 clif_size=0 } 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ę