19 mesaje
Membru Ucenic Membru Ucenic
  • Mesaje: 40
  • Reacții: 7
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Code:
    import ui
    import uiScriptLocale
    import wndMgr
    import player
    import miniMap
    import localeInfo
    import net
    import app
    import constInfo
    import time
    import systemSetting
    import chr
    
    class MapTextToolTip(ui.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()
    
    class AtlasWindow(ui.ScriptWindow):
    
    	class AtlasRenderer(ui.Window):
    		def __init__(self):
    			ui.Window.__init__(self)
    			self.AddFlag("not_pick")
    
    		def OnUpdate(self):
    			miniMap.UpdateAtlas()
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			fx = float(x)
    			fy = float(y)
    			miniMap.RenderAtlas(fx, fy)
    
    		def HideAtlas(self):
    			miniMap.HideAtlas()
    
    		def ShowAtlas(self):
    			miniMap.ShowAtlas()
    
    	def __init__(self):
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Hide()
    		self.infoGuildMark = ui.MarkBox()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 0
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		try:
    			self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
    		except:
    			pass
    
    	def LoadWindow(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.LoadScript")
    
    		try:
    			self.board = self.GetChild("board")
    
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.BindObject")
    
    		self.AtlasMainWindow = self.AtlasRenderer()
    		self.board.SetCloseEvent(self.Hide)
    		self.AtlasMainWindow.SetParent(self.board)
    		self.AtlasMainWindow.SetPosition(7, 30)
    		self.tooltipInfo.SetParent(self.board)
    		self.infoGuildMark.SetParent(self.board)
    		self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
    		self.board.SetOnMouseLeftButtonUpEvent(ui.__mem_func__(self.OnMouseLeftButtonUpEvent))
    		self.Hide()
    
    		miniMap.RegisterAtlasWindow(self)
    
    	def Destroy(self):
    		miniMap.UnregisterAtlasWindow()
    		self.ClearDictionary()
    		self.AtlasMainWindow = None
    		self.tooltipAtlasClose = 0
    		self.tooltipInfo = None
    		self.infoGuildMark = None
    		self.board = None
    
    	def OnUpdate(self):
    
    		if not self.tooltipInfo:
    			return
    
    		if not self.infoGuildMark:
    			return
    
    		self.infoGuildMark.Hide()
    		self.tooltipInfo.Hide()
    
    		if False == self.board.IsIn():
    			return
    
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    
    		if False == bFind:
    			return
    
    		if "empty_guild_area" == sName:
    			sName = localeInfo.GUILD_EMPTY_AREA
    
    		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))
    
    		(x, y) = self.GetGlobalPosition()
    		self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
    		self.tooltipInfo.SetTextColor(dwTextColor)
    		self.tooltipInfo.Show()
    		self.tooltipInfo.SetTop()
    
    		if 0 != dwGuildID:
    			textWidth, textHeight = self.tooltipInfo.GetTextSize()
    			self.infoGuildMark.SetIndex(dwGuildID)
    			self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.Show()
    
    	def Hide(self):
    		if self.AtlasMainWindow:
    			self.AtlasMainWindow.HideAtlas()
    			self.AtlasMainWindow.Hide()
    		ui.ScriptWindow.Hide(self)
    
    	def Show(self):
    		if self.AtlasMainWindow:
    			(bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
    			if bGet:
    				self.SetSize(iSizeX + 15, iSizeY + 38)
    
    				if localeInfo.IsARABIC():
    					self.board.SetPosition(iSizeX+15, 0)
    
    				self.board.SetSize(iSizeX + 15, iSizeY + 38)
    				#self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
    				self.AtlasMainWindow.ShowAtlas()
    				self.AtlasMainWindow.Show()
    		ui.ScriptWindow.Show(self)
    
    	def SetCenterPositionAdjust(self, x, y):
    		self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
    
    	def OnMouseLeftButtonUpEvent(self):
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			net.SendChatPacket("/go %s %s" % (str(iPosX), str(iPosY)))
    
    	def OnPressEscapeKey(self):
    		self.Hide()
    		return True
    
    def __RegisterMiniMapColor(type, rgb):
    	miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
    
    class MiniMap(ui.ScriptWindow):
    
    	CANNOT_SEE_INFO_MAP_DICT = {
    		"metin2_map_monkeydungeon" : False,
    		"metin2_map_monkeydungeon_02" : False,
    		"metin2_map_monkeydungeon_03" : False,
    		"metin2_map_devilsCatacomb" : False,
    	}
    
    	def __init__(self):
    		ui.ScriptWindow.__init__(self)
    
    		self.__Initialize()
    
    		miniMap.Create()
    		miniMap.SetScale(2.0)
    
    		self.AtlasWindow = AtlasWindow()
    		self.AtlasWindow.LoadWindow()
    		self.AtlasWindow.Hide()
    
    		self.tooltipMiniMapOpen = MapTextToolTip()
    		self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = True
    
    		# AUTOBAN
    		self.imprisonmentDuration = 0
    		self.imprisonmentEndTime = 0
    		self.imprisonmentEndTimeText = ""
    		# END_OF_AUTOBAN
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.positionInfo = 0
    		self.observerCount = 0
    		self.timeLine = 0
    		self.fpsInfo = 0
    
    		self.OpenWindow = 0
    		self.CloseWindow = 0
    		self.ScaleUpButton = 0
    		self.ScaleDownButton = 0
    		self.MiniMapHideButton = 0
    		self.MiniMapShowButton = 0
    		self.AtlasShowButton = 0
    
    		self.tooltipMiniMapOpen = 0
    		self.tooltipMiniMapClose = 0
    		self.tooltipScaleUp = 0
    		self.tooltipScaleDown = 0
    		self.tooltipAtlasOpen = 0
    
    		self.tooltipInfo = None
    		self.serverInfo = None
    		self.interface = None
    	
    
    	def SetMapName(self, mapName):
    		self.mapName=mapName
    		self.AtlasWindow.SetMapName(mapName)
    
    		if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
    			self.canSeeInfo = False
    			self.HideMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = True
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    
    	# AUTOBAN
    	def SetImprisonmentDuration(self, duration):
    		self.imprisonmentDuration = duration
    		self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
    
    		self.__UpdateImprisonmentDurationText()
    
    	def __UpdateImprisonmentDurationText(self):
    		restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
    
    		imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
    		if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
    			self.imprisonmentEndTimeText = imprisonmentEndTimeText
    			self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
    	# END_OF_AUTOBAN
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			if localeInfo.IsARABIC():
    				pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "MinimapWindow.py")
    			else:
    				pyScrLoader.LoadScriptFile(self, "UIScript/MinimapWindow.py")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.LoadScript")
    
    		try:
    			self.OpenWindow = self.GetChild("OpenWindow")
    			self.MiniMapWindow = self.GetChild("MiniMapWindow")
    			self.ScaleUpButton = self.GetChild("ScaleUpButton")
    			self.ScaleDownButton = self.GetChild("ScaleDownButton")
    			self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
    			self.AtlasShowButton = self.GetChild("AtlasShowButton")
    			self.CloseWindow = self.GetChild("CloseWindow")
    			self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.timeLine = self.GetChild("TimeLine")
    			self.fpsInfo = self.GetChild("GameFPS")
    			self.observerCount = self.GetChild("ObserverCount")
    			self.serverInfo = self.GetChild("ServerInfo")
    
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    
    		self.timeLine.Show()
    
    		self.serverInfo.SetText(net.GetServerInfo())
    		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
    		self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
    		self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
    		self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
    
    		if miniMap.IsAtlas():
    			self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
    		self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
    		self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
    		self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
    		self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
    		self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		self.ShowMiniMap()
    
    	def Destroy(self):
    		self.HideMiniMap()
    
    		self.AtlasWindow.Destroy()
    		self.AtlasWindow = None
    
    		self.ClearDictionary()
    
    		self.__Initialize()
    
    	def UpdateObserverCount(self, observerCount):
    		if observerCount>0:
    			self.observerCount.Show()
    		elif observerCount<=0:
    			self.observerCount.Hide()
    
    		self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
    
    	def OnUpdate(self):
    		(x, y, z) = player.GetMainCharacterPosition()
    		miniMap.Update(x, y)
    
    
    		if systemSetting.IsShowFrames() == True:
    			self.fpsInfo.Show()
    		else:
    			self.fpsInfo.Hide()
    
    		self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
    		nRenderFPS=app.GetRenderFPS()
    		fps="%3d"%(nRenderFPS)
    		self.fpsInfo.SetText(localeInfo.METIN2_FPS_COUNTER + "" +str(fps))
    		self.timeLine.SetText(time.strftime('[%X - %x]'))
    
    		if self.tooltipInfo:
    			if True == self.MiniMapWindow.IsIn():
    				(mouseX, mouseY) = wndMgr.GetMousePosition()
    				(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()
    
    			# AUTOBAN
    			if self.imprisonmentDuration:
    				self.__UpdateImprisonmentDurationText()
    			# END_OF_AUTOBAN
    
    		if True == self.MiniMapShowButton.IsIn():
    			self.tooltipMiniMapOpen.Show()
    		else:
    			self.tooltipMiniMapOpen.Hide()
    
    		if True == self.MiniMapHideButton.IsIn():
    			self.tooltipMiniMapClose.Show()
    		else:
    			self.tooltipMiniMapClose.Hide()
    
    		if True == self.ScaleUpButton.IsIn():
    			self.tooltipScaleUp.Show()
    		else:
    			self.tooltipScaleUp.Hide()
    
    		if True == self.ScaleDownButton.IsIn():
    			self.tooltipScaleDown.Show()
    		else:
    			self.tooltipScaleDown.Hide()
    
    		if True == self.AtlasShowButton.IsIn():
    			self.tooltipAtlasOpen.Show()
    		else:
    			self.tooltipAtlasOpen.Hide()
    
    
    	def OnRender(self):
    		(x, y) = self.GetGlobalPosition()
    		fx = float(x)
    		fy = float(y)
    		miniMap.Render(fx + 4.0, fy + 5.0)
    
    	def Close(self):
    		self.HideMiniMap()
    
    	def HideMiniMap(self):
    		miniMap.Hide()
    		self.OpenWindow.Hide()
    		self.CloseWindow.Show()
    
    	def ShowMiniMap(self):
    		if not self.canSeeInfo:
    			return
    
    		miniMap.Show()
    		self.OpenWindow.Show()
    		self.CloseWindow.Hide()
    
    	def isShowMiniMap(self):
    		return miniMap.isShow()
    
    	def ScaleUp(self):
    		miniMap.ScaleUp()
    
    	def ScaleDown(self):
    		miniMap.ScaleDown()
    
    	def ShowAtlas(self):
    		if not miniMap.IsAtlas():
    			return
    		if not self.AtlasWindow.IsShow():
    			self.AtlasWindow.Show()
    
    	def ToggleAtlasWindow(self):
    		if not miniMap.IsAtlas():
    			return
    		if self.AtlasWindow.IsShow():
    			self.AtlasWindow.Hide()
    		else:
    			self.AtlasWindow.Show()
    
    	if app.ENABLE_MOVE_CHANNEL:
    		def RefreshServerInfo(self):
    			self.serverInfo.SetText(net.GetServerInfo())
    
    	def BindInterfaceClass(self, interface):
    		self.interface = interface
    
    asta e tot ce am in el
    Uriel scrie:
    sosofrg_62955 scrie: Pe partea de client in joc nu-mi arata punctele verzi (NPC-uriile) pe minimap de unde sa incep sa caut o rezolvare?
    Verifică fișierul uiminimap.py din folderul root. Caută funcția
    Code:
    __UpdateNPC
    și asigură-te că logica de iterare prin
    Code:
    chr.GetNPCList()
    și apelarea
    Code:
    self.AddNPC(x, y)
    este prezentă și activă.
    AI 

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Robot Robot
  • Mesaje: 239
  • Reacții: 0
  • Mesaje utile: 3
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    sosofrg_62955 scrie:
    Code:
    import ui
    import uiScriptLocale
    import wndMgr
    import player
    import miniMap
    import localeInfo
    import net
    import app
    import constInfo
    import time
    import systemSetting
    import chr
    
    class MapTextToolTip(ui.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()
    
    class AtlasWindow(ui.ScriptWindow):
    
    	class AtlasRenderer(ui.Window):
    		def __init__(self):
    			ui.Window.__init__(self)
    			self.AddFlag("not_pick")
    
    		def OnUpdate(self):
    			miniMap.UpdateAtlas()
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			fx = float(x)
    			fy = float(y)
    			miniMap.RenderAtlas(fx, fy)
    
    		def HideAtlas(self):
    			miniMap.HideAtlas()
    
    		def ShowAtlas(self):
    			miniMap.ShowAtlas()
    
    	def __init__(self):
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Hide()
    		self.infoGuildMark = ui.MarkBox()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 0
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		try:
    			self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
    		except:
    			pass
    
    	def LoadWindow(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.LoadScript")
    
    		try:
    			self.board = self.GetChild("board")
    
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.BindObject")
    
    		self.AtlasMainWindow = self.AtlasRenderer()
    		self.board.SetCloseEvent(self.Hide)
    		self.AtlasMainWindow.SetParent(self.board)
    		self.AtlasMainWindow.SetPosition(7, 30)
    		self.tooltipInfo.SetParent(self.board)
    		self.infoGuildMark.SetParent(self.board)
    		self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
    		self.board.SetOnMouseLeftButtonUpEvent(ui.__mem_func__(self.OnMouseLeftButtonUpEvent))
    		self.Hide()
    
    		miniMap.RegisterAtlasWindow(self)
    
    	def Destroy(self):
    		miniMap.UnregisterAtlasWindow()
    		self.ClearDictionary()
    		self.AtlasMainWindow = None
    		self.tooltipAtlasClose = 0
    		self.tooltipInfo = None
    		self.infoGuildMark = None
    		self.board = None
    
    	def OnUpdate(self):
    
    		if not self.tooltipInfo:
    			return
    
    		if not self.infoGuildMark:
    			return
    
    		self.infoGuildMark.Hide()
    		self.tooltipInfo.Hide()
    
    		if False == self.board.IsIn():
    			return
    
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    
    		if False == bFind:
    			return
    
    		if "empty_guild_area" == sName:
    			sName = localeInfo.GUILD_EMPTY_AREA
    
    		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))
    
    		(x, y) = self.GetGlobalPosition()
    		self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
    		self.tooltipInfo.SetTextColor(dwTextColor)
    		self.tooltipInfo.Show()
    		self.tooltipInfo.SetTop()
    
    		if 0 != dwGuildID:
    			textWidth, textHeight = self.tooltipInfo.GetTextSize()
    			self.infoGuildMark.SetIndex(dwGuildID)
    			self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.Show()
    
    	def Hide(self):
    		if self.AtlasMainWindow:
    			self.AtlasMainWindow.HideAtlas()
    			self.AtlasMainWindow.Hide()
    		ui.ScriptWindow.Hide(self)
    
    	def Show(self):
    		if self.AtlasMainWindow:
    			(bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
    			if bGet:
    				self.SetSize(iSizeX + 15, iSizeY + 38)
    
    				if localeInfo.IsARABIC():
    					self.board.SetPosition(iSizeX+15, 0)
    
    				self.board.SetSize(iSizeX + 15, iSizeY + 38)
    				#self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
    				self.AtlasMainWindow.ShowAtlas()
    				self.AtlasMainWindow.Show()
    		ui.ScriptWindow.Show(self)
    
    	def SetCenterPositionAdjust(self, x, y):
    		self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
    
    	def OnMouseLeftButtonUpEvent(self):
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			net.SendChatPacket("/go %s %s" % (str(iPosX), str(iPosY)))
    
    	def OnPressEscapeKey(self):
    		self.Hide()
    		return True
    
    def __RegisterMiniMapColor(type, rgb):
    	miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
    
    class MiniMap(ui.ScriptWindow):
    
    	CANNOT_SEE_INFO_MAP_DICT = {
    		"metin2_map_monkeydungeon" : False,
    		"metin2_map_monkeydungeon_02" : False,
    		"metin2_map_monkeydungeon_03" : False,
    		"metin2_map_devilsCatacomb" : False,
    	}
    
    	def __init__(self):
    		ui.ScriptWindow.__init__(self)
    
    		self.__Initialize()
    
    		miniMap.Create()
    		miniMap.SetScale(2.0)
    
    		self.AtlasWindow = AtlasWindow()
    		self.AtlasWindow.LoadWindow()
    		self.AtlasWindow.Hide()
    
    		self.tooltipMiniMapOpen = MapTextToolTip()
    		self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = True
    
    		# AUTOBAN
    		self.imprisonmentDuration = 0
    		self.imprisonmentEndTime = 0
    		self.imprisonmentEndTimeText = ""
    		# END_OF_AUTOBAN
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.positionInfo = 0
    		self.observerCount = 0
    		self.timeLine = 0
    		self.fpsInfo = 0
    
    		self.OpenWindow = 0
    		self.CloseWindow = 0
    		self.ScaleUpButton = 0
    		self.ScaleDownButton = 0
    		self.MiniMapHideButton = 0
    		self.MiniMapShowButton = 0
    		self.AtlasShowButton = 0
    
    		self.tooltipMiniMapOpen = 0
    		self.tooltipMiniMapClose = 0
    		self.tooltipScaleUp = 0
    		self.tooltipScaleDown = 0
    		self.tooltipAtlasOpen = 0
    
    		self.tooltipInfo = None
    		self.serverInfo = None
    		self.interface = None
    	
    
    	def SetMapName(self, mapName):
    		self.mapName=mapName
    		self.AtlasWindow.SetMapName(mapName)
    
    		if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
    			self.canSeeInfo = False
    			self.HideMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = True
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    
    	# AUTOBAN
    	def SetImprisonmentDuration(self, duration):
    		self.imprisonmentDuration = duration
    		self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
    
    		self.__UpdateImprisonmentDurationText()
    
    	def __UpdateImprisonmentDurationText(self):
    		restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
    
    		imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
    		if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
    			self.imprisonmentEndTimeText = imprisonmentEndTimeText
    			self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
    	# END_OF_AUTOBAN
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			if localeInfo.IsARABIC():
    				pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "MinimapWindow.py")
    			else:
    				pyScrLoader.LoadScriptFile(self, "UIScript/MinimapWindow.py")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.LoadScript")
    
    		try:
    			self.OpenWindow = self.GetChild("OpenWindow")
    			self.MiniMapWindow = self.GetChild("MiniMapWindow")
    			self.ScaleUpButton = self.GetChild("ScaleUpButton")
    			self.ScaleDownButton = self.GetChild("ScaleDownButton")
    			self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
    			self.AtlasShowButton = self.GetChild("AtlasShowButton")
    			self.CloseWindow = self.GetChild("CloseWindow")
    			self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.timeLine = self.GetChild("TimeLine")
    			self.fpsInfo = self.GetChild("GameFPS")
    			self.observerCount = self.GetChild("ObserverCount")
    			self.serverInfo = self.GetChild("ServerInfo")
    
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    
    		self.timeLine.Show()
    
    		self.serverInfo.SetText(net.GetServerInfo())
    		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
    		self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
    		self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
    		self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
    
    		if miniMap.IsAtlas():
    			self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
    		self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
    		self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
    		self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
    		self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
    		self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		self.ShowMiniMap()
    
    	def Destroy(self):
    		self.HideMiniMap()
    
    		self.AtlasWindow.Destroy()
    		self.AtlasWindow = None
    
    		self.ClearDictionary()
    
    		self.__Initialize()
    
    	def UpdateObserverCount(self, observerCount):
    		if observerCount>0:
    			self.observerCount.Show()
    		elif observerCount<=0:
    			self.observerCount.Hide()
    
    		self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
    
    	def OnUpdate(self):
    		(x, y, z) = player.GetMainCharacterPosition()
    		miniMap.Update(x, y)
    
    
    		if systemSetting.IsShowFrames() == True:
    			self.fpsInfo.Show()
    		else:
    			self.fpsInfo.Hide()
    
    		self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
    		nRenderFPS=app.GetRenderFPS()
    		fps="%3d"%(nRenderFPS)
    		self.fpsInfo.SetText(localeInfo.METIN2_FPS_COUNTER + "" +str(fps))
    		self.timeLine.SetText(time.strftime('[%X - %x]'))
    
    		if self.tooltipInfo:
    			if True == self.MiniMapWindow.IsIn():
    				(mouseX, mouseY) = wndMgr.GetMousePosition()
    				(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()
    
    			# AUTOBAN
    			if self.imprisonmentDuration:
    				self.__UpdateImprisonmentDurationText()
    			# END_OF_AUTOBAN
    
    		if True == self.MiniMapShowButton.IsIn():
    			self.tooltipMiniMapOpen.Show()
    		else:
    			self.tooltipMiniMapOpen.Hide()
    
    		if True == self.MiniMapHideButton.IsIn():
    			self.tooltipMiniMapClose.Show()
    		else:
    			self.tooltipMiniMapClose.Hide()
    
    		if True == self.ScaleUpButton.IsIn():
    			self.tooltipScaleUp.Show()
    		else:
    			self.tooltipScaleUp.Hide()
    
    		if True == self.ScaleDownButton.IsIn():
    			self.tooltipScaleDown.Show()
    		else:
    			self.tooltipScaleDown.Hide()
    
    		if True == self.AtlasShowButton.IsIn():
    			self.tooltipAtlasOpen.Show()
    		else:
    			self.tooltipAtlasOpen.Hide()
    
    
    	def OnRender(self):
    		(x, y) = self.GetGlobalPosition()
    		fx = float(x)
    		fy = float(y)
    		miniMap.Render(fx + 4.0, fy + 5.0)
    
    	def Close(self):
    		self.HideMiniMap()
    
    	def HideMiniMap(self):
    		miniMap.Hide()
    		self.OpenWindow.Hide()
    		self.CloseWindow.Show()
    
    	def ShowMiniMap(self):
    		if not self.canSeeInfo:
    			return
    
    		miniMap.Show()
    		self.OpenWindow.Show()
    		self.CloseWindow.Hide()
    
    	def isShowMiniMap(self):
    		return miniMap.isShow()
    
    	def ScaleUp(self):
    		miniMap.ScaleUp()
    
    	def ScaleDown(self):
    		miniMap.ScaleDown()
    
    	def ShowAtlas(self):
    		if not miniMap.IsAtlas():
    			return
    		if not self.AtlasWindow.IsShow():
    			self.AtlasWindow.Show()
    
    	def ToggleAtlasWindow(self):
    		if not miniMap.IsAtlas():
    			return
    		if self.AtlasWindow.IsShow():
    			self.AtlasWindow.Hide()
    		else:
    			self.AtlasWindow.Show()
    
    	if app.ENABLE_MOVE_CHANNEL:
    		def RefreshServerInfo(self):
    			self.serverInfo.SetText(net.GetServerInfo())
    
    	def BindInterfaceClass(self, interface):
    		self.interface = interface
    
    asta e tot ce am in el
    Please specify the issue you are encountering or what you are trying to achieve with this minimap.py file.
    Notă: Acesta este un răspuns generat de AI și poate conține erori. Vă rugăm să-l tratați ca atare.

    Link-uri utile:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate gata să te ajute! Click aici
    See full signature
    Membru Ucenic Membru Ucenic
  • Mesaje: 40
  • Reacții: 7
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de sosofrg_62955 »

    Uriel scrie:
    sosofrg_62955 scrie: Pe partea de client in joc nu-mi arata punctele verzi (NPC-uriile) pe minimap de unde sa incep sa caut o rezolvare?
    Verifică fișierul uiminimap.py din folderul root. Caută funcția
    Code:
    __UpdateNPC
    și asigură-te că logica de iterare prin
    Code:
    chr.GetNPCList()
    și apelarea
    Code:
    self.AddNPC(x, y)
    este prezentă și activă.
    In uiminimap.py nu gasesc nimic din ce mi-ai spus tu mai sus asta e tot ce am in uiminimap.py:
    Code:
    import ui
    import uiScriptLocale
    import wndMgr
    import player
    import miniMap
    import localeInfo
    import net
    import app
    import constInfo
    import time
    import systemSetting
    import chr
    
    class MapTextToolTip(ui.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()
    
    class AtlasWindow(ui.ScriptWindow):
    
    	class AtlasRenderer(ui.Window):
    		def __init__(self):
    			ui.Window.__init__(self)
    			self.AddFlag("not_pick")
    
    		def OnUpdate(self):
    			miniMap.UpdateAtlas()
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			fx = float(x)
    			fy = float(y)
    			miniMap.RenderAtlas(fx, fy)
    
    		def HideAtlas(self):
    			miniMap.HideAtlas()
    
    		def ShowAtlas(self):
    			miniMap.ShowAtlas()
    
    	def __init__(self):
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Hide()
    		self.infoGuildMark = ui.MarkBox()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 0
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		try:
    			self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
    		except:
    			pass
    
    	def LoadWindow(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.LoadScript")
    
    		try:
    			self.board = self.GetChild("board")
    
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.BindObject")
    
    		self.AtlasMainWindow = self.AtlasRenderer()
    		self.board.SetCloseEvent(self.Hide)
    		self.AtlasMainWindow.SetParent(self.board)
    		self.AtlasMainWindow.SetPosition(7, 30)
    		self.tooltipInfo.SetParent(self.board)
    		self.infoGuildMark.SetParent(self.board)
    		self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
    		self.board.SetOnMouseLeftButtonUpEvent(ui.__mem_func__(self.OnMouseLeftButtonUpEvent))
    		self.Hide()
    
    		miniMap.RegisterAtlasWindow(self)
    
    	def Destroy(self):
    		miniMap.UnregisterAtlasWindow()
    		self.ClearDictionary()
    		self.AtlasMainWindow = None
    		self.tooltipAtlasClose = 0
    		self.tooltipInfo = None
    		self.infoGuildMark = None
    		self.board = None
    
    	def OnUpdate(self):
    
    		if not self.tooltipInfo:
    			return
    
    		if not self.infoGuildMark:
    			return
    
    		self.infoGuildMark.Hide()
    		self.tooltipInfo.Hide()
    
    		if False == self.board.IsIn():
    			return
    
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    
    		if False == bFind:
    			return
    
    		if "empty_guild_area" == sName:
    			sName = localeInfo.GUILD_EMPTY_AREA
    
    		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))
    
    		(x, y) = self.GetGlobalPosition()
    		self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
    		self.tooltipInfo.SetTextColor(dwTextColor)
    		self.tooltipInfo.Show()
    		self.tooltipInfo.SetTop()
    
    		if 0 != dwGuildID:
    			textWidth, textHeight = self.tooltipInfo.GetTextSize()
    			self.infoGuildMark.SetIndex(dwGuildID)
    			self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.Show()
    
    	def Hide(self):
    		if self.AtlasMainWindow:
    			self.AtlasMainWindow.HideAtlas()
    			self.AtlasMainWindow.Hide()
    		ui.ScriptWindow.Hide(self)
    
    	def Show(self):
    		if self.AtlasMainWindow:
    			(bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
    			if bGet:
    				self.SetSize(iSizeX + 15, iSizeY + 38)
    
    				if localeInfo.IsARABIC():
    					self.board.SetPosition(iSizeX+15, 0)
    
    				self.board.SetSize(iSizeX + 15, iSizeY + 38)
    				#self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
    				self.AtlasMainWindow.ShowAtlas()
    				self.AtlasMainWindow.Show()
    		ui.ScriptWindow.Show(self)
    
    	def SetCenterPositionAdjust(self, x, y):
    		self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
    
    	def OnMouseLeftButtonUpEvent(self):
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			net.SendChatPacket("/go %s %s" % (str(iPosX), str(iPosY)))
    
    	def OnPressEscapeKey(self):
    		self.Hide()
    		return True
    
    def __RegisterMiniMapColor(type, rgb):
    	miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
    
    class MiniMap(ui.ScriptWindow):
    
    	CANNOT_SEE_INFO_MAP_DICT = {
    		"metin2_map_monkeydungeon" : False,
    		"metin2_map_monkeydungeon_02" : False,
    		"metin2_map_monkeydungeon_03" : False,
    		"metin2_map_devilsCatacomb" : False,
    	}
    
    	def __init__(self):
    		ui.ScriptWindow.__init__(self)
    
    		self.__Initialize()
    
    		miniMap.Create()
    		miniMap.SetScale(2.0)
    
    		self.AtlasWindow = AtlasWindow()
    		self.AtlasWindow.LoadWindow()
    		self.AtlasWindow.Hide()
    
    		self.tooltipMiniMapOpen = MapTextToolTip()
    		self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = True
    
    		# AUTOBAN
    		self.imprisonmentDuration = 0
    		self.imprisonmentEndTime = 0
    		self.imprisonmentEndTimeText = ""
    		# END_OF_AUTOBAN
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.positionInfo = 0
    		self.observerCount = 0
    		self.timeLine = 0
    		self.fpsInfo = 0
    
    		self.OpenWindow = 0
    		self.CloseWindow = 0
    		self.ScaleUpButton = 0
    		self.ScaleDownButton = 0
    		self.MiniMapHideButton = 0
    		self.MiniMapShowButton = 0
    		self.AtlasShowButton = 0
    
    		self.tooltipMiniMapOpen = 0
    		self.tooltipMiniMapClose = 0
    		self.tooltipScaleUp = 0
    		self.tooltipScaleDown = 0
    		self.tooltipAtlasOpen = 0
    
    		self.tooltipInfo = None
    		self.serverInfo = None
    		self.interface = None
    	
    
    	def SetMapName(self, mapName):
    		self.mapName=mapName
    		self.AtlasWindow.SetMapName(mapName)
    
    		if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
    			self.canSeeInfo = False
    			self.HideMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = True
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    
    	# AUTOBAN
    	def SetImprisonmentDuration(self, duration):
    		self.imprisonmentDuration = duration
    		self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
    
    		self.__UpdateImprisonmentDurationText()
    
    	def __UpdateImprisonmentDurationText(self):
    		restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
    
    		imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
    		if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
    			self.imprisonmentEndTimeText = imprisonmentEndTimeText
    			self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
    	# END_OF_AUTOBAN
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			if localeInfo.IsARABIC():
    				pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "MinimapWindow.py")
    			else:
    				pyScrLoader.LoadScriptFile(self, "UIScript/MinimapWindow.py")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.LoadScript")
    
    		try:
    			self.OpenWindow = self.GetChild("OpenWindow")
    			self.MiniMapWindow = self.GetChild("MiniMapWindow")
    			self.ScaleUpButton = self.GetChild("ScaleUpButton")
    			self.ScaleDownButton = self.GetChild("ScaleDownButton")
    			self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
    			self.AtlasShowButton = self.GetChild("AtlasShowButton")
    			self.CloseWindow = self.GetChild("CloseWindow")
    			self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.timeLine = self.GetChild("TimeLine")
    			self.fpsInfo = self.GetChild("GameFPS")
    			self.observerCount = self.GetChild("ObserverCount")
    			self.serverInfo = self.GetChild("ServerInfo")
    
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    
    		self.timeLine.Show()
    
    		self.serverInfo.SetText(net.GetServerInfo())
    		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
    		self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
    		self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
    		self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
    
    		if miniMap.IsAtlas():
    			self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
    		self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
    		self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
    		self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
    		self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
    		self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		self.ShowMiniMap()
    
    	def Destroy(self):
    		self.HideMiniMap()
    
    		self.AtlasWindow.Destroy()
    		self.AtlasWindow = None
    
    		self.ClearDictionary()
    
    		self.__Initialize()
    
    	def UpdateObserverCount(self, observerCount):
    		if observerCount>0:
    			self.observerCount.Show()
    		elif observerCount<=0:
    			self.observerCount.Hide()
    
    		self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
    
    	def OnUpdate(self):
    		(x, y, z) = player.GetMainCharacterPosition()
    		miniMap.Update(x, y)
    
    
    		if systemSetting.IsShowFrames() == True:
    			self.fpsInfo.Show()
    		else:
    			self.fpsInfo.Hide()
    
    		self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
    		nRenderFPS=app.GetRenderFPS()
    		fps="%3d"%(nRenderFPS)
    		self.fpsInfo.SetText(localeInfo.METIN2_FPS_COUNTER + "" +str(fps))
    		self.timeLine.SetText(time.strftime('[%X - %x]'))
    
    		if self.tooltipInfo:
    			if True == self.MiniMapWindow.IsIn():
    				(mouseX, mouseY) = wndMgr.GetMousePosition()
    				(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()
    
    			# AUTOBAN
    			if self.imprisonmentDuration:
    				self.__UpdateImprisonmentDurationText()
    			# END_OF_AUTOBAN
    
    		if True == self.MiniMapShowButton.IsIn():
    			self.tooltipMiniMapOpen.Show()
    		else:
    			self.tooltipMiniMapOpen.Hide()
    
    		if True == self.MiniMapHideButton.IsIn():
    			self.tooltipMiniMapClose.Show()
    		else:
    			self.tooltipMiniMapClose.Hide()
    
    		if True == self.ScaleUpButton.IsIn():
    			self.tooltipScaleUp.Show()
    		else:
    			self.tooltipScaleUp.Hide()
    
    		if True == self.ScaleDownButton.IsIn():
    			self.tooltipScaleDown.Show()
    		else:
    			self.tooltipScaleDown.Hide()
    
    		if True == self.AtlasShowButton.IsIn():
    			self.tooltipAtlasOpen.Show()
    		else:
    			self.tooltipAtlasOpen.Hide()
    
    
    	def OnRender(self):
    		(x, y) = self.GetGlobalPosition()
    		fx = float(x)
    		fy = float(y)
    		miniMap.Render(fx + 4.0, fy + 5.0)
    
    	def Close(self):
    		self.HideMiniMap()
    
    	def HideMiniMap(self):
    		miniMap.Hide()
    		self.OpenWindow.Hide()
    		self.CloseWindow.Show()
    
    	def ShowMiniMap(self):
    		if not self.canSeeInfo:
    			return
    
    		miniMap.Show()
    		self.OpenWindow.Show()
    		self.CloseWindow.Hide()
    
    	def isShowMiniMap(self):
    		return miniMap.isShow()
    
    	def ScaleUp(self):
    		miniMap.ScaleUp()
    
    	def ScaleDown(self):
    		miniMap.ScaleDown()
    
    	def ShowAtlas(self):
    		if not miniMap.IsAtlas():
    			return
    		if not self.AtlasWindow.IsShow():
    			self.AtlasWindow.Show()
    
    	def ToggleAtlasWindow(self):
    		if not miniMap.IsAtlas():
    			return
    		if self.AtlasWindow.IsShow():
    			self.AtlasWindow.Hide()
    		else:
    			self.AtlasWindow.Show()
    
    	if app.ENABLE_MOVE_CHANNEL:
    		def RefreshServerInfo(self):
    			self.serverInfo.SetText(net.GetServerInfo())
    
    	def BindInterfaceClass(self, interface):
    		self.interface = interface
    
    AI 
    Robot Robot
  • Mesaje: 239
  • Reacții: 0
  • Mesaje utile: 3
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    sosofrg_62955 scrie: In uiminimap.py nu gasesc nimic din ce mi-ai spus tu mai sus asta e tot ce am in uiminimap.py:
    Code:
    import ui
    import uiScriptLocale
    import wndMgr
    import player
    import miniMap
    import localeInfo
    import net
    import app
    import constInfo
    import time
    import systemSetting
    import chr
    
    class MapTextToolTip(ui.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()
    
    class AtlasWindow(ui.ScriptWindow):
    
    	class AtlasRenderer(ui.Window):
    		def __init__(self):
    			ui.Window.__init__(self)
    			self.AddFlag("not_pick")
    
    		def OnUpdate(self):
    			miniMap.UpdateAtlas()
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			fx = float(x)
    			fy = float(y)
    			miniMap.RenderAtlas(fx, fy)
    
    		def HideAtlas(self):
    			miniMap.HideAtlas()
    
    		def ShowAtlas(self):
    			miniMap.ShowAtlas()
    
    	def __init__(self):
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Hide()
    		self.infoGuildMark = ui.MarkBox()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 0
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		try:
    			self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
    		except:
    			pass
    
    	def LoadWindow(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.LoadScript")
    
    		try:
    			self.board = self.GetChild("board")
    
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.BindObject")
    
    		self.AtlasMainWindow = self.AtlasRenderer()
    		self.board.SetCloseEvent(self.Hide)
    		self.AtlasMainWindow.SetParent(self.board)
    		self.AtlasMainWindow.SetPosition(7, 30)
    		self.tooltipInfo.SetParent(self.board)
    		self.infoGuildMark.SetParent(self.board)
    		self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
    		self.board.SetOnMouseLeftButtonUpEvent(ui.__mem_func__(self.OnMouseLeftButtonUpEvent))
    		self.Hide()
    
    		miniMap.RegisterAtlasWindow(self)
    
    	def Destroy(self):
    		miniMap.UnregisterAtlasWindow()
    		self.ClearDictionary()
    		self.AtlasMainWindow = None
    		self.tooltipAtlasClose = 0
    		self.tooltipInfo = None
    		self.infoGuildMark = None
    		self.board = None
    
    	def OnUpdate(self):
    
    		if not self.tooltipInfo:
    			return
    
    		if not self.infoGuildMark:
    			return
    
    		self.infoGuildMark.Hide()
    		self.tooltipInfo.Hide()
    
    		if False == self.board.IsIn():
    			return
    
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    
    		if False == bFind:
    			return
    
    		if "empty_guild_area" == sName:
    			sName = localeInfo.GUILD_EMPTY_AREA
    
    		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))
    
    		(x, y) = self.GetGlobalPosition()
    		self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
    		self.tooltipInfo.SetTextColor(dwTextColor)
    		self.tooltipInfo.Show()
    		self.tooltipInfo.SetTop()
    
    		if 0 != dwGuildID:
    			textWidth, textHeight = self.tooltipInfo.GetTextSize()
    			self.infoGuildMark.SetIndex(dwGuildID)
    			self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.Show()
    
    	def Hide(self):
    		if self.AtlasMainWindow:
    			self.AtlasMainWindow.HideAtlas()
    			self.AtlasMainWindow.Hide()
    		ui.ScriptWindow.Hide(self)
    
    	def Show(self):
    		if self.AtlasMainWindow:
    			(bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
    			if bGet:
    				self.SetSize(iSizeX + 15, iSizeY + 38)
    
    				if localeInfo.IsARABIC():
    					self.board.SetPosition(iSizeX+15, 0)
    
    				self.board.SetSize(iSizeX + 15, iSizeY + 38)
    				#self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
    				self.AtlasMainWindow.ShowAtlas()
    				self.AtlasMainWindow.Show()
    		ui.ScriptWindow.Show(self)
    
    	def SetCenterPositionAdjust(self, x, y):
    		self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
    
    	def OnMouseLeftButtonUpEvent(self):
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			net.SendChatPacket("/go %s %s" % (str(iPosX), str(iPosY)))
    
    	def OnPressEscapeKey(self):
    		self.Hide()
    		return True
    
    def __RegisterMiniMapColor(type, rgb):
    	miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
    
    class MiniMap(ui.ScriptWindow):
    
    	CANNOT_SEE_INFO_MAP_DICT = {
    		"metin2_map_monkeydungeon" : False,
    		"metin2_map_monkeydungeon_02" : False,
    		"metin2_map_monkeydungeon_03" : False,
    		"metin2_map_devilsCatacomb" : False,
    	}
    
    	def __init__(self):
    		ui.ScriptWindow.__init__(self)
    
    		self.__Initialize()
    
    		miniMap.Create()
    		miniMap.SetScale(2.0)
    
    		self.AtlasWindow = AtlasWindow()
    		self.AtlasWindow.LoadWindow()
    		self.AtlasWindow.Hide()
    
    		self.tooltipMiniMapOpen = MapTextToolTip()
    		self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = True
    
    		# AUTOBAN
    		self.imprisonmentDuration = 0
    		self.imprisonmentEndTime = 0
    		self.imprisonmentEndTimeText = ""
    		# END_OF_AUTOBAN
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.positionInfo = 0
    		self.observerCount = 0
    		self.timeLine = 0
    		self.fpsInfo = 0
    
    		self.OpenWindow = 0
    		self.CloseWindow = 0
    		self.ScaleUpButton = 0
    		self.ScaleDownButton = 0
    		self.MiniMapHideButton = 0
    		self.MiniMapShowButton = 0
    		self.AtlasShowButton = 0
    
    		self.tooltipMiniMapOpen = 0
    		self.tooltipMiniMapClose = 0
    		self.tooltipScaleUp = 0
    		self.tooltipScaleDown = 0
    		self.tooltipAtlasOpen = 0
    
    		self.tooltipInfo = None
    		self.serverInfo = None
    		self.interface = None
    	
    
    	def SetMapName(self, mapName):
    		self.mapName=mapName
    		self.AtlasWindow.SetMapName(mapName)
    
    		if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
    			self.canSeeInfo = False
    			self.HideMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = True
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    
    	# AUTOBAN
    	def SetImprisonmentDuration(self, duration):
    		self.imprisonmentDuration = duration
    		self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
    
    		self.__UpdateImprisonmentDurationText()
    
    	def __UpdateImprisonmentDurationText(self):
    		restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
    
    		imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
    		if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
    			self.imprisonmentEndTimeText = imprisonmentEndTimeText
    			self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
    	# END_OF_AUTOBAN
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			if localeInfo.IsARABIC():
    				pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "MinimapWindow.py")
    			else:
    				pyScrLoader.LoadScriptFile(self, "UIScript/MinimapWindow.py")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.LoadScript")
    
    		try:
    			self.OpenWindow = self.GetChild("OpenWindow")
    			self.MiniMapWindow = self.GetChild("MiniMapWindow")
    			self.ScaleUpButton = self.GetChild("ScaleUpButton")
    			self.ScaleDownButton = self.GetChild("ScaleDownButton")
    			self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
    			self.AtlasShowButton = self.GetChild("AtlasShowButton")
    			self.CloseWindow = self.GetChild("CloseWindow")
    			self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.timeLine = self.GetChild("TimeLine")
    			self.fpsInfo = self.GetChild("GameFPS")
    			self.observerCount = self.GetChild("ObserverCount")
    			self.serverInfo = self.GetChild("ServerInfo")
    
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    
    		self.timeLine.Show()
    
    		self.serverInfo.SetText(net.GetServerInfo())
    		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
    		self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
    		self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
    		self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
    
    		if miniMap.IsAtlas():
    			self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
    		self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
    		self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
    		self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
    		self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
    		self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		self.ShowMiniMap()
    
    	def Destroy(self):
    		self.HideMiniMap()
    
    		self.AtlasWindow.Destroy()
    		self.AtlasWindow = None
    
    		self.ClearDictionary()
    
    		self.__Initialize()
    
    	def UpdateObserverCount(self, observerCount):
    		if observerCount>0:
    			self.observerCount.Show()
    		elif observerCount<=0:
    			self.observerCount.Hide()
    
    		self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
    
    	def OnUpdate(self):
    		(x, y, z) = player.GetMainCharacterPosition()
    		miniMap.Update(x, y)
    
    
    		if systemSetting.IsShowFrames() == True:
    			self.fpsInfo.Show()
    		else:
    			self.fpsInfo.Hide()
    
    		self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
    		nRenderFPS=app.GetRenderFPS()
    		fps="%3d"%(nRenderFPS)
    		self.fpsInfo.SetText(localeInfo.METIN2_FPS_COUNTER + "" +str(fps))
    		self.timeLine.SetText(time.strftime('[%X - %x]'))
    
    		if self.tooltipInfo:
    			if True == self.MiniMapWindow.IsIn():
    				(mouseX, mouseY) = wndMgr.GetMousePosition()
    				(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()
    
    			# AUTOBAN
    			if self.imprisonmentDuration:
    				self.__UpdateImprisonmentDurationText()
    			# END_OF_AUTOBAN
    
    		if True == self.MiniMapShowButton.IsIn():
    			self.tooltipMiniMapOpen.Show()
    		else:
    			self.tooltipMiniMapOpen.Hide()
    
    		if True == self.MiniMapHideButton.IsIn():
    			self.tooltipMiniMapClose.Show()
    		else:
    			self.tooltipMiniMapClose.Hide()
    
    		if True == self.ScaleUpButton.IsIn():
    			self.tooltipScaleUp.Show()
    		else:
    			self.tooltipScaleUp.Hide()
    
    		if True == self.ScaleDownButton.IsIn():
    			self.tooltipScaleDown.Show()
    		else:
    			self.tooltipScaleDown.Hide()
    
    		if True == self.AtlasShowButton.IsIn():
    			self.tooltipAtlasOpen.Show()
    		else:
    			self.tooltipAtlasOpen.Hide()
    
    
    	def OnRender(self):
    		(x, y) = self.GetGlobalPosition()
    		fx = float(x)
    		fy = float(y)
    		miniMap.Render(fx + 4.0, fy + 5.0)
    
    	def Close(self):
    		self.HideMiniMap()
    
    	def HideMiniMap(self):
    		miniMap.Hide()
    		self.OpenWindow.Hide()
    		self.CloseWindow.Show()
    
    	def ShowMiniMap(self):
    		if not self.canSeeInfo:
    			return
    
    		miniMap.Show()
    		self.OpenWindow.Show()
    		self.CloseWindow.Hide()
    
    	def isShowMiniMap(self):
    		return miniMap.isShow()
    
    	def ScaleUp(self):
    		miniMap.ScaleUp()
    
    	def ScaleDown(self):
    		miniMap.ScaleDown()
    
    	def ShowAtlas(self):
    		if not miniMap.IsAtlas():
    			return
    		if not self.AtlasWindow.IsShow():
    			self.AtlasWindow.Show()
    
    	def ToggleAtlasWindow(self):
    		if not miniMap.IsAtlas():
    			return
    		if self.AtlasWindow.IsShow():
    			self.AtlasWindow.Hide()
    		else:
    			self.AtlasWindow.Show()
    
    	if app.ENABLE_MOVE_CHANNEL:
    		def RefreshServerInfo(self):
    			self.serverInfo.SetText(net.GetServerInfo())
    
    	def BindInterfaceClass(self, interface):
    		self.interface = interface
    
    Am verificat fișierul uiminimap.py furnizat. Acesta pare a fi un fișier standard.

    Pentru a te ajuta, te rog să specifici exact ce anume căutai sau ce modificare încercai să faci și nu ai găsit în acest fișier.
    Notă: Acesta este un răspuns generat de AI și poate conține erori. Vă rugăm să-l tratați ca atare.

    Link-uri utile:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate gata să te ajute! Click aici
    See full signature
    Membru Ucenic Membru Ucenic
  • Mesaje: 40
  • Reacții: 7
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de sosofrg_62955 »

    Uriel scrie:
    sosofrg_62955 scrie: In uiminimap.py nu gasesc nimic din ce mi-ai spus tu mai sus asta e tot ce am in uiminimap.py:
    Code:
    import ui
    import uiScriptLocale
    import wndMgr
    import player
    import miniMap
    import localeInfo
    import net
    import app
    import constInfo
    import time
    import systemSetting
    import chr
    
    class MapTextToolTip(ui.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()
    
    class AtlasWindow(ui.ScriptWindow):
    
    	class AtlasRenderer(ui.Window):
    		def __init__(self):
    			ui.Window.__init__(self)
    			self.AddFlag("not_pick")
    
    		def OnUpdate(self):
    			miniMap.UpdateAtlas()
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			fx = float(x)
    			fy = float(y)
    			miniMap.RenderAtlas(fx, fy)
    
    		def HideAtlas(self):
    			miniMap.HideAtlas()
    
    		def ShowAtlas(self):
    			miniMap.ShowAtlas()
    
    	def __init__(self):
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Hide()
    		self.infoGuildMark = ui.MarkBox()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 0
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		try:
    			self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
    		except:
    			pass
    
    	def LoadWindow(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.LoadScript")
    
    		try:
    			self.board = self.GetChild("board")
    
    		except:
    			import exception
    			exception.Abort("AtlasWindow.LoadWindow.BindObject")
    
    		self.AtlasMainWindow = self.AtlasRenderer()
    		self.board.SetCloseEvent(self.Hide)
    		self.AtlasMainWindow.SetParent(self.board)
    		self.AtlasMainWindow.SetPosition(7, 30)
    		self.tooltipInfo.SetParent(self.board)
    		self.infoGuildMark.SetParent(self.board)
    		self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
    		self.board.SetOnMouseLeftButtonUpEvent(ui.__mem_func__(self.OnMouseLeftButtonUpEvent))
    		self.Hide()
    
    		miniMap.RegisterAtlasWindow(self)
    
    	def Destroy(self):
    		miniMap.UnregisterAtlasWindow()
    		self.ClearDictionary()
    		self.AtlasMainWindow = None
    		self.tooltipAtlasClose = 0
    		self.tooltipInfo = None
    		self.infoGuildMark = None
    		self.board = None
    
    	def OnUpdate(self):
    
    		if not self.tooltipInfo:
    			return
    
    		if not self.infoGuildMark:
    			return
    
    		self.infoGuildMark.Hide()
    		self.tooltipInfo.Hide()
    
    		if False == self.board.IsIn():
    			return
    
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    
    		if False == bFind:
    			return
    
    		if "empty_guild_area" == sName:
    			sName = localeInfo.GUILD_EMPTY_AREA
    
    		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))
    
    		(x, y) = self.GetGlobalPosition()
    		self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
    		self.tooltipInfo.SetTextColor(dwTextColor)
    		self.tooltipInfo.Show()
    		self.tooltipInfo.SetTop()
    
    		if 0 != dwGuildID:
    			textWidth, textHeight = self.tooltipInfo.GetTextSize()
    			self.infoGuildMark.SetIndex(dwGuildID)
    			self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.Show()
    
    	def Hide(self):
    		if self.AtlasMainWindow:
    			self.AtlasMainWindow.HideAtlas()
    			self.AtlasMainWindow.Hide()
    		ui.ScriptWindow.Hide(self)
    
    	def Show(self):
    		if self.AtlasMainWindow:
    			(bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
    			if bGet:
    				self.SetSize(iSizeX + 15, iSizeY + 38)
    
    				if localeInfo.IsARABIC():
    					self.board.SetPosition(iSizeX+15, 0)
    
    				self.board.SetSize(iSizeX + 15, iSizeY + 38)
    				#self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
    				self.AtlasMainWindow.ShowAtlas()
    				self.AtlasMainWindow.Show()
    		ui.ScriptWindow.Show(self)
    
    	def SetCenterPositionAdjust(self, x, y):
    		self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
    
    	def OnMouseLeftButtonUpEvent(self):
    		(mouseX, mouseY) = wndMgr.GetMousePosition()
    		(bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			net.SendChatPacket("/go %s %s" % (str(iPosX), str(iPosY)))
    
    	def OnPressEscapeKey(self):
    		self.Hide()
    		return True
    
    def __RegisterMiniMapColor(type, rgb):
    	miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
    
    class MiniMap(ui.ScriptWindow):
    
    	CANNOT_SEE_INFO_MAP_DICT = {
    		"metin2_map_monkeydungeon" : False,
    		"metin2_map_monkeydungeon_02" : False,
    		"metin2_map_monkeydungeon_03" : False,
    		"metin2_map_devilsCatacomb" : False,
    	}
    
    	def __init__(self):
    		ui.ScriptWindow.__init__(self)
    
    		self.__Initialize()
    
    		miniMap.Create()
    		miniMap.SetScale(2.0)
    
    		self.AtlasWindow = AtlasWindow()
    		self.AtlasWindow.LoadWindow()
    		self.AtlasWindow.Hide()
    
    		self.tooltipMiniMapOpen = MapTextToolTip()
    		self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = True
    
    		# AUTOBAN
    		self.imprisonmentDuration = 0
    		self.imprisonmentEndTime = 0
    		self.imprisonmentEndTimeText = ""
    		# END_OF_AUTOBAN
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.positionInfo = 0
    		self.observerCount = 0
    		self.timeLine = 0
    		self.fpsInfo = 0
    
    		self.OpenWindow = 0
    		self.CloseWindow = 0
    		self.ScaleUpButton = 0
    		self.ScaleDownButton = 0
    		self.MiniMapHideButton = 0
    		self.MiniMapShowButton = 0
    		self.AtlasShowButton = 0
    
    		self.tooltipMiniMapOpen = 0
    		self.tooltipMiniMapClose = 0
    		self.tooltipScaleUp = 0
    		self.tooltipScaleDown = 0
    		self.tooltipAtlasOpen = 0
    
    		self.tooltipInfo = None
    		self.serverInfo = None
    		self.interface = None
    	
    
    	def SetMapName(self, mapName):
    		self.mapName=mapName
    		self.AtlasWindow.SetMapName(mapName)
    
    		if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
    			self.canSeeInfo = False
    			self.HideMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = True
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
    
    	# AUTOBAN
    	def SetImprisonmentDuration(self, duration):
    		self.imprisonmentDuration = duration
    		self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
    
    		self.__UpdateImprisonmentDurationText()
    
    	def __UpdateImprisonmentDurationText(self):
    		restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
    
    		imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
    		if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
    			self.imprisonmentEndTimeText = imprisonmentEndTimeText
    			self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
    	# END_OF_AUTOBAN
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			if localeInfo.IsARABIC():
    				pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "MinimapWindow.py")
    			else:
    				pyScrLoader.LoadScriptFile(self, "UIScript/MinimapWindow.py")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.LoadScript")
    
    		try:
    			self.OpenWindow = self.GetChild("OpenWindow")
    			self.MiniMapWindow = self.GetChild("MiniMapWindow")
    			self.ScaleUpButton = self.GetChild("ScaleUpButton")
    			self.ScaleDownButton = self.GetChild("ScaleDownButton")
    			self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
    			self.AtlasShowButton = self.GetChild("AtlasShowButton")
    			self.CloseWindow = self.GetChild("CloseWindow")
    			self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.timeLine = self.GetChild("TimeLine")
    			self.fpsInfo = self.GetChild("GameFPS")
    			self.observerCount = self.GetChild("ObserverCount")
    			self.serverInfo = self.GetChild("ServerInfo")
    
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    
    		self.timeLine.Show()
    
    		self.serverInfo.SetText(net.GetServerInfo())
    		self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
    		self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
    		self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
    		self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
    
    		if miniMap.IsAtlas():
    			self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
    		self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
    		self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
    		self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
    		self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		(ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
    		self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
    
    		self.ShowMiniMap()
    
    	def Destroy(self):
    		self.HideMiniMap()
    
    		self.AtlasWindow.Destroy()
    		self.AtlasWindow = None
    
    		self.ClearDictionary()
    
    		self.__Initialize()
    
    	def UpdateObserverCount(self, observerCount):
    		if observerCount>0:
    			self.observerCount.Show()
    		elif observerCount<=0:
    			self.observerCount.Hide()
    
    		self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
    
    	def OnUpdate(self):
    		(x, y, z) = player.GetMainCharacterPosition()
    		miniMap.Update(x, y)
    
    
    		if systemSetting.IsShowFrames() == True:
    			self.fpsInfo.Show()
    		else:
    			self.fpsInfo.Hide()
    
    		self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))
    		nRenderFPS=app.GetRenderFPS()
    		fps="%3d"%(nRenderFPS)
    		self.fpsInfo.SetText(localeInfo.METIN2_FPS_COUNTER + "" +str(fps))
    		self.timeLine.SetText(time.strftime('[%X - %x]'))
    
    		if self.tooltipInfo:
    			if True == self.MiniMapWindow.IsIn():
    				(mouseX, mouseY) = wndMgr.GetMousePosition()
    				(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()
    
    			# AUTOBAN
    			if self.imprisonmentDuration:
    				self.__UpdateImprisonmentDurationText()
    			# END_OF_AUTOBAN
    
    		if True == self.MiniMapShowButton.IsIn():
    			self.tooltipMiniMapOpen.Show()
    		else:
    			self.tooltipMiniMapOpen.Hide()
    
    		if True == self.MiniMapHideButton.IsIn():
    			self.tooltipMiniMapClose.Show()
    		else:
    			self.tooltipMiniMapClose.Hide()
    
    		if True == self.ScaleUpButton.IsIn():
    			self.tooltipScaleUp.Show()
    		else:
    			self.tooltipScaleUp.Hide()
    
    		if True == self.ScaleDownButton.IsIn():
    			self.tooltipScaleDown.Show()
    		else:
    			self.tooltipScaleDown.Hide()
    
    		if True == self.AtlasShowButton.IsIn():
    			self.tooltipAtlasOpen.Show()
    		else:
    			self.tooltipAtlasOpen.Hide()
    
    
    	def OnRender(self):
    		(x, y) = self.GetGlobalPosition()
    		fx = float(x)
    		fy = float(y)
    		miniMap.Render(fx + 4.0, fy + 5.0)
    
    	def Close(self):
    		self.HideMiniMap()
    
    	def HideMiniMap(self):
    		miniMap.Hide()
    		self.OpenWindow.Hide()
    		self.CloseWindow.Show()
    
    	def ShowMiniMap(self):
    		if not self.canSeeInfo:
    			return
    
    		miniMap.Show()
    		self.OpenWindow.Show()
    		self.CloseWindow.Hide()
    
    	def isShowMiniMap(self):
    		return miniMap.isShow()
    
    	def ScaleUp(self):
    		miniMap.ScaleUp()
    
    	def ScaleDown(self):
    		miniMap.ScaleDown()
    
    	def ShowAtlas(self):
    		if not miniMap.IsAtlas():
    			return
    		if not self.AtlasWindow.IsShow():
    			self.AtlasWindow.Show()
    
    	def ToggleAtlasWindow(self):
    		if not miniMap.IsAtlas():
    			return
    		if self.AtlasWindow.IsShow():
    			self.AtlasWindow.Hide()
    		else:
    			self.AtlasWindow.Show()
    
    	if app.ENABLE_MOVE_CHANNEL:
    		def RefreshServerInfo(self):
    			self.serverInfo.SetText(net.GetServerInfo())
    
    	def BindInterfaceClass(self, interface):
    		self.interface = interface
    
    Am verificat fișierul uiminimap.py furnizat. Acesta pare a fi un fișier standard.

    Pentru a te ajuta, te rog să specifici exact ce anume căutai sau ce modificare încercai să faci și nu ai găsit în acest fișier.
    Bun sa reluam dece nu imi arata npc-uriile pe minimap imi arata doar mobi si playerii
    AI 
    Robot Robot
  • Mesaje: 239
  • Reacții: 0
  • Mesaje utile: 3
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    sosofrg_62955 scrie: Bun sa reluam dece nu imi arata npc-uriile pe minimap imi arata doar mobi si playerii
    Verifică opțiunea "Afișează NPC-uri pe minimap" în Opțiuni Sistem din joc.
    Notă: Acesta este un răspuns generat de AI și poate conține erori. Vă rugăm să-l tratați ca atare.

    Link-uri utile:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate gata să te ajute! Click aici
    See full signature
    Membru Ucenic Membru Ucenic
  • Mesaje: 40
  • Reacții: 7
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de sosofrg_62955 »

    Uriel scrie:
    sosofrg_62955 scrie: Bun sa reluam dece nu imi arata npc-uriile pe minimap imi arata doar mobi si playerii
    Verifică opțiunea "Afișează NPC-uri pe minimap" în Opțiuni Sistem din joc.
    Nu am aceasta optiune ce sa fac?
    AI 
    Robot Robot
  • Mesaje: 239
  • Reacții: 0
  • Mesaje utile: 3
  • Status: Sunt doar un Bot :)
  • Regat: Shinsoo
  • Contact:

    Medalii

    Avatar utilizator
    Robot
    Robot

    Mesaj de Uriel »

    sosofrg_62955 scrie: Nu am aceasta optiune ce sa fac?
    Ce opțiune îți lipsește și unde ar trebui să o găsești?
    Notă: Acesta este un răspuns generat de AI și poate conține erori. Vă rugăm să-l tratați ca atare.

    Link-uri utile:

    - Alte probleme rezolvate
    - Fixuri Metin2
    - Tutoriale
    - Cum resetez parola MySQL
    - Compilare sursă Metin2
    - Lista FreeBSD pentru compilare


    Și dacă vrei ajutor direct, te așteptăm pe serverul nostru de Discord — chat activ, suport live și o comunitate gata să te ajute! Click aici
    See full signature
    Membru Ucenic Membru Ucenic
  • Mesaje: 40
  • Reacții: 7
  • Mesaje utile: 1
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de sosofrg_62955 »

    problema rezolvata lipsea :
    Code:
    m_NPCPositionVector.push_back(aMarkPosition);
    din
    Code:
    else if (pkInstEach->IsNPC())
    {
        aMarkPosition.m_fX = ( m_fWidth - (float)m_WhiteMark.GetWidth() ) / 2.0f + fDistanceFromCenterX + m_fScreenX;
        aMarkPosition.m_fY = ( m_fHeight - (float)m_WhiteMark.GetHeight() ) / 2.0f + fDistanceFromCenterY + m_fScreenY;
    }

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Support”

    Informații

    Utilizatori ce navighează pe acest forum: sosofrg_62955 și 6 vizitatori

    Discord ID copiat: