Skocz do zawartości

gnysek

Administratorzy
  • Postów

    9 812
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    141

Treść opublikowana przez gnysek

  1. GM 8.1 ma ponad 3 lata i nie był aktualizowany pod Win8 ani Win10. Przenieś się na GM:Studio, które jest zarówno nowsze, jak i darmowe.
  2. To zacznij słuchać. A jak nudzisz się bo wiesz o czym mowa, zdaj egzamin i idź do wyższej klasy. Nie marnuj podatków które na Ciebie płacę!
  3. Musiałbyś kod po IF przenieść do eventyu "user defined" i wtedy byś nadpisywał ten event. Inaczej się niestety nie da. Zresztą, to co zaprezentowałeś w pseudokodzie nie jest poprawne względem GM. Poprawnie byłoby tak (chodzi mi o kod GML który dałeś): class obj_Parent { public void stepEvent() { if (keyboard_check_pressed(vk_enter)) show_message("Parent message enter"); if (keyboard_check_pressed(ord('W'))) show_message("Parent message W"); } } class obj_Child : obj_Parent { public void stepEvent() { parent.stepEvent(); if (keyboard_check_pressed(vk_enter)) show_message("Child key enter"); if (keyboard_check_pressed(ord('W'))) show_message("Child key W"); } } Zatem moja propozycja w GML GML if (keyboard_check_pressed(vk_enter)) event_user(0); if (keyboard_check_pressed(ord('W'))) event_user(1); I odpowiednio w eventach user defined 0 i 1 odpowiedni kod :)
  4. To jest support dla padów Xboxowych :)
  5. Potrzebowałem na potrzeby silnika wyświetlania dialogów w Almorze skryptu, który mi automatycznie podzieli zdania tak, żeby po wyświetlaniu na ekranie nie były one szersze niż X pikseli. Jak pewnie wiecie, takie coś robi draw_text_ext() w GM, aczkolwiek ja potrzebowałem, żeby to przypisać do zmiennej, bo poza tym z tekstem chciałbym jeszcze dalej zrobić coś jeszcze :) Napisałem więc taki skrypt, prosiłbym o sprawdzenie i ew. znalezienie miejsc do optymalizacji, bo wydaje mi się, że gdzieś wpadłem we własne sidła i kodu mogło by być nieco mniej (aczkolwiek jest szybki i raczej bez błędów). Testowałem go na normalnym tekście, tekście co już ma znaki #, oraz na tekście, gdzie słowo na bank jest dłuższe niż te X pikseli (stąd trzeci argument, który mówi, czy łamać takie słowa czy zostawić je szersze). GML /// string_wordwrap_ext(string,length,hardbreak) // // Returns a string which have newline # insterted // on same positions, that draw_text_ext would insert them // ! remember to set font style before using ! // // string text to word wrap, string // length maximum string length before a line break, real // hardbreak to break if a word is longer than max length (word like this will always start from new line) // /// { var str,len,brk,out,inbuff,wordbuff,currchar; str = argument0; len = argument1; brk = argument2; out = ""; inbuff = ""; wordbuff = ""; currchar = ""; while (string_length(str)) { currchar = string_copy(str,1,1); str = string_delete(str,1,1); if (currchar == "#") { out += inbuff + wordbuff + currchar; inbuff = ""; wordbuff = ""; } else if (currchar == " ") { inbuff += wordbuff; wordbuff = currchar; } else { wordbuff += currchar; } if (string_length(str) == 0) { out += inbuff + wordbuff; } else if ((brk == true) and (string_width(wordbuff) > len)) { out += string_copy(wordbuff, 1, string_length(wordbuff)-1) + '#'; wordbuff = string_copy(wordbuff, string_length(wordbuff), 1); } else if (string_length(inbuff) > 0 and string_width(inbuff + wordbuff) > len) { out += inbuff + "#"; inbuff = ""; if (string_copy(wordbuff,1,1) = " ") { wordbuff = string_delete(wordbuff,1,1); } } } return out; }
  6. Poczytaj o SQL Injection oraz XSS i będziesz wiedział :)
  7. Jak Don la fountain w trailerach filmów w USA
  8. Matko boska, tak strasznie dziurawego kodu dawno nie widziałem. Jeśli dobrze patrzę, można dowolny plik na serwerze sobie includować... w ogóle nie filtrujesz GETa, którego user może dowolnie zmodyfikować... nawet nie chce się szukać błędu, skoro od pierwszej linijki jest ich pełno.
  9. random_get_seed(); Jeśli nie użyjesz funkcji randomize, to zawsze masz ten sam startowy seed.
  10. 117 MB i 5 torów? Jak to mozliwe?
  11. https://forum.gmclan.org/index.php?showtopic=27449 https://forum.gmclan.org/index.php?showtopic=10140
  12. Taką technikę stosowano w Shadow of the Colossus do futra kolosów.
  13. Komputer może zacząć informować. 4000x1500x32bit = 23MB potrzebnej pamięci ram na karcie graficznej (przypominam, w komputerze w danej chwili chodzą tez inne programy, które karty używają).
  14. Nie zdefiniowałeś zmiennej gameState w obj_card_facedown. Edit: a nie, -5 to znaczy, że globalna. Widocznie nie ma ustawionej wartości (pkt 1. w skryptach) :)
  15. Romiar reklamy jest niejako dyktowany przez wydawcę reklam. Jest to chyba wspomniane gdzieś w manualu, więc nie masz wielkiego wpływu na ich rozmiar. Co do pionowych, to chyba dla komórek takowych nie oferują.
  16. Networking nie jest bezużyteczny w GMS. Jest do gier kooperacyjnych, gdzie jedna osoba jest graczem-hostem, a kilka się do niego dołącza. Np. 4 vs 4.
  17. Temat MMO był wałkowany wiele razy, jest problem z serwerem - raz ze skalowaniem (wydajnością łącza), dwa z obsługą (najlepiej jakby serwer wymagał do działania tylko konsoli, bez trybu graficznego, a tego GM:S nie oferuje). Co prawda wraz z GM:S byłaby opcja, że roomy czyta się łatwo z XMLa (a więc łatwo aktualizuje grę) i można sprawdzać kolizje w kwadratach dość szybko, ale nie wiem czy to jest w ogóle opłacalne... znaczy chyba lepiej by było własny silnik napisać niż korzystać dalej z GM:S (zwłaszcza, że można by wtedy zrobić wszystko obiektowo, więc łatwiej by się obsługiwało np. itemy itd. bo można by skorzystać z metod/własności i dziedziczenia do trzymania atrybutów, czy dla questów/dialogów linkować kolejne kroki). Obawiam się, że bez full - time i ze 2-3 programistów + jednego grafika nie da rady nigdy zrobić tego na więcej niż zrobiliśmy do tej pory. Oczywiście nie powiem też, że na 100% nie, bo może jednak kasa się kiedyś na to znajdzie (albo Borek sam zdecyduje się na taki krok, bo w końcu to wciąż jego gra, do której ja mam raptem prawa programować wersję bardziej fabularną, ale nie wydawać bez jego namaszczenia i zatwierdzenia, czy też czerpać z tego kasę samemu).
  18. Po pierwsze, jaki GM, po drugie, na jaką platformę eksportujesz (na komputer może być Windows, WinJS, HTML5, Linux i Mac) ?
  19. gnysek

    Foto-galeria

    Jakaś moda na palenie znów? Myślałem, że to minęło.
  20. Bo to GoogleMobileAds_Init musisz dodać z tego rozszerzenia co masz w nim demo reklam :) No i pytanie czy podstawiłeś SWOJE klucze do reklam.
  21. Mniejsza liczba - wolniejsze tło Większa liczba - szybsze tło
  22. A zrób GML if hp<=0 { hp = 10; room_restart(); } i zobacz, czy zadziała :) Jeśli tak, to albo zmienna jednak jest globalna, albo coś powoduje po restarcie, że HP od razu spada do 0 (jakiś kawałek kodu, albo jakiś event kolizji). Możesz też postawić breakpoint w tym miejscu w kodzie gdzie jest ten IF i debugować (GM:Studio).
×
×
  • Dodaj nową pozycję...