Skocz do zawartości

TheVVaS

Użytkownicy
  • Postów

    42
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez TheVVaS

  1. gnysek, nie działa. Gracz teraz wbija się w podłogę :( I am vader, 39dll jak dla mnie była dość łatwą do ogarnięcia biblioteką, gdyż miałem pod nosem bardzo łatwy przykład(tzn. start servera, łączenia clienta, wysyłanie i odbieranie danych). Podobnie w przypadku networkingu, dzięki tobie udało mi się to w miarę ogarnąć. I teraz co do kodu powyżej - póki co testuję, próbuję, eksperymentuję :P
  2. Cześć, Problemów jest kilka więc: 1. Postać będąc na solidnym bloku nie może skakać 2. Idąc w ścianę wbijamy się w nią na odległość około 1-2 pixela 3. Po wbiciu się na odległość tych pixeli spadanie nie działa GML //Ruch if KeyLeft() && !place_meeting(x-1,y,oSolid) hspeed = -playerspeed if KeyRight() && !place_meeting(x+1,y,oSolid) hspeed = playerspeed if (hspeed<0&&place_meeting(x-playerspeed/2,y,oSolid)) || (hspeed>0&&place_meeting(x+playerspeed/2,y,oSolid)) || (!KeyLeft()&&!KeyRight()) hspeed = 0 //Skok, grawitacja if KeyJump() && place_meeting(x,y+2,oSolid) vspeed = playerjump if (place_meeting(x,y+1+vspeed,oSolid)&&vspeed>0) || (place_meeting(x,y-1-vspeed,oSolid)&&vspeed<0) vspeed = 0 if place_meeting(x,y+1+vspeed,oSolid) gravity = 0 else gravity = grav Funkcje KeyRight, KeyLeft, KeyJump sprawdzają czy klawisz odpowiedzialny za ruch i skok jest kliknięty i zwracają true albo false. Już trochę nad tym siedziałem, a efekty nie były takie jakich oczekiwałem.
  3. A jak wygląda wysyłanie danych do konkretnego clienta? Rozumiem, że to: GML network_send_packet(GameSocket,DataBuffer,buffer_tell(DataBuffer)); Wysyła dane do WSZYSTKICH clientów, tak?
  4. 1. Jest gdzieś informacja o async_load? 2. Jeśli wysyłam albo odbieram bufory to ZAWSZE w Asynchronous>Networking? 3. Mógłbyś skombinować podstawowy wzór networkingu? :D
  5. Czyli gdybym chciał poinformować gracza, który właśnie dołączył do serwera to musiałbym zrobić to mniej więcej tak:? GML IDGracza = ds_map_find_value(async_load,"socket"); buffer_seek(DataBuffer,buffer_seek_start,0); //Czyszczę bufor? buffer_write(DataBuffer,buffer_u8,1); //Jako pierwsze wysyłam 1 - jest to informacja o "Panie drogi client zaraz dostaniesz swoje ID" buffer_write(DataBuffer,buffer_u8,IDGracza); network_send_packet(GameSocket,DataBuffer,buffer_get_size(DataBuffer)); Póki co ten async_load mnie zastanawia, bo nigdzie nie mogę znaleźć o nim informacji. Szukałem w dokumentacji - nic nie znalazłem, pewnie źle szukałem :/ PS. ds_map_find_value(async_load,"socket"); Rozumiem, że "socket" pobrany z async_load podaje ID drugiej strony?
  6. Dzięki za wytłumaczenie co jest za co odpowiedzialne, wcześniej udawało mi się jedynie znaleźć szczątkowe informacje. Natrafiałem także na wzory, lecz było tam w nich stanowczo za dużo i po prostu w nich gubiłem. Byłbym wdzięczny gdybyś stworzył projekt z podstawami podstaw networkingu, wtedy miałbym lepszy zarys jak to ma wyglądać. Ps. Jak ten wbudowany system networkingu przypisuje ID poszczególnym graczom? (Oczywiście chodzi mi o client-server) Oraz jak znaleźć id danego gracza? EDIT1: Dzięki tobie zaczyna mi już świtać coś na temat wysyłania/odbierania w tym wbudowanym networkingu. Po dłuższym wglądzie jest trochę podobny do 39dll.
  7. Trochę poszukałem i popytałem o networkingu i jedyne co udało mi się znaleźć to napisany na szybko wzór client-server przez kumpla. Wszystko byłoby fajnie, ale ten wzór coś nie działa :( A kumpel magiczne się rozpłynął i coś nie wraca. Mógłby ktoś zerknąć na ten wzór i powiedzieć Co jest nie tak? Przydałyby się także wytłumaczenia co za co odpowiada. Dał mi gdzieś jeszcze link do jakiegoś mocno rozbudowanego wzory, niestety gdzieś go zapodziałem, postaram się go znaleźć. Wzór networkingu?!
  8. Skoro szukasz prostego poradnika/wzoru do networking'u w GMS to jesteśmy w tym samym etapie :( Ja jedynie dałem rade rozszyfrować i nauczyć się używać 39dll, który niestety nie działa w GMSie :( Więc nam obu pozostaje znaleźć jakiś poradnik/wzór wbudowanego networkingu w GMSie.
  9. Jak się tworzy łatwe hasła to potem ma się problemy :) Dlatego rób skomplikowane hasła i staraj się ich nie powtarzać. To zminimalizuje szanse na kradzieże kont.
  10. Wystarczy w zupełności :) Jak jakiś haker chciałby się włamać ci do kompa (Marne szanse, że jakiś "dobry" w swoich fachu chciałby) to raczej zrobiłby to bez znaczenia jak się zabezpieczysz :)
  11. Wystarczy posiadać zewnętrzne IP i wtedy nie ma problemu z łączeniem.
  12. Łatwy wzór 39dll Proszę bardzo, ja właśnie z tego nauczyłem się używać 39dll :) EDIT: Prosty wzór na łączenie client-server. Jeśli masz zewnętrzne ip to po wpisaniu swojego ip w aplikacji client dołączysz do uprzednio włączonego servera :) Jak coś to pisz, pomogę. PS. Podaj wersje GM'a
  13. Cześć! Ostatnio przy robieniu gry napotykam sporo problemów, które w wersji 8.0 są trudne albo niemożliwe do naprawienia. Z kolei patrząc na dokumentację do GMS'a widzę sporo fajnych rzeczy(np. support pada :D). I teraz bardzo chciałbym przerzucić się na GMS'a, lecz tu rodzi się problem - NETWORKING :( Sporo szukałem, lecz skończyło się na tym, że znajdowałem tylko BARDZO skomplikowane wzory albo takie, które nie działają :( I teraz moje pytanko po małym rozpisaniu :D Czy ktoś z was miszcze GM'a mógłby: 1. wytłumaczyć zielonemu jak działa networking w GMS'ie? 2. Zrobić/wskazać prosty wzór podstawowego networkingu client-server? (Wybierz jedno, ewentualnie dwa :D) Wcześniej pracowałem na 39dll.dll, lecz ten coś nie chce działać na GMSie :( Na razie to chyba będzie wszystko.
  14. Dzięki za nakierowanie, pokombinowałem z view'ami i już wszystko jest git :)
  15. Moja wersja GMa to 8.0 pro :D Dzięki GhostWriter za pomoc, ale zamiast view_hview użyłem view_hport. I teraz nasuwa się tutaj kolejne pytanie. Jak już udało mi się zeskalować viewa w trybie fullscreen to ten mniejszy view zamiast wyśrodkować się na ekranie to "wciska" się w górny lewy róg :( EDIT: Aktualnie wygląda to tak: http://www.mediafire.com/download/5223k43ld56zmtb/takeit.exe Opcje -> fullscreen Następnie klikając 1, 2, 3 obraz jest skalowany, lecz tak jak napisałem - nie chce się wyśrodkować.
  16. Cześć. Chciałbym dowiedzieć się jak zeskalować widocznego view'a podczas włączonego fullscreen'a. Jak tym manipulować? Jakie funkcje za to odpowiadają? Da się to zrobić? :D
  17. Cześć i czołem. Mam pewne pytanie co do efektu trzęsienia ekranu. 1. Da się to zrobić? 2. Jak to zrobić? 3. Jak to ustawić i edytować? Help :D
  18. Tak, to był błąd tych zmiennych :( Trochę źle zabrałem się za menu, strasznie w nim namieszałem.
  19. Cześć! Wymagana jest lekka pomoc ze strony "miszczuf" GM'a. Otóż zacząłem robić menu do gierki, lecz oczywiście musiałem zrobić wszystko nie tak :D Menu wygląda następująco: ¤ START - Single Player - Multi Player ¤ OPTIONS - pusto - pusto - pusto ¤ EXIT - Yes, I want exit - No, I want play more A teraz ta gorsza część - tak wygląda mój kiepski skrypcik :D spr_menu_start to guzik z dwoma indexami, podświetlony guzik(po najechaniu na niego myszką) i zwykły. menux oraz menuy jest to pozycja każdego guzika. Zmienna menunow informacja w jakim menu jesteśmy(np. menu główny, opcje itp.). Wszystko jest zrobione w jednym obiekcie: CREATE: GML menunow = 0 menux = 180 menuy[0] = 120 menuy[1] = 180 menuy[2] = 240 menuy[3] = 300 menuy[4] = 360 STEP: GML if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26)) //Button 1 { switch(menunow) { case 0: menunow = 1 break; case 1: room_goto(2) break; case 2: break; case 3: game_end(); break; } } if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26)) //Button 2 { switch(menunow) { case 0: menunow = 2 break; case 1: room_goto(3) break; case 2: break; case 3: menunow = 0 break; } } if (mouse_check_button && (abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26)) //Button 3 { switch(menunow) { case 0: menunow = 3 break; case 1: menunow = 0 break; case 2: break; case 3: break; } } DRAW: GML draw_set_font(font0) draw_set_color(c_white) draw_set_valign(fa_center) draw_set_halign(fa_center) if (menunow = 0) //MENU { if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[0]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[0]) draw_text(xmenu, ymenu[0], "START") if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[1]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[1]) draw_text(xmenu, ymenu[1], "OPTIONS") if abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[2]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[2]) draw_text(xmenu, ymenu[2], "EXIT") } if (menunow = 1) //START { if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[0]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[0]) draw_text(xmenu, ymenu[0], "Single Player") if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[1]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[1]) draw_text(xmenu, ymenu[1], "Multi Player") if abs(menux - mouse_x) < 120 && abs(menuy[2] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[2]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[2]) draw_text(xmenu, ymenu[2], "Back") } if (menunow = 2) //OPTIONS { draw_text(xmenu, ymenu[0], "") draw_text(xmenu, ymenu[1], "") draw_text(xmenu, ymenu[2], "") } if (menunow = 3) //EXIT { if abs(menux - mouse_x) < 120 && abs(menuy[0] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[0]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[0]) draw_text(xmenu, ymenu[0], "Yes, I want exit") if abs(menux - mouse_x) < 120 && abs(menuy[1] - mouse_y) < 26 draw_sprite(spr_menu_start, 0, xmenu, ymenu[1]) else draw_sprite(spr_menu_start, 1, xmenu, ymenu[1]) draw_text(xmenu, ymenu[1], "No, I want play more") } Póki co guziki nie chcą mi się wyświetlić :( Pomysły?
  20. Rozumiem, że jedyny porządny poradnik do tego wbudowanego networkingu jest tylko tu? Click Czy jest może gdzieś inny? Zależy mi, by client i server był w osobnym pliku.
  21. Ostatnio do networkingu używałem 39dll w GM8, lecz zdecydowałem się przenieść na GMS i tu rodzi się pytanie. Szukałem wszędzie 39dll pod GMS, ale nic nie udało mi się znaleźć :( Macie jakiś dobry sposób na networking? Ten podstawowy z GMS jest dobry? Jest jakiś lepszy?
  22. Skoro tak byłbym wdzięczny za wskazanie jakiegoś konkretnego tutorialu/przykładu do tego wbudowanego networku. 39dll może gorszy, ale powinien działać, tak?
  23. To teraz GMS mnie zagiął, jest tam gdzieś może opcja zmieniająca niepodane argumenty na 0?
  24. Mam rozumieć, że GM 8, nie jest dobrym pomysłem i powinienem przerzucić się na GMS? Będzie to równoznaczne z potrzebą zrobienia wszystkiego od nowa, tak? :(
×
×
  • Dodaj nową pozycję...