Jump to content
For maintenance and updates, the community will be offline on 31 December 2022 ×
  • 0

Dragon Soul Drop Item Bug


Karbust

Question

  • Answers 4
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

4 answers to this question

Recommended Posts

  • 0
  • Web Developer
24 minutes ago, PetePeter said:

It's a common bug, it's not only happen with Dragon Soul but with any item you will try to drop. The ESC key close the window but don't close the "screen lock" feature.

Try to edit like that :

 

# game.py
# Search def OnKeyDown(self, key):

	def OnKeyDown(self, key):
		if self.interface.wndWeb and self.interface.wndWeb.IsShow():
			return

		constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)

# Replace by


	def OnKeyDown(self, key):
		if self.interface.wndWeb and self.interface.wndWeb.IsShow():
			return

		if key == app.DIK_ESC:
			self.RequestDropItem(False)
			constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)

 

I already have it like this:
 

	def OnKeyDown(self, key):
		if self.interface.wndWeb and self.interface.wndWeb.IsShow():
			return

		if key == app.DIK_ESC:
			self.RequestDropItem(FALSE)
			constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)

		try:
			self.onPressKeyDict[key]()
		except KeyError:
			pass
		except:
			raise

		return TRUE

It happens with ESC and clicking Cancel...

 

EDIT:

Solved. Thanks @PACI

On game.py, on RequestDropItem function, at the end was SET_ITEM_DROP_QUESTION_DIALOG_STATUS, but on uidragonsoul.py it was checking for GET_ITEM_QUESTION_DIALOG_STATUS...

🤬

Edited by Karbust

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • 0
  • Web Developer
13 minutes ago, PetePeter said:

It's happen when you using Escape to close the drop window ?

Yes

I added dbg on the RequestDropItem function

    def RequestDropItem(self, answer):
        dbg.LogBox("Got here")
        if not self.itemDropQuestionDialog:
            dbg.LogBox("Got here 2")
            return

        if answer:
            dropType = self.itemDropQuestionDialog.dropType
            dropCount = self.itemDropQuestionDialog.dropCount
            dropNumber = self.itemDropQuestionDialog.dropNumber

            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_GIFT_BOX_INVENTORY == dropType or\
                player.SLOT_TYPE_CHANGERS_INVENTORY == dropType and app.ENABLE_SPECIAL_INVENTORY_SYSTEM):

                if dropNumber == player.ITEM_MONEY:
                    net.SendGoldDropPacketNew(dropCount)
                    snd.PlaySound("sound/ui/money.wav")
                else:
                    # PRIVATESHOP_DISABLE_ITEM_DROP
                    self.__SendDropItemPacket(dropNumber, dropCount)
                    # END_OF_PRIVATESHOP_DISABLE_ITEM_DROP
            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

        self.itemDropQuestionDialog.Close()
        self.itemDropQuestionDialog = None
        
        dbg.LogBox("Got here 3")

        constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)

It's reaching "Got here" and "Got here 3"

Edited by Karbust

QJ0orbR.png

Metin2 Icon Database

Link to comment
Share on other sites

  • 0

It's a common bug, it's not only happen with Dragon Soul but with any item you will try to drop. The ESC key close the window but don't close the "screen lock" feature.

Try to edit like that :

 

# game.py
# Search def OnKeyDown(self, key):

	def OnKeyDown(self, key):
		if self.interface.wndWeb and self.interface.wndWeb.IsShow():
			return

		constInfo.SET_ITEM_DROP_QUESTION_DIALOG_STATUS(0)

# Replace by


	def OnKeyDown(self, key):
		if self.interface.wndWeb and self.interface.wndWeb.IsShow():
			return

		if key == app.DIK_ESC:
			self.RequestDropItem(False)
			constInfo.SET_ITEM_QUESTION_DIALOG_STATUS(0)

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Activity

    1. 992

      [40250] Reference Serverfile + Client + Src [15 Available Languages]

    2. 3

      Biologist Manager (C++ & LUA)

    3. 3

      Visual studio 2022 compiling issue

    4. 63

      Metin2 | Mount System Renewal

    5. 58

      Metin2 2004 Beta Client

    6. 0

      🔥Paradise2 PVP SERVER GLOBAL!! EN-ES-PT 🕐📢Apertura 11 de diciembre 21 horas de España!

    7. 0

      Please help here ( Sush system problem )

  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.