• Serverınızın epinlerini tamamen Turkmmo güvencesiyle satın. Kredi kartı, mobil ödeme, havale/eft ve uygun komisyon oranıyla. Hemen mağaza başvurunuzu yapın. Oyunalisveris.com





Sitemize reklam vermek için [email protected] adresine mail atabilirsiniz
For Advertising Contact [email protected]


[Python] Depo<=>Envanter

smartface

Hosting Yönetimi
TM Üye
Üye
Katılım
24 Nis 2016
Konular
15
Mesajlar
233
Reaksiyon Skoru
65
Başarım Puanı
66
MmoLira
105
DevLira
3
En İyi Cevap Puanı
0
Ticaret - 100%
1   0   0


Depo açıkken sağ tık ile envanterde ki itemlerinizi depoya, depodaki itemleri sağ tık ile envanterinize alabilirsiniz.

interfacemodule.py

Arat:
def GetInventoryPageIndex(self):
üstüne ekle:
    def AttachItemFromSafebox(self, slotIndex, itemIndex):
        if self.wndInventory and self.wndInventory.IsShow():
            self.wndInventory.AttachItemFromSafebox(slotIndex, itemIndex)

        return True

    def AttachInvenItemToOtherWindowSlot(self, slotWindow, slotIndex):
        if self.wndSafebox and self.wndSafebox.IsShow():
            return self.wndSafebox.AttachItemFromInventory(slotWindow, slotIndex)

        return False

uiinventory.py


Arat:
def __UseItem(self, slotIndex):

üstüne ekle:
    def __GetCurrentItemGrid(self):
        itemGrid = [[False for slot in xrange(player.INVENTORY_PAGE_SIZE)] for page in xrange(player.INVENTORY_PAGE_COUNT)]

        for page in xrange(player.INVENTORY_PAGE_COUNT):
            for slot in xrange(player.INVENTORY_PAGE_SIZE):
                itemVnum = player.GetItemIndex(slot + page * player.INVENTORY_PAGE_SIZE)
                if itemVnum <> 0:
                    (w, h) = item.GetItemSize(item.SelectItem(itemVnum))
                    for i in xrange(h):
                        itemGrid[page][slot + i * 5] = True

        return itemGrid

    def __FindEmptyCellForSize(self, itemGrid, size):
        for page in xrange(player.INVENTORY_PAGE_COUNT):
            for slot in xrange(player.INVENTORY_PAGE_SIZE):
                if itemGrid[page][slot] == False:
                    possible = True
                    for i in xrange(size):
                        p = slot + (i * 5)

                        try:
                            if itemGrid[page][p] == True:
                                possible = False
                                break
                        except IndexError:
                            possible = False
                            break

                    if possible:
                        return slot + page * player.INVENTORY_PAGE_SIZE

        return -1

    def AttachItemFromSafebox(self, slotIndex, itemIndex):
        itemGrid = self.__GetCurrentItemGrid()

        if item.GetItemType(item.SelectItem(itemIndex)) == item.ITEM_TYPE_DS:
            return

        emptySlotIndex = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1])
        if emptySlotIndex <> -1:
            net.SendSafeboxCheckoutPacket(slotIndex, player.INVENTORY, emptySlotIndex)

        return True
Arat:
    def __UseItem(self, slotIndex):
        ItemVNum = player.GetItemIndex(slotIndex)
        item.SelectItem(ItemVNum)
Değiş:
    def __UseItem(self, slotIndex):
        if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):
            return
        ItemVNum = player.GetItemIndex(slotIndex)
        item.SelectItem(ItemVNum)

uisafebox.py

İmportlarda item yoksa ekle

Arat:
class SafeboxWindow(ui.ScriptWindow):
tekrar arat:
def UseItemSlot(self, slotIndex):
Değiş:
    def __GetCurrentItemGrid(self):
        itemGrid = [[False for cell in xrange(safebox.SAFEBOX_PAGE_SIZE)] for page in xrange(self.pagecount)]

        for page in xrange(self.pagecount):
            for slot in xrange(safebox.SAFEBOX_PAGE_SIZE):
                itemVnum = safebox.GetItemID(slot + page * safebox.SAFEBOX_PAGE_SIZE)
                if itemVnum <> 0:
                    item.SelectItem(itemVnum)
                    (w, h) = item.GetItemSize()
                    for i in xrange(h):
                        itemGrid[page][slot + i * safebox.SAFEBOX_SLOT_X_COUNT] = True

        return itemGrid

    def __FindEmptyCellForSize(self, itemGrid, size):
        for page in xrange(self.pagecount):
            for slot in xrange(safebox.SAFEBOX_PAGE_SIZE):
                if itemGrid[page][slot] == False:
                    possible = True
                    for i in xrange(size):
                        p = slot + safebox.SAFEBOX_SLOT_X_COUNT * i
                        try:
                            if itemGrid[page][p] == True:
                                possible = False
                                break
                        except IndexError:
                            possible = False
                            break

                    if possible:
                        return slot + page * safebox.SAFEBOX_PAGE_SIZE

        return -1

    def AttachItemFromInventory(self, slotWindow, slotIndex):
        attachedItemID = player.GetItemIndex(slotWindow, slotIndex)
        item.SelectItem(attachedItemID)
        if item.IsAntiFlag(item.ITEM_ANTIFLAG_SAFEBOX):
            return False

        itemGrid = self.__GetCurrentItemGrid()

        item.SelectItem(attachedItemID)
        emptySafeboxSlot = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1])
        if emptySafeboxSlot == -1 or item.GetItemType() == item.ITEM_TYPE_ELK:
            return False

        net.SendSafeboxCheckinPacket(slotWindow, slotIndex, emptySafeboxSlot)
        return True

    def UseItemSlot(self, slotIndex):
        if mouseModule.mouseController.isAttached():
            mouseModule.mouseController.DeattachObject()

        if self.interface:
            globalSlotIndex = self.__LocalPosToGlobalPos(slotIndex)
            self.interface.AttachItemFromSafebox(globalSlotIndex, safebox.GetItemID(globalSlotIndex))
