C 1
chengdu
xranzei 1
xranzei
zendor2 1
zendor2
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Almira2 1
Almira2
romegames 1
romegames
D 1
delimuratt
melankolıa18 1
melankolıa18
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

[Python] Depo<=>Envanter

smartface

Hosting Yönetimi
TM Üye
Üye
Katılım
24 Nis 2016
Konular
15
Mesajlar
262
Çözüm
3
Online süresi
1d 2h
Reaksiyon Skoru
84
Altın Konu
0
TM Yaşı
10 Yıl 1 Ay 15 Gün
Başarım Puanı
107
MmoLira
868
DevLira
0
Ticaret - 100%
1   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!




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

Kodların paste hali:

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

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.
 
Moderatör tarafında düzenlendi:

En Çok Reaksiyon Alan Mesajlar




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

Teşekkürler
 
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 ::
 
Eline sağlık
 

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

Geri
Üst