noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Bvural41 1
Bvural41
Hikaye Ekle

[Python] Depo<=>Envanter

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!




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

interfacemodule.py

[CODE lang="python" title="Arat"]def GetInventoryPageIndex(self):[/CODE]


[CODE lang="python" title="ü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[/CODE]


uiinventory.py


[CODE lang="python" title="Arat"]def __UseItem(self, slotIndex):[/CODE]


[CODE lang="python" title="ü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[/CODE]

[CODE lang="python" title="Arat"] def __UseItem(self, slotIndex):
ItemVNum = player.GetItemIndex(slotIndex)
item.SelectItem(ItemVNum)[/CODE]

[CODE lang="python" title="Değiş"] def __UseItem(self, slotIndex):
if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):
return
ItemVNum = player.GetItemIndex(slotIndex)
item.SelectItem(ItemVNum)[/CODE]


uisafebox.py

İmportlarda item yoksa ekle

[CODE lang="python" title="Arat"]class SafeboxWindow(ui.ScriptWindow):[/CODE]


[CODE lang="python" title="tekrar arat"]def UseItemSlot(self, slotIndex):[/CODE]

[CODE lang="python" title="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))[/CODE]

İyi kullanımlar iyi forumlar..

Paylaşım için teşekkürler.
 



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

interfacemodule.py

[CODE lang="python" title="Arat"]def GetInventoryPageIndex(self):[/CODE]


[CODE lang="python" title="ü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[/CODE]


uiinventory.py


[CODE lang="python" title="Arat"]def __UseItem(self, slotIndex):[/CODE]


[CODE lang="python" title="ü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[/CODE]

[CODE lang="python" title="Arat"] def __UseItem(self, slotIndex):
ItemVNum = player.GetItemIndex(slotIndex)
item.SelectItem(ItemVNum)[/CODE]

[CODE lang="python" title="Değiş"] def __UseItem(self, slotIndex):
if self.interface and self.interface.AttachInvenItemToOtherWindowSlot(player.INVENTORY, slotIndex):
return
ItemVNum = player.GetItemIndex(slotIndex)
item.SelectItem(ItemVNum)[/CODE]


uisafebox.py

İmportlarda item yoksa ekle

[CODE lang="python" title="Arat"]class SafeboxWindow(ui.ScriptWindow):[/CODE]


[CODE lang="python" title="tekrar arat"]def UseItemSlot(self, slotIndex):[/CODE]

[CODE lang="python" title="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))[/CODE]

İyi kullanımlar iyi forumlar..

paylaşım için teşekkürler oldukça yararlı bir paylaşım
 
Teşekkürler.
Eline sağlık
Paylaşım için teşekkürler.
Teşekkürler güzel duruyor.
Paylaşım için teşekkürler.
Paylaşım için teşekkürler.
paylaşım için teşekkürler oldukça yararlı bir paylaşım

Rica ederim. iyi kullanımlar

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 ::

Özelden uisafebox dosyanı ilet.
 

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

Geri
Üst