Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT] Popularne zagadnienia


Qentinios

Rekomendowane odpowiedzi

Opublikowano

W tym temacie chciałbym wyjaśnić kilka spraw które wymagają tego. Są to zarówno błędne określenia, nierozumienie zasad działania gry, czy pewne problemy które często pozostają bez odpowiedzi. Ciężko mi było znaleźć odpowiednią nazwę dla tematu, zostało na popularnych zagadnieniach.

 

1. Tekstura a model

 

Wiele osób z tego działu uważa słowa tekstura i model za synonimy, otóż nie! Dla wszystkich co nie wiedzą, model to trójwymiarowy obraz na który jest nakładana tekstura, czyli kolor, wzory, itp. Tekstura jest w 2 wymiarach. Jest jeszcze pojęcie animacji, animacja jest to ruch, w przypadku metina jest to ruch modeli, np animacja gangam style, czy uderzania dwuręką z konia.

 

dvwfib.jpg

 

Model

 

et90hz.jpg

 

Tekstura

 

ofm9qm.jpg

 

Model razem z teksturą

 

2. Raty

 

Tak raty. Raty podawane w prezentacjach serwerów zawsze były i są umowne. Nie ma czegoś takiego że jak jeden serwer ma raty 300% a drugi 600% to na jednym się expi 2x szybciej. Nie wszyscy mierzą do psa na globalu. Tak samo nie zawsze na każdym serwerze nawet jeżeli z psa leci 2x yang więcej niż na innym, to że z ognistego wojownika też leci 2x tyle yang. Z tego powodu nie wyzywajcie właścicieli serwerów że raty są oszukane, bo tak na prawdę nie da się ich w metinie tak dokładnie podać.

 

3. Town.txt

 

Widzę wiele tematów tego typu, że zrobiłem nowa mapę, ale jak się na nią przenoszę to teleportuje mnie na kordy 0, 0 mimo ze podałem w town 100, 100. Z czego to wynika? Jest to błąd logiczny. Town działa w ten sposób że jeżeli znajdziemy się na kordach które wg server_attr są nieprzejezdne, automatycznie przeniesie nas na kordy z town. Ale kiedy mamy np s_attr czyste, tzn całe przejezdne, nie będzie nas przenosiło. Ot cała tajemnica.

 

4. Błąd Assertion failed: (m_pkAttribute != NULL), function GetAttribute, file sectree.cpp, line 199

 

Assertion%20failed.jpg

 

Assertion failed

 

Jest to dość częsty błąd. Jednak jego treść nie ujawnia nam zbytnio co mamy zrobić aby się go pozbyć (nam jako nieposiadającym kodu źródłowego gry). Widziałem wiele tematów gdzie doradzano, aby po wystąpieniu takiego błędu robić serwer od nowa. Można ale po co. Ten błąd zwykle jest związany z plikami któreś mapy (katalog map na serwerze). Trzeba sobie przypomnieć co się ostatnio robiło i postarać się to cofnąć, i sprawdzić czy działa. Ewentualnie np sprawdzać po 5 map odpalając kanał tylko z nimi wpisanymi w CONFIG, aż do znalezienia winnego. Bardzo też się przydaje w takich sytuacjach backup, mam nadzieje że każdemu te pojęcie nie jest obce. Może też sie pojawić po nieumiejętnej edycji game, jeżeli spieprzymy jakąś funkcję, lub coś źle zapiszemy i game ma problem z prawidłową interpretacją kodu.

 

6. Id na nowe itemy, moby

 

Jak wiadomo jest dużo tematów typu "Jakie jest id na Czerwonoszmaragdowe Otrze Zabójcy". Myk jest taki, że id jest takie jakie ustawił twórca serwera, na każdym serwerze może być inne, i taki spis id ma sens tylko przy tych id zwykłych, znanych z globala, bo tutaj jest to w miarę standard i na większości serwerów jest takie same, choć też można się przejechać :)

 

7. Białe modele w granny

 

321321u.jpg

 

Biały pająk

 

Rozpakowałem monster2 i otworzyłem grannym modele, ale wszystkie są białe co zrobić?

Musisz mieć dysk D, i wrzucić do folderu ymir work te pliki, tak aby ścieżka się zgadzała z tą w granny np D:\ymir work\monster2\ch_general.

 

Ale ja nie mam dysku D!

To sobie zrób.

 

8. Wpisałem /etc/rc.d/netif restart na dedyku!

 

Rada jest prosta. Nie restartuj więcej karty sieciowej na maszynie dedykowanej!

Jeżeli już to się jednak stało, spróbuj wejść do panelu, i stamtąd zrestartować maszynę.

 

9. Pojęcia

 

FreeBSD - System operacyjny, z rodziny Unixów. Wykorzystywany pod serwery metina i nie tylko, ale tylko to Was interesuje.

MySQL - Baza danych, w metinie wykorzystywana do przechowywania wielu informacji, np kont i wszystkim co z nimi związane, atrybuty broni, npc, i można by tak jeszcze dłuugo wymieniać. Do edycji, łączenia się z baza wykorzystuje się navicat'a albo PhpMyAdmin.

ssh - Protokół służący wymianie danych, na zasadzie klient-serwer. Popularne klienty ssh to np putty.

sftp - Protokół służący wymianie plików, na zasadzie klient-serwer. Popularne klienty sftp to np winscp czy filezilla.

firewall - Zapora sieciowa, jej zadaniem jest ochrona przed atakami.

porty - Jest to jeden z parametrów gniazda, ciężko je zdefiniować. Po prostu np aby połączyć się z mysql musimy użyć standardowo portu 3306, a z ftp 21. W grze też oczywiście mają miejsce, np standardowy port logowania to 11002.

query - U nas zapytanie do mysql.

dif - Dokument tekstowy, który zawiera adresy i instrukcje zmian w jakimś pliku, np w game. Aby go 'wgrać' potrzebujemy dif patchera.

game - Najważniejszy plik na serwerze, jądro gry.

RSA - Algorytm, za pośrednictwem którego możemy połączyć się z ssh/sftp(Zależy od konfiguracji).

Channel - Kanał, a na serwerze folder z plikiem CONFIG, symlinkami do potrzebnych lokalizacji/plików itp.

cmdchat - Funkcja questowa przekazująca polecenia i parametry z serwera do klienta gry.

Python - Jeden z podstawowych języków w których został napisany klient.

Lua - Język który w metinie wykorzystywany jest do pisania questów.

 

10. Query

 

Zapytanie (ang. query) - polecenie lub zestaw poleceń służących do operacji na określonych bazach/tabelach. Za pomocą zapytań możemy dodawać, usuwać, zmieniać lub przenosić zawartość kolumn lub tabel. W metinie do obsługi wystarczy znajomość trzech podstawowych zapytań:

Insert Into... - zapytanie dodaje nowy wpis do tabeli "tabela" z wartościami "wartość 1", "wartość 2" i "wartość 3".

INSERT INTO `tabela` VALUES ("wartość 1", "wartość 2", "wartość 3");

 

Update... - zapytanie modyfikuje zawartość wybranej kolumny lub tabeli. Poniższe zapytanie zmniejsza dwukrotnie min i max drop yang z każdego potwora.

UPDATE player.mob_proto SET gold_min=gold_min/2 , gold_max=gold_max/2;

 

Select... - zapytanie pobiera ciąg danych (jeśli jest bez żadnego zastrzeżenia, zapytanie z * + brak warunku WHERE), określone dane dot. np. przedmiotu (zapytanie z *) lub zawartość określonej komórki (wtedy gwiazdka zostaje zastąpiona nazwą kolumny). Poniższe zapytanie pobierze zawartość kolumny locale_name dot. wpisu, gdzie vnum jest równe 250. Dane zostaną pobrane z tabeli item_proto należącej do bazy player.

"SELECT locale_name FROM player.item_proto WHERE vnum=250;

 

11. Id moba, a skąd czyta

 