İyi kullanımlar iyi forumlar..

not: eğer pagecount ile ilgili sysser alıyorsanız verdiğim kodlarda ki self.pagecount kısmını self.pageCount olarak değiştirin.
 
Son düzenleme:

XoliswA-

Sabrın Sonu Önceden Selametti Şimdi Felâket.
Telefon Numarası Onaylanmış Üye
TM Üye
Üye
Katılım
27 Ara 2018
Konular
2
Mesajlar
149
Reaksiyon Skoru
53
Başarım Puanı
51
MmoLira
148
DevLira
0
En İyi Cevap Puanı
0
Ticaret - 0%
0   0   0


Depo açıkken sağ tık ile envanterde ki itemlerinizi depoya, depodaki itemleri sağ tık ile envanterinize alabilirsiniz.

interfacemodule.py

Arat:
def GetInventoryPageIndex(self):
üstüne ekle:
    def AttachItemFromSafebox(self, slotIndex, itemIndex):
        if self.wndInventory and self.wndInventory.IsShow():
            self.wndInventory.AttachItemFromSafebox(slotIndex, itemIndex)

        return True

    def AttachInvenItemToOtherWindowSlot(self, slotWindow, slotIndex):
        if self.wndSafebox and self.wndSafebox.IsShow():
            return self.wndSafebox.AttachItemFromInventory(slotWindow, slotIndex)

        return False

uiinventory.py


Arat:
def __UseItem(self, slotIndex):

üstüne ekle:
    def __GetCurrentItemGrid(self):
        itemGrid = [[False for slot in xrange(player.INVENTORY_PAGE_SIZE)] for page in xrange(player.INVENTORY_PAGE_COUNT)]

        for page in xrange(player.INVENTORY_PAGE_COUNT):
            for slot in xrange(player.INVENTORY_PAGE_SIZE):
                itemVnum = player.GetItemIndex(slot + page * player.INVENTORY_PAGE_SIZE)
                if itemVnum <> 0:
                    (w, h) = item.GetItemSize(item.SelectItem(itemVnum))
                    for i in xrange(h):
                        itemGrid[page][slot + i * 5] = True

        return itemGrid

    def __FindEmptyCellForSize(self, itemGrid, size):
        for page in xrange(player.INVENTORY_PAGE_COUNT):
            for slot in xrange(player.INVENTORY_PAGE_SIZE):
                if itemGrid[page][slot] == False:
                    possible = True
                    for i in xrange(size):
                        p = slot + (i * 5)

                        try:
                            if itemGrid[page][p] == True:
                                possible = False
                                break
                        except IndexError:
                            possible = False
                            break

                    if possible:
                        return slot + page * player.INVENTORY_PAGE_SIZE

        return -1

    def AttachItemFromSafebox(self, slotIndex, itemIndex):
        itemGrid = self.__GetCurrentItemGrid()

        if item.GetItemType(item.SelectItem(itemIndex)) == item.ITEM_TYPE_DS:
            return

        emptySlotIndex = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1])
        if emptySlotIndex <> -1:
            net.SendSafeboxCheckoutPacket(slotIndex, player.INVENTORY, emptySlotIndex)

        return True
Arat:
    def __UseItem(self, slotIndex):
        ItemVNum = player.GetItemIndex(slotIndex)
        item.SelectItem(ItemVNum)
Değiş:
    def __UseItem(self, slotIndex):
        if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):
            return
        ItemVNum = player.GetItemIndex(slotIndex)
        item.SelectItem(ItemVNum)

uisafebox.py

İmportlarda item yoksa ekle

