
Pental Stary
Zbanowani-
Postów
354 -
Dołączył
-
Ostatnia wizyta
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Pental Stary
-
To był żart, ale masz jakiś lepszy pomysł?
-
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
To na dole jest nieważne, gdy ping = 0 :P . Ale gnysku, ja to rozumiem. Ale napisz mi kod step klienta. I nie mów o skopiowaniu, bo podczas gdy mam usunąć i dodać zarazem 100 linijek kodu, jaka jest szansa, że nie popełnię błędu? GRACZ to KLIENT NA SERWERZE, czy GRACZ U KLIENTA? Ja już kompletnie nie kumam tego 39dll. Zrobisz mi taki przykład najprostszy, który ja próbowałem zrobić? Zaglądałem do setek artykułów i przykładów - i każdy ma inną strukturę odbierania i wysyłania danych :/ . -
Rozszyfrowujemy kodowanie plików graficznych i wysyłamy na naszą stronę odpowiednie dane, po czym ściągamy plik!
-
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Tak, po czym klient stworzy kolejnego klienta... Bez sensu ogólnie. Pokaż kod w step klienta po case 0: :P . A ja nie wiem jak to ma wyglądać, Help :P . Edit: Klient w prawdzie się tworzy, jednak pozostałe dane nie są odbierane :/ . Pytanie powyżej wciąż aktualne. -
@echo off echo ### echo #<twój znak># echo ### Teraz podpiąć to pod GMa wystarczy :) .
-
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
https://gmclan.org/up4218_4_testy.html xD -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Gnysek nadal nie działa :confused: .Rozmiar wiadomości to wartość ujemna - tego nie rozumiem. -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Dwa pytania: "A co to setnagle() i jeżeli będzie 100 klientów, każdy będzie co stepa odbierał identyczne dane??" @Edit po tym jak nie akceptuję i tak nie działa. -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Kocham cię gnysek :) . Dzięki, zaraz przetestuję :) . @Edit. Nie działa, już cie nie kocham. -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Ona jest bez sensu ogólnie, ale to nie ma znaczenia. Chodzi o to, że rozmiar wysyłanej wiadomości jest a minusie. Pierwsza tablica mówi, czy jest gracz, czy nie (-1 lub 1), a druga to obiekty. Pierwszą trza więc wywalić. -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Tak, dalej występuje... -
[39dll] Odbieranie wiadomości?
Pental Stary odpowiedział(a) na Pental Stary temat w Pytania początkujących
Gnysku, zrobiłem to zanim Tymon napisał posta, a może w trakcie pisania, n / c :) . Bo na kompie miałem już to poprawione, a dalej nie działało, pokazałem Tymonowi ten temat i wyłapałem te błędy. -
No więc biorę się za 39dll, żeby nie być gorszym :P . I mam problem. Serwer nie tworzy obiektu Client, gdy dołącza gracz do gry. O to kod step serwera: GML socket = tcpaccept( tcp, true ); if ( !socket ) exit; while( true ) { message = receivemessage( socket ); if ( message <= 0 ) break; caption = readbyte(); switch( caption ) { case 0: // doszedl gracz _name = readstring(); _x = readint(); _y = readint(); if ( playC < 10 ) { for( i = 0; i < 10; i += 1; ) { if ( play[ i ] == -1 ) { play[ i ] = true; playO[ i ] = instance_create( _x, _y, Client ); playO[ i ].i = i; playO[ i ].name = _name; playC += 1; break; } } } clearbuffer(); writebyte( 0 ); writebyte( i ); writestring( _name ); writeint( _x ); writeint( _y ); sendmessage( socket ); break; case 1: // odszedl jakis gracz _id = readint(); with( playO[ _id ] ) instance_destroy(); playC -= 1; play[ _id ] = -1; clearbuffer(); writebyte( 1 ); writebyte( _id ); sendmessage( socket ); break; case 2: // gracz wykonal jakis ruch _id = readbyte(); _x = readint(); _y = readint(); playO[ _id ].x = _x; playO[ _id ].y = _y; clearbuffer(); writebyte( 2 ); writebyte( _id ); writeint( _x ); writeint( _y ); sendmessage( socket ); break; } } A to Create gracza: GML dllinit( 0, true, false ); x = random( 300 ); y = random( 300 ); name = get_string( "Podaj nazwę gracza:", "nowy_gracz" ); tcp = tcpconnect( get_string( "Podaj ip serwera:", "localhost" ), 123, true ); if ( !tcpconnected( tcp ) ) { show_message( "Nie udało się połączyć z serwerem!" ); dllfree(); game_end(); } myid = -1; socket = tcpaccept( tcp, true ); clearbuffer(); writebyte( 0 ); writestring( name ); writeint( x ); writeint( y ); sendmessage( socket ); Dam jeszcze na wszelki wypadek step klienta: GML if ( myid == -1 ) exit; socket = tcpaccept( tcp, true ); if ( !socket ) exit; while( true ) { message = receivemessage( socket ); if ( message <= 0 ) break; caption = readbyte(); switch( caption ) { case 0: // doszedl gracz _id = readbyte(); _name = readstring(); _x = readint(); _y = readint(); if ( myid == -1 ) myid = _id; else { _i = instance_create( _x, _y, Client ); _i.i = _id; } break; case 1: // odszedl jakis gracz _id = readint(); global.i = _id; with( Client ) { if ( _id == global.i ) instance_destroy(); } break; case 2: // gracz wykonal jakis ruch _id = readbyte(); _x = readint(); _y = readint(); with( Client ) { if ( _id == global.i ) { x = _x; y = _y; } } break; } } Co jest źle :P ?
-
Ranmusie, nikt mi nie każe grać w gry z powodu, że mam komputer :) . A prawie wszystkie tytuły kojarzę, jednak w mało gier z wymienionych grałem :P . Platyna, żart nie jest śmieszny, gdy się tłumaczy, o co w nim chodzi :P .
-
System id, odbieranie i rozsyłanie danych
Pental Stary odpowiedział(a) na XxMichałxX temat w Pytania początkujących
Nobody, lepiej na tablicy, każda funkcja z listy to linijka kodu, a tablica jest bardziej elastyczna. Mazo, zaraz dam ci kod i pokażę, jak ja to widzę :) . (btw. czemu Michała uważano za nooba? dla mnie to on niedługo będzie w "elicie GMClanu" :P ) Dobra, ja to widzę tak: GML socket = tcpaccept( tcp, true ); if ( !socket ) exit; while( true ) { message = receivemessage( socket ); if ( message <= 0 ) break; clearbuffer(); caption = readbyte(); switch( caption ) { case 0: // doszedl gracz _name = readstring(); _x = readint(); _y = readint(); if ( playC < 10 ) { for( i = 0; i < 10; i += 1; ) { if ( play[ i ] == -1 ) { play[ i ] = true; playO[ i ] = instance_create( _x, _y, Client ); playO[ i ].i = i; playO[ i ].name = _name; playC += 1; break; } } } clearbuffer(); writebyte( 0 ); writebyte( i ); writestring( _name ); writeint( _x ); writeint( _y ); sendmessage( socket ); break; case 1: // odszedl jakis gracz _id = readshort(); with( playO[ _id ] ) instance_destroy(); playC -= 1; play[ _id ] = -1; clearbuffer(); writebyte( 1 ); writebyte( _id ); sendmessage( "socket" ); break; } } Sam dopiero uczę się 39dll, ale już kiedyś do tego zaglądałem i całkiem proste mi się wydaje :P . Pisałem to chwilkę, z pytaniami wal śmiało :) . E, widzę różnicę między twoim Create'em a moim, więc masz: GML dllinit( 0, true, false ); tcp = tcplisten( 123, 10, true ); if ( !tcp ) { show_message( 'Nie udało się założyć serwera!' ); dllfree(); game_end(); } for( i = 0; i < 10; i += 1; ) { play[ i ] = -1; playO[ i ] = -1; } playC = 0; -
Basketżal
Pental Stary odpowiedział(a) na XxMichałxX temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Przykład się przyda wielu nowym, ogólnie idziesz do przodu Michał :P . -
Ale serwer odbiera ok. <ilość graczy> razy więcej danych niż gracze. Dodatkowo, także wysyła dane. Nie dziw się różnicą FPSów pomiędzy klientem a serwerem, bo ona i tak jest niewielka :P . Wysyłaj dane tylko wtedy, gdy jest jakikolwiek widoczny ruch, choćby gra była nie wiem jak dynamiczna.
-
A co ile klatek wysyłasz dane? Jeżeli co stepa, to silnik mmo jest już bez sensu. Chociaż wątpię, że popełniasz taki błąd :P . Sorka sorka, nie doczytałem. Ale to bez sensu. Dane wysyłaj tylko wtedy, gdy dla innego klienta jest zauważalna jakakolwiek zmiana. Np. gdy robi ruch.
-
[Przykład]Menu
Pental Stary odpowiedział(a) na 47xxxxxxxx temat w Gotowe Skrypty, przykłady, dodatki, silniki 3D dla GM
Adam, z ciebie już nic nie będzie ;/ . -
PoksiPolku, ktoś kto ma komputer musi grać w gry? Wspaniała logika. Chwalcie się lepiej swoim dziewczynom, że znacie ponad 60 gier z obrazka :) .
-
Wybaczcie, nie każdy jest no - lifem. Ja z wymienionych gier to znam prawie wszystkie, ale nie grałem w większość z nich.
-
Lol, TFT nie zauważyłem XD .
-
Lol, dawids, cienki jesteś, ja trzy xD . (RM, WORMSY, SIMSY)
-
W jakich wymiarach np. background'a menu najlepiej?
Pental Stary odpowiedział(a) na Mucco temat w Dyskusje o GM
Nie słuchaj się Cracka - sam nick dobrze przedstawia jego wiedzę ^^ . Im większa tym lepsza, jak ktoś ma 19 - stkę lub większy ekran monitora, to zobaczy rozmazane pixelki.