Skocz do zawartości

Konrad-GM

Użytkownicy
  • Postów

    2 728
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    44

Aktywność reputacji

  1. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od Chell w Szyfrowanie PHP - > C# - > PHP   
    Jeżeli przechowujesz dane typu karty kredytowe, to fakt, może jakaś dodatkowa warstwa by się przydała. Niemniej jak ktoś Ci już wejdzie na serwer i będzie mógł przeglądać pliki i bazę danych - to Twoje "dodatkowe" zabezpieczenie i tak nie będzie działać, po prostu nie trzymaj kart kredytowych na serwerze, bo jeden wyciek może Cię kosztować sporo  Spróbuj może szyfrowanie AES, MySQL nawet ma funkcję wbudowaną AES_ENCRYPT. W C# masz też systemową klasę System.Security.Cryptography.Aes (powinno działać też na Mono).

    Btw. Jeżeli zależy Ci na szyfrowaniu połączenia Serwer -> Klient, to w zupełności wystarczy Ci SSL (bo próbujesz szyfrować dodatkowo dane w PHP, których i tak nikt nie zobaczy), nikt nie podejrzy takich danych, serio, nie ma czegoś "lepszego".
  2. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od Threef w instance_nearest   
    1. Użyj "dziedziczenia" (ustaw parent w GMie), w sensie dodaj obiekt obj_enemy i obiektom m. in. obj_zombi ustaw parent = obj_enemy (zrób to dla wszystkich wrogich jednostkach), wtedy wystarczy Ci tylko jedna funkcja od sprawdzania najbliższej instancji obj_enemy:
    if distance_to_object(obj_enemy)<250 {   var potwor = instance_nearest(x,y,obj_enemy)   var pocisk = instance_create(x,y,obj_pocisk) pocisk.direction = point_direction(x,y,potwor.x,potwor.y) } obj_pocisk Create Event:
    speed = 10 2. Sprawa się komplikuje, musisz pobrać wszystkie obiekty obj_enemy o dystansie < 250 i sprawdzać, od najbliższego, czy przypadkiem nie ma kolizji między obj_zolnierz a obj_sciana np. funkcją collision_line. (może ktoś ma lepszy pomysł nawet, ja nie bardzo )
  3. Super (+1)
    Konrad-GM przyznał(a) reputację dla Chell w PDO prepare działa jakby miał lowercase   
    no co Ty, nowo wygenerowany hash będzie zawsze wyglądał inaczej niż ten już istniejący w bazie - dlatego porównuje się plaina z hashem przez password_verify
     
    nie da się, musisz ściągnąć usera z bazy po loginie i z poziomu PHP porównać hasło z hashem

    ogólnie lowerowanie loginu przy każdej próbie logowania to kiepski pomysł. Ogólnie robi się to tak, że loginy są case sensitive, ale obok nich jest pole username_canonical, gdzie jest już login znormalizowany - wszystko lowercasem. Przy rejestracji normalizujesz login i sprawdzasz czy istnieje taki username_canonical i już. Przy okazji artykuł jak złe rozegranie transformacji loginu może napsocić - https://labs.spotify.com/2013/06/18/creative-usernames/ (long story short - najprościej jeszcze ograniczyć loginy do znaków ASCII)
  4. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od gnysek w ilość wszystkich instancji w roomie   
    Daj zwykłą białą teksturę  
  5. Super (+1)
    Konrad-GM otrzymał(a) reputację od Ice Cube w Obracające się drzwi 3d   
    1. Źle używasz trygonometrii do obracania wektorów, potrzebne są 2 funkcje trygonometryczne, cos i sin, coś takiego:
    // x' = x * cos α - y * sin α // y' = x * sin α + y * cos α var angle = degtorad(ruchdrzwi); var rx = cos(angle); var ry = sin(angle); d3d_draw_wall( x - 4 * rx, y - 4 * ry, 25, x + 4 * rx, y + 4 * ry, 10, sprite_get_texture(spr_drzwi,1), 1, 1 ) 2. Użyj macierzy, macierze są super
    // Wersja powyższego rozwiązania, ale przedstawione jako macierz: // [cos α -sin α] // [sin α cos α] var angle = degtorad(ruchdzwi); d3d_transform_set_rotation_z(angle); d3d_transform_add_translation(x, y); d3d_draw_wall(-4, 0, 25, 4, 0, 10, sprite_get_texture(spr_drzwi, 1), 1, 1) d3d_transform_set_identity();  
  6. Lubię (+1)
    Konrad-GM przyznał(a) reputację dla SimianVirus7 w Intro obrazkowe+wyświetlający się pod obrazkiem tekst   
    W sumie to było łatwiejsze niż myślałem. Aczkolwiek jest to najbardziej podstawowa wersja, jaką da się zrobić (tak sądzę).

    Przykład:
    https://gmclan.org/up8556_16_Wypisywanie_tekstu.html


  7. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od gnysek w Grafika wektorowa   
    Tak, GMS 1.4 radzi sobie z wektorową grafiką, ale z tego co wiem wspiera jedynie format SWF:
    https://help.yoyogames.com/hc/en-us/articles/216755938--GMS-S-Vector-Sprites

    GameMaker nie rastruje wektorów do bitmapy jako tekstura, tylko posługuje się poligonami, więc skalowanie takich sprite'ów nie powinno dawać efektu pikseli.
  8. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od pankracy w Intro obrazkowe+wyświetlający się pod obrazkiem tekst   
    Używasz funkcji sprite_get_number, która zwraca Ci liczbę klatek danego sprite, ale z kodu na rysowanie widzę, że używasz oddzielnych sprite a nie klatek jednego sprite. To Ci nie ma prawa zadziałać bo zwyczajnie wywołanie `sprite_get_number(spr_ilustracja4)` zwraca Ci prawdopodobnie wartość '1'. Może użyj funkcji array_length_1d zamiast sprawdzania klatek sprite'a. (pamiętaj, że funkcja dla tablicy z jednym elementem tablica[0]=100 zwróci Ci wartość '1', a indeksujesz tablice od '0')

    W draw może daj też warunkowe sprawdzanie, czy klatkę możesz wyświetlić
    if (index == 0) { // draw ilustracja1 }  
  9. Super (+1)
    Konrad-GM przyznał(a) reputację dla I am Lord w Nad czym aktualnie pracujesz?   
    Docelowo chcę zaprojektować jakieś fajnie działające zawieszenie do tego żeby społeczność mogła robić samochody.
     
     
  10. Wow! (+1)
    Konrad-GM przyznał(a) reputację dla Wojzax w Nad czym aktualnie pracujesz?   
    skoki parkur cośtam
     

  11. Super (+1)
    Konrad-GM otrzymał(a) reputację od Chell w [PHP] dziwny błąd o whitespace   
    No do pisania pluginów w wordpressie w zupełności wystarczy, powodzenia.
  12. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od Chell w [PHP] dziwny błąd o whitespace   
    Nic złego nie jest w filter_var, ale w sposobie w jaki budujesz zapytania.

    "SELECT * FROM table WHERE x = $y" nawet jak używasz filter_var, to łatwo błąd popełnić. Dlatego też wymyślono coś takiego jak parametryzacja w mysqli->prepare, czy PDO->prepare, a Twój argument "może okazać się że znajdzie ktoś nowy backdoor" jest po prostu głupi, bo równie dobrze błąd może dotyczyć mysqli, czy nawet serwera apache/nginx... Dużo łatwiej złapać się na SQL Injection Twoją metodą niż używając parametryzacji i PDO. A tak w ogóle to nie uchronisz się w 100% przed błędami, aktualizuj serwer i tyle.

    PS. ten błąd PDO dotyczył biblioteki mysql akurat, bo wewnętrznie używa funkcji "mysql_real_escape_string"...
  13. Super (+1)
    Konrad-GM otrzymał(a) reputację od gnysek w [PHP] dziwny błąd o whitespace   
    No do pisania pluginów w wordpressie w zupełności wystarczy, powodzenia.
  14. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od HamsterMan w W jakim języku zrobić apkę mobilną?   
    Nie ma najlepszego wyboru, są różne frameworki, a każdy z frameworków inaczej działa i służy do czegoś innego. Jakby nie patrzeć, to Android i iOS też mają swoje "frameworki" ale nie są multiplatformowe.

    Wybierz taki framework, w którym najbardziej będzie Ci odpowiadał stack technologiczny, który znasz/lubisz i spełnia wymagania co do Twojego projektu. Może to być PhoneGap/Cordova + Ionic, NativeScript, Xamarin są tymi popularniejszymi.

    Pamiętaj, że jak wybierzesz stack PhoneGap/Cordova/Ionic/NativeScript, to żeby zrobić coś bardziej rozbudowanego, to musisz i tak znać budowę obu platform, a nawet pisać pod nie rozszerzenia w Java i Objective-C.
     
    PS. To, że wybierzesz stack PhoneGap/Cordova/Ionic/NativeScript nie znaczy wcale, że będzie łatwiej. Jak znasz JS, czy TS byle jak, to efekt będzie taki sam jakbyś miał usiąść do Xamarina czy pisał od razu na Androida w Javie czy iOSa w Objective-C.

    Edit: NativeScript działa trochę inaczej, on binduje API Androida i iOSa do JavaScriptu, ale i tak żeby napisać rozszerzenie, trzeba je pisać też pod daną platformę, tyle, że w JS/TSie.
  15. Super (+1)
    Konrad-GM przyznał(a) reputację dla TeeGee w Bonfire   
    Skapowałem się, że nic tu nie wrzucałem od miliona lat, a pracuję nad gierką codziennie.
     
    Ostatnio klepie scenki wprowadzające nowych bohaterów - tu Assassin i Pyra:

     

     
    System scenek jest o tyle fajny, że korzysta z faktycznych zasad gry. W ten sposób niektóre przerywniki mogą być w pełni grywalne, albo miksem akcji gracza i tych zaskryptowanych.
  16. Przykro (+0)
    Konrad-GM przyznał(a) reputację dla gnysek w Animacje mp4-gif   
    Jest, tylko grafików brak.
  17. Super (+1)
    Konrad-GM otrzymał(a) reputację od Ice Cube w Animacje mp4-gif   
    Nikt raczej nie bawi się w takie rzeczy, bo jest to po prostu nieopłacalne/mega brzydkie w rozwiązaniu. Ale zawsze możesz nagrać filmik chociażby GifCamem i zapisać sobie jako gif - http://blog.bahraniapps.com/gifcam/
  18. Lubię (+1)
    Konrad-GM przyznał(a) reputację dla gnysek w Animacje mp4-gif   
    Zabijesz GMa.
  19. Super (+1)
    Konrad-GM otrzymał(a) reputację od Ice Cube w Pytanie graficzne   
    Zgodnie ze sztuką, to powinieneś zacząć od:
    1. Rysowania wszystkich obiektów które nie są w żaden sposób przezroczyste-półprzezroczyste.
    2. Rysujesz przezroczyste/pół-przezroczyste obiekty względem ich odległości od kamery, od najdalszego sprite do najbliższego.

    Możesz manipulować zmienną depth, żeby otrzymać dość zadowalający efekt. Co prawda problem będziesz miał z ogrodzeniem np., bo może być szersze niż sprite wroga a wtedy mogą i tak nachodzić na siebie bo będziesz liczył odległości od ich środka. Więc możesz podzielić to dodatkowo aby postacie rysować zawsze na końcu, ale też względem odległości od kamery.

    Tutaj zaczyna się zabawa  Dla nie-przezroczystych ścian rysuj je na początku, daj im wysoki depth, np. `depth = 10000`. Następnie rysując pół-przezroczyste ogrodzenie odlicz im depth od odległości od kamery i dodaj jakieś przesunięcie (żeby jednak rysować postacie na końcu), cos a'la `depth = point_distance(camera.x, camera.y, self.x, self.y) + 5000`, a na końcu rysując postacie ustaw im depth już bez przesunięcia `depth=point_distance(camera.x, camera.y, self.x, self.y)`
     
    E: Chociaż nie, jak będziesz ogrodzenie rysować to Ci i tak zasłoni bohaterów, może jednak przydzielaj depth każdemu pół-przezroczystemu obiektowi w ten sam sposób: `depth=point_distance(camera.x, camera.y, self.x, self.y)` i nie rób za dużych ogrodzeń.
  20. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od Ice Cube w Pytanie graficzne   
    Usunąć kanał alpha ze spritów. Ale wtedy będą to kloce a nie kształtne babeczki.
     
    Źle przydzielasz depth, bo gdybyś odwrócił kolejność rysowania to powinno działać.
     
    To naucz się żyć z blendingiem brzegów z przezroczystymi pikselami.
     
    Dokładnie, to jest ten sam problem co z blendingiem i interpolacją pikseli. Możesz spróbować shader napisać, który discardowałby Ci półprzezroczyste piksele. Ale żaden program do obróbki grafiki Ci tego nie naprawi, bo to nie w tym problem.
     
    E: GameMaker też ma opcję usuwania półprzezroczystych pikseli, opisane jest to tutaj:
    https://help.yoyogames.com/hc/en-us/articles/216754778-Optimizing-Your-Games
    Dokładniej chodzi o funkcje tj. draw_set_alpha_test, draw_set_alpha_test_ref_value
     
  21. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od gnysek w Pytanie graficzne   
    Usunąć kanał alpha ze spritów. Ale wtedy będą to kloce a nie kształtne babeczki.
     
    Źle przydzielasz depth, bo gdybyś odwrócił kolejność rysowania to powinno działać.
     
    To naucz się żyć z blendingiem brzegów z przezroczystymi pikselami.
     
    Dokładnie, to jest ten sam problem co z blendingiem i interpolacją pikseli. Możesz spróbować shader napisać, który discardowałby Ci półprzezroczyste piksele. Ale żaden program do obróbki grafiki Ci tego nie naprawi, bo to nie w tym problem.
     
    E: GameMaker też ma opcję usuwania półprzezroczystych pikseli, opisane jest to tutaj:
    https://help.yoyogames.com/hc/en-us/articles/216754778-Optimizing-Your-Games
    Dokładniej chodzi o funkcje tj. draw_set_alpha_test, draw_set_alpha_test_ref_value
     
  22. Super (+1)
    Konrad-GM przyznał(a) reputację dla SIDek w Nad czym aktualnie pracujesz?   
    feedback please
  23. Lubię (+1)
    Konrad-GM przyznał(a) reputację dla SimianVirus7 w Znana gra w innym wydaniu   
    Dobrze, a więc 1 września (Niedziela) zakończenie konkursu^^ Przypominajmy sobie nawzajem, bo ja też lubię zapominać  
  24. Lubię (+1)
    Konrad-GM otrzymał(a) reputację od nowy_user w Przycinki w HTML5 ale FPS jest ok   
    Zwiększ FPS do np. 60 klatek, standardowo requestAnimationFrame-owy FPS działa z szybkością taktowania ekranu (z v-syncem). Możliwe, że 30 FPS powoduje u Ciebie odczucie lagowania.
  25. Super (+1)
    Konrad-GM przyznał(a) reputację dla exp w Glorious: Companions   
    jak wpadnie wypłata to kupię, wspieram kolegów z foruma
×
×
  • Dodaj nową pozycję...