Arat:
class SafeboxWindow(ui.ScriptWindow):
tekrar arat:
def UseItemSlot(self, slotIndex):
Değiş:
    def __GetCurrentItemGrid(self):
        itemGrid = [[False for cell in xrange(safebox.SAFEBOX_PAGE_SIZE)] for page in xrange(self.pagecount)]

        for page in xrange(self.pagecount):
            for slot in xrange(safebox.SAFEBOX_PAGE_SIZE):
                itemVnum = safebox.GetItemID(slot + page * safebox.SAFEBOX_PAGE_SIZE)
                if itemVnum <> 0:
                    item.SelectItem(itemVnum)
                    (w, h) = item.GetItemSize()
                    for i in xrange(h):
                        itemGrid[page][slot + i * safebox.SAFEBOX_SLOT_X_COUNT] = True

        return itemGrid

    def __FindEmptyCellForSize(self, itemGrid, size):
        for page in xrange(self.pagecount):
            for slot in xrange(safebox.SAFEBOX_PAGE_SIZE):
                if itemGrid[page][slot] == False:
                    possible = True
                    for i in xrange(size):
                        p = slot + safebox.SAFEBOX_SLOT_X_COUNT * i
                        try:
                            if itemGrid[page][p] == True:
                                possible = False
                                break
                        except IndexError:
                            possible = False
                            break

                    if possible:
                        return slot + page * safebox.SAFEBOX_PAGE_SIZE

        return -1

    def AttachItemFromInventory(self, slotWindow, slotIndex):
        attachedItemID = player.GetItemIndex(slotWindow, slotIndex)
        item.SelectItem(attachedItemID)
        if item.IsAntiFlag(item.ITEM_ANTIFLAG_SAFEBOX):
            return False

        itemGrid = self.__GetCurrentItemGrid()

        item.SelectItem(attachedItemID)
        emptySafeboxSlot = self.__FindEmptyCellForSize(itemGrid, item.GetItemSize()[1])
        if emptySafeboxSlot == -1 or item.GetItemType() == item.ITEM_TYPE_ELK:
            return False

        net.SendSafeboxCheckinPacket(slotWindow, slotIndex, emptySafeboxSlot)
        return True

    def UseItemSlot(self, slotIndex):
        if mouseModule.mouseController.isAttached():
            mouseModule.mouseController.DeattachObject()

        if self.interface:
            globalSlotIndex = self.__LocalPosToGlobalPos(slotIndex)
            self.interface.AttachItemFromSafebox(globalSlotIndex, safebox.GetItemID(globalSlotIndex))
İyi kullanımlar iyi forumlar..
Teşekkürler
 

LaTahzen

İnnallahe Meana
Telefon Numarası Onaylanmış Üye
Site Yetkilisi
Yönetici
Developer
Katılım
12 Tem 2017
Konular
1,568
Mesajlar
7,054
Reaksiyon Skoru
2,372
Başarım Puanı
300
MmoLira
681
DevLira
230
En İyi Cevap Puanı
41
Ticaret - 0%
0   0   0

ZalimTR

Level 3
TM Üye
Üye
Katılım
15 May 2018
Konular
21
Mesajlar
210
Reaksiyon Skoru
13
Başarım Puanı
54
Yaş
21
MmoLira
170
DevLira
0
En İyi Cevap Puanı
0
Ticaret - 0%
0   0   0
item envanterde depoya sağ tıkla alınca böyle sysrr yardımcı olurmusunuz


0416 08:01:36348 :: Traceback (most recent call last):

0416 08:01:36348 :: File "ui.py", line 2030, in OnUnselectItemSlot

0416 08:01:36348 :: File "ui.py", line 90, in __call__

0416 08:01:36348 :: File "ui.py", line 81, in __call__

0416 08:01:36348 :: File "uiInventory.py", line 2402, in UseItemSlot

0416 08:01:36348 :: File "uiInventory.py", line 2453, in __UseItem

0416 08:01:36348 :: File "interfaceModule.py", line 2557, in AttachInvenItemToOtherWindowSlot

0416 08:01:36348 :: File "uiSafebox.py", line 751, in AttachItemFromInventory

0416 08:01:36348 :: File "uiSafebox.py", line 712, in __GetCurrentItemGrid

0416 08:01:36348 :: AttributeError
0416 08:01:36348 :: :
0416 08:01:36348 :: 'SafeboxWindow' object has no attribute 'pagecount'
0416 08:01:36349 ::

0416 08:01:36794 :: Traceback (most recent call last):

0416 08:01:36794 :: File "ui.py", line 2030, in OnUnselectItemSlot

0416 08:01:36794 :: File "ui.py", line 90, in __call__

0416 08:01:36794 :: File "ui.py", line 81, in __call__

0416 08:01:36794 :: File "uiInventory.py", line 2402, in UseItemSlot

0416 08:01:36794 :: File "uiInventory.py", line 2453, in __UseItem

0416 08:01:36795 :: File "interfaceModule.py", line 2557, in AttachInvenItemToOtherWindowSlot

0416 08:01:36795 :: File "uiSafebox.py", line 751, in AttachItemFromInventory

0416 08:01:36795 :: File "uiSafebox.py", line 712, in __GetCurrentItemGrid

0416 08:01:36795 :: AttributeError
0416 08:01:36795 :: :
0416 08:01:36795 :: 'SafeboxWindow' object has no attribute 'pagecount'
0416 08:01:36795 ::
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Üst