Skocz do zawartości

Opisek

Użytkownicy
  • Postów

    72
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Opisek

  1. Bardzo mi się podoba i pasuje idealnie do mojej gry. Na pewno wykorzystam,
  2. Sprecyzuj pytanie - o co dokładnie chodzi? Z aktualnymi danymi nie mogę ci odpowiedzieć na pytanie, bo praktycznie nie wiem o co chodzi. Rozpisałbym się na całą stronę, a okazałoby się, że nie chodziło ci o to.
  3. Szukam po całym internecie i nigdzie tego nie ma... Chcę kamerę z tego DLL przenieść na odrębnione od gry okno. Pewnym sposobem jest odpalanie dodatkowego programu, który zawiera wyłącznie ten obiekt monitorujący grającego, jednak ja bym wolał nie stosować kolejnych plików. Jest na to sposób? Ewentualnie można ciągle zapisywać obraz z kamery, który będzie wyświetlany w osobnym oknie (chociaż nie wiem czy to by było możliwe), ale co z gorszymi komputerami? Może ktoś mi pomóc?
  4. Od razu widzę problem, też to miałem u siebie. Zapisujesz grę przed wejściem do sklepu, czyli wszystkie zmienne np, że w plecaku nic nie masz. Wchodzisz do sklepu i wszystko działa, ale jak wychodzisz gra się wczytuje i wczytuje się zmienna plecaka - nic w nim nie ma. W mojej grze wpadłem na pomysł zapisywania zakupionych rzeczy w osobnym pliku, w twoim przypadku najlepszy jest plik z rozszerzeniem .ini Wychodzimy ze sklepu: GML //Plecak zapisywany jest w pliku ini_open('plecak.ini'); ini_write_string('Plecak','pole1',global.pole1); ini_write_string('Plecak','pole2',global.pole2); ini_write_string('Plecak','pole3',global.pole3); ini_close(); //Gra powraca do momentu przed wejściem do sklepu game_load(plik.zapis); //Zapisany plecak jest teraz wczytywany ini_open('plecak.ini'); pole1=ini_read_string('Plecak','pole1',global.pole1); pole2=ini_read_string('Plecak','pole2',global.pole2); pole3=ini_read_string('Plecak','pole3',global.pole3); ini_close(); Powinno działać.
  5. Bez kombinowań - krótszym skryptem: Chyba nie da się zmieniać tekstu przycisków, a jeśli tak chcesz to wykorzystaj post wyżej. GML zmienna = show_question( 'tekst' ); Jeżeli klikniemy "Tak", w zmiennej uzyskamy "1", jeśli klikniemy "Nie", uzyskamy "0".
  6. Prosiłeś mnie o przykład. Ok, ale powiedz czy to jest nadal aktualne. EDIT: Przy okazji do przykładu wrzuciłem mechanizm losujący samochód, osiągi itd. (Jeszcze nad nim pracuję - w najbliższym czasie Ci go wyślę.) EDIT: Kody możesz wykorzystać, ale oczywiście chcę do CREDITS'ów.
  7. GML //event: start pierwszego wyścigu: //zmienna global.miejsca - liczba miejsc zmienna global.wyscigi - liczba wyscigow global.wyscigi=x; global.miejsca=x; global.max_punkty = global.miejsca*global.wyscigi; global.punkty = global.max_punkty //event ukończenia jednego wyścigu (zmienna global.miejsce - miejsce które zająłeś) global.punkty -= global.miejsce; //event skończenia wszystkich wyścigów; score = global.max_punkty -= global.punkty; UWAGA! Pierwsze miejsce to musi być 0 (wyświetlanie:) GML draw_text(x,y,global.miejsce += 1;) Z miejscami myślę, że sobie poradziłeś, a jeśli zrobiłeś 1st miejsce = 1 to mozesz tak: GML global.miejsce = global.twoje_miejsce -= 1; Chyba rozumiesz... Jak nie to wyjaśnię Ci po kolei albo zrobię przykład. Przy okazji - daj wersję gm, muszę wiedzieć jak robię przykład.
  8. Wiem - ewentualnie mogę tak zrobić, ale będzie tego trochę dużo... Chodzi mi o to czy da się zapisać całą grę. EDIT: Jeżeli wielkość pliku będzie jakaś... :tv_horror: (przerażająca) To już raczej wezmę ini. ;) Edit: (by nie spamić) Nie ma? No ok - mogę robić w ini, ale jeżeli ktoś zna inny sposób proszę o informację.
  9. Witam, Chciałbym, aby moja gra na androida zapisywała się (cała - nie jedna zmienna). Czy jest to możliwe? Na yoyogames wiedziałem takie pytanie - odpowiedź: Zastosować plik .ini (podano kod). No tak... Tylko one zapisują pojedyncze zmienne. Może da się zapisywać grę tak jak na PC? Proszę o odpowiedź.
  10. Radzę Ci używać opcji Included Files - dzięki niej program po pierwszym uruchomieniu zapisuje wszystkie dll (które ustaliłeś w tej opcji) (podczas pierwszego uruchomienia dll muszą być w tym samym katalogu co gra) "w sobie". Następnie, gdy uruchamiasz grę pliki zostają przeniesione do katalogu, a gdy gra zostanie zakończona, znów do niej "wchodzą".
  11. Thx za komentarze, nie zauważyłem dawno mnie nie było i tak postępy są, jeszcze w tym styczniu, gdy napisałeś "powodzenia" niemożliwym było dla mnie stworzenia launchera ;p

  12. Nie wiem czy to było planowane, ale w config.ini da się ręcznie zmieniać ustawienia w tym odblokowanie wyższych poziomów. Zobacz metodę szyfrowanie XOR od ediepl, ja jej używam i więcej do szczęścia mi nie potrzeba.
  13. Z tym się nie zgodzę, gdyż mam inny updater, który działa i z niego skopiowałem kod tylko pozmieniałem linki i dodałem opcje sprawdzania czy jest dostępny update (pobiera plik AB-czyUPDATE.txt). Z tego myślę, iż problem dotyczy linku i samego serwera gmclanu, ponieważ plik AB-News.txt zmienia się na AB_News.txt, co może wpływać na działalność. Próbowałem już: - download_to_file('[...]/AB-News.txt','AB-News.txt') - download_to_file('[...]/AB_News.txt','AB-News.txt') - download_to_file('[...]/AB_News.txt','AB_News.txt') - download_to_file('[...]/AB-News.txt','AB_News.txt') i żaden z powyżej wymienionych kodów nie działa. Proszę o pomoc. (Kluczowe fragmenty tekstu zostały podkreślone.) [AB-News.txt zmienia się na AB_News.txt - przez podkreślenia nie widać] EDIT: Jednak nie... Mój stary updater już nie chce działać... Nie pobiera plików. Z problemem linku już sobie poradziłem, ale czy nie tworzy się przepadkiem jakaś blokada w zaporze? Nie pojawił się znaczek administratora na ikonce updatera. Sprawdzę czy coś się nie zablokowało, a jeśli ktoś będzie coś o tym wiedział proszę o udzielenie się. EDIT: Zapora dla tych programów jest otwarta, a jednak nie pobierają plików (stary i nowy). Stworzyłem program pobierającego News.txt, a i ten nie działał więc to nie problem linku. To może być problem serwera lub dll_39dll.dll. Najdziwniejszy jest brak znaczku administratora. Jeśli ktoś wie o co chodzi bardzo proszę o pomoc.
  14. Witam, od razu przejdę do rzeczy, używam dll_39dll.dll do pobierania plików. Na uploadera w gmclanie dałem trzy pliki; AB-News.txt, AB-czyUPDATE.txt i AnnoyingBird.zip. Problem tkwi w tym, że gm mi ich nie pobiera. Każdy ma kod download_to_file('http://www.gmclan.org/uploader/8780/AB_czyUPDATE.txt','AB-czyUPDATE.txt') (każdy oczywiście własny link). Przy okazji czy nie będzie problemu jeśli zmienię typ pliku np. na .AB i zaszyfruję Xorem od (chyba) ediepl (w file_text_open_read)? Proszę o szybką odpo już jestem i tak spóźniony.
  15. @Niggass U każdego z graczy wyświetla się jego id. -------------------------------------- EDIT: U serwera widać ile jest graczy aktualnie - to działa.
  16. Nie, serwer i wszyscy klienci mają id 0. Nie wiem w czym jest błąd.
  17. Witam, tworzę grę multiplayer na podstawie tego poradnika: (klik). Wszystko idzie dobrze lecz gracze nie widzą się nawzajem oraz id każdego gracze zawsze wynosi 0. Przed tym problemem miałem jeszcze błąd "unknown variable clients or array index out of bounds" lecz po zaznaczeniu opcji przypisania nieznanym zmiennym wartości 0 (w Global Game Settings), ten błąd zniknął. Czy to może być wina tego, a jeżeli tak to w jaki sposób wyeliminować błąd z nieznaną zmienną clients? Kody: Information about object: obj_Menu Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: global.gracze = 0 global.maxGracze = 0 Key Press Event for H-key Key: execute code: instance_create(0,0,obj_Server) Key Press Event for J-key Key: execute code: instance_create(0,0,obj_Client) Information about object: obj_Server Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: global.maxGraczy = get_integer("Podaj maksymalną ilość graczy:","2") net_init("dll_39dll.dll",false) net_server_start(0001,global.maxGraczy) net_client_connect("",0001) net_client_send(CONNECT,1,NET_INT,0) net_client_send(DISCONNECT,2,NET_INT,0,0) last_con = 0 last_dis = 0 found_id = 0 global.gracze = 1 for(i = 0; i>= global.maxGraczy; i += 1) { clients = 0 } Step Event: execute code: net_server_update() net_client_update() net_client_send(global.maxGraczy,1,NET_INT,global.maxGraczy) pack_con = net_client_get(CONNECT,1) if pack_con != last_con then { global.gracze+=1 last_con = pack_con found = false for(i = 1; i <=global.gracze; i += 1) { if found = false then { if clients = 0 then { clients = i found_id = i found = true net_client_send(RESPONSE,2,NET_INT,pack_con,found_id) } } } } pack_dis = net_client_get(DISCONNECT,1) if pack_dis != last_dis then { pack_client = net_client_get(DISCONNECT,2) global.gracze -=1 last_dis = pack_dis players[pack_client] = 0 } net_client_send(PLAYERS,1,NET_INT,global.gracze) Draw Event: execute code: draw_text(100 + view_xview, 20 + view_yview , "Gracze:" + string(global.gracze-1) + "/" + string(global.maxGraczy)) Information about object: obj_Client Sprite: <no sprite> Solid: false Visible: true Depth: 0 Persistent: false Parent: <no parent> Mask: <same as sprite> Create Event: execute code: net_init("dll_39dll.dll",false) net_client_connect("",0001) xy_id = round(random(600)) net_client_send(CONNECT,1,NET_INT,xy_id) player_id = 0 got_id = false name = "" Step Event: execute code: net_client_update() return_id = net_client_get(RESPONSE,2) if got_id = false && return_id = xy_id { found_id = net_client_get(RESPONSE,2) player_id = found_id got_id = true name="Player" + string(player_id) } else { net_client_send(player_id,2,NET_INT,x,y) } if keyboard_check(ord("W")) then y -=5 if keyboard_check(ord("S")) then y +=5 if keyboard_check(ord("A")) then x -=5 if keyboard_check(ord("D")) then x +=5 Other Event: Game End: execute code: net_client_send(DISCONNECT,2,NET_INT,round(random(600)),player_id) Draw Event: execute code: //draw_text(100 + view_xview, 20 + view_yview , "Gracze:" + string(global.gracze)) draw_text(10 + view_xview, 10 + view_yview, "Twoje id:" + string(player_id)) for (count = 1; count<= global.gracze-1; count+=1) { if count != player_id { xx = net_client_get(count,1) yy = net_client_get(count,2) draw_circle(xx,yy,5,false) draw_text(xx,yy-16,"Player"+ string(count)) } } draw_circle(x,y,5,false)
  18. Może być czytelny ( @DarkTeam ), najwyżej edytuję po ukończeniu prostą metodą, zrobione może być na dowolną datę. (Mam się spodziewać poradnika czy o co konkretnie chodzi?)
  19. (sorry, nie napisałem, że to dotyczy GameMaker 8.0 Pro) Witam, moje pytanie to jak sprawdzić pojedynczy piksel w bmp, np jeżeli trzeci piksel od góry i tym samym drugi od lewej jest czerwony, mamy zielony samochód (tak wiem, że to już było, ale nie mogłem tego znaleźć) Z góry dzięki! P.S. Nie nie chodzi mi o to: https://forum.gmclan.org/index.php?showtopi...3&hl=piksel (Chociaż, gdy to pisałem to może mi i chodziło?)
  20. Ok ja na razie z tym kończę (w tej chwili to mnie przerasta :D) Jeszcze jedno, wracam do tematu; czy jest sposób, aby room, który stworzyłem w Game Maker przenieść do pliku, dać do pobrania i zrobić tak aby gra go wczytała? Np.: room nazwałem room1.[no właśnie co ma być po kropce] i gra wczytuje room np gdyby była taka funkcja room_add_file(room1.[coś]) i potem room_goto(room1) ??? Trochę pomieszałem, ale chyba wiadomo o co chodzi nie?
  21. Po co tak kombinować? Ja zrobiłem auto-updater w ten sposób: Game Maker pobiera zipa w którym jest installer, biblioteką arch rozpakowuje plik, włącza plik i dalej gra zostaje instalowane przez installer.
  22. Ok nauczyłem się tego XOR'a i co dalej? Tu chodzi o dodawanie obiektów nie? Jak tak to to robię pobocznie, bo potrzebne mi roomy w folderze Katalog z grą: _____________________________________________ Gierka|Miliony DLL'ów|Jeszcze więcej DLL'ków _____________________________________________ Muzyczki|Jakiś tam folder|Folder o nazwie roomy _____________________________________________ Folder o nazwie roomy: Tu są roomy :o Włącza się gierka i coś tam robi I ROOMY Z FOLDERU "wchodzą do gry" ---------------^----<<<--- To miała być strzałka :D Jak to zrobić??? |
  23. Nie prościej byłoby zrobić to po prostu w BATCH'u?
  24. GRACZ/KONTROLER: EVENT CREATE/ROOM START: EXECUTE CODE: GML global.zabojstwa = 0; EVENT BEGIN STEP/STEP/END STEP: EXECUTE CODE: GML if global.zabostwa == 10 { room_goto_next; } POTWOREK: MOMENT GDZIE POTWÓR GINIE (powinieneś mieć tam instance_destroy): EXECUTE CODE: GML global.zabojstwa+=1; __________________________________________ Tak posłuchałem waszych świetnych rad i uczę się "dobrych nawyków" w programowaniu :D @Misiek999 Nie chodzi o ciebie ;) __________________________________________ [Do pytającego] Jak to ma być? Ta butelka ma coś robić? Bo z tego co wynika jest tak: 1) Jest sobie gracz 2) Są potworki 3) Gracz zabija 10 potworków 4) Idzie do następnej planszy Coś jeszcze do tego? ^^^
  25. Najbardziej spodobała mi się pierwsza odpowiedź, ale dzięki, a tak poza tym; kto tu mówi o Linuxie?
×
×
  • Dodaj nową pozycję...