pablo1517 Opublikowano 27 Maja 2006 Opublikowano 27 Maja 2006 Potrzebuje pomocy... i to sporej... wciąż nie umiem pojąć jak sie robi gry do neta... a konkretnie to che te moje Mario & Luigi przerobić tak zeby dało sie grać na necie... bo wiadomo... skoro jest tylko na dwóch.... tak więc czy jest ktośtak mądry i dobry kto podjął by sie tego zadania (ciekawy cytacik "O każdej porze Bigshark zawsze wam pomoże") prrosze Jeszcze raz mi któryś nazwie temat "help", "pomocy" albo jakoś podobnie, to wlepię warna i wywieszę delikwenta na rynku za... nogi. Patrysław
adam014 Opublikowano 27 Maja 2006 Opublikowano 27 Maja 2006 Jeśli chcesz uruchomić gre na stronie www ściągnij G-Jave masz ją na www.gmxxl.ovh.org Jeśli chodzi o multiplayer to na oficjalnej stronie GMa (www.gamemaker.nl)masz przykład gry internetowej,ale wtedy musisz postawić serwer.
pablo1517 Opublikowano 27 Maja 2006 Autor Opublikowano 27 Maja 2006 LOL jak tej G-javy nie idzie ściągnąć z tamtej stronki :/
adam014 Opublikowano 27 Maja 2006 Opublikowano 27 Maja 2006 oj sorry,G-Java jest na www.balon.ovh.org pomyliłem sie
pablo1517 Opublikowano 27 Maja 2006 Autor Opublikowano 27 Maja 2006 teraz mi mówisz jak juz ściągam jakiś plik z tamtej myśląc że to Gjava xD ee... mam w tym błąd "system error... brak modułu" jakoś tak Chwilunia ale to jest jak zrboić gre online w sensie że na stronach html... a nie ze multi przez net!! To dowaliłeś wiesz...dzięki... :/
bobo Opublikowano 27 Maja 2006 Opublikowano 27 Maja 2006 Na gmclan jest przykład dotyczący jak zrobić gre przez neta! BTW. A co to strony HTML? :huh: Ja takiego czegoś nie znam lol:P
Marmot Opublikowano 27 Maja 2006 Opublikowano 27 Maja 2006 BTW. A co to strony HTML? huh.gif Ja takiego czegoś nie znam lol:P http://pl.wikipedia.org/wiki/Html xD
pablo1517 Opublikowano 29 Maja 2006 Autor Opublikowano 29 Maja 2006 bobo... ten przykład to największa lipa jaka jest... owszem dowiedzialem sie z niego jak zrobić zeby se dwie kulki lazily... a nawet postaci... ale jak przychodzi do tworzenia obiektów w czasie gry czy nawet zsynchronizowania chodzących wszędzie przeszkadzajek to jest d...a za przeproszeniem :/ Na gmclan jest przykład dotyczący jak zrobić gre przez neta! BTW. A co to strony HTML? :huh: Ja takiego czegoś nie znam lol:P Lol.. o strony www mi chodzilo chyba logiczne... Kurde dalej nikt mi nie odpowiedział na pytanie... a czy wie ktoś z was jak zrobić żeby gra kontrolowała sychronizacje przeszkadzajek i np jak cos wystrzeliwuje to zeby to sie też u inncyh graczy tworzyło...
bobo Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 BP co to język HTML jest to wiem doskonale:) ALe nie ma czegos takiego jak stona HTML i dlatego wzruciłem uwage x)
Quetzacotl Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 Jesli gra dzieje sie ciagle w jednym roomie, a zakladam, ze tak bo to mario. To server (czyli ten kto zaklada gre) musi non stop zapisywac polozenie wszystkich obiektow ktore sie poruszaja do mplay_data lub wysylac message do drugiego playera z tymi danymi. Bedziesz tutaj potrzebowal jakiejs funckji archiwizujacej dane aby w jednej wiadomosci zmiescic wszystko: Pakuje dane, np data=pack(1)+pack(2)+pack(6)+pack(253) i dzieki temu pod zmienna data bedziesz mial 4 wartosci var byteA,byteB; byteA = (argument0 div 255)+1; byteB = (argument0 mod 255)+1; return chr(byteA) + chr(byteB); Odczytujesz to w ten sposob: dat=unpack(data,1) tutaj dat=1 dat=unpack(data,4) tutaj dat=253 Po prostu pierwszy argument to zmienna w ktorej sa zarchiwizowane dana, a druga to numer wartosci ktora chcesz wyciagnac, numery sa przyznawane w tej kolejnosci w ktorej pakowales dane. var byteA,byteB; byteA = ord(string_char_at(argument0,argument1*2-1))-1; byteB = ord(string_char_at(argument0,argument1*2))-1; return (byteA*255)+byteB Oczywiscie zakldamy ze skrypt do pakowana ma nazwa pack, a do rozpakowywania ma nazwe unpack.
pablo1517 Opublikowano 29 Maja 2006 Autor Opublikowano 29 Maja 2006 zebyśtak nie mędrkował a wymyślił jak zrobić te gre multi... ooo to byś sie popisał. Troszke słąbo kumam... jak mam archiwizować dane? Jak zrobić zeby P1 - serwer - zapisywał dane o pozycji wszystkich ruszających si rzeczy oprocz gracza 2 i wysyłąte pozycje do P2 - klienta - a te przeszkadzajki odpowiednio czytały swoje pozycje :| Sorka ale ja w sprawach multi to umiem nie wiele... tylko tyle żeby było dwóch graczy co se chodzą... coś w stylu ponga tylko umiem zrobić :( EDIT: Może niech ktoś zrobi przykład prostej platformówki net play ale cos wiecej niz tylko postaci... zeby było jeszcze cos czym sie nie steruje co porusza sie samo...
Quetzacotl Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 to moze najpierw przeczytaj podstawowe komendy dotyczace multi a potem sie pytaj jak je wykorzystac
pablo1517 Opublikowano 29 Maja 2006 Autor Opublikowano 29 Maja 2006 no ja znam chyba dobrze tylko mplay_data_write i read :P
Tymon Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 To naprawde dużo umiesz. Pomyśl, to bardzo łatwe. mplay_message ... EDIT No powaga :) To są tylko podstawy (chodzi o mplay_data_write i read) i do tego komplenie nie przydatne w grach gdzie obiekty (więcej niż 2) zmieniają swoją pozycję. Weź kartkę i rozpisz sobię wszystko, tylko naucz się GMLa :P
pablo1517 Opublikowano 29 Maja 2006 Autor Opublikowano 29 Maja 2006 To naprawde dużo umiesz. Pomyśl, to bardzo łatwe. To sarkazm czy powaga?? cos z messegami? zaraz odpale GM i obadam troche xD EDIT: no to fajnie... umiem GMla jeśli chodzi o gry na pojedyńczym kompie... ale jeśli chodzi o net to cienko. no to mam taką funkcje mplay_message_send(player,id,val) służy do wysyłania jakichś danych... jak używać w niej ID? to ma być id obiektu czy jakies inne? playyer?? nazwa gracza? no a val no to wiem akurat xD o co biega w tej samej opcji ale guaranteed?? mplay_message_receive(player) - odbiera wiadomość ok... wszystko ładnie ale... ja nadal nie wiem jak tu użyć tych funkcji :(
Tymon Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 Czytaj dokładnie helpa :) for(n=0;n<mplay_message_count(0);n+=1;) { mplay_message_receive(0); m_id = mplay_message_id(); //Identyfikator wiadomosci m_value = mplay_message_value(); //Wartosc m_player = mplay_message_player(); //Numer gracza //Tu wykonanie kodu na podstawie odebranych wiadomosci. switch (m_id) { case 1: x+=1; break; case 2: y+=1; break; default: break; } } mplay_message_clear(0); Chyba się nie pomyliłem. EDIT Quetzacotl, to tylko taki mały przykład :P Nie podam mu całego, gotowego kodu :]
pablo1517 Opublikowano 29 Maja 2006 Autor Opublikowano 29 Maja 2006 lol ja dalej słabo czaje :( po co ci te n? po co ma być identyfikator wiadomości? pozatym to wygląda tylko na odczytywanie tych messagów.. :crying:
Quetzacotl Opublikowano 29 Maja 2006 Opublikowano 29 Maja 2006 ja bym to zrobił inaczej w stepie dajesz sprawdzanie czy sa wiadomosci jak sa, to sprawdzasz jakie mają id (dzieki id wiesz jakie informacje maja dla ciebie), jesli np id=2 co dajmy na to bedzie oznaczalo u ciebie przyjscie wiadomosci z chata to wtedy robisz akcje dodania tej wiadomosci do swojego okna chata
pablo1517 Opublikowano 30 Maja 2006 Autor Opublikowano 30 Maja 2006 No oki trocszeczke załapuje... ale jak zrobić żeby każda postać (nawet tego samego rodzaju (np goomba)) wysyłała swoją pozycje do tej drugiej gry i zeby odpowiedni goobma dawał pozycje odpowiedniej goombie w grze nr2 cos z funkcją for?? EDIT: ech... Przydałby sie przykłąd :( Co to jest chr() i string_char_at()
David Dark Opublikowano 2 Czerwca 2006 Opublikowano 2 Czerwca 2006 to jest forum chyba o gotowych grach i programach a nie help? :/ Nie! To jest żywy help z którego (tak jak i z tego załączonego do GMa) ludzie nie umieją korzystać. Jak ktoś nie wie to nie odpowie, prawda? Tymon
pablo1517 Opublikowano 2 Czerwca 2006 Autor Opublikowano 2 Czerwca 2006 no to biore sie za kombinowanie z twoim kodem tymon... choc słabo go rozumiem... doskonale czaje w tym odbieranie messagów ale te wysyłanie cos nie wchodzi mi :/ EDIT: I zastanawia mnie dlaczego jest to wszystko w for(n=0;n<mplay_message_count(0);n+=1;) ... po co to ma liczyc ilosc wiadomosci ;|
Maximal Opublikowano 2 Czerwca 2006 Opublikowano 2 Czerwca 2006 Wystarczyło przejrzeć helpa, żeby wydedukować do czego służy każda linjka ;) Pozwoliłem sobie dodać komentarze do kodu Tymona: for(n=0;n<mplay_message_count(0);n+=1;)//używając pętli for, definiujemy zmienną n równą zero, sprawdzamy czy n jest mniejsza niż liczba wiadomości przesłanych przez użytkownika, a jeżeli warunek jest prawdzimy, zwiększamy n o 1. Jeśli warunek jest fałszywy, wykonujemy instrukcje w nawiasach klamrowych. { mplay_message_receive(0); // odbieramy wiadomość od gracza m_id = mplay_message_id(); //Identyfikator wiadomosci m_value = mplay_message_value(); //Wartosc m_player = mplay_message_player(); //Numer gracza //Tu wykonanie kodu na podstawie odebranych wiadomosci. switch (m_id) // jeśli zmienna m_id wynosi: { case 1: x+=1; break;// 1, do pozycji x obietu dodajemy 1 case 2: y+=1; break;//2, do pozycji y obietu dodajemy 1 default: break; } } mplay_message_clear(0);
pablo1517 Opublikowano 2 Czerwca 2006 Autor Opublikowano 2 Czerwca 2006 ziomex thx troszke więcej pojąłem :D miej wiecej wiem co tu trzeba jeszcze dac ale... dlaczego ma sie dodawać po 1 do X?? a nie powinno byc cos tak że powinno przyjmowac taka pozycje jak u gracza (serwera)?? No i... to jest odbieranie? a jak z wysyłanim :(
Maximal Opublikowano 2 Czerwca 2006 Opublikowano 2 Czerwca 2006 dlaczego ma sie dodawać po 1 do X?? Z prostej przyczyny: aby wkonane zostały instrukcje w nawiasach, n musi być większe lub równe od liczby wysłanych wiadomości ( mplay_message_count(0) ). Początkowa wartość n to 0, więc musimy stopniowo ją zwiększać :) Co do wysyłania zapraszam do helpa :) Dział The Game Maker Language (GML) -> Multiplayer games -> Messages. Dla przykładu: aby wysłać wiadomość używamy komendy: mplay_message_send(nazwa_gracza-0 aby wysłać do wszystkich graczy,id_wiadomości,wartość)
pablo1517 Opublikowano 2 Czerwca 2006 Autor Opublikowano 2 Czerwca 2006 LoL... ładnie ładnie ale... Dark Maximal nie zrozumiałeś pyatania. Ja pytałem dlaczego ma sie po 1 do X dodawać a nie do n... to akurat rozumiem ale po co te x+=1; i y+=1; ja nie che by u drugiego gracza obiekt przesówał sie po skosie w prawo i w góre tylko zeby miał taką samą pozycje jak w mojej grze :P
pablo1517 Opublikowano 3 Czerwca 2006 Autor Opublikowano 3 Czerwca 2006 Lol wiem ze wysyłać trzeba mplay_message_send(player,id,val) - to czaje ale jak ma wyglądać to żeby brało oddzielnie pozycje każdej postaci nawet tego samego rodzaju i dawało ją dla odpowiedniej jednostki? chodzi mi o to zeby np nie pobrało pozycji goomby z końca planszy i dało tą pozycje tej goombie która jest na początku czaicie!!??
Filar Społeczności Ranmus Opublikowano 3 Czerwca 2006 Filar Społeczności Opublikowano 3 Czerwca 2006 Warto by było wysłać unikalne id obiektu, nieprawdaż? :) A potem klient sprawdza czy obiekt o danym id istnieje i jeżeli tak, to przypisuje mu pozycję. :) Nigdy nie robiłem gier sieciowych, więc dokładniej to nie powiem.
pablo1517 Opublikowano 3 Czerwca 2006 Autor Opublikowano 3 Czerwca 2006 i tu nasówa mi sie takie pytanko... czy napewno w obydwu grach ten obiekt będzie miał identyczne ID?? no i jak wysyłać te id razem jeszcze z valuem??
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ę