Opublikowano 24 Maja24 Maj Co sądzicie o takich metodach zapisu różnych informacji, przedstawię wam je poniżej:Item proto & mob protoPlik odpowiadający za obiekty na mapie, w folderze danej mapy zamiast pliku "areadata.txt"Plik odpowiadający za settings w folderze mapy.Plik odpowiadający za wczytywanie efektów ".mse"Plik odpowiadający za niebo:Plik odpowiadający za tekstureset:Plik odpowiadający za wczytywanie animacji, np potwora:I więcej nie chcę mi się robić screenów.Ale jak widać, nie jest to zwyczajna zmiana "rozszerzenia" na inne, tylko zmiana całej struktury plików.dodam że ten klient, ma ją zmienioną w kazdym mozliwym pliku tekstowym, orginalne pozostały jedynie gr2, dds, mdtr.I czy bardziej jest to "zabezpieczeniem" przed wykorzystaniem potencjalnych map, czy bardziej kwestia optymalizacji klienta?Bo jednak ktoś się natrudził, prawie wszystko zmieniając, zwłaszcza efekty.
Opublikowano 24 Maja24 Maj Programista Wszystko zależy od bibliotek wykorzystanych do parsowania poszczególnych plików.Tak naprawdę wszystko co tutaj pokazałeś (poza proto) oparte jest na JSONie.JSON posiada różne implementacje (np. w C++), które są w stanie czytać ten format nawet na poziomie 3 GB/s.Pozostaje pytanie - czy w przypadku Metinowych plików, które ważą po 2/3KB da to jakąś różnicę? Raczej nie.Myślę, że może tu chodzić faktycznie o zabezpieczenie przed wyciąganiem map, albo po prostu o czytelność oraz kontrolę błędów.Różne biblioteki rzucają różnymi wyjątkami, jeśli parser napotka błąd, czyli wystąpi sprzeczność z dokumentacją.YMIR starał się zaimplementować swój własny parser dokumentów tekstowych, który może jakoś tam działa, ale zauważ, że czasami jeśli popełnimy głupi błąd (spacja zamiast tabulatora, brak jakiegoś nawiasu, średnika), to Metin nam tego błędu nie wyświetli. Zamiast komunikatu o problemie, zniknie nam np. broń czy zbroja.Bo jednak ktoś się natrudził, prawie wszystko zmieniając, zwłaszcza efekty.W obecnej dobie nie jest problemem napisać konwerter, który przetłumaczy nam konkretne pliki na nowy format.Jeżeli ten jest dobrze napisany, to refaktoryzacja nawet i stu plików, to kwestia kilku sekund.
Opublikowano 24 Maja24 Maj 1 godzinę temu, Thorek napisał(a):Wszystko zależy od bibliotek wykorzystanych do parsowania poszczególnych plików.Tak naprawdę wszystko co tutaj pokazałeś (poza proto) oparte jest na JSONie.JSON posiada różne implementacje (np. w C++), które są w stanie czytać ten format nawet na poziomie 3 GB/s.Pozostaje pytanie - czy w przypadku Metinowych plików, które ważą po 2/3KB da to jakąś różnicę? Raczej nie.Myślę, że może tu chodzić faktycznie o zabezpieczenie przed wyciąganiem map, albo po prostu o czytelność oraz kontrolę błędów.Różne biblioteki rzucają różnymi wyjątkami, jeśli parser napotka błąd, czyli wystąpi sprzeczność z dokumentacją.YMIR starał się zaimplementować swój własny parser dokumentów tekstowych, który może jakoś tam działa, ale zauważ, że czasami jeśli popełnimy głupi błąd (spacja zamiast tabulatora, brak jakiegoś nawiasu, średnika), to Metin nam tego błędu nie wyświetli. Zamiast komunikatu o problemie, zniknie nam np. broń czy zbroja.W obecnej dobie nie jest problemem napisać konwerter, który przetłumaczy nam konkretne pliki na nowy format.Jeżeli ten jest dobrze napisany, to refaktoryzacja nawet i stu plików, to kwestia kilku sekund.Thorin się wybudził wcześniej niż zwykle 😱Tak patrząc to mało która rzecz wydaje mi się na tyle żmudna do opracowania, żeby ją w ten sposób edytować
Opublikowano 25 Maja25 Maj Oczywiście jest bardziej to czytelne ale to samo można osiągnąć w .txt nie trzeba żadnego json'a do tego ale kto jak woli, wątpię żeby to miało wpływ na jakąkolwiek wydajność lub będzie ona znikoma.można zrobić prosto odczytywanie za pomocą c++ (tak jak to YMIR zrobił).gdzie sobie samemu deklarujesz TAB czy też nawiasy itp. co będzie gwarantowało szybszą wydajność niż poleganie na dodatkowej bibliotece, bo biblioteki mają to samo tylko cię wyręczają bo wtedy nie musisz sobie pisać samemu takowej funkcji, dla mnie to zbędny balast dodając kolejny jeżyk tylko po odczyt.myślę ze ogólnie to inaczej powinno być zrobione, niż dawać dostęp każdemu kowalskiemu do tego, i tworzenie dla każdej animacji itp. dodatkowego pliku .txt czy tam .jsonim więcej plików tym gorsza wydajność, bo wtedy musi odczytywać ci każdy plik osobno.to tak jakbyś do każdego itema robił osobny plik .txt 🤣jeżeli chcesz zoptymalizować sobie klienta to jedynie pozostaję ci, poprawienie memory oraz rendering wczytywanie tutaj mało co zmieni.najlepiej przepisać pod Vulkan wtedy zoptymalizujesz sobie klienta i zrobisz cross-platform nawet na androida
Opublikowano 26 Maja26 Maj W dniu 25.05.2025 o 07:54, Eclipse Shade napisał(a):Oczywiście jest bardziej to czytelne ale to samo można osiągnąć w .txt nie trzeba żadnego json'a do tego ale kto jak woli, wątpię żeby to miało wpływ na jakąkolwiek wydajność lub będzie ona znikoma.można zrobić prosto odczytywanie za pomocą c++ (tak jak to YMIR zrobił).gdzie sobie samemu deklarujesz TAB czy też nawiasy itp. co będzie gwarantowało szybszą wydajność niż poleganie na dodatkowej bibliotece, bo biblioteki mają to samo tylko cię wyręczają bo wtedy nie musisz sobie pisać samemu takowej funkcji, dla mnie to zbędny balast dodając kolejny jeżyk tylko po odczyt.myślę ze ogólnie to inaczej powinno być zrobione, niż dawać dostęp każdemu kowalskiemu do tego, i tworzenie dla każdej animacji itp dodatkowego pliku .txt czy tam .jsonim więcej plików tym gorsza wydajność, bo wtedy musi odczytywać ci każdy plik osobno.to tak jakbyś do każdego itema robił osobny plik .txt 🤣jeżeli chcesz zoptymalizować sobie klienta to jedynie pozostaję ci, poprawienie memory oraz rendering wczytywanie tutaj mało co zmieni.najlepiej przepisać pod Vulkan wtedy zoptymalizujesz sobie klienta i zrobisz cross-platform nawet na androidaSzkoda czasu na takie rzeczy, gracze mają to w nosie.
Opublikowano Czwartek o 18:193 dn W dniu 26.05.2025 o 09:56, unpackboss napisał(a):Szkoda czasu na takie rzeczy, gracze mają to w nosie.jesteś w błędzie bo servery metka które są na androida mają więcej graczy niż te na pc zresztą ty jesteś zacofany bo dalej robisz patchery jako osobną binkę zamiast to zrobić w bince "metin2" w nowoczesny sposób 😂zapomniałem się ze tu nikt nigdy nic własnego nie zrobił tylko robicie to na co już jest sposób opublikowany, bo jakbyś miał chociaż trochę rozumu to byś to tak zrobił ale dla ciebie to już zbyt trudna rzecz dopóki ktoś nie zrobi i nie wrzuci na forum to już nie ogarniesz xD Edytowane Czwartek o 18:223 dn przez Eclipse Shade
Opublikowano Czwartek o 20:493 dn 2 godziny temu, Eclipse Shade napisał(a):jesteś w błędzie bo servery metka które są na androida mają więcej graczy niż te na pc zresztą ty jesteś zacofany bo dalej robisz patchery jako osobną binkę zamiast to zrobić w bince "metin2" w nowoczesny sposób 😂zapomniałem się ze tu nikt nigdy nic własnego nie zrobił tylko robicie to na co już jest sposób opublikowany, bo jakbyś miał chociaż trochę rozumu to byś to tak zrobił ale dla ciebie to już zbyt trudna rzecz dopóki ktoś nie zrobi i nie wrzuci na forum to już nie ogarniesz xDzacznijmy od tego że to nie serwery metka tylko zapewne gra zrobiona na wzór metina na unity albo innym syfieto jak już to umiesz odróżnić to wtedy pisz co ja bym zrobił a czego nie..a tak wgl to nie robie żadnych patcherów xd Edytowane Czwartek o 20:503 dn przez unpackboss
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.