Skocz do zawartości

Problem z zakładaniem nowych run na sloty - nie są widoczne

Opublikowano

Witajcie znów ja 😄

Wgrałem wasz system run lecz mam mały problem z wyświetlaniem ich w oknie run.

Zakładają się ale nie widać ich że są założone i wygląda jakby nie były

spacer.png

kod z uiinventory który chyba odpowiada za zakladanie :

class RuneWindow(ui.ScriptWindow):

	def __init__(self, wndInventory):				
			 	 
		ui.ScriptWindow.__init__(self)

		self.isLoaded = 0
		self.wndInventory = wndInventory;

		self.__LoadWindow()

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

	def Show(self):
		self.__LoadWindow()
		self.RefreshEquipSlotWindow()
		self.SetCenterPosition()

		ui.ScriptWindow.Show(self)

	def Close(self):
		self.Hide()

	def __LoadWindow(self):
		if self.isLoaded == 1:
			return

		self.isLoaded = 1

		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, "UIScript/RuneWindow.py")
		except:
			import exception
			exception.Abort("CostumeWindow.LoadWindow.LoadObject")

		try:
			wndEquip = self.GetChild("RuneSlot")
			self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
			
		except:
			import exception
			exception.Abort("CostumeWindow.LoadWindow.BindObject")

		## Equipment
		wndEquip.SetOverInItemEvent(ui.__mem_func__(self.wndInventory.OverInItem))
		wndEquip.SetOverOutItemEvent(ui.__mem_func__(self.wndInventory.OverOutItem))
		wndEquip.SetUnselectItemSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))
		wndEquip.SetUseSlotEvent(ui.__mem_func__(self.wndInventory.UseItemSlot))						
		wndEquip.SetSelectEmptySlotEvent(ui.__mem_func__(self.wndInventory.SelectEmptySlot))
		wndEquip.SetSelectItemSlotEvent(ui.__mem_func__(self.wndInventory.SelectItemSlot))

		self.wndEquip = wndEquip

	def RefreshEquipSlotWindow(self):
		getItemVNum=player.GetItemIndex
		getItemCount=player.GetItemCount
		setItemVNum=self.wndEquip.SetItemSlot
		for i in xrange(player.EQUIPMENT_PAGE_COUNT):
			slotNumber = player.EQUIPMENT_SLOT_START + i
			itemCount = getItemCount(slotNumber)
			if itemCount <= 1:
				itemCount = 0
			setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)

		if app.ENABLE_NEW_EQUIPMENT_SYSTEM:
			for i in xrange(player.NEW_EQUIPMENT_SLOT_COUNT):
				slotNumber = player.NEW_EQUIPMENT_SLOT_START + i
				itemCount = getItemCount(slotNumber)
				if itemCount <= 1:
					itemCount = 0
				setItemVNum(slotNumber, getItemVNum(slotNumber), itemCount)
				print "ENABLE_NEW_EQUIPMENT_SYSTEM", slotNumber, itemCount, getItemVNum(slotNumber)

		self.wndEquip.RefreshSlot()

log sysser:

SYSERR: Jun 30 03:14:55 :: EquipTo: EquipTo: invalid wear cell (this: #55080 Runa metin2 +0 wearflag: 0 cell: 32)

 

Edytowane przez Burdavsky

Rozwiązane przez Burdavsky

Przejdź do rozwiązania

Featured Replies

Opublikowano

Niepoprawnie zaimplementowałeś lub ustawiłeś nowe wearflag dla run, które odpowiadają na które sloty ma zostać założony dany przedmiot. 

  • Sevence zmienił(a) tytuł na Problem z zakładaniem nowych run na sloty - nie są widoczne
Opublikowano
  • Autor
4 minuty temu, Sevence napisał(a):

Niepoprawnie zaimplementowałeś lub ustawiłeś nowe wearflag dla run, które odpowiadają na które sloty ma zostać założony dany przedmiot. 

runy dodałem z pliku .txt i byly juz wearflag z paczki a tego pierwszego nie czaje 😄

Edytowane przez Burdavsky

Opublikowano

Pokaż dodane wearflagi w plikach length.h i itemdata.h. Sprawdź, czy ilość wearflag nie przekracza WEAR_MAX_NUM. Jeśli jest większa, zwiększ zakres.

Opublikowano
  • Autor
  • Rozwiązanie

Naprawione, nie zwiększyłem wartościu w GameType.h mój błąd ;c

const DWORD c_New_Equipment_Count = 10;

 

Edytowane przez Burdavsky

  • Sevence zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.