Skocz do zawartości

Ninja

Użytkownicy
  • Postów

    21
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Ninja

  1. Bo to supermeny, nie człowieki. o! :D A z tym zombiakiem, że z definicji jest martwy to od razu tak myślałem.. Ale jak miałem nazwać zmienną? Stepujący? :D
  2. Nie wiem jak masz, już się pogubiłem, ale proponuję coś na ten schemat: GML // Create sprite_index = sZombieZywy; Dead = false; // w kolizji z graczem if( !Dead ) {// Jesli zombiak zyje, to umiera Dead = true; sprite_index = sZombieMartwy; } // Step if( !Dead ) {//Jesli zombiak zyje to bieganie za graczem czy cos tam chcesz // ... }
  3. A jak zapisujesz pozycje punktów? Może za mało miejsca? :] Jeśli nie wiesz ile Ci potrzeba użyj vectorów.
  4. A czy w GM tak jest? oO Co sekundę? Chyba Nie ;) I chyba nawet lepiej, bo jeśli chcę cobie coś wykonać po danej ilości updatestów to taki prosty kod dobrze się tu sprawdza. Jeśli chcę robić to na czas to używam <time.h>. Do tego też Wam napisać kod? ^^
  5. To co pokazałem to tylko takie objaśnienie "jak" :) Ma wzór, poradzi sobie ze zrobieniem ;)
  6. Tak sobie czytam ten temat i myślę, że można to zrobić w prosty sposób: 1. Tworzymy sobie listę alarmów( zróbmy jak w gm.. ) int Alarm[ 15 ]; 2. W pętli programu stale odejmujemy czas alarmow for( int i = 0; i < 15; i++ ) Alarm[ i ]--; 3. Chcąc użyć alarmu dajemy w kodzie np: ... Alarm[ 0 ] = 10; 4. Sprawdzamy w pętli czy już czas, na wykonanie alarmu if( Alarm[ 0 ] == 0 ) { //... kod } Ten przykład nie jest na timerach itp, bo i po co? Alarm w gm działą tak samo - co step :)
  7. Przeczytaj jeszcze raz -.- Wykonują się 2 stepy. 2x25 = 50. Co do problemu... Daj jeszcze kod( create ) gracza i bota.
  8. Witam. Zabrałem się za naukę obsługi sieci w GM:Studio i na podstawie tutoriala napisałem sobie najprostszy kodzik który coś ma tworzyć oPlayer dla danego clienta. Server: GML // Create _MaxClients = 32; _PortTCP = 6510; _CreateX = 100; _CreateY = 100; Clients = ds_map_create(); Sockets = ds_list_create(); Server = network_create_server( network_socket_tcp, _PortTCP, _MaxClients ); if( Server < 0 ) { show_message( "cant create server" ); ds_map_destroy(Clients); ds_list_destroy(Sockets); game_end(); } // Networking var EventID = ds_map_find_value( async_load, "id" ); var Type = ds_map_find_value(async_load, "type"); if( EventID == Server ) { // Event socketu Server var Sock = ds_map_find_value(async_load, "socket"); var IP = ds_map_find_value(async_load, "ip"); if( Type == network_type_connect ) { // Connection ds_list_add( Sockets, Sock );// Lista socketow var ObjPlayer = instance_create( _CreateX, _CreateY, oPlayer );// Obiekt socketu ds_map_add( Clients, Sock, oPlayer );// Dodawanie do listy clientow } else { // Disconnect var inst = ds_map_find_value( Clients, Sock );// Wyszukanie elementu clienta w tablicy ds_map_delete( Clients, Sock );// Kasowanie go with( inst ) { instance_destroy(); }// Usuniecie obiektu var index = ds_list_find_index( Sockets, Sock ); ds_list_delete( Sockets, index ); } } Client: GML Server = network_create_socket( network_socket_tcp ); err = network_connect( Server, "127.0.0.1", 6510 ); if( err != 0 ) { show_message( "cant join to the server" ); game_end(); } Włączam server potem client i od razu info, że nie można połączyć się z serverem. Server również nie otrzymuje żadnych info o próbie połączenia. W czym tkwi problem?
  9. Możesz zrobić to tworząc zmienną id dla obiektu broni gracza: GML // Create BronID = 123; // Przy losowaniu broni: // 1. Losowanie wylosowana = choose( oBron1, oBron2, oBron3, oBron4 ); // 2. Sprawdzanie czy mamy juz bron, jesli tak to niszczymy ja if( BronID != 123 ) with( BronID ) instance_destroy(); // 3. Dajemy mu bron BronID = instance_create( x, y, wylosowana ); // Teraz co step niesiemy broń za graczem // Step if( BronID != 123 ) {// Jesli mamy bron BronID.x = x; BronID.y = y; } To powinno działać :)
  10. Ojj nie sprzed lat :( Nie trzeba, masz rację... Ale jeśli samemu wydaje się słabe kawałki, a krytykuje się innych na podobnym poziomie to coś jest nie tak ;) Ale, nie ważne :) Myślę, że błędem było wstawienie tutaj tego demka. Myliłem się myśląc, że nie ma tu już pseudo programistów którzy krytykując innych dowartościowują się :D Jeśli można, niech jakiś admin usunie ten temat ;)
  11. To co tam robisz ze swoim chłopakiem mnie nie interesuje, nie mieszaj mnie w to ;) To co napisał Adriann mnie nie boli, wiem nawet, że to też głównie dlatego że... JAM JEST SKOVV :D
  12. Dzięki za opinię :) Nie zgadzam się z nią, bo gierka nie jest jakaś bardziewna czy jakaś.. Jest grywalna, grafika otoczenia i ogólnie to co się tam znajduje nie jest dla mnie tak strasznie ważna w tej chwili ;) Wolałem raczej zająć się samym gameplayem. To, że nie lubisz dubstepu to już nie moja wina :> Mi się podoba, grę robię w sumie główne dla siebie, pokażę tylko kilku znajomym. Widząc jak wypowiadasz się na temat tejże gry, stwierdziłem, że musisz być lepszy, bo przecież jeśli Twoja gra jest na podobnym poziomie i ją dajesz to cos jest nie tak.. Pobrałem 2 Twoje gry i twierdzę, że są podobne bardziej do kupy, aniżeli gry ;) Uszanowanko :)
  13. 1. Że jestem Skovv to chyba ogólnie wiadomo, bo jest nawet napis przy starcie gry ^^ 2. HTML IFRAME B GEN VIRUS? Nie wiem o co chodzi. Wiem tylko, że kumplowi na avaście też pokazało. Ja żadnych trojanów czy innych śmieci nie podsyłam.
  14. Dodałem te screeny i wersję dla windowsa ;)
  15. Kierunek to zmienna pomocnicza, którą sobie utworzyłeś :) Jeśli by jej nie było to nie wiedziałbyś czy nasz bot doszedł już do tego pierwszego punktu i chce iść do 2giego ;) Jeśli kierunek jest równy 1, to wiemy, że bot chce iść do pierwszej pozycji. Kiedy już dojdzie to zmieniamy cel na pozycje 2gą... tylko skąd program ma o tym wiedzieć? Do tego właśnie nam zmienna kierunek ;) Kiedy już się dowlecze, zmieniamy zmienną kierunek na wartość 2 i nasz ziomeczek wie, że na 1 pozycji już był, nie ma tam nic do roboty i buja się na drugą. Jeśli kierunek==2 i już się tam dowlecze to znów nie ma co robić i myśli co by tu dalej.. Nie chcemy innych pozycji( kierunek=3, 4 itp... ) to zmieniamy wtedy kierunek na wartość 1( kierunek = 1 ) i znów się buja na pierwszą pozycję :> Nie umiem tego lepisiej, prościej opisać.. Rozumiesz? :D
  16. Nie mam sterowania pod winde. Nikt nie pomoże ze screenami to trudno, temat do usunięcia ^^
  17. Twórz w create zmienną kierunek = 1; Ona będzie Ci określała w którą stronę ma teraz iść. Zamiast 2 eventów step, wybierz jeden( chyba źle zrozumiałeś ich działanie, poczytaj jeszcze raz ). Teraz przy pomocy zmiennej kierunek będziemy sobie chodzić: if( kierunek == 1 ) {// Idzie pierw w tą stronę if( x == 288 && y == 304 ) {// Kiedy już dotrze kierunek = 2;// Będzie leciał w 2 strone } else {// Jeśli jeszcze nie dotarł //Twój kod na bieg w tą stronę, na pozycje 288, 304 } } else if( kierunek == 2 ) {// Idzie teraz w 2 strone if( x ... ) {// to samo co wczesniej tylko z innymi wartosciami kierunek = 1; } else {... }// Bieg na 2ga pozycje;) }
  18. Tytuł: Dark World Gatunek: Shooter Top-Down Opis: Prosta gierka pisana w celu przypomnienia tego i owego ;) Nie ma żadnej fabuły, po prostu strzelamy do tego co do nas leci. Download( Windows ): KLIK! Download( Android ): KLIK! Rozmiar pliku: kilkanaście mb Autorzy: Programowanie: Ja Fabuła: -brak- Grafika: Rapper Muzyka: Różni wykonawcy ;) Screeny:
  19. Ninja

    [Android] Problem

    Jakie klucze? :D Muszę coś generować? Chyba nie było mnie na tej lekcji :/ W razie czego: Nie chcę korzystać z mordoksięgu, chcę po prostu kompilować do apk ;) EDIT: Jestem zwyczajnie głupi.. Już działa :) Dzięki za pomoc.
  20. Ninja

    [Android] Problem

    Jeśli można, przyłączę się do tematu. Ja niestety mam błąd i nie wiem już jak to ogarnąć, szukałem po necie i nic: BUILD FAILED C:\adt-bundle-windows-x86-20130522\sdk\tools\ant\build.xml:1132: The following error occurred while executing this line: C:\adt-bundle-windows-x86-20130522\sdk\tools\ant\build.xml:1144: Signing key andkeys not found
×
×
  • Dodaj nową pozycję...