- Mesaj
- 265
- Çözümler
- 16
- Beğeni
- 154
- Puan
- 734
- Ticaret Puanı
- 0
Arkadaşlar iki gündür bi ek envanter(K envanteri) eklemeye çalışıyorum ![Big grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
clientte falan sorun çıkmıştı @Whistle sağolsun hallettik.
şimdi ise başlıkta da belirttiğim gibi loading ekranı doluyor ve oyun açılmıyor. kalıyor öyle.
şöyle bir syserr alıyorum :
Eğer Whistle kardeşim gelirsen aşağıya syserrde yazdığı dosyaları ekleyeceğim. Kafayı yedim çözemedim şunu. Şimdiden teşekkürler.
![Big grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
clientte falan sorun çıkmıştı @Whistle sağolsun hallettik.
şimdi ise başlıkta da belirttiğim gibi loading ekranı doluyor ve oyun açılmıyor. kalıyor öyle.
şöyle bir syserr alıyorum :
Kod:
0410 07:35:10190 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
0410 07:35:17599 :: Traceback (most recent call last):
0410 07:35:17599 :: File "networkModule.py", line 247, in SetGamePhase
0410 07:35:17599 :: File "game.py", line 97, in __init__
0410 07:35:17599 :: File "interfaceModule.py", line 295, in MakeInterface
0410 07:35:17599 :: File "interfaceModule.py", line 175, in __MakeWindows
0410 07:35:17600 :: File "uiInventory.py", line 114, in __init__
0410 07:35:17600 :: File "uiInventory.py", line 160, in __LoadWindow
0410 07:35:17600 :: NameError
0410 07:35:17600 :: :
0410 07:35:17600 :: global name 'uiToolTip' is not defined
0410 07:35:17600 ::
Eğer Whistle kardeşim gelirsen aşağıya syserrde yazdığı dosyaları ekleyeceğim. Kafayı yedim çözemedim şunu. Şimdiden teşekkürler.
Game.py :
interfaceModule.py :
uiInventory.py :
Kod:
# Arat
onPressKeyDict[app.DIK_W] = lambda : self.MoveUp()
onPressKeyDict[app.DIK_S] = lambda : self.MoveDown()
onPressKeyDict[app.DIK_A] = lambda : self.MoveLeft()
onPressKeyDict[app.DIK_D] = lambda : self.MoveRight()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
onPressKeyDict[app.DIK_K] = lambda : self.__PressExtendedInventory()
# Arat
elif player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == dropType:
# PRIVATESHOP_DISABLE_ITEM_DROP
self.__SendDropItemPacket(dropNumber, dropCount, player.DRAGON_SOUL_INVENTORY)
# END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
# Ekle
elif app.WJ_SPLIT_INVENTORY_SYSTEM:
if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == dropType or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == dropType or player.SLOT_TYPE_STONE_INVENTORY == dropType or player.SLOT_TYPE_BOX_INVENTORY == dropType or player.SLOT_TYPE_EFSUN_INVENTORY == dropType or player.SLOT_TYPE_CICEK_INVENTORY == dropType:
self.__SendDropItemPacket(dropNumber, dropCount, player.SLOT_TYPE_SKILL_BOOK_INVENTORY or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY or player.SLOT_TYPE_STONE_INVENTORY or player.SLOT_TYPE_BOX_INVENTORY or player.SLOT_TYPE_EFSUN_INVENTORY or player.SLOT_TYPE_CICEK_INVENTORY)
# En sona ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
def __PressExtendedInventory(self):
if self.interface:
self.interface.ToggleExtendedInventoryWindow()
# Arat
## Inventory
elif player.SLOT_TYPE_INVENTORY == attachedType:
# Değiştir
## Inventory
elif player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedType or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedType or player.SLOT_TYPE_STONE_INVENTORY == attachedType or player.SLOT_TYPE_BOX_INVENTORY == attachedType or player.SLOT_TYPE_EFSUN_INVENTORY == attachedType or player.SLOT_TYPE_CICEK_INVENTORY == attachedType:
# Arat __PutItem(self, attachedType, İçinde
if player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType:
# Değiştir
if player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedType or player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedType or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedType or player.SLOT_TYPE_STONE_INVENTORY == attachedType or player.SLOT_TYPE_BOX_INVENTORY == attachedType or player.SLOT_TYPE_EFSUN_INVENTORY == attachedType or player.SLOT_TYPE_CICEK_INVENTORY == attachedType:
# Arat
if player.SLOT_TYPE_INVENTORY == attachedType:
# Değiştir
if player.SLOT_TYPE_INVENTORY == attachedType or player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedType or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedType or player.SLOT_TYPE_STONE_INVENTORY == attachedType or player.SLOT_TYPE_BOX_INVENTORY == attachedType or player.SLOT_TYPE_EFSUN_INVENTORY == attachedType or player.SLOT_TYPE_CICEK_INVENTORY == attachedType:
# Arat def RequestDropItem(self, answer): İçinde
if player.SLOT_TYPE_INVENTORY == dropType:
# Değiştir
if player.SLOT_TYPE_INVENTORY == dropType or player.SLOT_TYPE_SKILL_BOOK_INVENTORY == dropType or player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == dropType or player.SLOT_TYPE_STONE_INVENTORY == dropType or player.SLOT_TYPE_BOX_INVENTORY == dropType or player.SLOT_TYPE_EFSUN_INVENTORY == dropType or player.SLOT_TYPE_CICEK_INVENTORY == dropType:
interfaceModule.py :
Kod:
# Arat
self.wndMiniMap = None
self.wndGuild = None
self.wndGuildBuilding = None
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
self.wndExtendedInventory = None
# Arat
def __MakeWindows(self):
wndCharacter = uiCharacter.CharacterWindow()
wndInventory = uiInventory.InventoryWindow()
wndInventory.BindInterfaceClass(self)
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
wndExtendedInventory = uiInventory.ExtendedInventoryWindow()
wndExtendedInventory.BindInterfaceClass(self)
# Arat
self.wndDragonSoulRefine = wndDragonSoulRefine
self.wndMiniMap = wndMiniMap
self.wndSafebox = wndSafebox
self.wndChatLog = wndChatLog
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
self.wndExtendedInventory = wndExtendedInventory
# Arat
self.dlgShop.SetItemToolTip(self.tooltipItem)
self.dlgExchange.SetItemToolTip(self.tooltipItem)
self.privateShopBuilder.SetItemToolTip(self.tooltipItem)
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
self.wndExtendedInventory.SetItemToolTip(self.tooltipItem)
# Arat
if self.wndCharacter:
self.wndCharacter.Destroy()
if self.wndInventory:
self.wndInventory.Destroy()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
if self.wndExtendedInventory:
self.wndExtendedInventory.Destroy()
# Arat
del self.wndGuildBuilding
del self.wndGameButton
del self.tipBoard
del self.bigBoard
del self.wndItemSelect
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
if self.wndExtendedInventory:
del self.wndExtendedInventory
# Arat
def RefreshStatus(self):
self.wndTaskBar.RefreshStatus()
self.wndCharacter.RefreshStatus()
self.wndExpandedMoney.RefreshStatus()
if self.wndEnergyBar:
self.wndEnergyBar.RefreshStatus()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
self.wndExtendedInventory.RefreshStatus()
# Arat
def RefreshInventory(self):
self.wndTaskBar.RefreshQuickSlot()
self.wndInventory.RefreshItemSlot()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
self.wndExtendedInventory.RefreshItemSlot()
# Arat
if self.wndCharacter:
self.wndCharacter.Hide()
if self.wndInventory:
self.wndInventory.Hide()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
if self.wndExtendedInventory:
self.wndExtendedInventory.Hide()
# Arat
def ToggleInventoryWindow(self):
if False == player.IsObserverMode():
if False == self.wndInventory.IsShow():
self.wndInventory.Show()
self.wndExpandedMoney.Show()
self.wndInventory.SetTop()
else:
self.wndInventory.OverOutItem()
self.wndInventory.Close()
self.wndExpandedMoney.Hide()
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
def ToggleExtendedInventoryWindow(self):
if FALSE == player.IsObserverMode():
if self.wndExtendedInventory.IsShow():
self.wndExtendedInventory.OverOutItem()
self.wndExtendedInventory.Close()
else:
self.wndExtendedInventory.Show()
# Arat
if self.wndExpandedTaskBar:
hideWindows += self.wndExpandedTaskBar,
# Ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
if self.wndExtendedInventory:
hideWindows += self.wndExtendedInventory,
#Arat
def ToggleInventoryWindow(self):
if FALSE == player.IsObserverMode():
if FALSE == self.wndInventory.IsShow():
self.wndInventory.Show()
self.wndInventory.SetTop()
self.wndExpandedMoney.Show()
#Altına Ekle
if 1 == constInfo.EnvanterAcilsinmi:
if not self.wndExtendedInventory.IsShow():
self.wndExtendedInventory.Show()
#Arat
else:
self.wndInventory.OverOutItem()
self.wndInventory.Close()
self.wndExpandedMoney.Hide()
# Altına Ekle
if 1 == constInfo.EnvanterAcilsinmi:
if self.wndExtendedInventory.IsShow():
self.wndExtendedInventory.Close()
[/SIZE]
uiInventory.py :
Kod:
# İmportlar arasına ekle
import uiPickEtc
# Arat
def RefreshCostumeSlot(self):
getItemVNum=player.GetItemIndex
for i in xrange(item.COSTUME_SLOT_COUNT):
slotNumber = item.COSTUME_SLOT_START + i
self.wndEquip.SetItemSlot(slotNumber, getItemVNum(slotNumber), 0)
self.wndEquip.RefreshSlot()
# Altına ekle
if app.WJ_SPLIT_INVENTORY_SYSTEM:
class ExtendedInventoryWindow(ui.ScriptWindow):
tooltipItem = None
interface = None
dlgPickMoney = None
dlgPickItem = None
sellingSlotNumber = -1
isLoaded = 0
def __init__(self):
ui.ScriptWindow.__init__(self)
self.inventoryPageIndex = 0
self.__LoadWindow()
def __del__(self):
ui.ScriptWindow.__del__(self)
def Show(self):
self.__LoadWindow()
ui.ScriptWindow.Show(self)
def BindInterfaceClass(self, interface):
self.interface = interface
def __LoadWindow(self):
if self.isLoaded == 1:
return
self.isLoaded = 1
try:
pyScrLoader = ui.PythonScriptLoader()
pyScrLoader.LoadScriptFile(self, "UIScript/ExtendedInventoryWindow.py")
except:
import exception
exception.Abort("ExtendedInventoryWindow.LoadWindow.LoadObject")
try:
wndItem = self.GetChild("ItemSlot")
self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
self.titleName = self.GetChild("TitleName")
self.SkillBookButton = self.GetChild("SkillBookButton")
self.UpgradeItemsButton = self.GetChild("UpgradeItemsButton")
self.stoneButton = self.GetChild("StoneButton")
self.boxButton = self.GetChild("BoxButton")
self.efsunButton = self.GetChild("EfsunButton")
self.cicekButton = self.GetChild("CicekButton")
self.inventoryTab = []
self.inventoryTab.append(self.GetChild("Inventory_Tab_01"))
self.inventoryTab.append(self.GetChild("Inventory_Tab_02"))
self.inventoryTab.append(self.GetChild("Inventory_Tab_03"))
self.MalzemeDeposuInfo = self.GetChild("MalzemeDeposuInfo")
except:
import exception
exception.Abort("ExtendedInventoryWindow.LoadWindow.BindObject")
## Info
self.tlInfo = uiToolTip.ItemToolTip()
self.tlInfo.Hide()
self.tooltipInfo = [self.tlInfo]*7
self.InformationText = [localeInfo.MALZEME_DEPOSU,
localeInfo.BK_ENVANTER_TEXT1,
localeInfo.BK_ENVANTER_TEXT2,
localeInfo.BK_ENVANTER_TEXT3,
localeInfo.BK_ENVANTER_TEXT4,
localeInfo.BK_ENVANTER_TEXT5,
localeInfo.BK_ENVANTER_TEXT6
]
for i in xrange(7):
self.tooltipInfo[i].SetFollow(True)
self.tooltipInfo[i].AlignHorizonalCenter()
if i == 0:
TITLE_COLOR = grp.GenerateColor(0.9490, 0.9058, 0.7568, 1.0)
self.tooltipInfo[i].AutoAppendTextLine(self.InformationText[i], TITLE_COLOR)
else:
self.tooltipInfo[i].AutoAppendTextLine(self.InformationText[i])
self.tooltipInfo[i].Hide()
self.tooltipInfo[i].toolTipWidth += 10
## Item
wndItem.SetSelectEmptySlotEvent(ui.__mem_func__(self.SelectEmptySlot))
wndItem.SetSelectItemSlotEvent(ui.__mem_func__(self.SelectItemSlot))
wndItem.SetUnselectItemSlotEvent(ui.__mem_func__(self.UseItemSlot))
wndItem.SetUseSlotEvent(ui.__mem_func__(self.UseItemSlot))
wndItem.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
wndItem.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
self.envanterileacilsin = ui.CheckBox()
self.envanterileacilsin.SetParent(self)
self.envanterileacilsin.SetPosition(17, 385)
self.envanterileacilsin.SetEvent(ui.__mem_func__(self.__OnClickEnableEnvanterOn), "ON_CHECK", True)
self.envanterileacilsin.SetEvent(ui.__mem_func__(self.__OnClickDisableEnvanterOf), "ON_UNCKECK", False)
self.envanterileacilsin.SetTextInfo(localeInfo.ENVANTER_ILE_AC)
self.envanterileacilsin.SetCheckStatus(constInfo.EnvanterAcilsinmi)
self.envanterileacilsin.Show()
self.SkillBookButton.SetEvent(lambda arg=0: self.SetInventoryType(arg))
self.UpgradeItemsButton.SetEvent(lambda arg=1: self.SetInventoryType(arg))
self.stoneButton.SetEvent(lambda arg=2: self.SetInventoryType(arg))
self.boxButton.SetEvent(lambda arg=3: self.SetInventoryType(arg))
self.efsunButton.SetEvent(lambda arg=4: self.SetInventoryType(arg))
self.cicekButton.SetEvent(lambda arg=5: self.SetInventoryType(arg))
self.SkillBookButton.Down()
self.inventoryTab[0].SetEvent(lambda arg=0: self.SetInventoryPage(arg))
self.inventoryTab[1].SetEvent(lambda arg=1: self.SetInventoryPage(arg))
self.inventoryTab[2].SetEvent(lambda arg=2: self.SetInventoryPage(arg))
self.inventoryTab[0].Down()
## PickMoneyDialog
dlgPickMoney = uiPickMoney.PickMoneyDialog()
dlgPickMoney.LoadDialog()
dlgPickMoney.Hide()
## PickItemDialog
dlgPickItem = uiPickEtc.PickEtcDialog()
dlgPickItem.LoadDialog()
dlgPickItem.Hide()
self.dlgPickMoney = dlgPickMoney
self.wndItem = wndItem
self.SetInventoryType(0)
self.SetInventoryPage(0)
self.dlgPickItem = dlgPickItem
self.wndCostume = None
def Destroy(self):
self.ClearDictionary()
self.dlgPickMoney.Destroy()
self.dlgPickItem.Destroy()
self.dlgPickItem = 0
self.dlgPickMoney = 0
self.tooltipItem = None
self.wndItem = 0
self.interface = None
self.inventoryTab = []
self.envanterileacilsin = []
def __OnClickEnableEnvanterOn(self):
constInfo.EnvanterAcilsinmi = 1
chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Envanter ile açılma aktif.")
def __OnClickDisableEnvanterOf(self):
constInfo.EnvanterAcilsinmi = 0
chat.AppendChat(chat.CHAT_TYPE_INFO, "<Sistem> Envanter ile açılma pasif.")
def Hide(self):
if None != self.tooltipItem:
self.tooltipItem.HideToolTip()
self.tlInfo.Hide()
if self.dlgPickItem:
self.dlgPickItem.Close()
wndMgr.Hide(self.hWnd)
def Close(self):
if self.tooltipItem:
self.tooltipItem.HideToolTip()
self.tlInfo.Hide()
self.Hide()
def OnUpdate(self):
for i in xrange(7):
if self.MalzemeDeposuInfo.IsIn():
self.tooltipInfo[i].Show()
else:
self.tooltipInfo[i].Hide()
def SetInventoryType(self, type):
self.inventoryType = type
if type == 0:
self.SkillBookButton.Down()
self.efsunButton.SetUp()
self.cicekButton.SetUp()
self.UpgradeItemsButton.SetUp()
self.stoneButton.SetUp()
self.boxButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_SKILL_BOOK_TOOLTIP)
elif type == 2:
self.stoneButton.Down()
self.efsunButton.SetUp()
self.cicekButton.SetUp()
self.UpgradeItemsButton.SetUp()
self.SkillBookButton.SetUp()
self.boxButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_STONE_TOOLTIP)
elif type == 3:
self.boxButton.Down()
self.efsunButton.SetUp()
self.UpgradeItemsButton.SetUp()
self.cicekButton.SetUp()
self.stoneButton.SetUp()
self.SkillBookButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_BOX_TOOLTIP)
elif type == 4:
self.efsunButton.Down()
self.boxButton.SetUp()
self.cicekButton.SetUp()
self.UpgradeItemsButton.SetUp()
self.stoneButton.SetUp()
self.SkillBookButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_EFSUN_TOOLTIP)
elif type == 5:
self.cicekButton.Down()
self.efsunButton.SetUp()
self.boxButton.SetUp()
self.UpgradeItemsButton.SetUp()
self.stoneButton.SetUp()
self.SkillBookButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_CICEK_TOOLTIP)
else:
self.UpgradeItemsButton.Down()
self.SkillBookButton.SetUp()
self.efsunButton.SetUp()
self.cicekButton.SetUp()
self.stoneButton.SetUp()
self.boxButton.SetUp()
self.titleName.SetText(localeInfo.INVENTORY_UPGRADE_ITEM_TOOLTIP)
self.RefreshBagSlotWindow()
def SetInventoryPage(self, page):
self.inventoryPageIndex = page
for i in range(0,len(self.inventoryTab)):
self.inventoryTab[i].SetUp()
self.inventoryTab[page].Down()
self.RefreshBagSlotWindow()
def OnPickItem(self, count):
itemSlotIndex = self.dlgPickItem.itemGlobalSlotIndex
selectedItemVNum = player.GetItemIndex(itemSlotIndex)
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_SKILL_BOOK_INVENTORY, itemSlotIndex, selectedItemVNum, count)
def __InventoryLocalSlotPosToGlobalSlotPos(self, local):
if self.inventoryType == 0:
return self.inventoryPageIndex*player.SKILL_BOOK_INVENTORY_SLOT_COUNT + local + item.SKILL_BOOK_INVENTORY_SLOT_START
elif self.inventoryType == 2:
return self.inventoryPageIndex*player.STONE_INVENTORY_SLOT_COUNT + local + item.STONE_INVENTORY_SLOT_START
elif self.inventoryType == 3:
return self.inventoryPageIndex*player.BOX_INVENTORY_SLOT_COUNT + local + item.BOX_INVENTORY_SLOT_START
elif self.inventoryType == 4:
return self.inventoryPageIndex*player.EFSUN_INVENTORY_SLOT_COUNT + local + item.EFSUN_INVENTORY_SLOT_START
elif self.inventoryType == 5:
return self.inventoryPageIndex*player.CICEK_INVENTORY_SLOT_COUNT + local + item.CICEK_INVENTORY_SLOT_START
else:
return self.inventoryPageIndex*player.UPGRADE_ITEMS_INVENTORY_SLOT_COUNT + local + item.UPGRADE_ITEMS_INVENTORY_SLOT_START
def GetInventoryPageIndex(self):
return self.inventoryPageIndex
def RefreshBagSlotWindow(self):
getItemVNum=player.GetItemIndex
getItemCount=player.GetItemCount
setItemVNum=self.wndItem.SetItemSlot
if self.inventoryType == 0:
for i in xrange(player.SKILL_BOOK_INVENTORY_SLOT_COUNT):
slotNumber = item.SKILL_BOOK_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
elif self.inventoryType == 2:
for i in xrange(player.STONE_INVENTORY_SLOT_COUNT):
slotNumber = item.STONE_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
elif self.inventoryType == 3:
for i in xrange(player.BOX_INVENTORY_SLOT_COUNT):
slotNumber = item.BOX_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
elif self.inventoryType == 4:
for i in xrange(player.EFSUN_INVENTORY_SLOT_COUNT):
slotNumber = item.EFSUN_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
elif self.inventoryType == 5:
for i in xrange(player.CICEK_INVENTORY_SLOT_COUNT):
slotNumber = item.CICEK_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
else:
for i in xrange(player.UPGRADE_ITEMS_INVENTORY_SLOT_COUNT):
slotNumber = item.UPGRADE_ITEMS_INVENTORY_SLOT_START + i
if self.GetInventoryPageIndex() == 1:
slotNumber += 45
elif self.GetInventoryPageIndex() == 2:
slotNumber += 90
itemCount = getItemCount(slotNumber)
if 0 == itemCount:
self.wndItem.ClearSlot(i)
continue
elif 1 == itemCount:
itemCount = 0
itemVnum = getItemVNum(slotNumber)
setItemVNum(i, itemVnum, itemCount)
self.wndItem.RefreshSlot()
def RefreshItemSlot(self):
self.RefreshBagSlotWindow()
def RefreshStatus(self):
pass
def SetItemToolTip(self, tooltipItem):
self.tooltipItem = tooltipItem
def SelectEmptySlot(self, selectedSlotPos):
if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
return
if self.inventoryType == 0:
selectedSlotPos += item.SKILL_BOOK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
elif self.inventoryType == 2:
selectedSlotPos += item.STONE_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
elif self.inventoryType == 3:
selectedSlotPos += item.BOX_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
elif self.inventoryType == 4:
selectedSlotPos += item.EFSUN_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
elif self.inventoryType == 5:
selectedSlotPos += item.CICEK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
else:
selectedSlotPos += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
selectedSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
selectedSlotPos += 90
if mouseModule.mouseController.isAttached():
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
attachedItemIndex = mouseModule.mouseController.GetAttachedItemIndex()
if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
itemCount = player.GetItemCount(attachedSlotPos)
attachedCount = mouseModule.mouseController.GetAttachedItemCount()
self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
if item.IsRefineScroll(attachedItemIndex):
self.wndItem.SetUseMode(False)
elif player.SLOT_TYPE_PRIVATE_SHOP == attachedSlotType:
mouseModule.mouseController.RunCallBack("INVENTORY")
elif player.SLOT_TYPE_SHOP == attachedSlotType:
net.SendShopBuyPacket(attachedSlotPos)
elif player.SLOT_TYPE_SAFEBOX == attachedSlotType:
if player.ITEM_MONEY == attachedItemIndex:
net.SendSafeboxWithdrawMoneyPacket(mouseModule.mouseController.GetAttachedItemCount())
snd.PlaySound("sound/ui/money.wav")
else:
net.SendSafeboxCheckoutPacket(attachedSlotPos, selectedSlotPos)
elif player.SLOT_TYPE_MALL == attachedSlotType:
net.SendMallCheckoutPacket(attachedSlotPos, selectedSlotPos)
mouseModule.mouseController.DeattachObject()
def SelectItemSlot(self, itemSlotIndex):
if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS() == 1:
return
if self.inventoryType == 0:
itemSlotIndex += item.SKILL_BOOK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
elif self.inventoryType == 2:
itemSlotIndex += item.STONE_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
elif self.inventoryType == 3:
itemSlotIndex += item.BOX_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
elif self.inventoryType == 4:
itemSlotIndex += item.EFSUN_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
elif self.inventoryType == 5:
itemSlotIndex += item.CICEK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
else:
itemSlotIndex += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
itemSlotIndex += 45
elif self.GetInventoryPageIndex() == 2:
itemSlotIndex += 90
if mouseModule.mouseController.isAttached():
attachedSlotType = mouseModule.mouseController.GetAttachedType()
attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
attachedItemVID = mouseModule.mouseController.GetAttachedItemIndex()
attachedItemCount = mouseModule.mouseController.GetAttachedItemCount()
if player.GetItemCount(itemSlotIndex) > attachedItemCount:
return
if player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
self.__SendMoveItemPacket(attachedSlotPos, itemSlotIndex, attachedItemCount)
mouseModule.mouseController.DeattachObject()
else:
curCursorNum = app.GetCursor()
#if app.SELL == curCursorNum:
#self.__SellItem(itemSlotIndex)
if app.BUY == curCursorNum:
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.SHOP_BUY_INFO)
elif app.IsPressed(app.DIK_LALT):
link = player.GetItemLink(itemSlotIndex)
ime.PasteString(link)
elif app.IsPressed(app.DIK_LALT):
link = player.GetItemLink(itemSlotIndex)
ime.PasteString(link)
elif app.IsPressed(app.DIK_LSHIFT):
itemCount = player.GetItemCount(itemSlotIndex)
if itemCount > 1:
self.dlgPickItem.SetTitleName(localeInfo.PICK_ITEM_TITLE)
self.dlgPickItem.SetAcceptEvent(ui.__mem_func__(self.OnPickItem))
self.dlgPickItem.Open(itemCount)
self.dlgPickItem.itemGlobalSlotIndex = itemSlotIndex
elif app.IsPressed(app.DIK_LCONTROL):
itemIndex = player.GetItemIndex(itemSlotIndex)
if TRUE == item.CanAddToQuickSlotItem(itemIndex):
player.RequestAddToEmptyLocalQuickSlot(player.SLOT_TYPE_INVENTORY, itemSlotIndex)
else:
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.QUICKSLOT_REGISTER_DISABLE_ITEM)
else:
selectedItemVNum = player.GetItemIndex(itemSlotIndex)
itemCount = player.GetItemCount(itemSlotIndex)
if self.inventoryType == 0:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_SKILL_BOOK_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
elif self.inventoryType == 2:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_STONE_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
elif self.inventoryType == 3:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_BOX_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
elif self.inventoryType == 4:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_EFSUN_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
elif self.inventoryType == 5:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_CICEK_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
else:
mouseModule.mouseController.AttachObject(self, player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY, itemSlotIndex, selectedItemVNum, itemCount)
self.wndItem.SetUseMode(True)
snd.PlaySound("sound/ui/pick.wav")
def OnCloseQuestionDialog(self):
if not self.questionDialog:
return
self.questionDialog.Close()
self.questionDialog = None
constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)
def Sat(self):
if self.sellingSlotitemIndex == player.GetItemIndex(self.sellingSlotNumber):
if self.sellingSlotitemCount == player.GetItemCount(self.sellingSlotNumber):
net.SendShopSellPacketNew(self.sellingSlotNumber, self.questionDialog.count, player.INVENTORY)
snd.PlaySound("sound/ui/money.wav")
self.OnCloseQuestionDialog()
def __OnClosePopupDialog(self):
self.pop = None
def OverOutItem(self):
self.wndItem.SetUsableItem(False)
if None != self.tooltipItem:
self.tooltipItem.HideToolTip()
def OverInItem(self, overSlotPos):
if self.inventoryType == 0:
overSlotPos += item.SKILL_BOOK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
elif self.inventoryType == 2:
overSlotPos += item.STONE_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
elif self.inventoryType == 3:
overSlotPos += item.BOX_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
elif self.inventoryType == 4:
overSlotPos += item.EFSUN_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
elif self.inventoryType == 5:
overSlotPos += item.CICEK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
else:
overSlotPos += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
overSlotPos += 45
elif self.GetInventoryPageIndex() == 2:
overSlotPos += 90
self.wndItem.SetUsableItem(False)
self.ShowToolTip(overSlotPos)
def ShowToolTip(self, slotIndex):
if None != self.tooltipItem:
self.tooltipItem.SetInventoryItem(slotIndex)
def OnPressEscapeKey(self):
self.Close()
return True
def UseItemSlot(self, slotIndex):
if constInfo.GET_ITEM_QUESTION_DIALOG_STATUS():
return
if self.inventoryType == 0:
slotIndex += item.SKILL_BOOK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
elif self.inventoryType == 2:
slotIndex += item.STONE_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
elif self.inventoryType == 3:
slotIndex += item.BOX_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
elif self.inventoryType == 4:
slotIndex += item.EFSUN_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
elif self.inventoryType == 5:
slotIndex += item.CICEK_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
else:
slotIndex += item.UPGRADE_ITEMS_INVENTORY_SLOT_START
if self.GetInventoryPageIndex() == 1:
slotIndex += 45
elif self.GetInventoryPageIndex() == 2:
slotIndex += 90
self.__UseItem(slotIndex)
mouseModule.mouseController.DeattachObject()
self.OverOutItem()
def __UseItem(self, slotIndex):
ItemVNum = player.GetItemIndex(slotIndex)
item.SelectItem(ItemVNum)
if item.IsFlag(item.ITEM_FLAG_CONFIRM_WHEN_USE):
self.questionDialog = uiCommon.QuestionDialog()
self.questionDialog.SetText(localeInfo.INVENTORY_REALLY_USE_ITEM)
self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnAccept))
self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__UseItemQuestionDialog_OnCancel))
self.questionDialog.Open()
self.questionDialog.slotIndex = slotIndex
constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(1)
elif app.IsPressed(app.DIK_LSHIFT):
if player.GetItemTypeBySlot(slotIndex) == item.ITEM_TYPE_GIFTBOX and\
ItemVNum != 31374 and ItemVNum != 50255 and\
ItemVNum != 50187 and ItemVNum != 50197 and\
ItemVNum != 50188 and ItemVNum != 50189 and\
ItemVNum != 50190 and ItemVNum != 50191 and\
ItemVNum != 50192 and ItemVNum != 50193 and\
ItemVNum != 50194 and ItemVNum != 50195:
if app.ENABLE_SHOW_CHEST_DROP:
if self.interface:
if self.interface.dlgChestDrop:
if not self.interface.dlgChestDrop.IsShow():
self.interface.dlgChestDrop.Open(slotIndex)
net.SendChestDropInfo(slotIndex)
else:
self.__SendUseItemPacket(slotIndex)
def __UseItemQuestionDialog_OnCancel(self):
self.OnCloseQuestionDialog()
def __UseItemQuestionDialog_OnAccept(self):
self.__SendUseItemPacket(self.questionDialog.slotIndex)
self.OnCloseQuestionDialog()
def __SendUseItemPacket(self, slotPos):
if uiPrivateShopBuilder.IsBuildingPrivateShop():
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.USE_ITEM_FAILURE_PRIVATE_SHOP)
return
net.SendItemUsePacket(slotPos)
def __SendMoveItemPacket(self, srcSlotPos, dstSlotPos, srcItemCount):
if uiPrivateShopBuilder.IsBuildingPrivateShop():
chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.MOVE_ITEM_FAILURE_PRIVATE_SHOP)
return
net.SendItemMovePacket(srcSlotPos, dstSlotPos, srcItemCount)
# Arat def SelectEmptySlot(self, selectedSlotPos): İçinde
if player.SLOT_TYPE_INVENTORY == attachedSlotType:
# Değiş
if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_DRAGON_SOUL_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
itemCount = player.GetItemCount(attachedSlotPos)
attachedCount = mouseModule.mouseController.GetAttachedItemCount()
self.__SendMoveItemPacket(attachedSlotPos, selectedSlotPos, attachedCount)
# Ara def SelectItemSlot(self, itemSlotIndex): İçinde
if player.SLOT_TYPE_INVENTORY == attachedSlotType:
#Değiş
if player.SLOT_TYPE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_SKILL_BOOK_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_UPGRADE_ITEMS_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_STONE_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_BOX_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_EFSUN_INVENTORY == attachedSlotType or\
player.SLOT_TYPE_CICEK_INVENTORY == attachedSlotType:
# Ara def OverInItem(self, overSlotPos): İçinde
if player.SLOT_TYPE_INVENTORY == attachedItemType:
#Değiş
if player.SLOT_TYPE_INVENTORY == attachedItemType or player.SLOT_TYPE_STONE_INVENTORY == attachedItemType or player.SLOT_TYPE_EFSUN_INVENTORY == attachedItemType:
# Ara
if srcSlotPos == dstSlotPos:
return False
#Değiş
if srcSlotPos == dstSlotPos and not item.IsMetin(srcItemVNum):
return False
#Arat
elif self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPos):
self.wndItem.SetUsableItem(True)
# Altına Ekle
self.wndItem.SetUseMode(True)
Game.py :
Linkleri görebilmek için
giriş yap veya kayıt ol.
interfacemodule.py :
uiinventory.py :
Linkleri görebilmek için
giriş yap veya kayıt ol.
uiinventory.py :
Linkleri görebilmek için
giriş yap veya kayıt ol.