Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zegarek i Data przy minimapie


Nexicoll

Rekomendowane odpowiedzi

Opublikowano

Bez Gadania, efekt dobrze wykonanej roboty

8m0s.jpg

 

Otwieramy uiscript --> minimap i nad

## ObserverCount
dodajemy
http://wklej.to/C6FrS
, następnie root --> uiminimap i pod
erverInfo = self.GetChild("ServerInfo")
dodajemy
http://wklej.to/9ggYu
, teraz szukamy
def OnUpdate(self):
u mnie to linijka 346 i pod tym dodajemy
http://wklej.to/usYgq
Zapomniał bym, u samej góry pliku uiminimap dodajemy linijkę
import time

PS. Wiem że był zegarek, ale dorzuciłem w pakiecie :D

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

Zaraz stestuje, a nie dało by się to zrobić odrazu pod tym ~ MT2 ~, bo taki odstęp ..

[√] 50 postów
[√] 100 postów
[√] 250 postów

[√] 500 postów

[x] 800 postów

Opublikowano

Bo ja mam rąbniętego klienta kordów nie widzę, a dałem tak nisko bo jeszcze jak jesteśmy na wojnie gildi to mamy linijkę Observatorów i by się nakładały, z tego powodu tak nisko :D

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

Bo ja mam rąbniętego klienta kordów nie widzę, a dałem tak nisko bo jeszcze jak jesteśmy na wojnie gildi to mamy linijkę Observatorów i by się nakładały, z tego powodu tak nisko :D

 

Ja u siebie linijkę obserwatorów obniżyłem. :P

1011932_514376648616209_1943977858_n.png
Opublikowano

Bardzo ładnie , wszystko opisane dla nowicjuszy ,którzy nie piszą w języku pythona .

Rewelacyjny efekt takie szczegóły robią różnicę w grze .

PS. To się odnosi do zegara na komputerze ? - bo jeżeli tak to można sobie zmienić datę i skrypt leży .

Opublikowano


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()

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.Hide()

self.AtlasMainWindow = None

self.mapName = ""

self.board = 0

 

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.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)

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.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.positionInfo = self.GetChild("PositionInfo")

self.observerCount = self.GetChild("ObserverCount")

serverInfo = self.GetChild("ServerInfo")

self.Time = self.GetChild("Time")

self.Day = self.GetChild("Date")

except:

import exception

exception.Abort("MiniMap.LoadWindow.Bind")

 

if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:

self.positionInfo.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):

self.Time.SetText(str("[" + time.strftime("%H:%M:%S") + "]"))

self.Day.SetText(str("[" + time.strftime("%Y-%m-%d") + "]"))

(x, y, z) = player.GetMainCharacterPosition()

miniMap.Update(x, y)

 

self.positionInfo.SetText("(%.0f, %.0f)" % (x/100, y/100))

 

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()

 

\

Opublikowano

Dziwne bo tutaj niby jest dobrze. A na pewno masz dodane w uiscript --> minimap ?

Ewentualnie te linijki

 

self.Time.SetText(str("[" + time.strftime("%H:%M:%S") + "]"))

self.Day.SetText(str("[" + time.strftime("%Y-%m-%d") + "]"))

 

daj na sam dół OnUpdate, czyli tuż nad

def OnRender(self):

nexi.png

 

CYTOWAĆ MOJE POSTY, JEŚLI LICZYCIE NA POMOC !!

Opublikowano

Mógłby ktoś wstawić gotowe pliki minimap.py i uiminimap.py ? wynagradzam lajkami i 5 w profilu

  • 2 tygodnie później...
Opublikowano

Mógłby ktoś dać uiMiniMap.py

Niby wszystko dobrze zrobiłem ale nie widać tego zegarka :(.

 

Sysser

 

 

 

0823 14:08:22069 ::   File "uiMiniMap.py", line 53, in OnUpdate

0823 14:08:22069 :: AttributeError
0823 14:08:22069 :: :
0823 14:08:22069 :: 'AtlasRenderer' object has no attribute 'Time'
0823 14:08:22069 ::

4069914545198581480131.png

Opublikowano

 

Mógłby ktoś dać uiMiniMap.py

Niby wszystko dobrze zrobiłem ale nie widać tego zegarka :(.

 

Sysser

 

 

 

0823 14:08:22069 ::   File "uiMiniMap.py", line 53, in OnUpdate

0823 14:08:22069 :: AttributeError
0823 14:08:22069 :: :
0823 14:08:22069 :: 'AtlasRenderer' object has no attribute 'Time'
0823 14:08:22069 ::

nie zainportowales time

Bez-nazwy_nwpsash.png


by me


Opublikowano

Data i czas się chowają przy zamknięciu minimapy?

w UIscript masz dopisane do minimapy, tak zamyka sie

Bez-nazwy_nwpsash.png


by me


Opublikowano

To Ty nie wiesz? Twórca plików serwerowych i osoba z source game?

 

Chowają się.

No no tylko że ja tak nie powiedziałem. To tylko twoje urojenia więc spłoń.

2 linijka ( tak twoja mama mówiła gdy zobaczyła twoją twarz przy rodzeniu )

Jestem LarsRavson: Moje umiejętności to: Lua: Poziom Expert- Asm: Poziom Expert- Python: Poziom Expert Mogę tak pisać do jutra!

Ale prawda jest taka że potrafię to tylko pisać!
  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...