Jump to content

Slotactive Effect Problem


Recommended Posts

Hey everyone ?

I have a little problem and first im sorry about my english but i hope
u will understand what im talking about so my problem is if i activate my pet
and look on page 2-3 or 4 of my inventar my sash or other item i put in the first slot it has a "slotactive" effekt with no reason
here to show what i mean..

 

f02de64bb66da7b99afb619222a60080.gif

 

here u can see my pet is active.. and if i put my sash on the first slot it has the active effect to with no reason.. that happens not only with sash
it happens with evry item that i put on slot 1

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

Kontrollier mal den part in deiner uiinventory.py

Check the part in yours uiinventory.py

	def OverInItem(self, overSlotPos):
		overSlotPosGlobal = self.__InventoryLocalSlotPosToGlobalSlotPos(overSlotPos)
		self.wndItem.SetUsableItem(FALSE)
		
		if overSlotPosGlobal in self.liHighlightedItems:
			self.liHighlightedItems.remove(overSlotPosGlobal)
			self.wndItem.DeactivateSlot(overSlotPos)
		
		if mouseModule.mouseController.isAttached():
			attachedItemType = mouseModule.mouseController.GetAttachedType()
			if player.SLOT_TYPE_INVENTORY == attachedItemType:
				
				attachedSlotPos = mouseModule.mouseController.GetAttachedSlotNumber()
				attachedItemVNum = mouseModule.mouseController.GetAttachedItemIndex()
				
				if self.__CanUseSrcItemToDstItem(attachedItemVNum, attachedSlotPos, overSlotPosGlobal):
					self.wndItem.SetUsableItem(TRUE)
					self.ShowToolTip(overSlotPosGlobal)
					return
		
		self.ShowToolTip(overSlotPosGlobal)

 

  • Love 1
Link to comment
Share on other sites

vor 6 Minuten schrieb Heathcliff™:

Show us your: def RefreshBagSlotWindow(self): from uiinventory.py

 

	def RefreshBagSlotWindow(self):
		getItemVNum=player.GetItemIndex
		getItemCount=player.GetItemCount
		setItemVNum=self.wndItem.SetItemSlot
		
		for i in xrange(player.INVENTORY_PAGE_SIZE):
			slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
			
			itemCount = getItemCount(slotNumber)
			# itemCount == 0ÀÌ¸é ¼ÒÄÏÀ» ºñ¿î´Ù.
			if 0 == itemCount:
				self.wndItem.ClearSlot(i)
				continue
			elif 1 == itemCount:
				itemCount = 0
				
			itemVnum = getItemVNum(slotNumber)
			setItemVNum(i, itemVnum, itemCount)
			
			## ÀÚµ¿¹°¾à (HP: #72723 ~ #72726, SP: #72727 ~ #72730) Ư¼öó¸® - ¾ÆÀÌÅÛÀε¥µµ ½½·Ô¿¡ È°¼ºÈ­/ºñÈ°¼ºÈ­ Ç¥½Ã¸¦ À§ÇÑ ÀÛ¾÷ÀÓ - [hyo]
			if constInfo.IS_AUTO_POTION(itemVnum):
				# metinSocket - [0] : È°¼ºÈ­ ¿©ºÎ, [1] : »ç¿ëÇÑ ¾ç, [2] : ÃÖ´ë ¿ë·®
				metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]	
				
				if slotNumber >= player.INVENTORY_PAGE_SIZE:
					slotNumber -= player.INVENTORY_PAGE_SIZE
					
				isActivated = 0 != metinSocket[0]
				
				if isActivated:
					self.wndItem.ActivateSlot(slotNumber)
					potionType = 0;
					if constInfo.IS_AUTO_POTION_HP(itemVnum):
						potionType = player.AUTO_POTION_TYPE_HP
					elif constInfo.IS_AUTO_POTION_SP(itemVnum):
						potionType = player.AUTO_POTION_TYPE_SP						
					
					usedAmount = int(metinSocket[1])
					totalAmount = int(metinSocket[2])					
					player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
					
				else:
					self.wndItem.DeactivateSlot(slotNumber)			
					
		self.wndItem.RefreshSlot()

 

Link to comment
Share on other sites

vor einer Stunde schrieb Heathcliff™:

Try to replace this:


				if slotNumber >= player.INVENTORY_PAGE_SIZE:
					slotNumber -= player.INVENTORY_PAGE_SIZE

to this:
 


				if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
					slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex

 

still the same problem :x

Link to comment
Share on other sites

4 minutes ago, .SchneeFlocke' said:

still the same problem :x

Then try this:
 

def RefreshBagSlotWindow(self):
	getItemVNum=player.GetItemIndex
	getItemCount=player.GetItemCount
	setItemVNum=self.wndItem.SetItemSlot
	
	for i in xrange(player.INVENTORY_PAGE_SIZE):
		slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
		
		itemCount = getItemCount(slotNumber)
		# itemCount == 0AI¸é 1OÄIA» onî´U.
		if 0 == itemCount:
			self.wndItem.ClearSlot(i)
			continue
		elif 1 == itemCount:
			itemCount = 0
			
		itemVnum = getItemVNum(slotNumber)
		setItemVNum(i, itemVnum, itemCount)
		
		## AÚµ1°3a (HP: #72723 ~ #72726, SP: #72727 ~ #72730) A—1öA3¸® - 3AAIAUAεYµµ 11·Ô! E°1oE­/onE°1oE­ ÇY1A¸¦ A§ÇN AU3÷AÓ - [hyo]
		if constInfo.IS_AUTO_POTION(itemVnum):
			# metinSocket - [0] : E°1oE­ ©oÎ, [1] : »çëÇN 3ç, [2] : AÖ´ë ë·®
			metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]	
			
			if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
				slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex
				
			isActivated = 0 != metinSocket[0]
			
			if isActivated:
				self.wndItem.ActivateSlot(slotNumber)
				potionType = 0;
				if constInfo.IS_AUTO_POTION_HP(itemVnum):
					potionType = player.AUTO_POTION_TYPE_HP
				elif constInfo.IS_AUTO_POTION_SP(itemVnum):
					potionType = player.AUTO_POTION_TYPE_SP						
				
				usedAmount = int(metinSocket[1])
				totalAmount = int(metinSocket[2])					
				player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
				
			else:
				self.wndItem.DeactivateSlot(slotNumber)
		else:
			self.wndItem.DeactivateSlot(i)
				
	self.wndItem.RefreshSlot()

Careful with tabs!

  • Love 1
Link to comment
Share on other sites

  • 4 years later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



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