Jump to content

[PYTHON] Taskbar illumina


Recommended Posts

Hello everyone,

I need your help with a little problem. 

I have a concern for transparency with the taskbar.
 
Screenshot: 
 
4781b7de1a60465a9d70c08cf2c8d78c.png
 
 

The red zone is not clickable.

 

I will share my file so that you can watch.

 

Thank you for help, have a nice days :)

 

This is the hidden content, please

This is the hidden content, please

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 5
  • Dislove 1
  • Good 2
  • Love 6
Link to comment
Share on other sites

I think he meant that you should creat a new class in ui.py

 I do not know if it can be useful but i have found this:

 

class TaskBar(Window):

	class MiniMap(Window):
		class MapTextToolTip(Window):
			def __init__(self):			
				ui.Window.__init__(self)

				textLine = ui.TextLine()
				textLine.SetParent(self)
				textLine.SetHorizontalAlignCenter()
				textLine.SetOutline()
				textLine.SetHorizontalAlignRight()
				textLine.Show()
				self.textLine = textLine

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

			def SetText(self, text):
				self.textLine.SetText(text)

			def SetTooltipPosition(self, PosX, PosY):
				if localeInfo.IsARABIC():
					w, h = self.textLine.GetTextSize()
					self.textLine.SetPosition(PosX - w - 5, PosY)
				else:
					self.textLine.SetPosition(PosX - 5, PosY)

			def SetTextColor(self, TextColor):
				self.textLine.SetPackedFontColor(TextColor)

			def GetTextSize(self):
				return self.textLine.GetTextSize()
		def __init__(self):
			ui.Window.__init__(self)
			self.AddFlag("not_pick")
			self.tooltipInfo = None
			self.btnAtlas = None
			self.Show()


		def OnUpdate(self):
			miniMap.UpdateAtlas()
			self.UpdateMiniMapToolTip()

		def UpdateMiniMapToolTip(self):
			(mouseX, mouseY) = wndMgr.GetMousePosition()
			if self.tooltipInfo:
				if True == CustomIsIn(mouseX, mouseY, self):
					(bFind, sName, iPosX, iPosY, dwTextColor) = miniMap.GetInfo(mouseX, mouseY)
					if bFind == 0:
						self.tooltipInfo.Hide()
					elif not self.CanSeeInfo:
						self.tooltipInfo.SetText("%s(%s)" % (sName, localeInfo.UI_POS_UNKNOWN))
						self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
						self.tooltipInfo.SetTextColor(dwTextColor)
						self.tooltipInfo.Show()
					else:
						if localeInfo.IsARABIC() and sName[-1].isalnum():
							self.tooltipInfo.SetText("(%s)%d, %d" % (sName, iPosX, iPosY))
						else:
							self.tooltipInfo.SetText("%s(%d, %d)" % (sName, iPosX, iPosY))
						self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
						self.tooltipInfo.SetTextColor(dwTextColor)
						self.tooltipInfo.Show()
				else:
					self.tooltipInfo.Hide()
		def AddToolTip(self, parent):
			self.tooltipInfo = self.MapTextToolTip()
			self.tooltipInfo.SetParent(parent)
			self.tooltipInfo.Hide()

		def OnRender(self):
			(x, y) = self.GetGlobalPosition()
			fx = float(x)
			fy = float(y)
			miniMap.Render(fx, fy)

		def HideAtlas(self):
			miniMap.HideAtlas()
		def BuildButtons(self, parent):
			self.btnAtlas = Button()
			self.btnAtlas.SetParent(parent)
			self.btnAtlas.SetUpVisual("illumina/controls/special/taskbar/btn_atlas_01_normal.tga")
			self.btnAtlas.SetOverVisual("illumina/controls/special/taskbar/btn_atlas_02_hover.tga")
			self.btnAtlas.SetDownVisual("illumina/controls/special/taskbar/btn_atlas_03_active.tga")
			self.btnAtlas.SetToolTipText(localeInfo.MINIMAP_SHOW_AREAMAP, 0, -25)
			self.btnAtlas.SetEvent(ui.__mem_func__(self.ShowAtlas))
			self.btnAtlas.SetPosition(191, 19)
			self.btnAtlas.Show()
		def ShowAtlas(self):
			miniMap.ShowAtlas()

		def CanSeeInfo(self):
			return True

		def GetMapsUnallowed(self):
			return {
		"metin2_map_monkeydungeon" : FALSE,
		"metin2_map_monkeydungeon_02" : FALSE,
		"metin2_map_monkeydungeon_03" : FALSE,
		"metin2_map_devilsCatacomb" : FALSE,
		}
	
	class ExpBar(Window):
		image = None
		class TextToolTip(ui.Window):
			def __init__(self):
				ui.Window.__init__(self, "TOP_MOST")

				textLine = ui.TextLine()
				textLine.SetParent(self)
				textLine.SetHorizontalAlignCenter()
				textLine.SetOutline()
				textLine.Show()
				self.textLine = textLine

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

			def SetText(self, text):
				self.textLine.SetText(text)

			def OnRender(self):
				(mouseX, mouseY) = wndMgr.GetMousePosition()
				self.textLine.SetPosition(mouseX, mouseY - 15)
		def __init__(self):
			Window.__init__(self)
			self.image = ExpandedImageBox()
			self.image.AddFlag("not_pick")
			self.image.LoadImage("illumina/controls/special/taskbar/progress_exp_full.tga")
			self.image.SetParent(self)
			self.image.Show()
			self.SetSize(self.image.GetWidth(), self.image.GetHeight())
			self.SetPosition(241, 89)
			self.Show()
			

		def __del__(self):
			self.Hide()
			Window.__del__(self)
		def AddToolTip(self, parent):
			self.tooltipInfo = self.TextToolTip()
			self.tooltipInfo.SetParent(parent)
			self.tooltipInfo.Hide()
		def OnUpdate(self):
			import player
			curEXP = unsigned32(player.GetStatus(player.EXP))
			nextEXP = unsigned32(player.GetStatus(player.NEXT_EXP))
			Percentage = -1 + float(curEXP)/float(nextEXP)

			self.image.SetRenderingRect(0.0, Percentage, 0.0, 0.0)
			(mouseX, mouseY) = wndMgr.GetMousePosition()
			if self.tooltipInfo:
				if True == CustomIsIn(mouseX, mouseY, self):
					self.tooltipInfo.Show()
					self.tooltipInfo.SetText("%s : %.2f%%" % (localeInfo.TASKBAR_EXP, float(curEXP) / max(1, float(nextEXP)) * 100))
				else:
					self.tooltipInfo.Hide()


	def __init__(self):
		Window.__init__(self)
		self.path = "illumina/controls/special/taskbar/"
		self.width = max(1280, wndMgr.GetScreenWidth())
		self.height = 158
		self.repeat = 220
		self.bar = None
		self.atlas = None
		self.exp_Bar = None
		self.BuildMiniMap()

		self.BuildBar()
		self.BuildExpBar()
		self.BuildButtons()
		
		
		self.SetPosition( (wndMgr.GetScreenWidth() - self.width )/2,wndMgr.GetScreenHeight()-self.height)
		self.SetSize(self.width, self.height)
		self.Show()
		self.BuildToolTips()
	def __del__(self):
		self.Hide()
		Window.__del__(self)

	

	def BuildBar(self):
		self.bar = []
		files = ["bar_" +dir+".tga" for dir in ("repeat","left", "middle", "right", ) ]
		for x in files:
			part = ExpandedImageBox()
			part.AddFlag("not_pick")
			part.LoadImage("illumina/controls/special/taskbar/" + x)
			part.SetParent(self)
			part.Show()
			self.bar.append(part)
		self.bar[0].SetPosition(self.bar[1].GetWidth()  ,self.height - self.bar[0].GetHeight())
		self.bar[0].SetPercentage(float(self.width) - float(self.bar[1].GetWidth()) - float(self.bar[3].GetWidth()), float(self.repeat))
		self.bar[1].SetPosition(0,self.height -124)
		self.bar[2].SetPosition( (self.width - self.bar[2].GetWidth()) / 2 , self.height - self.bar[2].GetHeight())
		self.bar[3].SetPosition(self.width -  self.bar[3].GetWidth(),0)

	def BuildMiniMap(self):
		miniMap.Create()
		miniMap.SetScale(2.0)
		miniMap.RegisterAtlasWindow(self)
		self.Atlas = self.MiniMap()
		self.Atlas.SetParent(self)
		self.Atlas.SetSize(128, 128)
		self.Atlas.SetPosition(self.width - 280, 15)
		self.Atlas.Show()
	def BuildExpBar(self):
		self.exp_Bar = self.ExpBar()
		self.exp_Bar.SetParent(self.bar[1])
	def BuildButtons(self):
		self.Atlas.BuildButtons(self.bar[3])
	def BuildToolTips(self):		
		self.Atlas.AddToolTip(self)
		self.exp_Bar.AddToolTip(self)
