Sziasztok,
Azt akarom, hogyha egy bizonyos tárgyat egy másik tárgyra húzom, akkor ne piros négyzet legyen hanem sárga.
(Az akció aminek le kell futnia lefut, csak piros a négyzet tehát csak szépséghiba, de javítani szeretném)
Ezt hol és hogy lehetne pontosan beállítani pythonban?
uiInventory.py
__DropSrcItemToDestItemInInventory
__CanUseSrcItemToDstItem
__IsUsableItemToItem
Nem tudtam teljesen rájönni ezekbe mit, nem tudnál esetleg egy konkrét példát?
Pl 5-ös itemvnum cuccokat 6-os itemvnum cuccra húzva sárga legyen.
Először is ebben
__IsUsableItemToItem
meg kell adni h a kurzor "alatti" tárgy használható-e más tárgyakon, majd itt
__CanUseSrcItemToDstItem
azt hogy a tárgy használható-e azon a tárgyon, ahol a kurzor van.
def __IsUsableItemToItem(self, srcItemVnum, srcSlotPos):
if srcItemVnum == 5:
return True
elif....
def __CanUseSrcItemToDstItem(self, srcItemVnum, srcSlotPos, dstSlotPos):
if srcSlotPos == dstSlotPos:
return False
dstItemVnum = player.GetItemIndex(dstSlotPos)
dstItemCount = player.GetItemCount(dstSlotPos)
if srcItemVnum == dstItemVnum:
return player.IsFlagBySlot(player.INVENTORY, dstSlotPos, item.ITEM_FLAG_STACKABLE) and not player.IsAntiFlagBySlot(player.INVENTORY, dstSlotPos, item.ITEM_ANTIFLAG_STACK) and dstItemCount < player.GetItemStackMax(): #GetItemStackMax returns a value from serverside
if srcItemVnum == 5 and dstItemVnum == 6:
return True
Valahogy így. A stackos cuccost hagy ki az saját, nem fog működni a c++ rész nélkül :>.
Idézglobal name 'srcItemVnum' is not defined
Mind a kettőnél ott írja ahol van az if srcItemVnum == 5:
Szerk: Megvan, ez kell még bele:
srcItemVnum = player.GetItemIndex(srcSlotPos)
Ezt a kódok elejére illesztve működik, köszi :)