Problema slot effect item_blend

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
radwcw32
Nivel 2

Nivel 2
Mesaje: 199
Membru din: 07 Iun 2014, 16:54
Regat: Jinno
Aprecieri: 170  
Mulţumiri: 5  
  Rezolvări prob.: 1
Discord: Copiază ID
Medalii

*Problemă/Întrebare:Salut! Am adaugat roua/apele/site-uri permanente (sistemul EXTENDED_BLEND_SYSTEM_UPDATED) dar care are inclus si efectul in inventar pe slot la activare. Tot imi merge perfect,mai putin efectul pe slot.
Am tot incercat diferite modificari prin uiinventory.py dar nimic.
Tipologie server:
*Resursă folosită: EXTENDED_BLEND_SYSTEM_UPDATED, nu mai stiu exact de unde il am
*ServerFiles utilizat: Clean by Spyke
*Syserr: gol
Poză:
*Detalii suplimentare: Am pus si niste verificari, daca pun sa activeze un slot hardcodat (self.wndItem.ActivateSlot(0)),imi activeaza acel slot cand activez si roua,dar daca pun sa-mi activeze slotul dupa slotNumber, nu activeaza slotul respectiv. La elixirele soarelui si lunii merge perfect.


IS_PERMANANET_BLEND_ITEM este verificarea,din constinfo.py imi returneaza true

iar daca le adaug in verificarea IS_AUTO_POTION_HP care e cu metinSocket[0] iar eu folosesc metinSocket[1], imi merge la roua dar nu-mi mai merge la elixirele soarelui/lunii

Cod: Selectaţi tot

	def RefreshBagSlotWindow(self):
		getItemVNum=player.GetItemIndex
		getItemCount=player.GetItemCount
		setItemVNum=self.wndItem.SetItemSlot
		if app.BL_ENABLE_PICKUP_ITEM_EFFECT:
			for i in xrange(self.wndItem.GetSlotCount()):
				self.wndItem.DeactivateSlot(i)
                
		for i in xrange(player.INVENTORY_PAGE_SIZE*2):
			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): # or constInfo.IS_PERMANANET_BLEND_ITEM(itemVnum): ## comment radu
				# metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
				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:
					potionType = 0;
					if constInfo.IS_AUTO_POTION_HP(itemVnum):
						self.wndItem.ActivateSlot(slotNumber, (238.00 / 255.0), (000.00 / 255.0), (000.00 / 255.0), 1.0)
						potionType = player.AUTO_POTION_TYPE_HP
					elif constInfo.IS_AUTO_POTION_SP(itemVnum):
						self.wndItem.ActivateSlot(slotNumber, (000.00 / 255.0), (000.00 / 255.0), (238.00 / 255.0), 1.0)
						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)

			if constInfo.IS_PERMANANET_BLEND_ITEM(itemVnum):
				metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
				#blendColor = constInfo.GetBlendColor(itemVnum) ## In case you have the slot highlight system with colors.
				if slotNumber >= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex:
					slotNumber -= player.INVENTORY_PAGE_SIZE*self.inventoryPageIndex

				isActivated = metinSocket[1]
				
				if isActivated:
					#self.wndItem.ActivateSlot(i, blendColor) ## In case you have the slot highlight system with colors.
					self.wndItem.ActivateSlot(slotNumber, (000.00 / 255.0), (000.00 / 255.0), (238.00 / 255.0), 1.0)
					self.wndItem.ActivateSlot(slotNumber)
					self.wndItem.ActivateSlot(i)
					self.wndItem.ActivateSlot(j)
					self.wndItem.ActivateSlot(0)
				else:
					self.wndItem.DeactivateSlot(slotNumber)		
					self.wndItem.ActivateSlot(2)
Avatar utilizator
radwcw32
Nivel 2

Nivel 2
Mesaje: 199
Membru din: 07 Iun 2014, 16:54
Regat: Jinno
Aprecieri: 170  
Mulţumiri: 5  
  Rezolvări prob.: 1
Discord: Copiază ID
Medalii

up
Avatar utilizator
radwcw32
Nivel 2

Nivel 2
Mesaje: 199
Membru din: 07 Iun 2014, 16:54
Regat: Jinno
Aprecieri: 170  
Mulţumiri: 5  
  Rezolvări prob.: 1
Discord: Copiază ID
Medalii

Up
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Inactiv, arhivat.
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Închis
Răspunsuri
2
Vizualizări
430
Răspunsuri
4
Vizualizări
293
Răspunsuri
2
Vizualizări
392
Răspunsuri
4
Vizualizări
519

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Baidu [Spider] și 193 vizitatori