Hikayeler

Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

@A99 Herkesin Aradığı Çoklu İtem Silme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

merhaba arkadaşlar. Bu sistemi ekledim ama bir kaç bug buldum.
İtemi koydunuz zaman geri alamıyorsunuz. Camı kapatsanızda mesela başka bir cam açıyorsunuz o item sanki hayla içerdeymiş gibi oluyor gözükmezsede ve o itemi gene koyamıyoruz.
İtemleri sil bastınızda o itemde siliniyor camda gözükmezsede.
Buna bir çözüm var mı ?
 
Son düzenleme:
Birkaç bugu var ama yinede teşekkürler
 
merhaba arkadaşlar. Bu sistemi ekledim ama bir kaç bug buldum.
İtemi koydunuz zaman geri alamıyorsunuz. Camı kapatsanızda mesela başka bir cam açıyorsunuz o item sanki hayla içerdeymiş gibi oluyor gözükmezsede ve o itemi gene koyamıyoruz.
İtemleri sil bastınızda o itemde siliniyor camda gözükmezsede.
Buna bir çözüm var mı ?

Kod:
import ui
import mouseModule
import player
import uiToolTip
import wndMgr
import item
import net
import constInfo
import game
import uiinventory
import gameinfo
import uiCommon
import gameinfo
import game
import uiinventory
class CubodeBasuraxaxa(ui.BoardWithTitleBar):
    information = []
    def __init__(self):
        ui.BoardWithTitleBar.__init__(self)
        self.LoadBuildshop()

    def __del__(self):
        ui.BoardWithTitleBar.__del__(self)

    def LoadBuildshop(self):
        self.SetTitleName("Çoklu İtem Sil")
        self.SetSize(410,330)
        self.SetCenterPosition()
        self.AddFlag("movable")
        self.Show()
        self.Table()
        self.eliminar = ui.Button()
        self.eliminar.SetParent(self)
        self.eliminar.SetPosition(165, 300)
        self.eliminar.SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
        self.eliminar.SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
        self.eliminar.SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
        self.eliminar.SetEvent(self.RequestHatching)
        self.eliminar.SetText("İtemleri Sil")
        self.eliminar.Show()

    def RequestHatching(self):
        questionDialog = uiCommon.QuestionDialog()
        questionDialog.SetText("Bu eşyaları silmek istiyor musun?")
        questionDialog.SetAcceptEvent(ui.__mem_func__(self.EliminarObjetosSeleccionados))
        questionDialog.SetCancelEvent(ui.__mem_func__(self.hayirr))
        questionDialog.Open()
        self.questionDialog = questionDialog

    def hayirr(self):
        self.questionDialog.Close()

    def EliminarObjetosSeleccionados(self):

        index = 0
        for i in self.information:
            net.SendChatPacket("/eliminarobjetos " + str(self.information[index][3]))
            self.questionDialog.Close()
            index = index + 1

    def Table(self):
        self.ItemSlot = ui.GridSlotWindow()
        self.ItemSlot.SetParent(self)
        self.ItemSlot.SetPosition(13, 37)
        self.ItemSlot.ArrangeSlot(0, 12, 8, 32, 32, 0, 0)
        self.ItemSlot.RefreshSlot()
        self.ItemSlot.SetSlotBaseImage("d:/ymir work/ui/public/Slot_Base.sub", 1.0, 1.0, 1.0, 1.0)
        self.ItemSlot.SetSelectEmptySlotEvent(ui.__mem_func__(self.__OnSelectEmptySlot))
        self.ItemSlot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE)
        self.ItemSlot.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
        self.ItemSlot.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
        self.ItemSlot.Show()
        self.tooltipItem = uiToolTip.ItemToolTip()
        self.tooltipItem.Hide()
        self.Debugenable = 1

    def OverInItem(self, slot):
        self.tooltipItem.ClearToolTip()
        index = 0
        for i in self.information:
            if self.information[index][0] == slot:
                self.tooltipItem.SetInventoryItem(self.information[index][3])
                self.tooltipItem.AppendTextLine("Bu nesne silinmeye hazırdır.", 0xff26EB7F)
                if self.Debugenable == 1:
                    self.tooltipItem.AppendTextLine("Bulunduğu Slot: "+str(self.information[index][3]),0xff26EB1f)
                break
            index += 1

    def OverOutItem(self):
        if self.tooltipItem:
            self.tooltipItem.HideToolTip()
            
    def OnPressEscapeKey(self):
        self.Hide()
        return True

    def __OnSelectEmptySlot(self, selectedSlotPos):
        if mouseModule.mouseController.isAttached() and mouseModule.mouseController.GetAttachedItemIndex():
            attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
            itemIndex = player.GetItemIndex(attachedSlotPos)
            itemCount = player.GetItemCount(attachedSlotPos)
            mouseModule.mouseController.DeattachObject()
            if player.IsEquipmentSlot(attachedSlotPos):
                return
            index = 0
            for i in self.information:
                if self.information[index][1] == itemIndex and self.information[index][3] == attachedSlotPos:
                    return
                index = index + 1
            self.SetBuildItem(selectedSlotPos, itemIndex, itemCount, attachedSlotPos)
            self.information.append([selectedSlotPos, itemIndex, itemCount, attachedSlotPos])

    def SetBuildItem(self, selectedSlotPos, itemIndex, itemCount, attachedSlotPos):
        self.ItemSlot.SetItemSlot(selectedSlotPos, itemIndex,itemCount)

    def OnUpdate(self):
        self.ItemSlot.RefreshSlot()
        index = 0
        for i in self.information:
            itemIndex = player.GetItemIndex(self.information[index][3])
            if itemIndex == 0:
                self.ItemSlot.SetItemSlot(self.information[index][0], 0, 0)
                del self.information[index]
            index = index +1
 
Dostum tekrar soruyorum bu pencereyi açılır kapanır yapmak istiyorum ufak bir örnek gösterebilir misin bana yapabileyim.
 
İtemi sağ tık ile eklediğimde itemi sildiğimde sorun vermiyor ama itemi rasgele mause ile götürüp sildiğimde sysser alıyorum.

Aldığım sysser bu ;

0924 01:12:27118 :: Traceback (most recent call last):

0924 01:12:27118 :: File "ui.py", line 1964, in OnOverInItem

0924 01:12:27118 :: File "ui.py", line 87, in __call__

0924 01:12:27118 :: File "ui.py", line 78, in __call__

0924 01:12:27118 :: File "uikygnitemsil.py", line 59, in __OnOverInItem

0924 01:12:27119 :: IndexError
0924 01:12:27119 :: :
0924 01:12:27119 :: list index out of range
0924 01:12:27119 ::

Çözümü nedir
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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

Geri
Üst