forked from metin2/client
Added game files from TMP4
This commit is contained in:
@ -7,6 +7,7 @@ import event
|
||||
import time
|
||||
import wndMgr
|
||||
import net
|
||||
import sys
|
||||
|
||||
QUEST_BOARD_IMAGE_DIR = 'd:/ymir work/ui/game/questboard/'
|
||||
|
||||
@ -14,6 +15,7 @@ cur_questpage_number = 1
|
||||
entire_questbutton_number = 0
|
||||
entire_questpage_number = 1
|
||||
|
||||
|
||||
# TOOLTIP_IMAGE_BOX
|
||||
class ToolTipImageBox(ui.ImageBox):
|
||||
def __init__(self):
|
||||
@ -26,7 +28,7 @@ class ToolTipImageBox(ui.ImageBox):
|
||||
import uiToolTip
|
||||
self.toolTip = uiToolTip.ToolTip()
|
||||
self.toolTip.SetWindowHorizontalAlignCenter()
|
||||
self.toolTip.SetFollow(FALSE)
|
||||
self.toolTip.SetFollow(False)
|
||||
self.toolTip.SetTitle(title)
|
||||
self.toolTip.SetPosition(x, y)
|
||||
|
||||
@ -125,7 +127,7 @@ class EventCurtain(ui.Bar):
|
||||
|
||||
self.fadeColor = 1.0
|
||||
self.curAlpha = 0.0
|
||||
self.FadeInFlag = FALSE
|
||||
self.FadeInFlag = False
|
||||
self.state = self.STATE_WAIT
|
||||
self.speed = 1.0
|
||||
self.eventIndex = index
|
||||
@ -262,7 +264,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
if skin == 3:
|
||||
event.SetRestrictedCount(idx,36)
|
||||
else:
|
||||
event.SetRestrictedCount(idx,52)
|
||||
event.SetRestrictedCount(idx,60)
|
||||
|
||||
QuestCurtain.BarHeight = (wndMgr.GetScreenHeight()-wndMgr.GetScreenWidth()*9/16)/2
|
||||
|
||||
@ -302,7 +304,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
self.nextbutton = None
|
||||
|
||||
# QUEST_INPUT
|
||||
self.needInputString = FALSE
|
||||
self.needInputString = False
|
||||
self.editSlot = None
|
||||
self.editLine = None
|
||||
# END_OF_QUEST_INPUT
|
||||
@ -333,7 +335,6 @@ class QuestDialog(ui.ScriptWindow):
|
||||
# END_OF_QUEST_CANCEL
|
||||
|
||||
def CloseSelf(self):
|
||||
|
||||
QuestDialog.QuestCurtain.CurtainMode = self.nextCurtainMode
|
||||
self.btnNext = None
|
||||
self.descWindow = None
|
||||
@ -344,9 +345,8 @@ class QuestDialog(ui.ScriptWindow):
|
||||
self.descIndex = None
|
||||
|
||||
self.focusIndex = 0
|
||||
|
||||
|
||||
def Destroy(self):
|
||||
|
||||
self.ClearDictionary()
|
||||
if self.OnCloseEvent:
|
||||
self.OnCloseEvent()
|
||||
@ -428,7 +428,6 @@ class QuestDialog(ui.ScriptWindow):
|
||||
## Event
|
||||
# QUEST_CANCEL
|
||||
def MakeNextButton(self, button_type):
|
||||
|
||||
if self.SKIN_NONE == self.skin:
|
||||
return
|
||||
|
||||
@ -436,6 +435,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
|
||||
b = BarButton()
|
||||
b.SetParent(self.board)
|
||||
|
||||
b.SetSize(100,26)
|
||||
b.SetPosition(self.sx+self.board.GetWidth()/2-50,self.sy+yPos)
|
||||
|
||||
@ -454,6 +454,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
b.Show()
|
||||
b.SetTextColor(0xffffffff)
|
||||
self.btnNext = b
|
||||
|
||||
# END_OF_QUEST_CANCEL
|
||||
|
||||
def MakeQuestion(self, n): # n<><6E> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><>ȭâ<C8AD><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ư<EFBFBD><C6B0> "<22>ݱ<EFBFBD>"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD>Ʈ <20><>ư <20><><EFBFBD><EFBFBD>. by <20><><EFBFBD><EFBFBD>ȣ
|
||||
@ -465,98 +466,96 @@ class QuestDialog(ui.ScriptWindow):
|
||||
|
||||
if not self.board:
|
||||
return
|
||||
|
||||
c = self.board
|
||||
|
||||
def MakeEachButton(i):
|
||||
if self.skin == 3:
|
||||
button = BarButton("TOP_MOST",0x50000000, 0x50404040, 0x50606060)
|
||||
button.SetParent(c)
|
||||
button.SetSize(106,26)
|
||||
button.SetPosition(self.sx+c.GetWidth()/2+((i*2)-1)*56-56, self.sy+(event.GetLineCount(self.descIndex))*16+20+5)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xff000000)
|
||||
else:
|
||||
i = i % 8
|
||||
button = BarButton("TOP_MOST")
|
||||
button.SetParent(c)
|
||||
button.SetSize(200,26)
|
||||
button.SetPosition(self.sx+c.GetWidth()/2-100,self.sy+(event.GetLineCount(self.descIndex)+i*2)*16+20+5)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xffffffff)
|
||||
return button
|
||||
|
||||
def MakeNextPrevPageButton():
|
||||
button = BarButton("TOP_MOST")
|
||||
button.SetParent(c)
|
||||
button.SetSize(52,26)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xffffffff)
|
||||
return button
|
||||
|
||||
def RefreshQuestPage():
|
||||
num = 0
|
||||
Showing_button_inx = (cur_questpage_number-1)* self.QUEST_BUTTON_MAX_NUM
|
||||
|
||||
while num < n:
|
||||
if num >= Showing_button_inx and num < Showing_button_inx + self.QUEST_BUTTON_MAX_NUM:
|
||||
self.btnAnswer[num].Show()
|
||||
else:
|
||||
self.btnAnswer[num].Hide()
|
||||
num = num + 1
|
||||
|
||||
if cur_questpage_number == 1:
|
||||
self.prevbutton.Hide()
|
||||
self.nextbutton.Show()
|
||||
|
||||
elif cur_questpage_number == entire_questpage_number:
|
||||
self.prevbutton.Show()
|
||||
self.nextbutton.Hide()
|
||||
else:
|
||||
self.prevbutton.Show()
|
||||
self.nextbutton.Show()
|
||||
|
||||
def NextQuestPageEvent(one):
|
||||
global cur_questpage_number
|
||||
cur_questpage_number = cur_questpage_number + one
|
||||
RefreshQuestPage()
|
||||
|
||||
def PrevQuestPageEvent(one):
|
||||
global cur_questpage_number
|
||||
cur_questpage_number = cur_questpage_number - one
|
||||
RefreshQuestPage()
|
||||
|
||||
self.btnAnswer = [MakeEachButton(i) for i in xrange (n)]
|
||||
self.btnAnswer = [self.MakeEachButton(i) for i in xrange (n)]
|
||||
|
||||
import localeInfo
|
||||
self.prevbutton = MakeNextPrevPageButton()
|
||||
self.prevbutton = self.MakeNextPrevPageButton()
|
||||
self.prevbutton.SetPosition(self.sx+self.board.GetWidth()/2-164, self.board.GetHeight()/2-16)
|
||||
self.prevbutton.SetText(localeInfo.UI_PREVPAGE)
|
||||
self.prevbutton.SetEvent(PrevQuestPageEvent, 1)
|
||||
self.prevbutton.SetEvent(self.PrevQuestPageEvent, 1, n)
|
||||
|
||||
self.nextbutton = MakeNextPrevPageButton()
|
||||
self.nextbutton = self.MakeNextPrevPageButton()
|
||||
self.nextbutton.SetPosition(self.sx+self.board.GetWidth()/2+112, self.board.GetHeight()/2-16)
|
||||
self.nextbutton.SetText(localeInfo.UI_NEXTPAGE)
|
||||
self.nextbutton.SetEvent(NextQuestPageEvent, 1)
|
||||
self.nextbutton.SetEvent(self.NextQuestPageEvent, 1, n)
|
||||
|
||||
if cur_questpage_number != 1:
|
||||
cur_questpage_number = 1
|
||||
|
||||
def MakeEachButton(self, i):
|
||||
if self.skin == 3:
|
||||
button = BarButton("TOP_MOST",0x50000000, 0x50404040, 0x50606060)
|
||||
button.SetParent(self.board)
|
||||
button.SetSize(106,26)
|
||||
button.SetPosition(self.sx + self.board.GetWidth()/2+((i*2)-1)*56-56, self.sy+(event.GetLineCount(self.descIndex))*16+20+5)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xff000000)
|
||||
else:
|
||||
i = i % 8
|
||||
button = BarButton("TOP_MOST")
|
||||
button.SetParent(self.board)
|
||||
button.SetSize(200,26)
|
||||
button.SetPosition(self.sx + self.board.GetWidth()/2-100,self.sy+(event.GetLineCount(self.descIndex)+i*2)*16+20+5)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xffffffff)
|
||||
return button
|
||||
|
||||
def MakeNextPrevPageButton(self):
|
||||
button = BarButton("TOP_MOST")
|
||||
button.SetParent(self.board)
|
||||
button.SetSize(52,26)
|
||||
button.SetText("a")
|
||||
button.SetTextColor(0xffffffff)
|
||||
return button
|
||||
|
||||
def RefreshQuestPage(self, n):
|
||||
global cur_questpage_number
|
||||
global entire_questpage_number
|
||||
num = 0
|
||||
Showing_button_inx = (cur_questpage_number-1)* self.QUEST_BUTTON_MAX_NUM
|
||||
|
||||
while num < n:
|
||||
if num >= Showing_button_inx and num < Showing_button_inx + self.QUEST_BUTTON_MAX_NUM:
|
||||
self.btnAnswer[num].Show()
|
||||
else:
|
||||
self.btnAnswer[num].Hide()
|
||||
num = num + 1
|
||||
|
||||
if cur_questpage_number == 1:
|
||||
self.prevbutton.Hide()
|
||||
self.nextbutton.Show()
|
||||
elif cur_questpage_number == entire_questpage_number:
|
||||
self.prevbutton.Show()
|
||||
self.nextbutton.Hide()
|
||||
else:
|
||||
self.prevbutton.Show()
|
||||
self.nextbutton.Show()
|
||||
|
||||
def NextQuestPageEvent(self, one, n):
|
||||
global cur_questpage_number
|
||||
cur_questpage_number = cur_questpage_number + one
|
||||
self.RefreshQuestPage(n)
|
||||
|
||||
def PrevQuestPageEvent(self, one, n):
|
||||
global cur_questpage_number
|
||||
cur_questpage_number = cur_questpage_number - one
|
||||
self.RefreshQuestPage(n)
|
||||
|
||||
def ClickAnswerEvent(self, ai):
|
||||
event.SelectAnswer(self.descIndex, ai)
|
||||
self.nextbutton = None
|
||||
self.prevbutton = None
|
||||
self.CloseSelf()
|
||||
|
||||
def AppendQuestion(self, name, idx): # idx<64><78> 0<><30><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. PythonEventManager.cpp line 881 <20><><EFBFBD><EFBFBD>. by <20><><EFBFBD><EFBFBD>ȣ
|
||||
if not self.btnAnswer:
|
||||
return
|
||||
|
||||
self.btnAnswer[idx].SetText(name)
|
||||
x, y= self.btnAnswer[idx].GetGlobalPosition()
|
||||
|
||||
def ClickAnswerEvent(s, ai):
|
||||
event.SelectAnswer(s.descIndex, ai)
|
||||
self.nextbutton = None
|
||||
self.prevbutton = None
|
||||
s.CloseSelf()
|
||||
|
||||
from _weakref import proxy
|
||||
self.btnAnswer[idx].SetEvent(ClickAnswerEvent,proxy(self),idx)
|
||||
self.btnAnswer[idx].SetEvent(self.ClickAnswerEvent, idx)
|
||||
|
||||
global entire_questbutton_number
|
||||
|
||||
@ -604,7 +603,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
if app.DIK_UP == key or app.DIK_DOWN == key:
|
||||
self.btnNext.ShowToolTip()
|
||||
|
||||
return TRUE
|
||||
return True
|
||||
|
||||
focusIndex = self.focusIndex;
|
||||
lastFocusIndex = focusIndex;
|
||||
@ -637,31 +636,35 @@ class QuestDialog(ui.ScriptWindow):
|
||||
if app.DIK_RETURN == key:
|
||||
focusBtn.CallEvent()
|
||||
|
||||
return TRUE
|
||||
return True
|
||||
|
||||
def OnPressEscapeKey(self):
|
||||
|
||||
# ESCŰ<43><C5B0> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD>" <20><>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD> <20>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD> ȿ<><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
|
||||
if None != self.btnNext:
|
||||
##<23><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD> <20><><EFBFBD>δ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ESC<53><43>ư
|
||||
if event.BUTTON_TYPE_CANCEL == self.nextButtonType:
|
||||
event.SelectAnswer(self.descIndex, 254)
|
||||
s.OnCancel()
|
||||
self.CloseSelf()
|
||||
## <20>ƹ<EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
elif event.BUTTON_TYPE_DONE == self.nextButtonType:
|
||||
self.CloseSelf()
|
||||
## <20><><EFBFBD>ͳ<EFBFBD> <20><><EFBFBD><EFBFBD>ȭ<EFBFBD><C8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѿ<D1BE><EEB0A1><EFBFBD><EFBFBD> <20>Ұ<EFBFBD><D2B0><EFBFBD>
|
||||
elif event.BUTTON_TYPE_NEXT == self.nextButtonType:
|
||||
event.SelectAnswer(self.descIndex, 254)
|
||||
self.CloseSelf()
|
||||
else:
|
||||
event.SelectAnswer(self.descIndex, entire_questbutton_number - 1)
|
||||
## <20><><EFBFBD>߿<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD>, ESC<53><43>ư<EFBFBD><C6B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
event.SelectAnswer(self.descIndex, entire_questbutton_number -1 )
|
||||
self.nextbutton = None
|
||||
self.prevbutton = None
|
||||
self.CloseSelf()
|
||||
return TRUE
|
||||
self.OnCancel()
|
||||
return True
|
||||
|
||||
def OnIMEReturn(self):
|
||||
if self.needInputString:
|
||||
self.CloseSelf()
|
||||
return TRUE
|
||||
return True
|
||||
|
||||
def OnIMEUpdate(self):
|
||||
if not self.needInputString:
|
||||
@ -674,7 +677,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
|
||||
def OnInput(self):
|
||||
|
||||
self.needInputString = TRUE
|
||||
self.needInputString = True
|
||||
|
||||
event.AddEventSetLocalYPosition(self.descIndex, 5+10)
|
||||
yPos = event.GetEventSetLocalYPosition(self.descIndex)
|
||||
@ -764,7 +767,7 @@ class QuestDialog(ui.ScriptWindow):
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
event.AddEventSetLocalYPosition(self.descIndex, img.GetHeight() - 20)
|
||||
event.AddEventSetLocalYPosition(self.descIndex, img.GetHeight() - 20)
|
||||
|
||||
if underTitle:
|
||||
event.AddEventSetLocalYPosition(self.descIndex, 3)
|
||||
@ -773,12 +776,12 @@ class QuestDialog(ui.ScriptWindow):
|
||||
event.AddEventSetLocalYPosition(self.descIndex, -( 3 + 16 ))
|
||||
else:
|
||||
if index == total - 1:
|
||||
event.AddEventSetLocalYPosition(self.descIndex, 4)
|
||||
|
||||
event.AddEventSetLocalYPosition(self.descIndex, 4)
|
||||
|
||||
if index != total - 1:
|
||||
event.AddEventSetLocalYPosition(self.descIndex, -(img.GetHeight() - 20))
|
||||
|
||||
|
||||
event.AddEventSetLocalYPosition(self.descIndex, -(img.GetHeight() - 20))
|
||||
|
||||
|
||||
# END_OF_QUEST_IMAGE
|
||||
|
||||
def OnSize(self, width, height):
|
||||
|
Reference in New Issue
Block a user