Może komuś się zdarzyło, że dodaje wszystko dobrze, na pewno, bo zawsze tak robił, albo według poradnika, a tu mob dalej nie działa. Warto wiedzieć że klient ma pewne zakresy vnum, i w zależności do jakiego zakresu się załapiemy, to będzie domyślnie szukał w danej lokalizacji:

0-2499 monster

2500-8999 monster2

9000-29999 npc

30000-? npc2

 

Podobna zależność będzie także z modelami broni, bodajże:

0-29999 item

30000-? item2

ale tutaj sobie głowy ani ręki uciąć nie dam, bo dawno to sprawdzałem.

 

Czy można na siłę narzucić gdzie ma szukać naszego moba, niezależnie od id? Tak. Musimy w npclist.txt podać ścieżkę w takim formacie:

795 #season1/monster/milgyo_founder_e/

A także zmienić nazwe pliku msm tego moba (domyślnie jest taka jak folder w którym się znajduje, np folder milgyo_founder_e i w nim plik milgyo_founder_e.msm) na shape.msm

 

12. Indexy mapy

 

Jest multum tematów że nie działa jakaś mapa, a okazuje się że winą jest zbyt duża liczba map przypisanych do jednego channelu.

Warto zapamiętać, że standardowo we wszystkich plikach 2010 i nowszych na jednym channelu działają tylko 32 mapy. Jeżeli dodamy więcej, te z większym id nie będą się ładować.

 

Warto też wiedzieć że nie wszystkie id można dowolnie zmieniać. Np id 112 (12) jest przypisane do mapy OX, id 181-183 (zamki) jest związane ze specjalną komendą, /frog. Id np 66 jest związane z questem na wieżę demonów, i kiedy zmienimy index tej mapy, wieża może przestać działać.

 

Dodatkowo numerki oznaczają też do jakiego empire (królestwa) będą wrzucani npc na tej mapie:

0-20 Shinsoo

21-40 Chunjo

41-60 Jinno

 

Indexy >60 nie są związane z żadnym królestwem, ale można konkretnych npc z nimi na siłę związać, poprzez zmienienie wartości w bazie.

 

13. Ulepszanie

 

Co trzeba zrobić aby dany przedmiot można było ulepszać metalem/bodziem? co trzeba zrobić aby epik robiło się u sury?

 

Aby można było ulepszać dany przedmiot nie tylko u kowala ale też przy użyciu metalu, wystarczy w klientowym item_proto uzupełnić kolumny:

refine_vnum="0" refine_set="0"

naszymi vnum.

 

Natomiast jak zrobić ulepszanie u sury? Wystarczy ustawić odpowiednie vnum w refine_proto.

 

0-499 - kowal (ewentualnie bodzio, metal..)

500-? - Seon-Pyeung (sura, ewentualnie bodzio, metal)

 

Jak sobie coś jeszcze przypomnę to dodam. A może wy też chcielibyście coś uściślić :mellow:

 

Temat zrobiłem ponieważ wydaje mi się że te sprawy dalej są nie wyjaśnione dla niektórych, i chce mi się rzygać jak widzę 20 temat typu "Tekstury nowych mobów". Jeżeli jednak ogół uzna go za nieprzydatny, śmiało wywalić, nie będę tęsknić.

sygnatura2.png


Opublikowano

Bardzo dobry tutek. Leci like.

 

 

Z inne beczki. Czemu nie działa resthea.pl ?

 

Ponieważ Skaczus się obudził i wpadł w furię. W ciągu 24h powinno z powrotem działać. :)

 

AW.

Wiedzieliście o wszystkim co napisałem w temacie?

sygnatura2.png


Opublikowano

Tak trochę coś.. o niczym.. Musisz wiele dopisać, aby nadawało się na podpięcie. ;)

 

AW.

Wiedzieliście o wszystkim co napisałem w temacie?

 

Nieee, to dla mnie czarna magia xD xD


 

Opublikowano

Piszesz to swoim językiem, a to nie oznacza,że rzeczywiście wynika to z tej pomyłki/wiersza.

 

 

Białe modele ? hmm źle. Mi np nie pokazuje modeli z teksturami chociaż mogę to zmienić. Wystarczy sprawdzić ścieżkę do tekstury w granny i sprawdzić czy rzeczywiście pliki znajdują się w podanej ścieżce...

