Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: gife974 Dátum 2018-03-19, 22:36:49

Cím: Új bónusz hiba.
Írta: gife974 Dátum 2018-03-19, 22:36:49
Sziasztok! Betettem egy új bónuszt a szerverbe, viszont 1 problémám van vele. Hogy nem az új bónuszt teszi bele, hanem egy teljesen másikat.

Ezt tettem be:
[spoiler]https://mega.nz/#!oYtHgTYD!RDr1N9CoICB0SmPDHf5y4alyEAsivzSoMbc97YaJKSM[/spoiler]

Az új bónusz helyett, pedig ezt teszi bele. Az új bónuszt megpróbáltam új helyre is rakni, akkor szintén egy már meglévőt rakott bele.

Csatolom a hibát. A SEGÍTSÉGEKET ELŐRE IS KÖSZÖNÖM!
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-19, 23:06:37
Adatbázist nem hagytad ki véletlen?
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2018%2F03%2F19%2F872nav.png&hash=95b1999f10f6ba90def85065f1e7f3b8bf73cbbd)
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 11:29:34
Természetesen nem. Az ördög elleni erőröl másoltam le (ATTBONUS_DEVIL) és a devilt átírtam az új bónusz helyére.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 11:44:21
És jó bónusz id-t ír item táblában?
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 12:24:07
Az látod jó kérdés. Hazaérek és megnézem.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 13:34:31
Nálam tök jól működik, igaz nem leírás alapján csináltam hanem magamtól.
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2018%2F03%2F20%2F875metin.png&hash=984be817c9566076358344b6eb73e8ef9d1b5c61)

Üzenet összefésülés: 2018-03-20, 13:38:24

+ ami a leírásban szerepel, ott a metin mellett továbbra is hat a szörny a kövekre, ami sztem az új metin elleni erő mellett nem kell, szóval ha ezt nem akarod így használd:
if (pkVictim->IsStone())
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_METIN)) / 100;
else
iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_MONSTER)) / 100;
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 14:01:21
Na, megnéztem az item táblát, tényleg nem azt a bónuszt teszi bele, ami nekem kellene. Számszerint a 97-es az. Viszont ha manuálisan átírom, akkor jót tesz bele, viszont ha optolom a tárgyat, illetve pörgetem, akkor rosszat tesz bele.

Üzenet összefésülés: 2018-03-20, 14:02:22