Link to comment
Share on other sites

On 9/26/2016 at 11:24 PM, Grimmjow said:

I think he meant that you should creat a new class in ui.py

 I do not know if it can be useful but i have found this:

 


class TaskBar(Window):

	class MiniMap(Window):
		class MapTextToolTip(Window):
			def __init__(self):			
				ui.Window.__init__(self)

				textLine = ui.TextLine()
				textLine.SetParent(self)
				textLine.SetHorizontalAlignCenter()
				textLine.SetOutline()
				textLine.SetHorizontalAlignRight()
				textLine.Show()
				self.textLine = textLine

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

			def SetText(self, text):
				self.textLine.SetText(text)

			def SetTooltipPosition(self, PosX, PosY):
				if localeInfo.IsARABIC():
					w, h = self.textLine.GetTextSize()
					self.textLine.SetPosition(PosX - w - 5, PosY)
				else:
					self.textLine.SetPosition(PosX - 5, PosY)

			def SetTextColor(self, TextColor):
				self.textLine.SetPackedFontColor(TextColor)

			def GetTextSize(self):
				return self.textLine.GetTextSize()
		def __init__(self):
			ui.Window.__init__(self)
			self.AddFlag("not_pick")
			self.tooltipInfo = None
			self.btnAtlas = None
			self.Show()


		def OnUpdate(self):
			miniMap.UpdateAtlas()
			self.UpdateMiniMapToolTip()

		def UpdateMiniMapToolTip(self):
			(mouseX, mouseY) = wndMgr.GetMousePosition()
			if self.tooltipInfo:
				if True == CustomIsIn(mouseX, mouseY, self):
					(bFind, sName, iPosX, iPosY, dwTextColor) = miniMap.GetInfo(mouseX, mouseY)
					if bFind == 0:
						self.tooltipInfo.Hide()
					elif not self.CanSeeInfo:
						self.tooltipInfo.SetText("%s(%s)" % (sName, localeInfo.UI_POS_UNKNOWN))
						self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
						self.tooltipInfo.SetTextColor(dwTextColor)
						self.tooltipInfo.Show()
					else:
						if localeInfo.IsARABIC() and sName[-1].isalnum():
							self.tooltipInfo.SetText("(%s)%d, %d" % (sName, iPosX, iPosY))
						else:
							self.tooltipInfo.SetText("%s(%d, %d)" % (sName, iPosX, iPosY))
						self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
						self.tooltipInfo.SetTextColor(dwTextColor)
						self.tooltipInfo.Show()
				else:
					self.tooltipInfo.Hide()
		def AddToolTip(self, parent):
			self.tooltipInfo = self.MapTextToolTip()
			self.tooltipInfo.SetParent(parent)
			self.tooltipInfo.Hide()

		def OnRender(self):
			(x, y) = self.GetGlobalPosition()
			fx = float(x)
			fy = float(y)
			miniMap.Render(fx, fy)

		def HideAtlas(self):
			miniMap.HideAtlas()
		def BuildButtons(self, parent):
			self.btnAtlas = Button()
			self.btnAtlas.SetParent(parent)
			self.btnAtlas.SetUpVisual("illumina/controls/special/taskbar/btn_atlas_01_normal.tga")
			self.btnAtlas.SetOverVisual("illumina/controls/special/taskbar/btn_atlas_02_hover.tga")
			self.btnAtlas.SetDownVisual("illumina/controls/special/taskbar/btn_atlas_03_active.tga")
			self.btnAtlas.SetToolTipText(localeInfo.MINIMAP_SHOW_AREAMAP, 0, -25)
			self.btnAtlas.SetEvent(ui.__mem_func__(self.ShowAtlas))
			self.btnAtlas.SetPosition(191, 19)
			self.btnAtlas.Show()
		def ShowAtlas(self):
			miniMap.ShowAtlas()

		def CanSeeInfo(self):
			return True

		def GetMapsUnallowed(self):
			return {
		"metin2_map_monkeydungeon" : FALSE,
		"metin2_map_monkeydungeon_02" : FALSE,
		"metin2_map_monkeydungeon_03" : FALSE,
		"metin2_map_devilsCatacomb" : FALSE,
		}
	
	class ExpBar(Window):
		image = None
		class TextToolTip(ui.Window):
			def __init__(self):
				ui.Window.__init__(self, "TOP_MOST")

				textLine = ui.TextLine()
				textLine.SetParent(self)
				textLine.SetHorizontalAlignCenter()
				textLine.SetOutline()
				textLine.Show()
				self.textLine = textLine

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

			def SetText(self, text):
				self.textLine.SetText(text)

			def OnRender(self):
				(mouseX, mouseY) = wndMgr.GetMousePosition()
				self.textLine.SetPosition(mouseX, mouseY - 15)
		def __init__(self):
			Window.__init__(self)
			self.image = ExpandedImageBox()
			self.image.AddFlag("not_pick")
			self.image.LoadImage("illumina/controls/special/taskbar/progress_exp_full.tga")
			self.image.SetParent(self)
			self.image.Show()
			self.SetSize(self.image.GetWidth(), self.image.GetHeight())
			self.SetPosition(241, 89)
			self.Show()
			

		def __del__(self):
			self.Hide()
			Window.__del__(self)
		def AddToolTip(self, parent):
			self.tooltipInfo = self.TextToolTip()
			self.tooltipInfo.SetParent(parent)
			self.tooltipInfo.Hide()
		def OnUpdate(self):
			import player
			curEXP = unsigned32(player.GetStatus(player.EXP))
			nextEXP = unsigned32(player.GetStatus(player.NEXT_EXP))
			Percentage = -1 + float(curEXP)/float(nextEXP)

			self.image.SetRenderingRect(0.0, Percentage, 0.0, 0.0)
			(mouseX, mouseY) = wndMgr.GetMousePosition()
			if self.tooltipInfo:
				if True == CustomIsIn(mouseX, mouseY, self):
					self.tooltipInfo.Show()
					self.tooltipInfo.SetText("%s : %.2f%%" % (localeInfo.TASKBAR_EXP, float(curEXP) / max(1, float(nextEXP)) * 100))
				else:
					self.tooltipInfo.Hide()


	def __init__(self):
		Window.__init__(self)
		self.path = "illumina/controls/special/taskbar/"
		self.width = max(1280, wndMgr.GetScreenWidth())
		self.height = 158
		self.repeat = 220
		self.bar = None
		self.atlas = None
		self.exp_Bar = None
		self.BuildMiniMap()

		self.BuildBar()
		self.BuildExpBar()
		self.BuildButtons()
		
		
		self.SetPosition( (wndMgr.GetScreenWidth() - self.width )/2,wndMgr.GetScreenHeight()-self.height)
		self.SetSize(self.width, self.height)
		self.Show()
		self.BuildToolTips()
	def __del__(self):
		self.Hide()
		Window.__del__(self)

	

	def BuildBar(self):
		self.bar = []
		files = ["bar_" +dir+".tga" for dir in ("repeat","left", "middle", "right", ) ]
		for x in files:
			part = ExpandedImageBox()
			part.AddFlag("not_pick")
			part.LoadImage("illumina/controls/special/taskbar/" + x)
			part.SetParent(self)
			part.Show()
			self.bar.append(part)
		self.bar[0].SetPosition(self.bar[1].GetWidth()  ,self.height - self.bar[0].GetHeight())
		self.bar[0].SetPercentage(float(self.width) - float(self.bar[1].GetWidth()) - float(self.bar[3].GetWidth()), float(self.repeat))
		self.bar[1].SetPosition(0,self.height -124)
		self.bar[2].SetPosition( (self.width - self.bar[2].GetWidth()) / 2 , self.height - self.bar[2].GetHeight())
		self.bar[3].SetPosition(self.width -  self.bar[3].GetWidth(),0)

	def BuildMiniMap(self):
		miniMap.Create()
		miniMap.SetScale(2.0)
		miniMap.RegisterAtlasWindow(self)
		self.Atlas = self.MiniMap()
		self.Atlas.SetParent(self)
		self.Atlas.SetSize(128, 128)
		self.Atlas.SetPosition(self.width - 280, 15)
		self.Atlas.Show()
	def BuildExpBar(self):
		self.exp_Bar = self.ExpBar()
		self.exp_Bar.SetParent(self.bar[1])
	def BuildButtons(self):
		self.Atlas.BuildButtons(self.bar[3])
	def BuildToolTips(self):		
		self.Atlas.AddToolTip(self)
		self.exp_Bar.AddToolTip(self)

thanks for you but how can use it ? after add it in ui.py ?

Link to comment
Share on other sites

  • 9 months later...
  • 5 months 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.