[Guia] Reloj en cliente{Completa}

Topic created · 21 Mensajes · 2961 Visitas
  • infierno tu prloma es que el codigo que copeas no lo pegas pegado ala primera linea osea lodejas separado debes de dejarlo pegadodo ala linea

  • Edito: Ya me funciona xD recomiendo ke no lo copieis todo y meterlo de golpe ir mirando los sitio ke os faltan letras y lo vais metiendo azin lo ice yop troll te llevas un gracias

  • Edito: Ya me funciono.

  • alguien porfa q se suba los archivos ya modificados y q le haya fuincionado... q a mi no me funciona xD... me refiero al uiminimap.py... el costinfo.py y el otro xD.... porfa porfa no habandoneis al caido....

  • @Jhoemb said:

    alguien porfa q se suba los archivos ya modificados y q le haya fuincionado... q a mi no me funciona xD... me refiero al uiminimap.py... el costinfo.py y el otro xD.... porfa porfa no habandoneis al caido....

    xD revisa el post ya adjunte los archivos que uso en el cliente actual

  • @Mr.Troll said:

    ¡Si no quieren hacer los pasos dejo adjuntados los archivos!

    Hola! como hace rato sacaron la guía de poner reloj a tu cliente yo a xD se lo voy a poner al hidra LOL pero que va no me gusto te quitaba el posicionamiento y yo dije que si encontraba la solución la postearia y pues aquí vengo aunque siempre vengo a postearla mas de 2 semanas después de descubierto hoy les traigo los archivos listos para usar esta es una mini guía de como ponerlo se los hago mucho mas fácil poniendo un 1 o un 0 en el constinfo.py,ya que mucha gente no va a saber como activárselo o desactivárselo manualmente teniendo que cambiar a archivos vírgenes para que no se muestre pues no eso ya está muy anticuado como poner el tooltip en el .py xD bueno iniciemos.

    De-compilas el root y el uiscript

    en el root edita el archivo con NotePad++:

    uiminimap.py
    

    Selecciona todo el texto del archivo abierto con

    Ctrl+A
    

    Y apretas:

    Barra espaciadora o tecla espacio
    

    ahora pegas lo suiguiente:

    import ui
    import wndMgr
    import player
    import miniMap
    import locale
    import net
    import app
    import colorInfo
    import constInfo
    import background
    import time  
     
    
    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()
    		t = time.time()  
    		self.textLine = textLine
    
    	def __del__(self):			
    		ui.Window.__del__(self)
    
    	def SetText(self, text):
    		self.textLine.SetText(text)
    
    	def SetTooltipPosition(self, PosX, PosY):
    		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.Load()
    		self.infoGuildMark.Hide()
    		self.AtlasMainWindow = None
    		self.mapName = ""
    		self.board = 1
    
    		ui.ScriptWindow.__init__(self)
    
    	def __del__(self):
    		ui.ScriptWindow.__del__(self)
    
    	def SetMapName(self, mapName):
    		if 949==app.GetDefaultCodePage():
    			try:
    				self.board.SetTitleName(locale.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.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 = locale.GUILD_EMPTY_AREA
    
    		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.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
    			self.infoGuildMark.SetIndex(dwGuildID)
    			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)
    				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 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,
    	}
    
    	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(locale.MINIMAP)
    		self.tooltipMiniMapOpen.Show()
    		self.tooltipMiniMapClose = MapTextToolTip()
    		self.tooltipMiniMapClose.SetText(locale.UI_CLOSE)
    		self.tooltipMiniMapClose.Show()
    		self.tooltipScaleUp = MapTextToolTip()
    		self.tooltipScaleUp.SetText(locale.MINIMAP_INC_SCALE)
    		self.tooltipScaleUp.Show()
    		self.tooltipScaleDown = MapTextToolTip()
    		self.tooltipScaleDown.SetText(locale.MINIMAP_DEC_SCALE)
    		self.tooltipScaleDown.Show()
    		self.tooltipAtlasOpen = MapTextToolTip()
    		self.tooltipAtlasOpen.SetText(locale.MINIMAP_SHOW_AREAMAP)
    		self.tooltipAtlasOpen.Show()
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		if miniMap.IsAtlas():
    			self.tooltipAtlasOpen.SetText(locale.MINIMAP_SHOW_AREAMAP)
    		else:
    			self.tooltipAtlasOpen.SetText(locale.MINIMAP_CAN_NOT_SHOW_AREAMAP)
    
    		self.tooltipInfo = MapTextToolTip()
    		self.tooltipInfo.Show()
    
    		self.mapName = ""
    
    		self.isLoaded = 0
    		self.canSeeInfo = TRUE
    
    	def __del__(self):
    		miniMap.Destroy()
    		ui.ScriptWindow.__del__(self)
    
    	def __Initialize(self):
    		self.Hora = 0
    		self.positionInfo = 0
    		self.observerCount = 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
    
    	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(locale.MINIMAP_CANNOT_SEE)
    		else:
    			self.canSeeInfo = TRUE
    			self.ShowMiniMap()
    			self.tooltipMiniMapOpen.SetText(locale.MINIMAP)
    
    	def Show(self):
    		self.__LoadWindow()
    
    		ui.ScriptWindow.Show(self)
    
    	def __LoadWindow(self):
    		if self.isLoaded == 1:
    			return
    
    		self.isLoaded = 1
    
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/MiniMap.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.Hora = self.GetChild("Hora")
    			self.positionInfo = self.GetChild("PositionInfo")
    			self.observerCount = self.GetChild("ObserverCount")
    			serverInfo = self.GetChild("ServerInfo")
    		except:
    			import exception
    			exception.Abort("MiniMap.LoadWindow.Bind")
    
    		if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
    			self.positionInfo.Hide()
    		if constInfo.HORA_VISIBLE==0:
    			self.Hora.Hide()
    
    		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
    

    no men... no es q no esté entendible.. esta muy claro.. jeje... pero no se por ahi debe haber un error no se cual sera... a lo mejor sea q en el cliente q estoy usando no funcione asi o quien sabe xD... pero igual voy a utilizar los archivos q subiste y te cuento... muchas gracias... :wiii:

  • Muchísimas Gracias funciona a la perfección te mereces un +1 de todos :wiii:

  • perdon , ami no me sale el uiscritp(me aparece en root uiscriptlocale) 😞

  • @cstrikeman said:

    perdon , ami no me sale el uiscritp

    se refiere al que esta en la carpeta pack, que se llama uiscript.eix/epk
    lo descomprimes y ahí veras el minimap.py xD

    sldz!

  • gracias pedroso, con razon no lo encontraba el archivo (estaba descompilado dentro de la raiz XD)
    aver si me va si nooooooo te mando a mil y pico curritos con la pala xD
    pues no me va O_O algo habre echo mal en fin muy buen aporte a mi me ha gustado