Illetve, az erőt sem adja meg.  :-[

Üzenet összefésülés: 2018-03-20, 14:07:53

Esetleg valami normális tutoriát nincs kedved csinálni?
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 14:11:38
Őszintén rákerestem a MONSTER-es részre (2 is van APPLY és POINT), majd lemásoltam és átírtam METIN-re.
Annyi h a végén a POINT_ENERGY-vel ütközés lett és át kellett azt írni (szerver és indító oldalon is).
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 14:19:17
Pontosan mi ütközött össze?
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 14:20:47
Az h enum osztályban van, és a POINT_ENERGY-nek meg lett adva alap érték, aszem 128, de mivel elé beírtam 1 újat a METIN-t, az előtte lévőt defaultból megnövelte ugye és ez okozta az ütközést.
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 14:31:54
Na, most újra rakom az egészet, aztán írok, ha van valami.

Üzenet összefésülés: 2018-03-20, 14:40:55

A helyzet változatlan, továbbra is Max TP%-ot rak bele, és ha manuálisan átírom, akkor se adja meg a bónuszt.

Csatolom a fájlokat, rátudsz nézni?
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:09:38
Be raktad az uj bonuszt a proto readerekbe? Kliens és szerver oldalon is, majd újra csomagoltad az item protot? Mivel itt az a gond, hogy rosz azonosítót hív meg a bónuszhoz, tehát vagy nem tetted be a proto readerekbe, vagy rossz sorrenben vannak a bonusz azonosítók.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:17:29
ProtoReadernek nincs köze ehhez, az csak alap bónuszért felel a tárgyban.
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 15:19:24
Találtál valami hibát?
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:20:39
Azon kívül h te a legvégére raktad az enumoknak elv egyezik az enyimmel.
Én adatbázisra tippelek, mivel az felel azért h milyen bónuszt rak a tárgyba, onnan olvassa a szerver mikor hozzáadódik a bónusz.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:22:13
Ha bonuszért felel, akkor hogy ne lenne. XDXDXD

Ha ott nincs bent, akkor item protoban az életben nem tud bonuszt hozzá adni egy tárgyhoz ezzel a bonusz azonosítóval...

Az tény hogy nem csak ott kell renben lennie, mert az item_lenght.h, affect.h char.h bizonyos enumjai felelnek még a bonuszokért.

Use your brain, please.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:26:50
Azt én értem és nem is azt mondtam, de ő optolni próbálja a bónuszt és úgy nincs rendben és én arra írtam h nincs köze hozzá.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:29:11
Adatbázis felöl meg ez a hiba nem jelenik meg, mert ha nincs az item_attr listán akkor nem rakja be a bonuszt, ha meg ottvan akkor nyilván berakja az adott azonosito alapján, tehát ha a forrásban nincs rendben az adott bonusz azonosito ami bekerü  csak akkor rinyál be ilyen jelenség. És mint írtam a sorrend lesz a ludas, vagy h egyáltalán nincs is bent valahol. Érdemes figyelni, hogy minden fájlban ahol meghívjuk ugyan arra a sorra essen az enumon belül. Honnan tudom ezt? Éjjel raktam be két új statisztika pontot (mint az Erő, Inteligencia) és nyilván item bonuszként is szerepel, és volt rálátásom mikor hogy reagált a rendszer az uj bonuszoknál.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:32:42
Igen, de ha rosszul van megcsinálva adatbázisban rossz ID-vel tölti be a bónuszt, ezért van az h Metin elleni erő helyett nála Max TP lett.
while ((data = mysql_fetch_row(pRes->pSQLResult)))
{
TItemAttrTable t;

memset(&t, 0, sizeof(TItemAttrTable));

int col = 0;

strlcpy(t.szApply, data[col++], sizeof(t.szApply));
str_to_number(t.dwApplyIndex, data[col++]);
str_to_number(t.dwProb, data[col++]);
str_to_number(t.lValues[0], data[col++]);
str_to_number(t.lValues[1], data[col++]);
str_to_number(t.lValues[2], data[col++]);
str_to_number(t.lValues[3], data[col++]);
str_to_number(t.lValues[4], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_WEAPON], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_BODY], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_WRIST], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_FOOTS], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_NECK], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_HEAD], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_SHIELD], data[col++]);
str_to_number(t.bMaxLevelBySet[ATTRIBUTE_SET_EAR], data[col++]);

sys_log(0, "ITEM_RARE: %-20s %4lu { %3d %3d %3d %3d %3d } { %d %d %d %d %d %d %d }",
t.szApply,
t.dwProb,
t.lValues[0],
t.lValues[1],
t.lValues[2],
t.lValues[3],
t.lValues[4],
t.bMaxLevelBySet[ATTRIBUTE_SET_WEAPON],
t.bMaxLevelBySet[ATTRIBUTE_SET_BODY],
t.bMaxLevelBySet[ATTRIBUTE_SET_WRIST],
t.bMaxLevelBySet[ATTRIBUTE_SET_FOOTS],
t.bMaxLevelBySet[ATTRIBUTE_SET_NECK],
t.bMaxLevelBySet[ATTRIBUTE_SET_HEAD],
t.bMaxLevelBySet[ATTRIBUTE_SET_SHIELD],
t.bMaxLevelBySet[ATTRIBUTE_SET_EAR]);

m_vec_itemRareTable.push_back(t);
}