Lub sprawdzić w pliku konfiguracyjnym danej rzeczy zależy zbroja/miecz

 

Assertion failed: (m_pkAttribute != NULL), function GetAttribute, file sectree.cpp, line 199

 

Chodzi w tym szczególnie o błąd znaku gdzieś gdzie np wstawiłeś przypadkowo przecinek lub coś np w mob_drop_item.

Opublikowano

Piszesz to swoim językiem, a to nie oznacza,że rzeczywiście wynika to z tej pomyłki/wiersza.

 

 

Biała modele ? hmm źle. Mi np nie pokazuje modeli z teksturami chociaż mogę to zmienić. Wystarczy sprawdzić ścieżkę do tekstury w granny i sprawdzić czy rzeczywiście ją mamy.

Lub sprawdzić w pliku konfiguracyjnym danej rzeczy zależy zbroja/miecz

 

Assertion failed: (m_pkAttribute != NULL), function GetAttribute, file sectree.cpp, line 199

 

Chodzi w tym szczególnie o błąd tekstowy gdzieś gdzie np wstawiłeś przypadkowo przecinek lub coś np w mob_drop_item.

 

No to z tymi białymi modelami właśnie powiedziałem przecież, że trzeba wrzucić pliki do ymir work. Jest to spowodowane tym że tekstura jest zazwyczaj wywoływana z takiej ścieżki, ale powtarzam twoje słowa.

 

Assertion failed: (m_pkAttribute != NULL), function GetAttribute, file sectree.cpp, line 199

 

U mnie ten błąd wystąpił po edycji map, i u kilku osób które to spotkało też zawsze było z mapami, ale możliwe że w mob_drop_item też tak jest.

sygnatura2.png


Opublikowano

Ponieważ Skaczus się obudził i wpadł w furię. W ciągu 24h powinno z powrotem działać. :)

 

AW.

Wiedzieliście o wszystkim co napisałem w temacie?

 

Ja osobiście nie widziałem połowy rzeczy ale jest to jedno ale już wszystko wiem :D

 

Ehh pisaliśmy na SB, że to złodziej a arczi mówił żebyśmy się "Przestańcie się wpierdalać to nie wasza sprawa"(coś takiego) No ok

Opublikowano

dodaj:

1) co to jest query?

2) co to jest navicat?

3) co to jest dif?

4) do czego służy dif patcher?

5) co to jest plik game?

6) co to jest RSA?

7) dodaj pojęcia:

python - język programowania, w którym został napisany klient

lua - język programowania questów

cmdchat - funkcja questowa przekazująca polecenia i parametry z serwera do klienta gry

channel - kanał, podjednostka serwerowa, która zapewnia działanie i komunikację z serwerem gry. Każdy serwer posiada minimum 1 channel

 

uzupełnij:

1) Punkt nr 4. Ten błąd pojawia się często, gdy po nieumiejętnej edycji game spieprzymy jakąś funkcję, lub coś źle zapiszemy i game ma problem z prawidłową interpretacją kodu. Jak wiadomo, na game składa się kilkadziesiąt pomniejszych plików. Ten błąd nie mówi nam mało, ponieważ podaje on linijkę i nazwę pliku "spakowanego" w game, w którym wystąpiła jakaś nieprawidłowość. Na chwilę obecną nikt z nas nie dysponuje jakimkolwiek narzędziem umożliwiającym odczytanie tych plików, toteż najprościej jest wycofać ostatnią zmianę/sprawdzić ją pod kątem ew. błędów.

 

 

 

@Des - sorry, pomyliło mi się z cmdchatem :D

57199140501148694665.png

Opublikowano

Widzę, że ładne głupoty pierdolą co poniektórzy...

ftp - Protokół służący wymianie plików, na zasadzie klient-serwer. Popularne klienty ssh to np winscp czy filezill.

Chyba nie wiesz o czym piszesz. Łączymy się z SFTP (Shell File Transfer Protocole), który ma port 22. FTP jest w metinie po chuju potrzebne.

 

