Witaj
Gość

Wątek: [Poradnik] Opis budowy tabel SQL naszego servera.  (Przeczytany 4169 razy)

  • Wiadomości: 181

  • Pochwał: 7

[Poradnik] Opis budowy tabel SQL naszego servera.
« dnia: Listopad 13, 2010, 10:35:32 pm »
Witam postanowiłem wytłumaczyć działanie każdej z kolumn w najbardziej istotnych tabelach instalowanych przez nasz server.

Na wstępie chcę przypomnieć że będę ciągle aktualizował ten temat o nowe tabele.

Zaczynajmy !

Tabela NPC.

id - ID naszego NPC.
idTemplate - ID wyglądu naszego NPC (przykładowo ID Magister Ladd'a to 30721 tak więc aby nasz NPC wyglądał jak on wpisujemy tu jego ID).
name - Nazwa naszego NPC.
serverSideName - Nazwa NPC nadawana przez Server np. ustawione na 1 - game server nadaje imię NPC (czyli to co wpiszemy tu zobaczymy w grze), jeśli wpiszemy 0 - pokaże się imię NPC o id z kolumny idTemplate, jeśli chcemy je zmienić lub dodać nowe musimy edytować pliki npcgrp.dat i npcname-e.dat.
title - Title naszego NPC.
serverSideTitle - Taka sama zasada jak w serverSideName.
class - Na pierwszy rzut oka odpowiada za wygląd naszego NPC lecz jest to tylko wyciąg ze ścieżki do jego tekstury np. NPC.e_patriarch_MOrc.
collision_radius - Odpowiada za "szerokość" naszego NPC, jeżeli przesadzimy z tą wartością to nawet nie trzeba będzie najechać dokładnie na naszego NPC myszką aby np. "Zagadać do niego".
collision_height - Wysokość naszego NPC nad ziemią np. jeśli nasz NPC ma połowę wysokości nóg w ziemi wpisujemy tu więcej niż jest wpisane.
level - sama nazwa wskazuje Lv naszego NPC.
sex - Płeć naszego NPC.
type - typ naszego NPC. Jeśli to buffer ma być guardem to L2Guard, jeśli ma być sklepikarzem to L2Merchant itd.
attackrange - Obszar w którym nasz NPC np. RaidBoss jest wstanie nas hitnąć.
hp - Ilość HP naszego NPC.
mp - Ilość MP naszego NPC.
hpreg - Ilość HP jaka regeneruje się u naszego NPC na sekundę.
mpreg - Ilość MP jaka regeneruje się u naszego NPC na sekundę.
str - Ilość zadawanych obrażeń fizycznych.
con - Maksymalna wartość HP i CP, szybkość regeneracji HP, odporność na szok i krwawienie.
dex - Szybkość ataku, szybkość użycia umiejętności fizycznych, skuteczność, uniki, prawdopodobieństwo krytycznego trafienia, zakres szansy na udane wejście umiejętności związanych ze sztyletami (jak np. Deadly Blow), szanse udanego bloku tarcza i prędkości poruszania się.
int - Obrażenia od ataków magicznych i szanse na udane rzucenie klątwy.
wit - Zwiększa szanse na magiczny krytyk, szybkość rzucania czarów, odporność na Hold'y, odporność na klątwy (jak np. degeneracje HP, zmniejszenie odzyskiwania życia, zwiększenie czasu ponownego użycia umiejętności, zmniejszenie efektów uzdrowienia).
men - Odporność na magie, maksymalna ilość MP, szybkość regenerowania MP, odporność na trucizny, odporność na klątwy. Zmniejsza szanse na przerwanie czaru.
exp - EXP, który otrzymamy po zabiciu naszego NPC.
sp - SP, które otrzymamy po zabiciu naszego NPC.
patk - PATK naszego NPC.
pdef - PDEF naszego NPC.
matk - MATK naszego NPC.
mdef - MDEF naszego NPC.
atkspd - ATKSPD naszego NPC.
aggro - Obszar w jakim nasz NPC rzuci się na nas i zacznie lać, w zależności od wielkości liczby będzie to obrzar coraz większy.
matkspd - CSSPEED naszego NPC.
rhand - Rzecz którą trzyma nasz NPC w prawej ręce.
lhand - Rzecz którą trzyma nasz NPC w lewej ręce.
armor - Najczęściej ustawione na 0, nie wiem w 100% co to jest ale myślę że ID zbroi, którą ma mieć nasz NPC.
walkspd - Szybkość chodu naszego NPC.
runspd - Szybkość biegu naszego NPC.
faction_id - Nacja do której należy nasz NPC np. orfen_clan.
faction_range - O ile się nie myle to jest to obszar w którym rzucą się na nas inne NPC w tej samej nacji.
isUnded - Oznacza to czy nasz NPC jest nie umarłym czy nie. Przy wpisanym 1 - Jest UNDEAD czyli mogą go atakować Bishopy swoim Disrupt Undead'em.
absorb_level - Jeśli się nie mylę to maksymalna różnica Lvi pomiędzy nami a NPC (używa się przy RB).
absorb_type - Jest to sposób w jakim nasz NPC dropie itemy, dla kogo wpadnie drop.


Not. 1: W punktach od STR do MEN opisałem co, co podnosi.
Not. 2: W razie jakiś błędów piszcie na PM ponieważ chciałbym aby temat był czysty i podczas szukania potrzebnych informacji nie trzeba było scrollować 15 minut.




Tabela Weapon.

item_id - ID naszej broni.
item_display_id - ID ikonki, która ma być wyświetlana jako ikonka danego weaponu (aby nie edytować Klienta).
name -Nazwa naszego weapona/tarczy. Jeśli dodajemy customy (własne) to wpisanie nazwy tylko tutaj nic nie da, trzeba edytować Klienta!
bodypart- Część ciała, która będzie używać tej broni w tym przypadku nic innego jak rhand - prawa ręka / lhand - lewa ręka.
crystallizable- Opcja mówiąca nam czy dany weapon można spalić (skrystalizować), możemy użyć dwóch opcji: false - czyli brak możliwości krystalizacji, lub true - parametr umożliwiający krystalizacje. (UWAGA! JEŚLI USTAWISZ TĄ OPCJE NA TRUE, PAMIĘTAJ ABY WYBRAĆ GRADE BRONI, PONIEWAŻ BEZ GRADE NIE BĘDZIE JEJ MOŻNA ENCHANTOWAĆ!).
weight - Waga naszej broni.
soulshots - Ilość Soulshotów zużywanych przez daną broń.
spiritshots- Ilość Soulshotów lub Blessed Spirit Shotów zużywanych przez daną broń.
material- Materiał z którego stworzona jest broń (nie jest to aż tak ważne, ale jeśli chcemy mieć wszystko pięknie, ładnie warto to ustawić).
crystal_type - Nic innego jak Grade danej broni, jak w punkcie "crystalizable" musisz ustawic grade D/C/B... itd. aby to miało sens. Wpisujemy tu Grade'y tak jak się czyta czyli: none- Non Grade, d- D Grade itd.
p_dam- Psychical Attack naszej broni.
rnd_dam - Szansa na zadanie jakiegoś dodatkowego ataku.
weaponType- Typ naszej broni. Do wyboru: sword - miecz, bigsword - oburęczny miecz, blunt - młot, bigblunt - oburęczny młot, dagger - sztylet, bow - łuk, pole - włócznia, etc - książka, dualfist - kastety, dual - dualki, crossbow - kusza i rapier - szpada, natomiast Ancient sword w bazie uznawany jest jako bigsword a tarcza jako - none.
critical - Ta opcja odpowiada za moc krytycznego ataku danej broni (nie to samo co np. Focus z SA!).
hit_modify - Opcja mówiąca nam o ile zmieni sie nasza celność przy użyciu tej broni (nie to samo co Guidance z SA!).
avoid_modify- Mówi nam o ile spadnie nam szansa uniku przy użyciu tej broni/warczy.
shield_def - Ilość P.Defa jaką daje nam nasz weapon/tarcza (najczęściej używane przy tarczach o ile nie chcemy lol servera).
shield_def_rate - Szansa na obronę przy użyciu tarczy (tyczy się tylko hitów fizycznych).
atk_speed - Ilość punktów ATK. Speed jaką dodaje nam dany weapon/tarcza.
mp_consume - Mówi o ilości Many zużywanej przez dany weapon podczas pojedynczego hita (używane przy łukach).
m_dam - Magic Attack naszej broni.
duration- To tyczy się głównie broni typu Shadow z jakąś tam ilością many. Wpiszemy tu np. 500 to dany weapon po czasie, w którym te 500MP spadnie zniknie, jeśli chcemy normalny weapon wpisujemy - -1.
price - Cena naszego weapona/tarczy przy sprzedaży.
crystal_count - Ilość kryształów, która pojawi się po nieudanym enchancie (z +3 na +4, bo wiadomo czym wyżej tym więcej).
sellable - Jeśli ustawimy na true to umożliwimy sprzedawanie weapona/tarczy w sklepie, jeśli wpiszemy false - uniemożliwimy.
dropable - Ustawiamy tu możliwość wydropienia danego weapona/tarczy, wiadomo: true - można wydropić, false - nie można.
destroyable - Możliwość destrukcji danego weapona/tarczy. true - możliwe zniszczenie, false - nie możliwe zniszczenie.
tradeable- Jak wyżej tylko tyczy się to Trade'u (wymiany).
item_skill_id - ID skilla, który pojawi sie po załozeniu weapona/tarczy. Jeśli nie chcemy aby dodawała żadnego skilla wpisujemy 0.
item_skill_lvl - Lv skilla pojawiającego się po założeniu (aby to miało ręce i nogi musisz w "item_skill_id" wpisać id skilla, oczywiscie lv skilla nie może być większy niz ten w bazie (stats/skill).
enchant4_skill_id - To samo co w "item_skill_id" lecz z tą różnicą ze tutaj skill pojawi sie po enchancie broni/tarczy na +4 i wyżej.
enchant4_skill_lvl - Lv skilla, który pojawi się po udanym enchancie na +4 i wyżej. Oczywiście zasady jak w "item_skill_lvl".
onCast_skill_id - ID skilla pojawiającego się podczas wymawiania zaklęcia.
onCast_skill_lv- Lv skilla pojawiającego się podczas wymawiania zaklęcia.
onCast_skill_chanse - Szansa na pojawienie się skilla podczas wymawiania zaklęcia.
onCrit_skill_id - ID skilla pojawiającego się podczas critical hit'a.
onCrit_skill_lv - Lv skilla pojawiającego się podczas critical hit'a.
onCrit_skill_chanse - Szansa na pojawienie się skilla podczas critical hit'a.




Tabela Armor.

item_id - ID naszego armorka.
name- Nazwa naszego armorka. Jeśli dodajemy customy (własne) to wpisanie nazwy tylko tutaj nic nie da, trzeba edytować Klienta!
bodypart- Część ciała, którąbędzie pokrywał nasz armor. Mamy do wyboru: chest - klatka piersiowa, legs - od pasa w dół, można powiedzieć że to spodenki/spodnie. fullarmor - połączenie chest i legs. np Draco Armor, feet - stopy, gloves - dłonie, head - wszystko ubierane na glowe (helmety). Underwear - wszystko ubierane pod armor np. Cloak'i. rear,lear - używane przy kolczykach, neck - tyczy się naszyjników. Natomiast hair - akcesorium zakładane na włosy (np. Cat Ears i Party Mask ubrane jednocześnie), dhair - ystawiamy gdy chcemy aby tylko tą jedną rzecz można było założyć (zajmuje wtedy 2 sloty na akcesoria).
crystalizable - Opcja mówiąca nam czy dany armor/akcesorium można spalić (skrystalizować), możeby użyć dwóch opcji: false - czyli brak możliwości krystalizacji, lub true - parametr umożliwiający krystalizacje. (UWAGA! JEŚLI USTAWISZ TĄ OPCJE NA TRUE, PAMIĘTAJ ABY WYBRAĆ GRADE BRONI, PONIEWAŻ BEZ GRADE NIE BĘDZIE JEJ MOŻNA ENCHANTOWAĆ!).
armor_type - Rodzaj naszej zbroi: none - jeśli są to rekawiczki/buty bądź hełm, magic - jeśli jest to Robe (fullarmor, chest bądź legs), light - jeśli jest to Robe (fullarmor, chest bądź legs), heavy - jeśli jest to Heavy (fullarmor, chest bądź legs).
weight- Waga naszej zbroi.
material- Materiał z którego stworzona jest zbroja (nie jest to aż tak ważne, ale jeśli chcemy mieć wszystko pięknie, ładnie warto to ustawić).
crystal_type - Nic innego jak Grade danej zbroi/akcesorium, jak w punkcie "crystalizable" musisz ustawic grade D/C/B... itd. aby to miało sens. Wpisujemy tu Grade'y tak jak się czyta czyli: none- Non Grade, d- D Grade itd.
avoid_modify- Mówi nam o ile spadnie nam szansa uniku przy użyciu tej zbroi/akcesorium.
duration - To tyczy się głównie zbroi typu Shadow z jakąś tam ilością many. Wpiszemy tu np. 500 to dany armor po czasie, w którym te 500MP spadnie zniknie, jeśli chcemy normalny armor wpisujemy - -1.
p_def- Defence jaki dodaje nam armor.
m_def - Magic Defence jaki dodaje nam armor.
mp_bonus - Opcja mówiąca nam ile armor/akcesorium doda nam do Max MP po założeniu.
price- Cena naszego armoru/akcesorium przy sprzedaży.
crystal_count - Ilość kryształów, która pojawi się po nieudanym enchancie (z +3 na +4, bo wiadomo czym wyżej tym wiecej).
sellable - Jeśli ustawimy na true to umożliwimy sprzedawanie armoru/akcesorium w sklepie, jeśli wpiszemy false - uniemożliwimy.
dropable - Ustawiamy tu możliwość wydropienia danego armoru/akcesoriu, wiadomo: true - można wydropić, false - nie można.
destroyable - Możliwość destrukcji danego armoru/akcesoriu. true - możliwe zniszczenie, false - nie możliwe zniszczenie.
tradeable- Jak wyżej tylko tyczy się to Trade'u (wymiany).
item_skill_id - ID skilla, który pojawi sie po załozeniu armoru/akcesoriu. Jeśli nie chcemy aby dodawał żadnego skilla wpisujemy 0.
item_skill_lvl- Lv skilla, który pojawi sie po załozeniu armoru/akcesoriu. Jeśli nie chcemy aby dodawał żadnego skilla również wpisujemy 0.


Not. 1: Jeśli chcemy aby Armor dodawał skill z bonusami dopiero po założeniu całego seta, przyda się tabela "armorsets", którą opisze poniżej





Tabela Armorsets.

id - Nic innego jak numer naszego wpisu (nie ma większego znaczenia czy wpiszemy 100 czy 999, chodzi o porządek).
chest- ID chesta, który ma wchodzić w skład całego seta (jeżeli w danym secie znajduje sie Full Body Armor wpisujemy jego id w tej kolumnie a w kolumnie "legs" wpisujemy 0).
legs- ID legsów, które mają wchodzić w skład całego seta.
head - ID hełmu, który mają wchodzić w skład całego seta.
gloves - ID rękawic, które mają wchodzić w skład całego setau.
feet- ID butów, które mają wchodzić w skład całego seta.
skill_id- ID skilla, który aktywuje się dopiero po złożeniu wszystkich części seta (tych ID powyżej).
shield - ID tarczy, która ma wchodzić w skład całęgo seta.
shield_skill_id- ID skilla specialnie dla tarczy, który aktywuje się dopiero po złożeniu wszystkich części seta (tych ID powyżej).
enchant6skill - ID skilla, który aktywuje się dopiero po zenchantowaniu każdej części seta do +6 (nie licząc tarczy).


Not. 1: Jeśli ustalimy wpis w tej tabeli to musimy następnie napisać passive skill z bonusami do tej zbroi, wpisujemy go naturalnie w kolumne "skill_id" lub "shield_skill_id" bądź "enchant6skill"
« Ostatnia zmiana: Listopad 14, 2010, 02:52:04 pm wysłana przez Maxt0r »


  • *******
  • Wiadomości: 1722

  • Pochwał: 20

  • Oko Saurona patrzy!
Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #1 dnia: Listopad 13, 2010, 10:38:40 pm »
zgłaszam o plusa dla użytkownika Maxt0r
Miesięcy bez L2: już nawet nie licze :(


  • Wiadomości: 442

  • Pochwał: 10

  • offline.
Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #2 dnia: Listopad 14, 2010, 01:50:05 pm »
zgłaszam o plusa dla użytkownika Maxt0r
+1


  • Wiadomości: 538

  • Pochwał: 26

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #3 dnia: Listopad 14, 2010, 02:09:18 pm »
Tabela Npc
class - Również odpowiada za wygląd naszego NPC lecz jest to wyciąg ze ścieżki do jego tekstury np. NPC.e_patriarch_MOrc
Nie odpowiada to wcale za wyglad, wartosc ta w ogole nie jest wysylana do klienta, pewnie nie jest w ogole uzywana

collision_radius - Odpowiada za wysokość liter (Name i Title) nad naszym NPC.
radius to promien, wartosc ta odpowiada za "szerokosc" npca, uwgledniane jest to w obliczeniach np na odleglosc ataku.


absorb_level - Jeśli się nie mylę to maksymalna różnica Lvi pomiędzy nami a NPC (używa się przy RB).
absorb_type - Jest to sposób w jakim nasz NPC dropie itemy, dla kogo wpadnie drop.[/size][/b]
Jest to powiazane z lewelowaniem krysztalow dusz.


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #4 dnia: Listopad 14, 2010, 02:34:15 pm »
OMG... prosiłem aby ewentualne błędy popełnione przeze mnie wysłać mi na PM aby nie robić syfu w temacie...

I nie chodzi mi tu wcale o zamaskowanie moich błędów, ponieważ encyklopedią nie jestem a tylko chcę podzielić się z innymi tym co wiem.

Z góry dziękuje za poprawki.


  • *******
  • Wiadomości: 1092

  • Pochwał: 22

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #5 dnia: Listopad 14, 2010, 02:47:05 pm »
A kto tu robi jakiś syf?


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #6 dnia: Listopad 14, 2010, 02:57:59 pm »
A kto tu robi jakiś syf?

W każdym poradniku po napisaniu pierwszego posta z właśnie tym poradnikiem przy ewentualnych błędach wypisuje się parę osób z poprawkami (zamiast napisać je na PW aby zachować przejrzystość tematu) bądź pytaniami. To właśnie jest syf. Nawet ja i Ty teraz syfimy.


  • *******
  • Wiadomości: 1092

  • Pochwał: 22

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #7 dnia: Listopad 14, 2010, 03:14:02 pm »
Poradnikiem jest przeważnie pierwszy post (ewentualnie więcej niż 1) a komentarze na jego temat? Nie nazwał bym tego "syfem".


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #8 dnia: Listopad 14, 2010, 04:14:21 pm »
Poradnikiem jest przeważnie pierwszy post (ewentualnie więcej niż 1) a komentarze na jego temat? Nie nazwał bym tego "syfem".

Komentarz a poprawka jakiegoś błędu napisana powyżej za co zresztą dziękuje autorowi to dwie inne bajki. Te właśnie zgłaszanie błędów powinno się zgłaszać na PM. Nasza wymiana zdań to dopiero "syf". Tak więc proponuje już zamknąć ten temat i zostawić go. Na komentowanie jest dużo miejsca, a co do pytań, zakłada się po prostu nowy temat w dziale Pytania, piszę się na czym polega dodaje się odnośnik do Poradnika według którego się coś robiło i na pewno ktoś pomoże, czyż nie?
« Ostatnia zmiana: Listopad 14, 2010, 04:21:27 pm wysłana przez Maxt0r »


  • Wiadomości: 442

  • Pochwał: 10

  • offline.
Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #9 dnia: Listopad 15, 2010, 04:05:41 pm »
jak ktos robi poradnik chce zeby bylo malo postow
a napewno nie takich co poprawiaja czyjas prace


  • Wiadomości: 24

  • Pochwał: -1

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #10 dnia: Listopad 16, 2010, 10:15:20 am »
Maxtor Ty to masz jak zawsze jakieś problemy. Zostań MoD-em, napisz poradnik i zaraz potem zamknij temat i będziesz miał przejrzystość tematu;p

A tłumaczenia tłumaczeniami. Jak ktoś zajmuje ( na poważnie) serwerem l2j, to coś takiego ma w pamięci, tj. rozszyfrowanie nazw kolumn nie jest problemem. Poza tym. To w końcu tylko angielski, a nie jakaś rosyjska cyryclica, więc coś mizernie z tym słowem "rozszyfrowanie" ;p

No, a dla tej reszty....


  • Wiadomości: 181

  • Pochwał: 7

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #11 dnia: Listopad 16, 2010, 01:56:50 pm »
Maxtor Ty to masz jak zawsze jakieś problemy. Zostań MoD-em, napisz poradnik i zaraz potem zamknij temat i będziesz miał przejrzystość tematu;p

Nie chcę moda. ;p Wole z wami podyskutować. : }


  • Wiadomości: 24

  • Pochwał: -1

Odp: [Poradnik] Opis budowy tabel SQL naszego servera.
« Odpowiedź #12 dnia: Listopad 17, 2010, 12:17:42 am »
Ty po prostu się nudzisz;p

A ja proponuje stworzenie nowego tematu/działu najgorsze serwery l2, czyli lista i dyskusja. Na pewno byłaby ciekawa wraz z popełnianymi błędami, czyli dlaczego serwer jest do bani/upadł, itp. Przynajmniej nie można by mówić "nie mam o czym pisać". Chętnie sam napiszę kilka pierwszych postów i wymienię kilka serwerów. To można zrobić całkowicie na poważnie. Coś w stylu "przestroga dla stawiających serwer" czyli jakich błędów nie popełniać zajmując się serwerem. Patrząc na "wiosenny" wysyp serwerów uważam, że taka dyskusja byłaby bardzo porządana, bo gdy widzi się niektóre zmiany adminów (lub czasami NIEzmiany) to aż się chce dosłownie rzygać (sorry za słówko).

Dlaczego ? Ostatnio pologowałem się na kilka serwerów (5-6). pograłem na każdym max 1-2h i po wszystkim wpadłem w ogólną depresję. Taka załamka totalna na zasadzie "Jak można było coś tak banalnego spierd**** ?!". Czyli serwery (polskie czy nie polskie, już nie widzę różnicy) ogólnie wymiatają. Się dziwić, że ludzie wolą płacić miesięczny abonament i grać na oryginalnych. Po tym co widziałem to się im kompletnie nie dziwie. Do bani i

.... no comment.