A forrását meg felrakta, és nem láttam hibát, azon kívül h ő más helyre rakta az enumon belül ami nem számít, ha passzol indtóval.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:40:43
Azt én vágom, hogy passzol indítóval, de passzolnia kell az a szerver forráson belül számos fájlban, figyelni kell hogy egyes bonusz azonosítók nem enum auto incrementel vannak számozva, hanem manuálisan, igy ha manuális után rakunk uj azonositot akkor a manuális értéktöl kezd nőni. Jó nyilván ezt vágod te is. És egy ötlet, nézd meg az uitooltip.py-ben, hogy az apply/affect listán is szerepel-e a bonusz és ha igen megfelelő sorrenben van-e azis, mert szivatós a rendszer ha vmi nem jo számra esik.  (Bocsi ha helyesirási problémákat észleltek, telorol írok és kapkodva.)

Üzenet összefésülés: 2018-03-20, 15:43:43

Miért szúrtál be egy 6-7 bónusz (rare) adatbázisból olvasó kódrészt?? Csak mert nem értem ez h jön ide.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:44:39
Forrást mondtam h átnéztem, és stimmel minden.
Adatbázis részét tekintve meg:
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2018%2F03%2F20%2F405metin.png&hash=872ad5dfd97c80f2bde1a1fcdf84b88ecd13749e)
Csak felcseréltem a design-nál a valuesban a szörny és metin elleni erőt és lám...

Üzenet összefésülés: 2018-03-20, 15:46:41

Idézetet írta: udvatt108 Dátum 2018-03-20, 15:40:43

Üzenet összefésülés: 2018-03-20, 15:43:43

Miért szúrtál be egy 6-7 bónusz (rare) adatbázisból olvasó kódrészt?? Csak mert nem értem ez h jön ide.
Hát először is ez alap 1-5 bónusz nem a 6-7-é de m1, másodszor meg te mondtad h a proto readernek van köze a dologhoz... szóval gondolom érted már.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:47:31
Ahh szóval 6-7 bonusz lesz az uj bonusz, már értem. De ez megerősíti amit a képen demonstrálzál, hogy rossz a bonuszok sorrendje fortásban, vaagy amit irtam az uitooltip.py-ben rossz a sorrend, esetleg nincs ott a bonusz.
Cím: Re:Új bónusz hiba.
Írta: gife974 Dátum 2018-03-20, 15:50:01
1-5 bónusznak készül. Uitooltip nem hiszem, hogy hibás, hisz amikor manuálisan írom át a bónusz ID-t az item táblában, akkor a helyes bónuszt írja, csak az értéket sem adja hozzá, illetve, ha optolom, akkor jön ez a hiba.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:50:13
Édes istenem... Ha szar indexre rakod adatbázisban akkor persze h nem stimmel forrásban és bizonyos szemszögből tekintve mondhatjuk h a forrásban a szar, de nem egyszerűbb a jó helyre berakni adatbázisban mint forrást átjavítani...?
uitooltipben meg milyen sorrend is? Nem manuálisan írod be az index-et, indítótól függ a dolog...
item.APPLY_ATTBONUS_MONSTER : localeInfo.TOOLTIP_APPLY_ATTBONUS_MONSTER,

item.APPLY_ATTBONUS_METIN : localeInfo.TOOLTIP_APPLY_ATTBONUS_METIN,


Az meg mellékes most h 1-5 v 6-7, nem mondtam h számít, csak én éppenséggel a 6-7be raktam be.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 15:51:36
De a item_attr_rare az a 6-7 bonuszként berakható bonuszok listályát és értékeit tartalmazza, de m1...
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 15:53:02
Idézetet írta: gife974 Dátum 2018-03-20, 15:50:01
1-5 bónusznak készül. Uitooltip nem hiszem, hogy hibás, hisz amikor manuálisan írom át a bónusz ID-t az item táblában, akkor a helyes bónuszt írja, csak az értéket sem adja hozzá, illetve, ha optolom, akkor jön ez a hiba.
Ez az amit magyarázok, szerveren jól van, indítóban is, kliensben is, ezért stimmel ha manuálisan beírod az ID-t.
Ebből látszik h a sorrend van elrontva a desingban a valuesnál.

