Skocz do zawartości

Skowron1993

Użytkownicy
  • Postów

    168
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Skowron1993

  1. Tytuł tematu chyba nie mówi o problemie ^.^ Co do celowania na coś... na gmc masz pełno przykładów FPS'ów 3D, tam jest to pokazane( np przy strzelaniu - pocisk uderza w ścianę, przy celowniku jest to samo ).
  2. Dzieki wielkie, zaraz sprawdzę :) EDIT: No i ja już nie wiem -.- Zrobiłem( na 99%, zaraz 4 rano ) tak jak to opisałeś i nie działa :/ GML // Create: global.ServerSocketIn = udpconnect( global.ServerPortIn, true);// 2060 global.ServerSocketOut = udpconnect( global.ServerPortOut, true);// 2070 // Odbieranie( step ): r = receivemessage( global.ServerSocketIn ); global.ServerOdebrane = r; if( r > 0 ) { k = readdouble(); instance_create( 10, 10, oxx ); //... obiekt sie wcale nie tworzy wiec dane nie dochodza</span> Client: GML // Create global.ClientServerIn = udpconnect( global.ClientServerPortIn, true ); global.ClientServerOut = udpconnect( global.ClientServerPortOut, true ); // Wysyłanie( server tego nie odbiera ) if( x != xprevious || y != yprevious ) { clearbuffer( ); writedouble( 200 ); writedouble( global.ClientMojeID ); writedouble( x ); writedouble( y ); sendmessage( global.ClientServerOut, global.ClientServerIP, global.ClientServerPortOut );// UDP!!! xprevious = x; yprevious = y; } Zero reakcji :|
  3. Mógłbyś zademonstrować na przykładzie? Trochę to dziwne :|
  4. Nie wiem już co jest tutaj źle :| Tworze server: GML global.ServerClientUdp = udpconnect( global.ServerPortUdp, true); Dołączam do niego: GML global.ClientServerUdp = udpconnect( global.ClientServerPortUdp, true ); Wysyłam mu nową pozycje( Client ): GML if( x != xprevious || y != yprevious ) { clearbuffer( ); writedouble( 200 ); writedouble( global.ClientMojeID ); writedouble( x ); writedouble( y ); sendmessage( global.ClientServerUdp, global.ClientServerPortUdp, global.ClientServerUdpIP );// UDP!!! xprevious = x; yprevious = y; } Odbieram i przesyłam pozostałym( Server ): GML r = receivemessage( global.ServerClientUdp ); if( r > 0 ) { k = readdouble(); instance_create( 10, 10, oxx ); if( k == 200 ) { // repozycja id_typka = readdouble( ); posX = readdouble( ); posY = readdouble( ); for( YY = 1; YY <= global.ServerIloscGraczy; YY += 1 ) { clearbuffer( ); writedouble( 200 ); writedouble( id_typka ); writedouble( posX ); writedouble( posY ); sendmessage( global.ServerClientUdp, global.ServerClientIP[ YY ], global.ServerClientPortUdp );// UDP!!! } } } Na koniec cała reszta clientów odbiera naszą pozycje( Client ): GML r = receivemessage( global.ClientServerUdp ); if( r > 0 ) { show_message( "cos tam doszlo" ); k = readdouble( ); if( k == 200 ) { id_do_zmiany = readdouble( ); idx = readdouble( ); idy = readdouble( ); show_message( id_do_zmiany ); show_message( idx ); show_message( idy ); for( o = 0; o < instance_count; o += 1) { obj = instance_id[ o ]; if( instance_exists( InnyClient ) ) { if( obj.object_index == InnyClient.object_index ) { if( obj.MojeID == id_do_zmiany ) { obj.x = idx; obj.y = idy; } } } } } } Niestety nie działa :| Nie tworzy się nawet obiekt oxxx, co oznacza że server nie dostał wiadomości :/
  5. No chyba podałem ci wyżej co i jak? ^.^ Wejdź sobię na cpp0x.pl i poszukaj.
  6. Poprawiłem to i ciągle nie działa :| Dodam tylko że korzystam z tcp/ip, a UDP użyję tylko do przesłania pozycji. Funkcje z TCP/IP działają tak jak powinny tylko te nieszczęsne UDP się nie słuchają :| Może macie jakieś tutoriale 39dll jak używać UDP?
  7. Witam. Usiłuję wtoczyć do swojej aplikacji protokół UDP, jednak do clienta nie dochodzą żadne dane( od servera ), a powinny. Przy dołączaniu clienta mam kod: GML NowyClient = tcpaccept( global.ServerSocket, true ); if( NowyClient > 0 ) { global.ServerIloscGraczy += 1; global.ServerClient[ global.ServerIloscGraczy ] = NowyClient; global.ServerClientUdp[ global.ServerIloscGraczy ] = udpconnect( global.ServerPort, true); global.ServerClientIP[ global.ServerIloscGraczy ] = lastinIP(); global.ServerClientPort[ global.ServerIloscGraczy ] = lastinPort(); //...</span> W step servera: GML r = receivemessage( global.ServerClientUdp[ i ] ); if( r > 0 ) { xxx = 1; k = readdouble(); if( k == 200 ) { // repozycja posX = readdouble( ); posY = readdouble( ); for( o1 = 1; o1 <= global.ServerIloscGraczy; o1 += 1 ) { if( o1 != i )// <- po co wysylac id obiektowi ktore je nadeslal... { clearbuffer( ); writedouble( 200 ); writedouble( i ); writedouble( posX ); writedouble( posY ); sendmessage( global.ServerClientUdp[ i ], global.ServerClientIP[ i ], global.ServerClientPort[ i ] );// UDP!!! } } } } no i client: create: GML global.ClientServerSocket = tcpconnect( global.ClientServerIP, global.ClientServerPort, true ); if( global.ClientServerSocket <= 0 ) return false; else { global.ClientServerUdp = udpconnect( global.ClientServerIP, true ); global.ClientServerUdpIP = tcpip( global.ClientServerSocket ); return true; } step: GML r = receivemessage( global.ClientServerUdp ); if( r > 0 ) { k = readdouble( ); show_message( k ); if( k == 200 ) { id_obj = readdouble( ); for( o = 0; o < instance_count; o += 1) { obj = instance_id[ o ]; if( instance_exists( InnyClient ) ) { if( obj.object_index == InnyClient.object_index ) { if( obj.MojeID == id_obj ) { obj.x = readdouble( ); obj.y = readdouble( ); } } } } } } Do servera na 100% wysyła wiadomość, tylko nie wiem czy może coś z wysyłaniem źle czy odbieraniem?
  8. Grafikę tworzyć możesz w paintcie. Jeśli chodzi ci o rendering to możesz użyć jakiejś biblioteki, np: allegro, lub użyć OpenGL czy Direct3D.
  9. Skowron1993

    MoaCube

    oO Nie widziałem tego programu nigdy :D Obejrzałem filmik z tworzenia i... wow :D Wygląda bardzo ładnie, przetestuję sobie ten programik :P
  10. W 99% jestem pewny że nie uda ci się do tego dostać, jeśli jednak myślisz inaczej to ci podpowiem: poszukaj na gmclan "Bot do Tibi w GM" czy jakoś tak. Pokazane jest tam jak dostać się do danych z tibi( hp, mana, lvl etc ), możesz spróbować zdobyć adresy do virtual dj i użyć je w gm :]
  11. Również robiłbym to na tablicy, coś typu: GML siatka = 32; klocek[0,0] = s_nic; klocek[1,0] = s_woda; klocek[1,1] = s_murek; klocek[0,1] = s_nic; //... for( i = 0; i <= 1; i += 1 ) { for( i2 = 0; i2 <= 1; i2 += 1 ) { if( klocek[ i, i2 ] != s_nic )draw_sprite( i*siatka, i2*siatka, klocek[ i, i2 ] ); } }
  12. konkurs bez nagrody? Co to za konkurs ^^ Mógłbym ci napisać takowy gdybyś ładnie poprosił :D Odezwij się na pw.
  13. 2 pytania: 1. 2d czy 3d? 2. Co oferujesz w zamian?
  14. Skowron1993

    Perkusja GH

    Warto( ! ). Żeby za pośrednictwem Xbox Live trzeba zapłacić ~30zł za miesiąc( a pierwsze 3 miesiące za darmo ), lecz gra się świetnie :)
  15. Skowron1993

    Perkusja GH

    Kup sobie xboxa( warto ) i będziesz miał po problemie ;D
  16. Na gmclan był nawet przykład chyba( kiedyś widziałem ) Post nic nie wnosi do tematu, ostrzeżenie! gnysek Przeciwnie. Autor tematu dostał informacje gdzie szukać, teraz wystarczy poszukać... I jeszcze jedno: nie wiem za to ten warn "zabawy w moderatora" ^.^ Ostrzeżenie! Skowron
  17. Ten temat jest z 2008 roku ^.^ To użyj przycisku "Raport" a nie baw się w moderatora i nie spamuj. Dostajecie obaj ostrzeżenia gnysek Ja ostrzeżenie? ^.^ Administracja tego serwera zeszła na psy :) Może jeszcze jedno strzeżenie? Skowron
  18. Byłem w kinie. Świetne :P
  19. Dzięki za pomoc :P Kilka tytułów z listy nie widziałem, na pewno przejrzę.
  20. Szukam filmów tego( i innych wymienionych ) pokroju. Co do filmów - wszystkie które wypisałeś już oglądałem :|
  21. Witam. Uwielbiam filmy Sci-Fi i Fantasy, jednak nie mogę znaleźć takiego, którego jeszcze nie oglądałem :| Znacie jakieś filmy o superbohaterach, wampirach, coś typu matrixa, władcy pierścieni czy Harrego Pottera?
  22. Grałem w taką grę flash, wyglądała bardzo podobnie( tylko te neony były niebieskie ) i gameplay był bardzo udany( prosty, a wciągał )
  23. Chciał, ale czy pomógł? ^.^ Co do mojej pierwszej gry to już nie pamiętam obyła ^.^ Daawno to było :)
×
×
  • Dodaj nową pozycję...