Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 823
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    143

Treść opublikowana przez gnysek

  1. No własnie wtedy przy przejściu z sektora do sektora zwalnia, chyba, że grafiki są naprawdę małe.
  2. Zrobić to nie problem, ale to strasznie muli jak np. dojdziesz do 10 obiektów których sprity nie są wczytane - zanim sie wczytają, gra przytnie.
  3. jak zdefiniujesz globala, to jest juz dostępny, ale logiczne, że wcześniej nie.
  4. global.level = level; ?? chyba nie w tą stronę :)
  5. GML ini_open('zapis.ini'); ini_write_string('sekcja','klucz',string( global.costam )); //taki hack na ini_write_real, które w GM6 źle działa //w gm7 zamiast linijki wyzej wystarczy //ini_write_real('sekcja','klucz',global.costam); ini_close(); ini_open('zapis.ini'); global.costam = ini_read_real('sekcja','klucz',0); ini_close();
  6. no na początku gry można. ja zawsze mam room, w którym jest obiekt ustalający zmienne i od razu leci do drugiego roomu - gracz go nie widzi, a ja wiem, że już tam nie wracam nigdy i że nic poza tym obiektem się nie pojawiło.
  7. Dokładnie. Co innego np. MD5, gdzie nic nie odkodujesz, chociaz istnieją dwa takie same hashe z różnych tekstów... tylko nie tak prosto je znaleźć i nieco to potrwa.
  8. ja robię zawsze tak: GML global.costam = costam; W create najlepiej, bo ten event wykonuje się tylko raz. Co do wyświetlania, to draw_text(x,y,string(global.costam)), chyba, że globalna to string, to nie trzeba jej zamieniać.
  9. 1. Kup słownik. Ja nic nie rozumiem z tego co napisałeś, czytałem z nazwy tematu o co chodzi. Co to kur*a znaczy ? 2. w create GML bylo = false kiedy ma nastąpić cośtam: GML if not bylo { <zrob costam>; bylo = true; } za drugim razem już nie nastąpi. Prosta sprawa.
  10. Można robić co tam chcesz, to jest tylko taka pokazówka. I tak uważam, że xor jest lepszy.
  11. albo w draw za x i y podstawić view_xview[0] itd.
  12. GML ini_write_string( 'notatka', doXor( 'notatka1' ) );
  13. Masz, napisałem Ci gotowca na XOR, jest szybszy i krótszy: https://gmclan.org/index.php?czytajart=58
  14. xor :) ładnie zamienia tekst, potem drugi xor go odmienia spowrotem :D
  15. Zasada z THEN jest taka: GML if <costam> then <costam>; if <costam> then { <costam>; <costam>; } if <costam> { <costam>; <costam>; } i tylko tak
  16. Na serwerze jest serwer i gracze, w kliencie jest klient i nic wiecej. Przykład mogę zrobić jutro po południu bo teraz uczę się na matmę.
  17. nie rozumiesz: SERWER nasłuchuje, czy ktoś dołącza, (tcpaccept zwraca socket > -1 ), tworzy nowy obiekt GRACZ i ustawia mu zmienną SOCKET na socket. SERWER nasłuchuje nadal na następnych NOWYCH graczy. TCPACCEPT zwraca > -1 tylko, gdy dołącza ktoś nowy, tych zaakceptowanych już nie zwraca. GRACZ sprawdza w pętli rozmiar wiadomości która przyszła na socket (size = receivemessage( socket );). Jeżeli jest większa od zero, to robi switcha i tam case, a jak nie to break. Jak za długo nie dostanie nic (można dodawać co step ping +1 jak nie doszły dane i ping=0 gdy doszły), to go kasujemy i zamykamy socket. Wazne info. Gdy wyrzucamy gracza z serwera, lub gracz w KLIENCIE rozłącza się z serwerem, NIE WOLNO od razu zamknąć socketa, bo wtedy zamknie się zanim dane zostaną wysłane. Trzeba odczekać ok. 1s i wtedy zamknąć socket z graczem, lub z serwerem.
  18. brakuje na serwerze: socket = tcpaccept( listen, 1 ); if socket { setnagle(socket,true); a = instance_create(0,0,objKlient); a.socket = socket; } a kod step z serwera, trzeba przenieść do objektu graczy bodaj
  19. I nie zmieniłeś tego, o czym mówiłem. Teraz serwer wcale nie nasłuchuje na graczy. Nie mam czasu poprawić dzisiaj, ale jak nikt się tym nie zajmie to spróbuje jutro.
  20. Tylko mnie nie kuś, we wtorek mam egzamin. Chyba, że potestuję, to od środy nie mam co chodzić na studia :P
×
×
  • Dodaj nową pozycję...