Absorpciós pánt érték hiba

Indította PaPa, 2018-08-27, 20:35:00

Sziasztok.
Abszorpciós érték hibám lenne.
Beletörök egy fegyvert.A abszorpciós ablakba jól mutatja az optot.
De mikor megcsinálja akkor azt az optot írja ami a fegyverbe volt.
1-7.optal valami baja van.
Példának egy kép:
https://i.imgur.com/InprfjL.png

2018-08-27, 21:48:20 #1 Utolsó szerkesztés: 2018-08-27, 23:41:33 Szerző: K3zX
A helyzet ugyanaz mint az isCostumeSash ellenőrzésnél, az sem működik ugye.
(gondolom azon már túl vagy, mert akkor bónuszt sem írna ki)

A jelenlegi probléma onnan ered hogy ebben:
def __AppendAttributeInformation(self, attrSlot, itemAbsChance = 0):
(uitooltip.py)

van ez:

if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() == item.COSTUME_TYPE_SASH and itemAbsChance:

A pirossal kijelölt rész nem működik. Őszintén fogalmam sincs hogy miért, 2-3 hete teljesen átnéztem a kódját, nem találtam benne bakit.

Addig is egy ideiglenes megoldásnak ezt az ifet változtasd így:


if vnum > 85000 and vnum < 85100 and vnum != 85009:

(Item id-t korrigáld ha kell.)

Esetleg így:

if item.GetItemType() == item.ITEM_TYPE_COSTUME and item.GetItemSubType() != item.COSTUME_TYPE_BODY and item.GetItemSubType() != item.COSTUME_TYPE_HAIR and item.GetItemSubType() != item.COSTUME_TYPE_MOUNT:
Itt ugye meg úgy van leszűkítve hogy csak a pántra legyen igaz.
(Ha van kosztüm fegyvered akkor írd a felsorolásba.)

Szerk: Inkább az utóbbit próbáld, mert az elsőnél a vnum-ot nem biztos hogy tudja értelmezni ott.




Ha valaki rájött hogy az item.COSTUME_TYPE_SASH miért nem működik akkor én meg gondolom a témanyitó, meg még sokan mások szívesen vennénk ha megosztaná ;D

Köszi végre egy értelmes válasz.
Ment a + de a témát nem zárom hátha valaki tudja miért rossz a funkció.

Esetleg indító forrásban rossz érték van hozzárendelve.
Írasd ki, majd csekkold le enum-ban h mekkora az értéke és meglátod h eltér-e v sem.

2018-08-28, 11:01:01 #4 Utolsó szerkesztés: 2018-08-28, 12:07:39 Szerző: K3zX
Idézetet írta: 5310pati Dátum 2018-08-27, 23:00:25
Esetleg indító forrásban rossz érték van hozzárendelve.
Írasd ki, majd csekkold le enum-ban h mekkora az értéke és meglátod h eltér-e v sem.

Így próbáltam:
chat.AppendChat(chat.CHAT_TYPE_INFO, str(item.GetItemSubType()))

255-öt ad vissza xD Tehát kiakad. Amúgy jól írja ki, mert pl hair 1, body 0, weapon 9-14, mount 15.

Kliens enum:
[spoiler]
Idézenum ECostumeSubTypes
      {
         COSTUME_BODY,            //0   °©żĘ(main look)
         COSTUME_HAIR,            //1   Çěľî(Ĺ»Âř°ˇ´É)
         COSTUME_WEAPON_SWORD = 9,
         COSTUME_WEAPON_DAGGER,
         COSTUME_WEAPON_BOW,
         COSTUME_WEAPON_TWO_HANDED,
         COSTUME_WEAPON_BELL,
         COSTUME_WEAPON_FAN,
         COSTUME_MOUNT,
         #ifdef ENABLE_SASH_SYSTEM
         COSTUME_SASH,
         #endif
         COSTUME_NUM_TYPES,
      };
[/spoiler]

Szerveren is ilyen, tehát ott is a COSTUME_WEAPON_SWORD-nál 9-re ugrik és onnan folytatódik.

Szerver:
[spoiler]
Idézenum ECostumeSubTypes
{
   COSTUME_BODY = ARMOR_BODY,         // [Áßżä!!] ECostumeSubTypes enum value´Â  Áľ·ůş°·Î EArmorSubTypesŔÇ ±×°Í°ú °°ľĆľß ÇÔ.
   COSTUME_HAIR = ARMOR_HEAD,
   COSTUME_WEAPON_SWORD = 9,
   COSTUME_WEAPON_DAGGER,
   COSTUME_WEAPON_BOW,
   COSTUME_WEAPON_TWO_HANDED,
   COSTUME_WEAPON_BELL,
   COSTUME_WEAPON_FAN,// ŔĚ´Â ÄÚ˝şĂő ľĆŔĚĹŰżˇ Ăß°ˇ ĽÓĽşŔ» şŮŔĚ°Ú´Ů´Â »çľ÷şÎŔÇ żäĂ»żˇ µű¶óĽ­ ±âÁ¸ ·ÎÁ÷Ŕ» Č°żëÇϱâ Ŕ§ÇÔŔÓ.
   COSTUME_MOUNT,
   #ifdef __SASH_SYSTEM__
   COSTUME_SASH,
   #endif
   COSTUME_NUM_TYPES,
};
[/spoiler]

De próbáltam adni neki fix értéket (COSTUME_SASH = 6,) de továbbra is 255.




Megvan a hiba ;D

Kliens item_proto volt a rossz, ugyanis dump_proto-ba (itemCSVReader.cpp) nem lett beleírva az static string arSub28[] végére a "COSTUME_SASH" így 255 értéket kapott item_proto-ban kliensoldalt dumpoláskor.

Nem a subtype lekérésre gondoltam épp, de végülis nem jót tett, mert úgy néz ki azzal van gond, ha csak nem valóban 255-ös az értéke a COSTUME_SASH-nek, amit kétlek ???
Szóval item proto hibád van, a csomagolóddal van vmi amiért 255-nek veszi a COSTUME_SASH-t.

Szerkesztettem a hozzászólást 3 órája, odaírtam hogy megvan mi a hiba, dump_proto-ba nem volt beleírva, így 255-öt írt a protoba :)