Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: Zeratul Dátum 2017-04-17, 07:08:24

Cím: 6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-04-17, 07:08:24
Sziasztok!


A mai nap vissza akartam rakni a 6-7. optolót de nem sikerült, be került de nem ad hozzá bónuszt a tárgyakhoz és azt szeretném kérdezni hogy lehet orvosolni a hibát?


item_names.txt, item_proto, navicat, item_proto.txt, item_desc.txt, item_list-ben is bele került így nemtudom mi lehet a hiba?
Cím: Re:6-7.opt vissza rakása 40K
Írta: mikee0121 Dátum 2017-04-17, 07:34:34
Forrásban engedélyezve van a 6-7 opt?
Cím: Re:6-7.opt vissza rakása 40K
Írta: fabtam11 Dátum 2017-04-17, 07:44:28
item_protonál kb ilyen? 71051 眞·재가비서 ITEM_USE USE_SPECIAL 1 NONE STACKABLE | LOG | ITEM_APPLICABLE NONE NONE 100000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71052 眞·재경비서 ITEM_USE USE_SPECIAL 1 NONE STACKABLE | LOG | ITEM_APPLICABLE NONE NONE 500000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-04-17, 07:47:24
71051 Ŕç°ćşńĽ­ ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71052 Ŕç°ˇşńĽ­ ITEM_USE USE_ADD_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
Cím: Re:6-7.opt vissza rakása 40K
Írta: fabtam11 Dátum 2017-04-17, 07:48:58
http://metin2hungary.net/index.php/topic,183898.msg967142.html#msg967142
emez rámutat arra h lehet USE_SPECIAL-ra kéne tenni amazt a kettőt és esetleg akkor működőképessé válnának.
de javíts ki, ha tévednék! :o
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-05-21, 20:26:42
Az sem működik még engedélyezve is van
Cím: Re:6-7.opt vissza rakása 40K
Írta: fabtam11 Dátum 2017-05-23, 09:00:00
melyik forrásalap?
Cím: Re:6-7.opt vissza rakása 40K
Írta: gife974 Dátum 2017-05-23, 16:18:59
Nekem is volt vele bajom, de így fog működni.

KLIENS OLDALON ÍGY LEGYEN:

71051 Ŕç°ćşńĽ­ ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71052 Ŕç°ˇşńĽ­ ITEM_USE USE_ADD_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0


SZERVER OLDALON ÍGY LEGYEN:

71051 Ŕç°ćşńĽ­ ITEM_USE USE_SPECIAL 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71052 Ŕç°ˇşńĽ­ ITEM_USE USE_SPECIAL 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-05-24, 14:20:57
KLIENS OLDALON ÍGY LEGYEN:
Kód: [Kijelölés]71051 Ŕç°ćşńĽ­ ITEM_USE USE_CHANGE_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_MYSHOP ITEM_STACKABLE | LOG NONE 0 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71052 Ŕç°ˇşńĽ­ ITEM_USE USE_ADD_ATTRIBUTE 1 ANTI_DROP | ANTI_SELL | ANTI_GIVE |
Cím: Re:6-7.opt vissza rakása 40K
Írta: gife974 Dátum 2017-05-24, 22:27:45
?
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-05-25, 17:57:52
én csak oda írtam amit te írtál hogy kliens oldal úgy legyen de kliens oldalon nem is úgy nézki az item_proto ezért kérdeztem vissza
Cím: Re:6-7.opt vissza rakása 40K
Írta: gife974 Dátum 2017-05-25, 21:19:33
Igen, azért kellene úgy megcsinálni, ahogy írtam.
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-06-17, 06:45:45
A kliens részbe hogy kell megírni hogy működjön mert én így írtam meg :




<ItemDef Vnum="71051" Name="ňء¤Ŕç°ˇşńĽ­" LocalizedName="Tárgy Elvarázsolás" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="74112" Flags="8196" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0"  />
<ItemDef Vnum="71052" Name="ňء¤Ŕç°ćşńĽ­" LocalizedName="Túlszárnyaló Tárgy" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="74112" Flags="8196" WearFlags="0" ImmuneFlags="0" Gold="0" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0"  />


Cím: Re:6-7.opt vissza rakása 40K
Írta: steis Dátum 2017-06-17, 17:02:50
nekem se jó, ráhúzom a fegyverre és piros ikon... hogy nem lehet ráhúzni =S
Cím: Re:6-7.opt vissza rakása 40K
Írta: gife974 Dátum 2017-06-17, 17:35:45
Feljebb leírtam, hogy kell megcsinálni. Nekem úgy működik.
Cím: Re:6-7.opt vissza rakása 40K
Írta: [VIP]P3NG3R Dátum 2017-06-17, 19:56:35
Mivel kliensben az uiinventory.py fájl nem a valós flag értéket vizsgálva dönti el, hogy egy  tárgy használható-e a másik tárggyal vagy sem, hanem egy a fájlban előállított szám alapján, ami szinte mindenhol így van. A publikus dump_proto-k tartalmaznak olyan flag értékeket, amiket se a szerver, se a kliens nem használ, még csak definiálva sincs egyikben se, így a dump_proto a legtöbb tárgy flagját elrontja. Sőt! Még a proto bontók is ezekkel a hamis flag értékekkel lettek megírva, feltételezem a konvertáló programok is.

Itt a flag lista a dump_proto forrásából:
string arFlag[] = {
"ITEM_TUNABLE",
"ITEM_SAVE",
"ITEM_STACKABLE",
"COUNT_PER_1GOLD",
"ITEM_SLOW_QUERY",
"ITEM_UNIQUE",
"ITEM_MAKECOUNT",
"ITEM_IRREMOVABLE",
"CONFIRM_WHEN_USE",
"QUEST_USE",
"QUEST_USE_MULTIPLE",
"QUEST_GIVE",
"ITEM_QUEST",
"LOG",
"STACKABLE",
"SLOW_QUERY",
"REFINEABLE",
"IRREMOVABLE",
"ITEM_APPLICABLE"
};


Ebből az ITEM_QUEST, STACKABLE, SLOW_QUERY, REFINEABLE és az IRREMOVABLE mind duplikátumok, false értékek, amik eltolják az ITEM_APPLICABLE flag valódi értékét így az uiInventory.py fájlban megnevezett lokális változóban már nem azonos azzal, ami az item_proto-ban szerepel.

Ehhez hasonló elágazás van a kliens uiInventory.py fájljában mint ez:
elif player.GetItemFlags(srcSlotPos) & item.ITEM_FLAG_APPLICABLE) == item.ITEM_FLAG_APPLICABLE:
return True

Elméletileg három helyen:
__DropSrcItemToDestItemInInventory
__CanUseSrcItemToDstItem
__IsUsableItemToItem

Ez az én kliensemből való, látható, hogy nem egy lokális változó szerint vizsgálja a tárgy flagját, hanem a modul egy konstans értéke alapján, ami ennyi:
PyModule_AddIntConstant(poModule, "ITEM_FLAG_APPLICABLE", CItemData::ITEM_FLAG_APPLICABLE);


Azért ajánlott így használni akár ezt, akár más területen az efféle kódokat, mert ha kerül be egy új érték -isten tudja miért- a felsorolás közepébe, akkor nem lesz belőle baj, mert a lekérdezés a valódi értéket adja vissza, viszont ha lokálisan van megnevezve az egyik érték, aminek valójában már megnőtt az értéke, akkor már gond van, ha csak nem aktualizálod magadnak.

Erre az egész item_proto-s dologra is kell némi logikus gondolkodásmód, mi hogy és miért működik úgy ahogy. A leltár szintúgy, alapból egy ótvar az egész, de mindennek megvan a maga szerepe, még ha azt a szerver nem is használja az adott időben.

No persze, mint mindenre úgy erre is több megoldás lehetséges, én gyökerestül irtottam ki a férgesét ;D.
Bár érthetetlen miért nem folytatták azon elvet, hogy ha már ITEM_USE a tárgy akkor miért nem kapott külön subtype-ot? Ez is olyan fej/írás módszer, egyszer ez, egyszer az és kész is bughalom :o.
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-06-18, 13:38:45
az elif részt kell űtírni akkor arra a PyModule-ra hogy működjön?
Cím: Re:6-7.opt vissza rakása 40K
Írta: Zeratul Dátum 2017-07-08, 10:32:37
Akinek sikerült vissza rakni az tudna segíteni privátban vagy kirakjam azt amiket beraktam, hátha én írtam el valamit?
EhPortal 1.39 © 2025, WebDev