ELITE CAOS - TODOS OS HACKS E SERVIDORES ATUALIZADOS 2016
Eae Convidado

ENTRA AI E CURTI A PAGINA PARA VER SERVERS DE METIN2 PVP :

https://www.facebook.com/metin2servers

SEJA FELIZ AQUI NO ELITECAOS

Relógio no Cliente

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Relógio no Cliente

Mensagem por biffjunior em Seg 28 Nov 2011 - 23:10

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:
[Você precisa estar registrado e conectado para ver esta imagem.]

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

[Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.][Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]
[Você precisa estar registrado e conectado para ver esta imagem.]

biffjunior
™Level 2™
™Level 2™

Cheia
Mensagens Mensagens : 65
Agradeçimento Agradeçimento : 7
Nascimento Nascimento : 19/11/1980
Inscriçao Inscriçao : 02/02/2011
Idade Idade : 36
Localização Localização : Lisboa Portugaul

Voltar ao Topo Ir em baixo

Re: Relógio no Cliente

Mensagem por bengipt em Seg 25 Jun 2012 - 16:22

Isto a mim não me deu , quando vou para iniciar a char . Processo de Login em Progresso e não passa dai, alguem dá uma ajudinha ?

bengipt
™Level 1™
™Level 1™

Cheia
Mensagens Mensagens : 2
Agradeçimento Agradeçimento : 0
Inscriçao Inscriçao : 01/08/2011

Voltar ao Topo Ir em baixo

Re: Relógio no Cliente

Mensagem por igor1220 em Seg 25 Jun 2012 - 17:06

Eu não consegui, porque quando logo o cliente fecha, mais ótimo tutu Very Happy

igor1220
™Level 3™
™Level 3™

Cheia
Mensagens Mensagens : 261
Agradeçimento Agradeçimento : 166
Nascimento Nascimento : 04/07/1998
Inscriçao Inscriçao : 28/10/2011
Idade Idade : 18
Localização Localização : Goiânia

Voltar ao Topo Ir em baixo

Re: Relógio no Cliente

Mensagem por Conteúdo patrocinado Hoje à(s) 7:40


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum