You last visited: Today at 17:07
Advertisement
[Release] Client-Interface {"illumina"} - Free code by Robert
Discussion on [Release] Client-Interface {"illumina"} - Free code by Robert within the Metin2 PServer Designs, Websites & Scripts forum part of the Metin2 Private Server category.
07/24/2016, 21:46
#1
elite*gold: 0
Join Date: Feb 2016
Posts: 18
Received Thanks: 73
[Release] Client-Interface {"illumina"} - Free code by Robert
Hello, hello
This interface was created by
King Sora and when released files , many people tried to create their own code , but not many have succeeded.
I put my code below and resources . But for those who want to try them to create their own code or resources for those who want the original then you can take it from
.
Be careful! If you do not understand , or you do not know to install this interface , ask a technician or a developer . For those trying this code:
Be careful to TABs .
Current status:
Concepts:
Character Window
Guild Window
Inventar Window
Options
Menu
Menu group
Group
Friends list & Whisper
I finished all interface, but lasts up I do the tutorial. Sorry for my bad english
Push the button "
Thanks " if you have used this interface. I worked a lot to it.
Add files from
in folder
pack and add in
index :
1.Board
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class Board(Window):
Replace this code:
Code:
class Board(Window):
CORNER_WIDTH = 32
CORNER_HEIGHT = 32
LINE_WIDTH = 128
LINE_HEIGHT = 128
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self):
Window.__init__(self)
self.MakeBoard("d:/ymir work/ui/pattern/Board_Corner_", "d:/ymir work/ui/pattern/Board_Line_")
self.MakeBase()
def MakeBoard(self, cornerPath, linePath, decorPath):
CornerFileNames = [ cornerPath+dir+".tga" for dir in ("LeftTop", "LeftBottom", "RightTop", "RightBottom", ) ]
LineFileNames = [ linePath+dir+".tga" for dir in ("Left", "Right", "Top", "Bottom", ) ]
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def MakeBase(self):
self.Base = ExpandedImageBox()
self.Base.AddFlag("not_pick")
self.Base.LoadImage("d:/ymir work/ui/pattern/Board_Base.tga")
self.Base.SetParent(self)
self.Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Base.Show()
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
if self.Base:
self.Base.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
With this:
Code:
class Board(Window):
CORNER_WIDTH = 55
CORNER_HEIGHT = 55
LINE_WIDTH = 128
LINE_HEIGHT = 128
UT = 0
UB = 1
UR = 2
UL = 3
ULT = 0
ULB = 1
URT = 2
URB = 3
D = 0
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self):
Window.__init__(self)
self.MakeBoard("kanort_work/images/controls/common/board/shadow_bar_", "kanort_work/images/controls/common/board/shadow_corner_", "kanort_work/images/controls/common/board/corner_", "kanort_work/images/controls/common/board/bar_", "kanort_work/images/controls/common/board/decoration_" )
self.MakeBase()
self.MakeShadow()
def MakeBoard(self, shadowbarPath, shadowcornerPath, cornerPath, linePath, decorPath):
ShadowbarFileNames = [ shadowbarPath+dir+".tga" for dir in ("top", "bottom", "right", "left", ) ]
ShadowcornerFileNames = [ shadowcornerPath+dir+".tga" for dir in ("lefttop", "leftbottom", "righttop", "rightbottom", ) ]
CornerFileNames = [ cornerPath+dir+".tga" for dir in ("lefttop", "leftbottom", "righttop", "rightbottom", ) ]
LineFileNames = [ linePath+dir+".tga" for dir in ("left", "right", "top", "bottom", ) ]
DecorFileNames = [ decorPath+dir+".tga" for dir in ("leftbottom", ) ]
self.Shadowbar = []
for fileName in ShadowbarFileNames:
Shadowbar = ExpandedImageBox()
Shadowbar.AddFlag("not_pick")
Shadowbar.LoadImage(fileName)
Shadowbar.SetParent(self)
Shadowbar.SetPosition(0, 0)
Shadowbar.Show()
self.Shadowbar.append(Shadowbar)
self.Shadowcorner = []
for fileName in ShadowcornerFileNames:
Shadowcorner = ExpandedImageBox()
Shadowcorner.AddFlag("not_pick")
Shadowcorner.LoadImage(fileName)
Shadowcorner.SetParent(self)
Shadowcorner.SetPosition(0, 0)
Shadowcorner.Show()
self.Shadowcorner.append(Shadowcorner)
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
self.Decor = []
for fileName in DecorFileNames:
Decor = ExpandedImageBox()
Decor.AddFlag("not_pick")
Decor.LoadImage(fileName)
Decor.SetParent(self)
Decor.SetPosition(0, 0)
Decor.Show()
self.Decor.append(Decor)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Shadowbar[self.UL].SetPosition(-18, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
self.Shadowbar[self.UT].SetPosition(self.CORNER_WIDTH, -18)
def MakeBase(self):
self.Base = ExpandedImageBox()
self.Base.AddFlag("not_pick")
self.Base.LoadImage("kanort_work/images/controls/common/board/fill.tga")
self.Base.SetParent(self)
self.Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Base.Show()
def MakeShadow(self):
self.Shadow = ExpandedImageBox()
self.Shadow.AddFlag("not_pick")
self.Shadow.LoadImage("kanort_work/images/controls/common/board/shadow_fill.tga")
self.Shadow.SetParent(self)
self.Shadow.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadow.Show()
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Shadowcorner[self.ULT].SetPosition(-18,-18)
self.Shadowcorner[self.ULB].SetPosition(-18, height - self.CORNER_HEIGHT)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Shadowcorner[self.URT].SetPosition(width - self.CORNER_WIDTH, -18)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Shadowcorner[self.URB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Decor[self.D].SetPosition(0 - 5, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadowbar[self.UR].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
self.Shadowbar[self.UB].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Shadowbar[self.UL].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbar[self.UR].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbar[self.UT].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbar[self.UB].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
if self.Base:
self.Base.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
if self.Shadow:
self.Shadow.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
2.Thinboard
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class ThinBoard(Window):
Replace this code:
Code:
class ThinBoard(Window):
CORNER_WIDTH = 16
CORNER_HEIGHT = 16
LINE_WIDTH = 16
LINE_HEIGHT = 16
BOARD_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 0.51)
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self, layer = "UI"):
Window.__init__(self, layer)
CornerFileNames = [ "d:/ymir work/ui/pattern/ThinBoard_Corner_"+dir+".tga" for dir in ["LeftTop","LeftBottom","RightTop","RightBottom"] ]
LineFileNames = [ "d:/ymir work/ui/pattern/ThinBoard_Line_"+dir+".tga" for dir in ["Left","Right","Top","Bottom"] ]
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("attach")
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("attach")
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
Base = Bar()
Base.SetParent(self)
Base.AddFlag("attach")
Base.AddFlag("not_pick")
Base.SetColor(self.BOARD_COLOR)
Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
Base.Show()
self.Base = Base
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
if self.Base:
self.Base.SetSize(width - self.CORNER_WIDTH*2, height - self.CORNER_HEIGHT*2)
def ShowInternal(self):
self.Base.Show()
for wnd in self.Lines:
wnd.Show()
for wnd in self.Corners:
wnd.Show()
def HideInternal(self):
self.Base.Hide()
for wnd in self.Lines:
wnd.Hide()
for wnd in self.Corners:
wnd.Hide()
With this:
Code:
class ThinBoard(Window):
CORNER_WIDTH = 21
CORNER_HEIGHT = 21
LINE_WIDTH = 21
LINE_HEIGHT = 21
UL = 0
UR = 1
UT = 2
UB = 3
ULT = 0
ULB = 1
URT = 2
URB = 3
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self, layer = "UI"):
Window.__init__(self, layer)
ShadowbarFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/shadow_bar_"+dir+".tga" for dir in ["left","right","top","bottom"] ]
ShadowcornerFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/shadow_corner_"+dir+".tga" for dir in ["lefttop","leftbottom","righttop","rightbottom"] ]
CornerFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/corner_"+dir+".tga" for dir in ["lefttop","leftbottom","righttop","rightbottom"] ]
LineFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/bar_"+dir+".tga" for dir in ["left","right","top","bottom"] ]
self.Shadowbars = []
for fileName in ShadowbarFileNames:
Shadowbar = ExpandedImageBox()
Shadowbar.AddFlag("attach")
Shadowbar.AddFlag("not_pick")
Shadowbar.LoadImage(fileName)
Shadowbar.SetParent(self)
Shadowbar.SetPosition(0, 0)
Shadowbar.Show()
self.Shadowbars.append(Shadowbar)
self.Shadowcorners = []
for fileName in ShadowcornerFileNames:
Shadowcorner = ExpandedImageBox()
Shadowcorner.AddFlag("attach")
Shadowcorner.AddFlag("not_pick")
Shadowcorner.LoadImage(fileName)
Shadowcorner.SetParent(self)
Shadowcorner.SetPosition(0, 0)
Shadowcorner.Show()
self.Shadowcorners.append(Shadowcorner)
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("attach")
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("attach")
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
Base = ExpandedImageBox()
Base.SetParent(self)
Base.AddFlag("attach")
Base.AddFlag("not_pick")
Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
Base.LoadImage("kanort_work/images/controls/common/thinboard_transparent/fill.tga")
Base.Show()
self.Base = Base
self.Shadowbars[self.UL].SetPosition(-11, self.CORNER_HEIGHT)
self.Shadowbars[self.UT].SetPosition(self.CORNER_WIDTH, -11)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Shadowcorners[self.ULT].SetPosition(-11, -11)
self.Shadowcorners[self.ULB].SetPosition(-11, height - self.CORNER_HEIGHT)
self.Shadowcorners[self.URT].SetPosition(width - self.CORNER_WIDTH, -11)
self.Shadowcorners[self.URB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Shadowbars[self.UR].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadowbars[self.UB].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Base.SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbars[self.UT].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbars[self.UB].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbars[self.UR].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbars[self.UL].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
def ShowInternal(self):
self.Base.Show()
for wnd in self.Lines:
wnd.Show()
for wnd in self.Corners:
wnd.Show()
for wnd in self.Shadowbars:
wnd.Show()
for wnd in self.Shadowcorners:
wnd.Show()
def HideInternal(self):
self.Base.Hide()
for wnd in self.Lines:
wnd.Hide()
for wnd in self.Corners:
wnd.Hide()
for wnd in self.Shadowbars:
wnd.Hide()
for wnd in self.Shadowcorners:
wnd.Hide()
3.Board with TitleBar
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class BoardWithTitleBar(Board):
Replace this code:
Code:
class BoardWithTitleBar(Board):
def __init__(self):
Board.__init__(self)
titleBar = TitleBar()
titleBar.SetParent(self)
titleBar.MakeTitleBar(0, "red")
titleBar.SetPosition(8, 7)
titleBar.Show()
titleName = TextLine()
titleName.SetParent(titleBar)
titleName.SetPosition(0, 4)
titleName.SetWindowHorizontalAlignCenter()
titleName.SetHorizontalAlignCenter()
titleName.Show()
self.titleBar = titleBar
self.titleName = titleName
self.SetCloseEvent(self.Hide)
def __del__(self):
Board.__del__(self)
self.titleBar = None
self.titleName = None
def SetSize(self, width, height):
self.titleBar.SetWidth(width - 15)
#self.pickRestrictWindow.SetSize(width, height - 30)
Board.SetSize(self, width, height)
self.titleName.UpdateRect()
def SetTitleColor(self, color):
self.titleName.SetPackedFontColor(color)
def SetTitleName(self, name):
self.titleName.SetText(name)
def SetCloseEvent(self, event):
self.titleBar.SetCloseEvent(event)
With this:
Code:
class BoardWithTitleBar(Board):
def __init__(self):
Board.__init__(self)
titleBar = TitleBar()
titleBar.SetParent(self)
titleBar.MakeTitleBar(0, "red")
titleBar.SetPosition(8, 7)
titleBar.Show()
titleName = TextLine()
titleName.SetParent(titleBar)
titleName.SetPosition(0, 8)
titleName.SetWindowHorizontalAlignCenter()
titleName.SetHorizontalAlignCenter()
titleName.SetFontColor(0.9020, 0.8157, 0.6353)
titleName.Show()
self.titleBar = titleBar
self.titleName = titleName
self.SetCloseEvent(self.Hide)
def __del__(self):
Board.__del__(self)
self.titleBar = None
self.titleName = None
def SetSize(self, width, height):
self.titleBar.SetWidth(width - 18)
Board.SetSize(self, width, height)
self.titleName.UpdateRect()
def SetTitleColor(self, color):
self.titleName.SetPackedFontColor(color)
def SetTitleName(self, name):
self.titleName.SetText(name)
def SetCloseEvent(self, event):
self.titleBar.SetCloseEvent(event)
4.TitleBar
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class TitleBar(Window):
Replace this code:
Code:
class TitleBar(Window):
BLOCK_WIDTH = 35
BLOCK_HEIGHT = 28
def __init__(self):
Window.__init__(self)
self.AddFlag("attach")
def __del__(self):
Window.__del__(self)
def MakeTitleBar(self, width, color):
## 현재 Color는 사용하고 있지 않음
width = max(self.BLOCK_WIDTH*2, width)
imgLeft = ImageBox()
imgCenter = ExpandedImageBox()
imgRight = ImageBox()
imgDecor = ImageBox()
imgLeft.AddFlag("not_pick")
imgCenter.AddFlag("not_pick")
imgRight.AddFlag("not_pick")
imgDecor.AddFlag("not_pick")
imgLeft.SetParent(self)
imgCenter.SetParent(self)
imgRight.SetParent(self)
imgDecor.SetParent(self)
if localeInfo.IsARABIC():
imgLeft.LoadImage("locale/ae/ui/pattern/titlebar_left.tga")
imgCenter.LoadImage("locale/ae/ui/pattern/titlebar_center.tga")
imgRight.LoadImage("locale/ae/ui/pattern/titlebar_right.tga")
else:
imgLeft.LoadImage("d:/ymir work/control/altele/titlu/stanga.tga")
imgCenter.LoadImage("d:/ymir work/control/altele/titlu/centru.tga")
imgRight.LoadImage("d:/ymir work/control/altele/titlu/dreapta.tga")
imgDecor.LoadImage("d:/ymir work/control/altele/titlu/decor_dreapta.tga")
imgLeft.Show()
imgCenter.Show()
imgRight.Show()
imgDecor.Show()
btnClose = Button()
btnClose.SetParent(self)
btnClose.SetUpVisual("d:/ymir work/control/altele/buton/board_inchide_01.tga")
btnClose.SetOverVisual("d:/ymir work/control/altele/buton/board_inchide_02.tga")
btnClose.SetDownVisual("d:/ymir work/control/altele/buton/board_inchide_03.tga")
btnClose.SetToolTipText(localeInfo.UI_CLOSE, 0, -23)
btnClose.Show()
self.imgLeft = imgLeft
self.imgCenter = imgCenter
self.imgRight = imgRight
self.btnClose = btnClose
self.imgDecor = imgDecor
self.SetWidth(width)
def SetWidth(self, width):
self.imgLeft.SetPosition(0, 4)
self.imgCenter.SetRenderingRect(0, 0, float((width - self.BLOCK_WIDTH*4) - self.BLOCK_WIDTH) / self.BLOCK_WIDTH, 0)
self.imgCenter.SetPosition(self.BLOCK_WIDTH, 4)
self.imgRight.SetPosition(width - self.BLOCK_WIDTH, 4)
self.imgDecor.SetPosition(width - 47, -14)
if localeInfo.IsARABIC():
self.btnClose.SetPosition(0, 0)
else:
self.btnClose.SetPosition(width - self.btnClose.GetWidth(), 1)
self.SetSize(width, self.BLOCK_HEIGHT)
def SetCloseEvent(self, event):
self.btnClose.SetEvent(event)
With this:
Code:
class TitleBar(Window):
BLOCK_WIDTH = 35
BLOCK_HEIGHT = 28
LINE_WIDTH = 152
def __init__(self):
Window.__init__(self)
self.AddFlag("attach")
def __del__(self):
Window.__del__(self)
def MakeTitleBar(self, width, color):
width = max(self.BLOCK_WIDTH*2, width)
imgLeft = ImageBox()
imgCenter = ExpandedImageBox()
imgRight = ImageBox()
imgDecor = ImageBox()
imgLeft.AddFlag("not_pick")
imgCenter.AddFlag("not_pick")
imgRight.AddFlag("not_pick")
imgDecor.AddFlag("not_pick")
imgLeft.SetParent(self)
imgCenter.SetParent(self)
imgRight.SetParent(self)
imgDecor.SetParent(self)
imgLeft.LoadImage("kanort_work/images/controls/common/titlebar/left.tga")
imgCenter.LoadImage("kanort_work/images/controls/common/titlebar/center.tga")
imgRight.LoadImage("kanort_work/images/controls/common/titlebar/right.tga")
imgDecor.LoadImage("kanort_work/images/controls/common/titlebar/decoration_right.tga")
imgLeft.Show()
imgCenter.Show()
imgRight.Show()
imgDecor.Show()
btnClose = Button()
btnClose.SetParent(self)
btnClose.SetUpVisual("kanort_work/images/controls/common/buton/board_close_01_normal.tga")
btnClose.SetOverVisual("kanort_work/images/controls/common/buton/board_close_02_hover.tga")
btnClose.SetDownVisual("kanort_work/images/controls/common/buton/board_close_03_active.tga")
btnClose.SetToolTipText(localeInfo.UI_CLOSE, 0, -23)
btnClose.Show()
self.imgLeft = imgLeft
self.imgCenter = imgCenter
self.imgRight = imgRight
self.btnClose = btnClose
self.imgDecor = imgDecor
self.SetWidth(width)
def SetWidth(self, width):
self.imgLeft.SetPosition(0, 3)
self.imgCenter.SetRenderingRect(0.0, 0.0, float((width - self.BLOCK_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH, 0.0)
self.imgCenter.SetPosition(self.BLOCK_WIDTH, 3)
self.imgRight.SetPosition(width - self.BLOCK_WIDTH, 3)
self.btnClose.SetPosition(width - self.btnClose.GetWidth(), 3)
self.imgDecor.SetPosition(width - 47, -15)
self.SetSize(width, self.BLOCK_HEIGHT)
def SetCloseEvent(self, event):
self.btnClose.SetEvent(event)
a.Quest Icon
Extract
root.epk/.eix
In the file
localeInfo.py
Replace this code:
Code:
def GetLetterImageName():
return "season1/icon/scroll_close.tga"
def GetLetterOpenImageName():
return "season1/icon/scroll_open.tga"
def GetLetterCloseImageName():
return "season1/icon/scroll_close.tga"
With this:
Code:
def GetLetterImageName():
return "kanort_work/images/icons/special/quest_closed.tga"
def GetLetterOpenImageName():
return "kanort_work/images/icons/special/quest_open.tga"
def GetLetterCloseImageName():
return "kanort_work/images/icons/special/quest_closed.tga"
b."Plus" Button
Extract
uiscript.epk/.eix
In the file
gamewindow.py
Find:
Code:
import uiScriptLocale
Add below:
Code:
ROBERT_WORK_F = "kanort_work/images/controls/common/buton/"
Find:
Code:
"name":"HelpButton",
Below you will find :
Code:
"default_image" : "d:/ymir work/ui/game/windows/btn_bigplus_up.sub",
"over_image" : "d:/ymir work/ui/game/windows/btn_bigplus_over.sub",
"down_image" : "d:/ymir work/ui/game/windows/btn_bigplus_down.sub",
Replace the above code with it:
Code:
"default_image" : ROBERT_WORK_F + "stats_increase_01_normal.tga",
"over_image" : ROBERT_WORK_F + "stats_increase_02_hover.tga",
"down_image" : ROBERT_WORK_F + "stats_increase_03_active.tga",
Find:
Code:
"name":"StatusPlusButton",
Below you will find :
Code:
"default_image" : "d:/ymir work/ui/game/windows/btn_bigplus_up.sub",
"over_image" : "d:/ymir work/ui/game/windows/btn_bigplus_over.sub",
"down_image" : "d:/ymir work/ui/game/windows/btn_bigplus_down.sub",
Replace the above code with it:
Code:
"default_image" : ROBERT_WORK_F + "stats_increase_01_normal.tga",
"over_image" : ROBERT_WORK_F + "stats_increase_02_hover.tga",
"down_image" : ROBERT_WORK_F + "stats_increase_03_active.tga",
Find:
Code:
"name":"SkillPlusButton",
Below you will find :
Code:
"default_image" : "d:/ymir work/ui/game/windows/btn_bigplus_up.sub",
"over_image" : "d:/ymir work/ui/game/windows/btn_bigplus_over.sub",
"down_image" : "d:/ymir work/ui/game/windows/btn_bigplus_down.sub",
Replace the above code with it:
Code:
"default_image" : ROBERT_WORK_F + "stats_increase_01_normal.tga",
"over_image" : ROBERT_WORK_F + "stats_increase_02_hover.tga",
"down_image" : ROBERT_WORK_F + "stats_increase_03_active.tga",
c.Emoticon Icon
Extract
root.epk/.eix
In the file
emoticon.py
Replace this code:
Code:
ICON_DICT = {
EMOTION_CLAP : "d:/ymir work/ui/game/windows/emotion_clap.sub",
EMOTION_CHEERS_1 : "d:/ymir work/ui/game/windows/emotion_cheers_1.sub",
EMOTION_CHEERS_2 : "d:/ymir work/ui/game/windows/emotion_cheers_2.sub",
EMOTION_DANCE_1 : "icon/action/dance1.tga",
EMOTION_DANCE_2 : "icon/action/dance2.tga",
EMOTION_CONGRATULATION : "icon/action/congratulation.tga",
EMOTION_FORGIVE : "icon/action/forgive.tga",
EMOTION_ANGRY : "icon/action/angry.tga",
EMOTION_ATTRACTIVE : "icon/action/attractive.tga",
EMOTION_SAD : "icon/action/sad.tga",
EMOTION_SHY : "icon/action/shy.tga",
EMOTION_CHEERUP : "icon/action/cheerup.tga",
EMOTION_BANTER : "icon/action/banter.tga",
EMOTION_JOY : "icon/action/joy.tga",
EMOTION_DANCE_1 : "icon/action/dance1.tga",
EMOTION_DANCE_2 : "icon/action/dance2.tga",
EMOTION_DANCE_3 : "icon/action/dance3.tga",
EMOTION_DANCE_4 : "icon/action/dance4.tga",
EMOTION_DANCE_5 : "icon/action/dance5.tga",
EMOTION_DANCE_6 : "icon/action/dance6.tga",
EMOTION_KISS : "d:/ymir work/ui/game/windows/emotion_kiss.sub",
EMOTION_FRENCH_KISS : "d:/ymir work/ui/game/windows/emotion_french_kiss.sub",
EMOTION_SLAP : "d:/ymir work/ui/game/windows/emotion_slap.sub",
}
With this:
Code:
ICON_DICT = {
EMOTION_CLAP : "kanort_work/images/icons/aplauze.tga",
EMOTION_CHEERS_1 : "kanort_work/images/icons/bucurie1.tga",
EMOTION_CHEERS_2 : "kanort_work/images/icons/bucurie2.tga",
EMOTION_CONGRATULATION : "kanort_work/images/icons/acord.tga",
EMOTION_FORGIVE : "kanort_work/images/icons/iertare.tga",
EMOTION_ANGRY : "kanort_work/images/icons/neplacut.tga",
EMOTION_ATTRACTIVE : "kanort_work/images/icons/tentatie.tga",
EMOTION_SAD : "kanort_work/images/icons/trist.tga",
EMOTION_SHY : "kanort_work/images/icons/refuz.tga",
EMOTION_CHEERUP : "kanort_work/images/icons/bucuros.tga",
EMOTION_BANTER : "kanort_work/images/icons/rautacios.tga",
EMOTION_JOY : "kanort_work/images/icons/fericire.tga",
EMOTION_DANCE_1 : "kanort_work/images/icons/dans1.tga",
EMOTION_DANCE_2 : "kanort_work/images/icons/dans2.tga",
EMOTION_DANCE_3 : "kanort_work/images/icons/dans3.tga",
EMOTION_DANCE_4 : "kanort_work/images/icons/dans4.tga",
EMOTION_DANCE_5 : "kanort_work/images/icons/dans5.tga",
EMOTION_DANCE_6 : "kanort_work/images/icons/dans6.tga",
EMOTION_KISS : "kanort_work/images/icons/sarut.tga",
EMOTION_FRENCH_KISS : "kanort_work/images/icons/sarutfr.tga",
EMOTION_SLAP : "kanort_work/images/icons/lovitura.tga",
}
A.CostumeWindow
Extract
uiscript.epk/.eix
In the file
costumewindow.py
Replace all code with this:
Code:
import uiScriptLocale
import item
COSTUME_START_INDEX = item.COSTUME_SLOT_START
window = {
"name" : "CostumeWindow",
"x" : SCREEN_WIDTH - 175 - 147,
"y" : SCREEN_HEIGHT - 37 - 565,
"style" : ("movable", "float",),
"width" : 147,
"height" : 188,
"children" :
(
{
"name" : "board",
"type" : "board",
"style" : ("attach",),
"x" : 0,
"y" : 0,
"width" : 147,
"height" : 188,
"children" :
(
{
"name" : "TitleBar",
"type" : "titlebar",
"style" : ("attach",),
"x" : 8,
"y" : 7,
"width" : 131,
"color" : "yellow",
"children" :
(
{ "name":"TitleName", "type":"text", "x":60, "y":7, "r" : 0.9020, "g": 0.8157, "b" : 0.6353, "a" : 1.0, "text":uiScriptLocale.COSTUME_WINDOW_TITLE, "text_horizontal_align":"center" },
),
},
{
"name" : "Costume_Base",
"type" : "image",
"x" : 14,
"y" : 38,
"image" : "d:/ymir work/ui/costume_bg.dds",
"children" :
(
{
"name" : "CostumeSlot",
"type" : "slot",
"x" : 3,
"y" : 3,
"width" : 127,
"height" : 145,
"slot" : (
{"index":COSTUME_START_INDEX+0, "x":50, "y":42, "width":32, "height":64},
{"index":COSTUME_START_INDEX+1, "x":50, "y": 5, "width":32, "height":32},
{"index":COSTUME_START_INDEX+4, "x":10, "y":10, "width":32, "height":96},
),
},
),
},
),
},
),
}
Extract
root.eix/epk
In the file
uiinventory.py
Find:
Add below:
Code:
import playerSettingModule
Find:
Code:
ITEM_FLAG_APPLICABLE = 1 << 14
Add below:
Code:
ROBERT_WORK_BG_IMG_COSTUME = {
playerSettingModule.RACE_WARRIOR_M : "kanort_work/images/controls/special/inventory/costume_m.tga",
playerSettingModule.RACE_WARRIOR_W : "kanort_work/images/controls/special/inventory/costume_w.tga",
playerSettingModule.RACE_ASSASSIN_M : "kanort_work/images/controls/special/inventory/costume_m.tga",
playerSettingModule.RACE_ASSASSIN_W : "kanort_work/images/controls/special/inventory/costume_w.tga",
playerSettingModule.RACE_SURA_M : "kanort_work/images/controls/special/inventory/costume_m.tga",
playerSettingModule.RACE_SURA_W : "kanort_work/images/controls/special/inventory/costume_w.tga",
playerSettingModule.RACE_SHAMAN_M : "kanort_work/images/controls/special/inventory/costume_m.tga",
playerSettingModule.RACE_SHAMAN_W : "kanort_work/images/controls/special/inventory/costume_w.tga",
playerSettingModule.RACE_WOLFMAN_M : "kanort_work/images/controls/special/inventory/costume_m.tga",
}
Find:
Code:
def RefreshCostumeSlot(self):
getItemVNum=player.GetItemIndex
Add below:
Code:
race = net.GetMainActorRace()
## BackgroundImage
try:
BackGroundImageName = ROBERT_WORK_BG_IMG_COSTUME[race]
try:
self.BackGroundImage.LoadImage(BackGroundImageName)
except:
self.BackGroundImage.Hide()
except KeyError:
self.BackGroundImage.Hide()
Find:
Code:
wndEquip = self.GetChild("CostumeSlot")
Add below:
Code:
self.BackGroundImage = self.GetChild("Costume_Base")
Come back tomorrow with more tutorials
07/24/2016, 23:07
#2
elite*gold: 0
Join Date: Dec 2012
Posts: 204
Received Thanks: 23
thanks, I hope everything works
lel^^
07/24/2016, 23:22
#3
elite*gold: 0
Join Date: Aug 2013
Posts: 102
Received Thanks: 14
Man thanks for the release, People like you give me hope in this community.
I hope that everything works and you get the appreciation you deserve
07/24/2016, 23:31
#4
elite*gold: 0
Join Date: Jan 2014
Posts: 1,583
Received Thanks: 2,398
Quote:
Originally Posted by
.Robert
Hello, hello
This interface was created by
King Sora and when released files , many people tried to create their own code , but not many have succeeded.
I put my code below and resources . But for those who want to try them to create their own code or resources for those who want the original then you can take it from
.
Be careful! If you do not understand , or you do not know to install this interface , ask a technician or a developer . For those trying this code:
Be careful to TABs .
Current status:
Concepts:
Character Window
Guild Window
Inventar Window
Options
Menu
Menu group
Group
Friends list & Whisper
I finished all interface, but lasts up I do the tutorial. Sorry for my bad english
Push the button "
Thanks " if you have used this interface. I worked a lot to it.
Add files from
in folder
pack and add in
index :
1.Board
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class Board(Window):
Replace this code:
Code:
class Board(Window):
CORNER_WIDTH = 32
CORNER_HEIGHT = 32
LINE_WIDTH = 128
LINE_HEIGHT = 128
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self):
Window.__init__(self)
self.MakeBoard("d:/ymir work/ui/pattern/Board_Corner_", "d:/ymir work/ui/pattern/Board_Line_")
self.MakeBase()
def MakeBoard(self, cornerPath, linePath, decorPath):
CornerFileNames = [ cornerPath+dir+".tga" for dir in ("LeftTop", "LeftBottom", "RightTop", "RightBottom", ) ]
LineFileNames = [ linePath+dir+".tga" for dir in ("Left", "Right", "Top", "Bottom", ) ]
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def MakeBase(self):
self.Base = ExpandedImageBox()
self.Base.AddFlag("not_pick")
self.Base.LoadImage("d:/ymir work/ui/pattern/Board_Base.tga")
self.Base.SetParent(self)
self.Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Base.Show()
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
if self.Base:
self.Base.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
With this:
Code:
class Board(Window):
CORNER_WIDTH = 55
CORNER_HEIGHT = 55
LINE_WIDTH = 128
LINE_HEIGHT = 128
UT = 0
UB = 1
UR = 2
UL = 3
ULT = 0
ULB = 1
URT = 2
URB = 3
D = 0
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self):
Window.__init__(self)
self.MakeBoard("kanort_work/images/controls/common/board/shadow_bar_", "kanort_work/images/controls/common/board/shadow_corner_", "kanort_work/images/controls/common/board/corner_", "kanort_work/images/controls/common/board/bar_", "kanort_work/images/controls/common/board/decoration_" )
self.MakeBase()
self.MakeShadow()
def MakeBoard(self, shadowbarPath, shadowcornerPath, cornerPath, linePath, decorPath):
ShadowbarFileNames = [ shadowbarPath+dir+".tga" for dir in ("top", "bottom", "right", "left", ) ]
ShadowcornerFileNames = [ shadowcornerPath+dir+".tga" for dir in ("lefttop", "leftbottom", "righttop", "rightbottom", ) ]
CornerFileNames = [ cornerPath+dir+".tga" for dir in ("lefttop", "leftbottom", "righttop", "rightbottom", ) ]
LineFileNames = [ linePath+dir+".tga" for dir in ("left", "right", "top", "bottom", ) ]
DecorFileNames = [ decorPath+dir+".tga" for dir in ("leftbottom", ) ]
self.Shadowbar = []
for fileName in ShadowbarFileNames:
Shadowbar = ExpandedImageBox()
Shadowbar.AddFlag("not_pick")
Shadowbar.LoadImage(fileName)
Shadowbar.SetParent(self)
Shadowbar.SetPosition(0, 0)
Shadowbar.Show()
self.Shadowbar.append(Shadowbar)
self.Shadowcorner = []
for fileName in ShadowcornerFileNames:
Shadowcorner = ExpandedImageBox()
Shadowcorner.AddFlag("not_pick")
Shadowcorner.LoadImage(fileName)
Shadowcorner.SetParent(self)
Shadowcorner.SetPosition(0, 0)
Shadowcorner.Show()
self.Shadowcorner.append(Shadowcorner)
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
self.Decor = []
for fileName in DecorFileNames:
Decor = ExpandedImageBox()
Decor.AddFlag("not_pick")
Decor.LoadImage(fileName)
Decor.SetParent(self)
Decor.SetPosition(0, 0)
Decor.Show()
self.Decor.append(Decor)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Shadowbar[self.UL].SetPosition(-18, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
self.Shadowbar[self.UT].SetPosition(self.CORNER_WIDTH, -18)
def MakeBase(self):
self.Base = ExpandedImageBox()
self.Base.AddFlag("not_pick")
self.Base.LoadImage("kanort_work/images/controls/common/board/fill.tga")
self.Base.SetParent(self)
self.Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Base.Show()
def MakeShadow(self):
self.Shadow = ExpandedImageBox()
self.Shadow.AddFlag("not_pick")
self.Shadow.LoadImage("kanort_work/images/controls/common/board/shadow_fill.tga")
self.Shadow.SetParent(self)
self.Shadow.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadow.Show()
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Shadowcorner[self.ULT].SetPosition(-18,-18)
self.Shadowcorner[self.ULB].SetPosition(-18, height - self.CORNER_HEIGHT)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Shadowcorner[self.URT].SetPosition(width - self.CORNER_WIDTH, -18)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Shadowcorner[self.URB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Decor[self.D].SetPosition(0 - 5, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadowbar[self.UR].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
self.Shadowbar[self.UB].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Shadowbar[self.UL].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbar[self.UR].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbar[self.UT].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbar[self.UB].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
if self.Base:
self.Base.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
if self.Shadow:
self.Shadow.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage)
2.Thinboard
Extract
root.epk/.eix
In the file
ui.py
Find:
Code:
class ThinBoard(Window):
Replace this code:
Code:
class ThinBoard(Window):
CORNER_WIDTH = 16
CORNER_HEIGHT = 16
LINE_WIDTH = 16
LINE_HEIGHT = 16
BOARD_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 0.51)
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self, layer = "UI"):
Window.__init__(self, layer)
CornerFileNames = [ "d:/ymir work/ui/pattern/ThinBoard_Corner_"+dir+".tga" for dir in ["LeftTop","LeftBottom","RightTop","RightBottom"] ]
LineFileNames = [ "d:/ymir work/ui/pattern/ThinBoard_Line_"+dir+".tga" for dir in ["Left","Right","Top","Bottom"] ]
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("attach")
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("attach")
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
Base = Bar()
Base.SetParent(self)
Base.AddFlag("attach")
Base.AddFlag("not_pick")
Base.SetColor(self.BOARD_COLOR)
Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
Base.Show()
self.Base = Base
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
if self.Base:
self.Base.SetSize(width - self.CORNER_WIDTH*2, height - self.CORNER_HEIGHT*2)
def ShowInternal(self):
self.Base.Show()
for wnd in self.Lines:
wnd.Show()
for wnd in self.Corners:
wnd.Show()
def HideInternal(self):
self.Base.Hide()
for wnd in self.Lines:
wnd.Hide()
for wnd in self.Corners:
wnd.Hide()
With this:
Code:
class ThinBoard(Window):
CORNER_WIDTH = 21
CORNER_HEIGHT = 21
LINE_WIDTH = 21
LINE_HEIGHT = 21
UL = 0
UR = 1
UT = 2
UB = 3
ULT = 0
ULB = 1
URT = 2
URB = 3
LT = 0
LB = 1
RT = 2
RB = 3
L = 0
R = 1
T = 2
B = 3
def __init__(self, layer = "UI"):
Window.__init__(self, layer)
ShadowbarFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/shadow_bar_"+dir+".tga" for dir in ["left","right","top","bottom"] ]
ShadowcornerFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/shadow_corner_"+dir+".tga" for dir in ["lefttop","leftbottom","righttop","rightbottom"] ]
CornerFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/corner_"+dir+".tga" for dir in ["lefttop","leftbottom","righttop","rightbottom"] ]
LineFileNames = [ "kanort_work/images/controls/common/thinboard_transparent/bar_"+dir+".tga" for dir in ["left","right","top","bottom"] ]
self.Shadowbars = []
for fileName in ShadowbarFileNames:
Shadowbar = ExpandedImageBox()
Shadowbar.AddFlag("attach")
Shadowbar.AddFlag("not_pick")
Shadowbar.LoadImage(fileName)
Shadowbar.SetParent(self)
Shadowbar.SetPosition(0, 0)
Shadowbar.Show()
self.Shadowbars.append(Shadowbar)
self.Shadowcorners = []
for fileName in ShadowcornerFileNames:
Shadowcorner = ExpandedImageBox()
Shadowcorner.AddFlag("attach")
Shadowcorner.AddFlag("not_pick")
Shadowcorner.LoadImage(fileName)
Shadowcorner.SetParent(self)
Shadowcorner.SetPosition(0, 0)
Shadowcorner.Show()
self.Shadowcorners.append(Shadowcorner)
self.Corners = []
for fileName in CornerFileNames:
Corner = ExpandedImageBox()
Corner.AddFlag("attach")
Corner.AddFlag("not_pick")
Corner.LoadImage(fileName)
Corner.SetParent(self)
Corner.SetPosition(0, 0)
Corner.Show()
self.Corners.append(Corner)
self.Lines = []
for fileName in LineFileNames:
Line = ExpandedImageBox()
Line.AddFlag("attach")
Line.AddFlag("not_pick")
Line.LoadImage(fileName)
Line.SetParent(self)
Line.SetPosition(0, 0)
Line.Show()
self.Lines.append(Line)
Base = ExpandedImageBox()
Base.SetParent(self)
Base.AddFlag("attach")
Base.AddFlag("not_pick")
Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
Base.LoadImage("kanort_work/images/controls/common/thinboard_transparent/fill.tga")
Base.Show()
self.Base = Base
self.Shadowbars[self.UL].SetPosition(-11, self.CORNER_HEIGHT)
self.Shadowbars[self.UT].SetPosition(self.CORNER_WIDTH, -11)
self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT)
self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0)
def __del__(self):
Window.__del__(self)
def SetSize(self, width, height):
width = max(self.CORNER_WIDTH*2, width)
height = max(self.CORNER_HEIGHT*2, height)
Window.SetSize(self, width, height)
self.Shadowcorners[self.ULT].SetPosition(-11, -11)
self.Shadowcorners[self.ULB].SetPosition(-11, height - self.CORNER_HEIGHT)
self.Shadowcorners[self.URT].SetPosition(width - self.CORNER_WIDTH, -11)
self.Shadowcorners[self.URB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Shadowbars[self.UR].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Shadowbars[self.UB].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT)
self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0)
self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT)
self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT)
self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT)
verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT
horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH
self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage)
self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0)
self.Base.SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbars[self.UT].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbars[self.UB].SetRenderingRect(0, 0, width - self.CORNER_WIDTH*2 - 1, 0)
self.Shadowbars[self.UR].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
self.Shadowbars[self.UL].SetRenderingRect(0, 0, 0, height - self.CORNER_HEIGHT*2 - 1)
def ShowInternal(self):
self.Base.Show()
for wnd in self.Lines:
wnd.Show()
for wnd in self.Corners:
wnd.Show()
for wnd in self.Shadowbars:
wnd.Show()
for wnd in self.Shadowcorners:
wnd.Show()
def HideInternal(self):
self.Base.Hide()
for wnd in self.Lines:
wnd.Hide()
for wnd in self.Corners:
wnd.Hide()
for wnd in self.Shadowbars:
wnd.Hide()
for wnd in self.Shadowcorners:
wnd.Hide()
Come back tomorrow with more tutorials
For the pictures.
07/25/2016, 09:23
#5
elite*gold: 0
Join Date: Jul 2016
Posts: 128
Received Thanks: 123
Nice bro!!!
07/25/2016, 10:46
#6
elite*gold: 0
Join Date: Feb 2016
Posts: 18
Received Thanks: 73
Quote:
Originally Posted by
Thetobinator21
thanks, I hope everything works
lel^^
With pleasure
Quote:
Originally Posted by
kieranFMT2
Man thanks for the release, People like you give me hope in this community.
I hope that everything works and you get the appreciation you deserve
^_^
Quote:
Originally Posted by
Kyuso
For the pictures.
Thank you very much
Quote:
Originally Posted by
Markus_Resus
Nice bro!!!
Thanks
07/25/2016, 12:15
#7
elite*gold: 0
Join Date: Dec 2010
Posts: 42
Received Thanks: 2
@
you*r relase is full or need to fix some errors?
Anyway thanks for you*r relase and i*m glad someone share with us his work amd don*t sell.
07/25/2016, 16:27
#8
elite*gold: 0
Join Date: Dec 2012
Posts: 204
Received Thanks: 23
I hope the release is still completely finished with the code
07/25/2016, 18:53
#9
elite*gold: 0
Join Date: Feb 2016
Posts: 18
Received Thanks: 73
Quote:
Originally Posted by
Thetobinator21
I hope the release is still completely finished with the code
Quote:
Originally Posted by
adidasusx
@
you*r relase is full or need to fix some errors?
Anyway thanks for you*r relase and i*m glad someone share with us his work amd don*t sell.
The interface will be full. But it takes a long time doing tutorial
07/25/2016, 20:12
#10
elite*gold: 0
Join Date: Oct 2013
Posts: 34
Received Thanks: 6
Anyone tested it ?
07/25/2016, 21:02
#11
elite*gold: 0
Join Date: Dec 2012
Posts: 204
Received Thanks: 23
Quote:
Originally Posted by
.Robert
The interface will be full. But it takes a long time doing tutorial
Can not you just upload files die? Maybe that helps even already ^^
07/25/2016, 21:38
#12
elite*gold: 0
Join Date: Feb 2016
Posts: 18
Received Thanks: 73
Quote:
Originally Posted by
Thetobinator21
Can not you just upload files die? Maybe that helps even already ^^
Not. I uploaded files so after came and filled the subject/topic with all the errors they were obtained. Because they have had other systems besides implemented. Please wait man...
Quote:
Originally Posted by
Bituse
Anyone tested it ?
I
07/25/2016, 21:49
#13
elite*gold: 0
Join Date: Dec 2012
Posts: 204
Received Thanks: 23
Quote:
Originally Posted by
.Robert
The interface will be full. But it takes a long time doing tutorial
Quote:
Originally Posted by
.Robert
Not. I uploaded files so after came and filled the subject/topic with all the errors they were obtained. Because they have had other systems besides implemented. Please wait man...
I
I will wait!
07/25/2016, 22:24
#14
elite*gold: 0
Join Date: Dec 2014
Posts: 1,018
Received Thanks: 500
Quote:
Originally Posted by
Thetobinator21
I will wait!
Just w8 he will return if he find something from other Board :')
07/26/2016, 02:46
#15
elite*gold: 0
Join Date: Dec 2012
Posts: 204
Received Thanks: 23
Quote:
Originally Posted by
BizepsSupportAccount
Just w8 he will return if he find something from other Board :')
Ohne scheiß warum ist es so schlimm das andere hier was Releasen was ein Comumity Projekt ist ? Lass ihn doch das von anderen Foren nehmen ist doch egal.
Similar Threads
[Release] Client-Interface {"illumina"}
01/29/2020 - Metin2 PServer Designs, Websites & Scripts - 324 Replies
http://i.epvpimg.com/dqkHd.png
Oioi!
Seit ungefähr einem Jahr zeige ich euch schon Konzepte und Screens von meinem derzeit größten Clientdesign-Projekt. Den Diskussionsthread könnt ihr hier finden.
Nun zum eigentlichen Release. Ich release heute alle, bisher, von mir angefertigten Bilder für das Client-Interface illumina. Es mag für den einen oder anderen vielleicht etwas enttäuschend sein, dass es nur die Bilder / Slices sind, jedoch bestand unser "Team" nur aus 2 Leuten und wir haben...
[Release] Client-Interface "illumina"-Code
07/26/2016 - Metin2 PServer Designs, Websites & Scripts - 35 Replies
http://i.epvpimg.com/dqkHd.png
Da es einige stört das der Code von Person XY ist, wird hier erstmal geclosed.
#closerequest
All times are GMT +2. The time now is 17:07 .