Idézetet írta: udvatt108 Dátum 2018-03-20, 15:51:36
De a item_attr_rare az a 6-7 bonuszként berakható bonuszok listályát és értékeit tartalmazza, de m1...
Na neeeeeeeeeeeeeeee :O Most csak szivacc ugye??
(https://media1.giphy.com/media/aWPGuTlDqq2yc/giphy.gif)

Üzenet összefésülés: 2018-03-20, 16:01:31

De tessék:
(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2018%2F03%2F20%2F696metin.png&hash=782c4002048c781f6488edfbd139eb90115c675c)
És igen, fel van cserélve mert lecopyztam mint kikeresgéljem azért van szörny metin helyett. :-X
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 16:02:09
Nekem ez azért nem stimmel, mert én akár hová tettem a mysql-ben az új bónuszaimat, akkor is megfelelően adta be a bonuszokat optolásnál. Tehát (nállam miért lenne máshogy másoknál) nem szabályozta a mysql-ben az hogy melyik sorba miután milyen bonuszt tettem, hiszen ott csak tájékoztato adatok vannak a szerver részére. Honnan tudom? Nállam van 8. Opt és külön item_attr_eightopt táblában van, hogy oda milyen bonuszokat tehet.


De bocsika, nem szeretnék beleszolni. xD
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 16:10:57
Én is csináltam már olyat új táblából, új rakóval/cserével stb.
De mint látod számít a sorrend.
Cím: Re:Új bónusz hiba.
Írta: udvatt108 Dátum 2018-03-20, 16:24:24
Pati, próbáld ki, hogy megkatyvaszolod az item_attr táblád(biztonsági mentés után) és nézd meg, hogy úgy átpakolgatott sorrendel mit reagál a szervered Csak érdekel, mert mint irtam nállam változatlanul müködik minden függeltelül hogy milyen sorrendet alkot a táblám.

Esetleg ha sorrend érzékenység fennáll, akkor db-ben a ClientManagerBoot.cpp vagy most fejböl nem tudom biztosan, de vmelyik fájlban betölti az adatbázisból ezeket a tárgyakba tehető bonuszok listályát (item_attr, item_attr_rare) és elképzelhető, hogy azonosítót ellenőriz és párosít, ha így van akkor talán nincs ott megadva, vagy rossz sorrend. CSAK ÖTLET, ÍGY FEJBŐL ENNYIT TUDOK HOZÁFŰZNI.
Cím: Re:Új bónusz hiba.
Írta: 5310pati Dátum 2018-03-20, 16:33:01
Akk beszarik, de engem nem zavar ha sorrendben kell megadni.
Alapból így volt, nem piszkálom, jó így is.
Cím: Re:Új bónusz hiba.
Írta: [VIP]Rin the Exorcist Dátum 2018-03-20, 17:01:54
Nah, akkor engedelmetekkel becsatlakoznék egy külsős félként, aki pártatlanul szemlélődik! :D

Idézetet írta: 5310pati Dátum 2018-03-20, 15:44:39
Hát először is ez alap 1-5 bónusz nem a 6-7-é de m1

Igazság szerint amit másoltál, az valóban a 6-7-hez tartozik, nézd csak meg az utolsó sorát.
m_vec_itemRareTable.push_back(t);

De jelenleg valóban tökmindegy.





Az uitooltip.py-ben a bónuszok sorrendje tök mellékes, aki nem hiszi, járjon utána. :-X




Az item_attr-ben pedig csak az számít, hogy melyik bónusznak milyen értéke van (azaz táblaszerkesztőben a sorrend alapján, a szöveg is tök mellékes, csak nekünk segít), ezenkívül tök mindegy, hogy helyezkednek el a táblázatban, jól kell, hogy működjön.

[spoiler]Ez milyen tökös hozzászólás lett.. 8)[/spoiler]
EhPortal 1.39 © 2025, WebDev