8. Wpisałem /etc/rc.d/netif restart na dedyku!

 

Rada jest prosta. Nie restartuj więcej karty sieciowej na maszynie dedykowanej!

 

Też ładnie, wystarczy twardy reboot z panelu i działa jak należy, co nie zmienia faktu, że nie powinno się tego robić.

 

MySQL - System zarządzania bazami danych, w metinie wykorzystywany do przechowywania wielu informacji, np kont i wszystkim co z nimi związane, atrybuty broni, npc, i można by tak jeszcze dłuugo wymieniać.

 

Uno, MySQL to jest baza danych, jak MySQLi czy PostgreSQL. Przechowują tu się dane tak. Baza nie ogranicza się jedynie do Metina ;)

dodaj:

1) co to jest query?

2) co to jest navicat?

3) co to jest dif?

4) do czego służy dif patcher?

5) co to jest plik game?

6) co to jest RSA?

7) dodaj pojęcia:

python - język programowania, w którym został napisany klient

lua - język programowania questów

cmdchat - funkcja questowa przekazująca polecenia i parametry z serwera do klienta gry

channel - kanał, podjednostka serwerowa, która zapewnia działanie i komunikację z serwerem gry. Każdy serwer posiada minimum 1 channel

 

uzupełnij:

1) Punkt nr 4. Ten błąd pojawia się często, gdy po nieumiejętnej edycji game spieprzymy jakąś funkcję, lub coś źle zapiszemy i game ma problem z prawidłową interpretacją kodu. Jak wiadomo, na game składa się kilkadziesiąt pomniejszych plików. Ten błąd nie mówi nam mało, ponieważ podaje on linijkę i nazwę pliku "spakowanego" w game, w którym wystąpiła jakaś nieprawidłowość. Na chwilę obecną nikt z nas nie dysponuje jakimkolwiek narzędziem umożliwiającym odczytanie tych plików, toteż najprościej jest wycofać ostatnią zmianę/sprawdzić ją pod kątem ew. błędów.

1)Zapytanie?

2)Program a raczej sieć programów, za pośrednictwem których zarządzamy bazami danych?

3)Dif jest to wygenerowany plik, który nadaje wybrane zmiany w pliku(tutaj mogę się pomylić.)

4)Do uaktualnienia pliku?

5)Plik, a można to tak nazwać jądro gry.

6)Algorytm, za pośrednictwem którego możemy połączyć się z ssh/sftp(Zależy od konfiguracji)

Python - Nie tylko w nim głupasie.

Lua - Tutaj mnie rozbroiłeś. Jak w lua się pisze tylko questy, to ja jestem Janusz Maj. Toć to zmodyfikowane lua jest z kilkoma modułami. W takim lua napiszesz np stronę internetową.

Cmdchat - Funkcja działająca przez quest serwer-client.

Channel - Jaja sobie robisz? Folder z plikiem konfiguracyjnym, symlinkiem do pliku gry/locale/data i kilkoma innymi rzeczami. Jeśli się informacje zgadzają i nie ma żadnych błędów, można się normalnie połączyć z serwerem.

/gif

Opublikowano
Widzę, że ładne głupoty pierdolą co poniektórzy...

(...)

Python - Nie tylko w nim głupasie.

Lua - Tutaj mnie rozbroiłeś. Jak w lua się pisze tylko questy, to ja jestem Janusz Maj. Toć to zmodyfikowane lua jest z kilkoma modułami. W takim lua napiszesz np stronę internetową.

Cmdchat - Funkcja działająca przez quest serwer-client.

Channel - Jaja sobie robisz? Folder z plikiem konfiguracyjnym, symlinkiem do pliku gry/locale/data i kilkoma innymi rzeczami. Jeśli się informacje zgadzają i nie ma żadnych błędów, można się normalnie połączyć z serwerem.

 

Dodałem te pojęcia, nie wiem dlaczego tak na niego naskakujesz. Powiedział dobrze w odniesieniu do metina, wszystko prawda, to że ty to rozszerzyłeś do ogólnego zastosowania nie tylko metinowskiego.

sygnatura2.png


Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...