Am tot incercat diferite modificari prin uiinventory.py dar nimic.
Tipologie server:
*Resursă folosită: EXTENDED_BLEND_SYSTEM_UPDATED, nu mai stiu exact de unde il am
*ServerFiles utilizat: Clean by Spyke
*Syserr: gol
Poză:
*Detalii suplimentare: Am pus si niste verificari, daca pun sa activeze un slot hardcodat (self.wndItem.ActivateSlot(0)),imi activeaza acel slot cand activez si roua,dar daca pun sa-mi activeze slotul dupa slotNumber, nu activeaza slotul respectiv. La elixirele soarelui si lunii merge perfect.
IS_PERMANANET_BLEND_ITEM este verificarea,din constinfo.py imi returneaza true
iar daca le adaug in verificarea IS_AUTO_POTION_HP care e cu metinSocket[0] iar eu folosesc metinSocket[1], imi merge la roua dar nu-mi mai merge la elixirele soarelui/lunii
Cod: Selectaţi tot
def RefreshBagSlotWindow(self):
getItemVNum=player.GetItemIndex
getItemCount=player.GetItemCount
setItemVNum=self.wndItem.SetItemSlot
if app.BL_ENABLE_PICKUP_ITEM_EFFECT:
for i in xrange(self.wndItem.GetSlotCount()):
self.wndItem.DeactivateSlot(i)
for i in xrange(player.INVENTORY_PAGE_SIZE*2):
slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
itemCount = getItemCount(slotNumber)
# itemCount == 0이면 소켓을 비운다.
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo]
if constInfo.IS_AUTO_POTION(itemVnum): # or constInfo.IS_PERMANANET_BLEND_ITEM(itemVnum): ## comment radu
# metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
isActivated = 0 != metinSocket[0]
if isActivated:
potionType = 0;
if constInfo.IS_AUTO_POTION_HP(itemVnum):
self.wndItem.ActivateSlot(slotNumber, (238.00 / 255.0), (000.00 / 255.0), (000.00 / 255.0), 1.0)
potionType = player.AUTO_POTION_TYPE_HP
elif constInfo.IS_AUTO_POTION_SP(itemVnum):
self.wndItem.ActivateSlot(slotNumber, (000.00 / 255.0), (000.00 / 255.0), (238.00 / 255.0), 1.0)
potionType = player.AUTO_POTION_TYPE_SP
usedAmount = int(metinSocket[1])
totalAmount = int(metinSocket[2])
player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
else:
self.wndItem.DeactivateSlot(slotNumber)
if constInfo.IS_PERMANANET_BLEND_ITEM(itemVnum):
metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
#blendColor = constInfo.GetBlendColor(itemVnum) ## In case you have the slot highlight system with colors.
if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
isActivated = metinSocket[1]
if isActivated:
#self.wndItem.ActivateSlot(i, blendColor) ## In case you have the slot highlight system with colors.
self.wndItem.ActivateSlot(slotNumber, (000.00 / 255.0), (000.00 / 255.0), (238.00 / 255.0), 1.0)
self.wndItem.ActivateSlot(slotNumber)
self.wndItem.ActivateSlot(i)
self.wndItem.ActivateSlot(j)
self.wndItem.ActivateSlot(0)
else:
self.wndItem.DeactivateSlot(slotNumber)
self.wndItem.ActivateSlot(2)


