Skocz do zawartości

gnysek

Administratorzy
  • Zawartość

    9222
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    28

Zawartość dodana przez gnysek

  1. Jak chcesz naprawdę na skróty, to ustawiaj obiekty solid i rozciągaj je na całą wysokość danej ściany. W przypadku powyższego screena, można na 5 obiektach zrobić całe kolizje w grze zmieniając x-scale / y-scale . Jak etapy nie są ogromne, albo dodasz deaktywację poza ekranem, to naprawdę wdajnościowo nie będzie problemem, a cały powyższy problem poleci do kosza.
  2. Temat zbiorczy na drobnostki

    No tak, w każdy stepie ustawiasz ammo na weapon[waponh, 1], czyli 20. Chyba chciałeś tak: if mouse_check_button(mb_left){ if weaponh > 0{ if ammo > 0 { weapon[weaponh, 1] -= 1; } } } Pamiętaj, w GM nie ma referencji, jak kopiujesz to wartość zmiennej, ale to są dwie różne zmienne.
  3. [GMS1.4] Przeglądarki

    Uuu, z oauth lekko nie będzie. Moja propozycja: 1. łączysz się w tle ze swoją stroną i tworzysz jakieś nowe, randomowe ID, dodajesz je do bazy danych [ID | result | tokeny] i ustawiasz result na 0. 2. otwierasz w przeglądarce stronę, np. mojastrona.pl?user=<wczesniejsze ID>. Tworzysz sesję php, zeby tego usera widzieć. 3. przekierowujesz na oauth 4. jak logowanie sie skończy, wracasz na swoją stronę 5. ustawiasz w bazie "UPDATE tabela SET result = 1 WHERE randomowe_id = <twoje id>". Wyświetlasz komunikat "możesz wrócić do gry". Gra cały czas w tle robi, np. co 2-3 sekundy zapytanie do serwera, typu: mojastrona.pl?check=<wczesniejsze id>. Jak dostanie 1, to przy okazji dajesz tokeny i tyle. Tak to generalnie działa chyba w apkach, gdzie się logujesz przez www (a przynajmniej ja tak to widzę). Oczywiście warto dodać jakieś zabezpieczenia, żeby randomowo nie móc podać id i się zalogować na kogoś, jak już wszystko działa. Dane w tabeli result bym kasował po godzinie, max 24h.
  4. Temat zbiorczy na drobnostki

    Wszystko zależy od ustawień masek kolizji spritów, ale generalnie... step i collision są wykonywane tyle samo razy (tzn. liczba klatek / sekunda). W stepie można jakoś ograniczyć event kolizji czasem, więc może być wydajniejsze. Co do dokładności - no to zalezy własnie od ustawień spritów (jednego z nich, bo jak jeden jest pixel-perfect a drugi nie, to i tak pixel-perfext sprawdzanie będzie).
  5. Poruszyła was jakaś scena w grze 2D?

    This War of Mine i Valiant Hearts (głównie przez historycznie wycinki, wielu rzeczy nie wiedziałem).
  6. [GMS1.4] Przeglądarki

    Nie rozumiem jaki jest problem w wykonaniu geta za pomocą http_request ? przecież efekt po stronie serwera będzie taki sam, jak otworzenie w przeglądarce ? chyba, że chcesz jakiś JS wykonać? musisz podać wiecej szczegółów, bo ja też uważam, że http_request wystarczy.
  7. Sprzedaż aplikacji - 2 pytania

    Pamiętaj, że jeśli już pracujesz, to prowadzenie działalności jest prostsze, bo części zusów nie trzeba płacić Z tego linku wynika też, że faktycznie możesz co miesiąc te 1050 zarobić bez rejestrowania firmy: https://poradnikprzedsiebiorcy.pl/-nierejestrowana-dzialalnosc-jako-dodatkowe-zrodlo-przychodow - w sumie jak przekroczysz próg to i tak opłaci się założyć firmę, bo na zusach naprawdę niewiele stracisz a zyskasz np. odpisy (programista dużo nie odpisze, ale ja z 500zł zyskuję, głównie na hostingu, komórce i samochodzie).
  8. Sprzedaż aplikacji - 2 pytania

    1. To zależy co napiszesz w licencji tak naprawdę. 2. To nie jest prawda. Zgodnie z polskim prawem, jeśli masz zarobek w sposób ciągły, a nie masz umowy o pracę/zlecenie, to jest działalność gospodaracza i MUSISZ założyć firmę. Jeśli jednak zarobek jest jednorazowy, wystarczy opodatkować te pieniądze podatkiem 18%. Nie ma czegoś takiego, że "google daje", bo Google jest firmą z Irlandii, więc daje na tamtejszych zasadach, ale jak pieniądze dotrą do polski to zasady zaczynają być polskie. Tutaj też częsta pułapka - kwota wolna od podatku, czyli 3091zł. To nie jest tak, ze jak pracujesz a dodatkowo sprzedasz program, to do 3091 nie płacisz podatku. Podatek dochodowy jest od WSZYSTKICH pieniędzy razem wziętych zarobionych w danym roku. Tak więc ja np. w tym roku z pierwszej faktury sobie 3019zł odjąłem i nie płaciłem podatku, ale od reszty już 18% poszło (do tego VAT, ZUS). Niektórzy uznają, że jak kasa od google jest raz na miesiąc, to nie prowadzisz ciągle działalności w PL i to już zalezy od interpretacji lokalnego US tak naprawdę, w niektórych faktycznie na 18% byś ujechał. Zwłaszcza, że teoretycznie nawet polski vat zapłacono. Jest jedno rozwiązanie na granicy legalności - jeśli pieniądze są zarobione w walucie obcej i do sprzedaży doszło zagranicą kraju, no to jak dostaniesz przelew można to uznać za zarobek zagraniczny (jakbyś był zatrudniony tam). Wtedy na polskim PIT wpisujesz to jako przychód z zagranicy 0%. ALE jak zrobią dokładną kontrolę i poproszą o umowę zagraniczną, wszystko się posypie i zapłacisz 75%. Na kontrole mają bodaj 5 lat
  9. Cinders

    <suchar> Na walentynki dla ukochanej - KupCiuszki </suchar>
  10. Wyśrodkowanie textu

    Ale możesz przecież rysować na jednym surface, nie musisz mieć 50. Rysuj, czyść, rysuj, czyść. To powinno być w miarę stabilne. ale glScissor to by naprawdę ratował sporo, nawet gry rpg na starych konsolach wykorzystywały to do obcinania tekstów.
  11. Wyśrodkowanie textu

    można, ale pytanie, czy faktycznie tego chcesz może lepiej narysować na surface i wyświetlać tylko jego część ? wtedy łatwiej by było go scrollować
  12. Wyśrodkowanie textu

    pisałem kod z głowy i nie testowałem, stąd niedoróbki - chyba i tak mi nieźle poszło, jak na nieodpalenie game makera
  13. Wyśrodkowanie textu

    A mój skrypt nie działał dobrze ? Nie ten z gml scripts, ten drugi (włącz sortowanie w temacie po dacie, a nie po ocenie). W skrypcie Kondrada-GM problemem jest fragment: if (c == ' ') { result += word; word = ''; } który jak widzi spację, uznaje, że słowo się zmieściło i dodaje na result, przestając zliczać - tymczasem result powinno się resetować wraz z dodaniem znaku # (a najlepiej jeśli znak C to spacja albo pierwszy znak w linii go nie dodawać). Czyli jakoś tak: var stack = '', result = '', text = 'Lorem ipsum dolor sit amet', len = 40; // 40px; for(i=1; i<=string_length(text); i++) var c = string_char_at(text, i); if (string_width(stack + c) > len { result += stack + '#'; stack = (c == ' ') ? '' : c; // W GMS1: if (c == ' ') stack = '' else stack = 'c'; } else { stack += c; } } result += stack; return stack;
  14. VALHALLA TO NIE OFICJALNA POMOC TECHNICZNA

    To są na pewno JPG czy WEBP ?
  15. repeat

    stwórz wszystkie w jednym miejscu i daj move_outside_solid z kierunkiem dla każdego równym 360/zlota/*i ? Chociaż wtedy również dobrze można użyć lengthdirow losowej odległości w jakimś zakresie.
  16. Wyśrodkowanie textu

    Ma łamać nawet w pół słowa? var stack = '', result = '', text = 'Lorem ipsum dolor sit amet', len = 40; // 40px; for(i=1; i<=string_length(text); i++) { var c = string_char_at(text, i); if (string_width(stack + c) > len { result += stack + '#'; stack = ''; } else { stack += c; } } result += stack; return stack; Jakoś tak, ale to się na pewno wywali, jak len będzie mniejsze niż najszersza litera.
  17. Wyśrodkowanie textu

    Ale 40 liter "i" a 40 liter "w" to jest 5x tyle szerokości, dlatego w pikselach lepiej moim zdaniem. Jednak, zeby nie powiedzieć, że się nie da, to: https://www.gmlscripts.com/script/string_wordwrap string_wordwrap(string,40,"\n\r", false); // dla gms 1 można '#'
  18. Wyśrodkowanie textu

    draw_text_ext i draw_set_halign załatwią sprawę, używam od lat.
  19. Alarm get z innego obiektu

    Może być tak, że planowali usunąć w GMS2 alarmy właśnie w formie tablic (przez to, że nie możesz zrobić 100 alarmów, co sugerowałaby notacja tablicowa).
  20. Alarm get z innego obiektu

    Właśnie jak zadałeś pytanie, tak samo się zastanowiłem - po cholerę to jest ? na pewno to nie pozostałość starych GMów, tego chyba wcześniej nie było - http://gamemaker.info/en/manual - musiało więc dojść w GMS.
  21. Przynajmniej zmusiło cię to do ponownego sprawdzenia!
  22. Tak dokładnie powinno to zadziałać, musi być jeszcze jakaś klasa która to nadpisuje - narzędzia deweloperskie powinny pokazać kolejność styli dla danego elementu dla danej własności, który css co ustawił - może pomoże, np.: Jak widać, aż 4 style zmieniają rozmiar fonta (css jest spłaszczony do 1 linijki więc, wszędzie jest :1, normalnie nie powinno być tego problemu).
  23. Alarm get z innego obiektu

    Powinno, poprawiłem Skopiowałem z linijki wyżej bo na szybko pisałem.
  24. Alarm get z innego obiektu

    string(obj_player.alarm[0]) Zmienne alarmowe i tak zawsze istnieją. Gdyby jednak zmienna nie istniała, odpowiedzią byłoby var _a; with(obj_player){_a = alarm_get(0);} draw_text(10,110,"alarm shooting "+string(alarm_get(0))); Zmienne tymczasowe "var" są globalne względem with, co warto pamiętać - pozostałe zmienne zmieniają oczywiście kontekst.
×