Notice ca la OX

Ghiduri şi tutoriale despre cum să vă îmbunătăţiţi serverul/clientul dv. de metin2.
Avatar utilizator
tastatura
Nivel 2

Nivel 2
Mesaje: 156
Membru din: 03 Mar 2016, 17:43
Server: 2021
Regat: Shinsoo
Aprecieri: 731  
Mulţumiri: 21  
Discord: Copiază ID
 Contact:
Medalii

Salut!
Poate fac eu gresit ceva, dar la mine a mers "inventia" :)))) (Sunt novice)

Prima data dezarhivezi root si cauti uitip.py

In uitip.py cauti
class TipBoard(ui.Bar):
functia incepe de la
SCROLL_WAIT_TIME = 5.0
si se termina la
self.__CleanOldTip()
ii faci un backup in caz de nu iti merge.

Mai departe cauti
class BigBoard(ui.Bar):
si de aici copiem cea de mai jos (de la SCROLL_WAIT_TIME = 5.0 pana la self.__CleanOldTip() si pui la class TipBoard(ui.Bar) dar de la tine din uitip.py sa nu apara alte erori. (poate e alta directie la acel frame si nu iti merge)
SCROLL_WAIT_TIME = 5.0
TIP_DURATION = 10.0
FONT_WIDTH = 18
FONT_HEIGHT = 18
LINE_WIDTH = 500
LINE_HEIGHT = FONT_HEIGHT + 5
STEP_HEIGHT = LINE_HEIGHT * 2
LINE_CHANGE_LIMIT_WIDTH = 350

FRAME_IMAGE_FILE_NAME_LIST = [
"season1/interface/oxevent/frame_0.sub",
"season1/interface/oxevent/frame_1.sub",
"season1/interface/oxevent/frame_2.sub",
]

FRAME_IMAGE_STEP = 256

FRAME_BASE_X = -20
FRAME_BASE_Y = -12

def __init__(self):
ui.Bar.__init__(self)

self.AddFlag("not_pick")
self.tipList = []
self.curPos = 0
self.dstPos = 0
self.nextScrollTime = 0

self.SetPosition(0, 150)
self.SetSize(512, 55)
self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, 0.5))
self.SetWindowHorizontalAlignCenter()

self.__CreateTextBar()
self.__LoadFrameImages()


def __LoadFrameImages(self):
x = self.FRAME_BASE_X
y = self.FRAME_BASE_Y
self.imgList = []
for imgFileName in self.FRAME_IMAGE_FILE_NAME_LIST:
self.imgList.append(self.__LoadImage(x, y, imgFileName))
x += self.FRAME_IMAGE_STEP

def __LoadImage(self, x, y, fileName):
img = ui.ImageBox()
img.SetParent(self)
img.AddFlag("not_pick")
img.LoadImage(fileName)
img.SetPosition(x, y)
img.Show()
return img

def __del__(self):
ui.Bar.__del__(self)

def __CreateTextBar(self):

x, y = self.GetGlobalPosition()

self.textBar = BigTextBar(self.LINE_WIDTH, 300, self.FONT_HEIGHT)
self.textBar.SetParent(self)
self.textBar.SetPosition(6, 8)
self.textBar.SetTextColor(242, 231, 193)
self.textBar.SetClipRect(0, y+8, wndMgr.GetScreenWidth(), y+8+self.STEP_HEIGHT)
self.textBar.Show()

def __CleanOldTip(self):
curTime = app.GetTime()
leaveList = []
for madeTime, text in self.tipList:
if curTime + self.TIP_DURATION <= madeTime:
leaveList.append(tip)

self.tipList = leaveList

if not leaveList:
self.textBar.ClearBar()
self.Hide()
return

self.__RefreshBoard()

def __RefreshBoard(self):

self.textBar.ClearBar()

if len(self.tipList) == 1:
checkTime, text = self.tipList[0]
(text_width, text_height) = self.textBar.GetTextExtent(text)
self.textBar.TextOut((500-text_width)/2, (self.STEP_HEIGHT-8-text_height)/2, text)

else:
index = 0
for checkTime, text in self.tipList:
(text_width, text_height) = self.textBar.GetTextExtent(text)
self.textBar.TextOut((500-text_width)/2, index*self.LINE_HEIGHT, text)
index += 1

def SetTip(self, text):

if not app.IsVisibleNotice():
return

curTime = app.GetTime()
self.__AppendText(curTime, text)
self.__RefreshBoard()

self.nextScrollTime = curTime + 1.0

if not self.IsShow():
self.curPos = -self.STEP_HEIGHT
self.dstPos = -self.STEP_HEIGHT
self.textBar.SetPosition(3, 8 - self.curPos)
self.Show()

def __AppendText(self, curTime, text):
import dbg
prevPos = 0
while 1:
curPos = text.find(" ", prevPos)
if curPos < 0:
break

(text_width, text_height) = self.textBar.GetTextExtent(text[:curPos])
if text_width > self.LINE_CHANGE_LIMIT_WIDTH:
self.tipList.append((curTime, text[:prevPos]))
self.tipList.append((curTime, text[prevPos:]))
return

prevPos = curPos + 1

self.tipList.append((curTime, text))

def OnUpdate(self):

if not self.tipList:
self.Hide()
return

if app.GetTime() > self.nextScrollTime:
self.nextScrollTime = app.GetTime() + self.SCROLL_WAIT_TIME

self.dstPos = self.curPos + self.STEP_HEIGHT

if self.dstPos > self.curPos:
self.curPos += 1
self.textBar.SetPosition(3, 8 - self.curPos)

if self.curPos > len(self.tipList)*self.LINE_HEIGHT:
self.curPos = -self.STEP_HEIGHT
self.dstPos = -self.STEP_HEIGHT

self.__CleanOldTip()
Arhivezi root si gata
Pentru acest mesaj, tastatura for the post:
Marius Dragomir
Avatar utilizator
EzekielitohMercury
Nivel 1

Nivel 1
Mesaje: 62
Membru din: 12 Oct 2014, 03:51
Server: Metin2GamerS
Regat: Chunjo
Aprecieri: 112  
Mulţumiri: 10  
Medalii

Would you have the tutorial in a file?

Thanks!
Avatar utilizator
Avis
Miss Just4Metin

Miss Just4Metin
Mesaje: 463
Membru din: 08 Sep 2014, 12:41
Server: nu am
Regat: Chunjo
Aprecieri: 35  
Mulţumiri: 1099  
Medalii

Mutat unde trebuie.
Răspunde
Răspunsuri
1
Vizualizări
137
Răspunsuri
3
Vizualizări
367
Răspunsuri
15
Vizualizări
1669

Înapoi la “Ghiduri şi Tutoriale”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori