biffjunior Colaborador
Mensagens : 325 Idade : 44 Data de inscrição : 20/11/2011 Localização : Lisboa
Personagem Level: Moderador Global Metin2 Nome: Biff Júnior Jogo: Metin2 Oficial Alemanha https://www.youtube.com/watch?v=cwDDZ-Bc5sA
| Assunto: Relógio no Cliente Ter 29 Nov 2011 - 21:47 | |
| Uma vês eu queria saber como por relógio no Cliente mim passaram uma configuração que o relógio funcionava porem a codernada sumia por que as horas ficava no local das codernadas então eu parei de ficar só pedindo e resolvi estudar e fazer bonito então aqui la vai duas semanas após a descoberta de hoje eu trago os arquivos prontos para usar um mini-guia sobre como colocá-lo muito mais fácil de fazê-las, colocando um 1 ou um 0 no constinfo.py, já que muitas pessoas não vão para saber como activar ou desactivar manualmente ter que mudar para arquivos virgem não se encontram visíveis porque já não é muito datada e colocar no tooltip. py começar bom. Extrai root e uiscript na root editar o arquivo com o Notepad + + - Código:
-
uiminimap.py Selecionar todo o texto no arquivo aberto com - Código:
-
Ctrl+A E pressione - Código:
-
Barra de espaço ou espaço-chave suiguiente agora cole-a - Spoiler:
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<=0: self.observerCount.Hide()
self.observerCount.SetText(locale.MINIMAP_OBSERVER_COUNT % observerCount) def OnUpdate(self): (x, y, z) = player.GetMainCharacterPosition() miniMap.Update(x, y) self.positionInfo.SetText("%.0f, %.0f" % (x/100, y/100)) self.Hora.SetText(time.strftime('Hora actual %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, locale.UI_POS_UNKNOWN)) self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY) self.tooltipInfo.SetTextColor(dwTextColor) self.tooltipInfo.Show() 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()
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): self.ToggleAtlasWindow()
def ToggleAtlasWindow(self):
if not miniMap.IsAtlas(): return
if self.AtlasWindow.IsShow(): self.AtlasWindow.Hide() else: self.AtlasWindow.Show()
Salve e feche agora ir com o seguinte arquivo - Código:
-
constinfo.py Buscamos o texto - Código:
-
TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE = 10 Cole o texto abaixo - Código:
-
HORA_VISIBLE = 1 #1= Activado 0= Desactivado Salve e feche o bloco de notas Agora vamos para uiscript, procure este arquivo: - Código:
-
minimap.py Abra-o com notepad selecione todos e agora bateu a barra de espaço como se segue: - Spoiler:
ROOT = "d:/ymir work/ui/minimap/"
window = { "name" : "MiniMap",
"x" : SCREEN_WIDTH - 136, "y" : 0,
"width" : 136, "height" : 137,
"children" : ( ## OpenWindow { "name" : "OpenWindow", "type" : "window",
"x" : 0, "y" : 0,
"width" : 136, "height" : 137,
"children" : ( { "name" : "OpenWindowBGI", "type" : "image", "x" : 0, "y" : 0, "image" : ROOT + "minimap.sub", }, ## MiniMapWindow { "name" : "MiniMapWindow", "type" : "window",
"x" : 4, "y" : 5,
"width" : 128, "height" : 128, }, ## ScaleUpButton { "name" : "ScaleUpButton", "type" : "button",
"x" : 101, "y" : 116,
"default_image" : ROOT + "minimap_scaleup_default.sub", "over_image" : ROOT + "minimap_scaleup_over.sub", "down_image" : ROOT + "minimap_scaleup_down.sub", }, ## ScaleDownButton { "name" : "ScaleDownButton", "type" : "button",
"x" : 115, "y" : 103,
"default_image" : ROOT + "minimap_scaledown_default.sub", "over_image" : ROOT + "minimap_scaledown_over.sub", "down_image" : ROOT + "minimap_scaledown_down.sub", }, ## MiniMapHideButton { "name" : "MiniMapHideButton", "type" : "button",
"x" : 111, "y" : 6,
"default_image" : ROOT + "minimap_close_default.sub", "over_image" : ROOT + "minimap_close_over.sub", "down_image" : ROOT + "minimap_close_down.sub", }, ## AtlasShowButton { "name" : "AtlasShowButton", "type" : "button",
"x" : 12, "y" : 12,
"default_image" : ROOT + "atlas_open_default.sub", "over_image" : ROOT + "atlas_open_over.sub", "down_image" : ROOT + "atlas_open_down.sub", }, ## ServerInfo { "name" : "ServerInfo", "type" : "text", "text_horizontal_align" : "center",
"outline" : 1,
"x" : 70, "y" : 140,
"text" : "", }, ## PositionInfo { "name" : "PositionInfo", "type" : "text", "text_horizontal_align" : "center",
"outline" : 1,
"x" : 70, "y" : 160,
"text" : "", }, ## Hora implementada por Mrs.Troll { "name" : "Hora", "type" : "text", "text_horizontal_align" : "center",
"outline" : 1,
"x" : 70, "y" : 150,
"text" : "", }, ## ObserverCount { "name" : "ObserverCount", "type" : "text", "text_horizontal_align" : "center",
"outline" : 1,
"x" : 70, "y" : 180,
"text" : "", }, ), }, { "name" : "CloseWindow", "type" : "window",
"x" : 0, "y" : 0,
"width" : 132, "height" : 48, "children" : ( ## ShowButton { "name" : "MiniMapShowButton", "type" : "button",
"x" : 100, "y" : 4, "default_image" : ROOT + "minimap_open_default.sub", "over_image" : ROOT + "minimap_open_default.sub", "down_image" : ROOT + "minimap_open_default.sub", }, ), }, ), }
compilar você log e você tem o tempo. Agora, um conjunto anteriormete se eu colocar: - Código:
-
HORA_VISIBLE = 1 #1= Activado 0= Desactivado Onde se você colocar um 1 após = esta opcioón sew mostrar o tempo e se você colocar 0 depois = não visível será na Uma foto para ver - Spoiler:
O relógio não é descoberto por mim é como eu dizer isso já foi postado eu só fis algumas alterações pois o primeiro relógio subistituia as codernadas dos mapas então eu só abrir um espaço pra editar as horas e saber como era iria se comportar na interface Eu fui forçado a mudar o título que aparentemente não era compreensível | |
|