forked from metin-server/m2dev-client
Merge pull request #15 from SunTrustDev/bugfix/std-1
Fix quest dialog cancellation not resetting quest state
This commit is contained in:
27
.gitattributes
vendored
27
.gitattributes
vendored
@@ -1,25 +1,2 @@
|
|||||||
# Standard Western (Windows-1252)
|
# Korean (EUC-KR)
|
||||||
# Includes English, German, Danish, Spanish, French, Italian, Dutch, Portuguese
|
assets/root/*.py text working-tree-encoding=utf-8
|
||||||
assets/locale_{en,de,dk,es,fr,it,nl,pt}/locale/{en,de,dk,es,fr,it,nl,pt}/locale_game.txt text working-tree-encoding=windows-1252
|
|
||||||
assets/locale_{en,de,dk,es,fr,it,nl,pt}/locale/{en,de,dk,es,fr,it,nl,pt}/locale_interface.txt text working-tree-encoding=windows-1252
|
|
||||||
|
|
||||||
# Central European (Windows-1250)
|
|
||||||
# Includes Czech, Hungarian, Polish, Romanian
|
|
||||||
assets/locale_{cz,hu,pl,ro}/locale/{cz,hu,pl,ro}/locale_game.txt text working-tree-encoding=windows-1250
|
|
||||||
assets/locale_{cz,hu,pl,ro}/locale/{cz,hu,pl,ro}/locale_interface.txt text working-tree-encoding=windows-1250
|
|
||||||
|
|
||||||
# Cyrillic (Windows-1251)
|
|
||||||
assets/locale_ru/locale/ru/locale_game.txt text working-tree-encoding=windows-1251
|
|
||||||
assets/locale_ru/locale/ru/locale_interface.txt text working-tree-encoding=windows-1251
|
|
||||||
|
|
||||||
# Greek (Windows-1253)
|
|
||||||
assets/locale_gr/locale/gr/locale_game.txt text working-tree-encoding=windows-1253
|
|
||||||
assets/locale_gr/locale/gr/locale_interface.txt text working-tree-encoding=windows-1253
|
|
||||||
|
|
||||||
# Turkish (Windows-1254)
|
|
||||||
assets/locale_tr/locale/tr/locale_game.txt text working-tree-encoding=windows-1254
|
|
||||||
assets/locale_tr/locale/tr/locale_interface.txt text working-tree-encoding=windows-1254
|
|
||||||
|
|
||||||
# Arabic (Windows-1256)
|
|
||||||
assets/locale_ae/locale/ae/locale_game.txt text working-tree-encoding=windows-1256
|
|
||||||
assets/locale_ae/locale/ae/locale_interface.txt text working-tree-encoding=windows-1256
|
|
||||||
|
|||||||
@@ -309,6 +309,10 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
self.editLine = None
|
self.editLine = None
|
||||||
# END_OF_QUEST_INPUT
|
# END_OF_QUEST_INPUT
|
||||||
|
|
||||||
|
# QUEST_CANCEL - Track if dialog was cancelled
|
||||||
|
self.bCancelled = False
|
||||||
|
# END_OF_QUEST_CANCEL
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
ui.ScriptWindow.__del__(self)
|
ui.ScriptWindow.__del__(self)
|
||||||
|
|
||||||
@@ -330,11 +334,16 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
|
|
||||||
# QUEST_CANCEL
|
# QUEST_CANCEL
|
||||||
def OnCancel(self):
|
def OnCancel(self):
|
||||||
|
self.bCancelled = True
|
||||||
self.nextCurtainMode = -1
|
self.nextCurtainMode = -1
|
||||||
self.CloseSelf()
|
self.CloseSelf()
|
||||||
# END_OF_QUEST_CANCEL
|
# END_OF_QUEST_CANCEL
|
||||||
|
|
||||||
def CloseSelf(self):
|
def CloseSelf(self):
|
||||||
|
if self.bCancelled:
|
||||||
|
net.SendQuestCancelPacket()
|
||||||
|
self.bCancelled = False
|
||||||
|
|
||||||
QuestDialog.QuestCurtain.CurtainMode = self.nextCurtainMode
|
QuestDialog.QuestCurtain.CurtainMode = self.nextCurtainMode
|
||||||
self.btnNext = None
|
self.btnNext = None
|
||||||
self.descWindow = None
|
self.descWindow = None
|
||||||
@@ -443,7 +452,7 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
|
|
||||||
import localeInfo
|
import localeInfo
|
||||||
if event.BUTTON_TYPE_CANCEL == button_type:
|
if event.BUTTON_TYPE_CANCEL == button_type:
|
||||||
b.SetEvent(lambda s=self:event.SelectAnswer(s.descIndex, 254) or s.OnCancel())
|
b.SetEvent(lambda s=self:(setattr(s, 'bCancelled', True) or None) or event.SelectAnswer(s.descIndex, 254) or s.OnCancel())
|
||||||
b.SetText(localeInfo.UI_CANCEL)
|
b.SetText(localeInfo.UI_CANCEL)
|
||||||
elif event.BUTTON_TYPE_DONE == button_type:
|
elif event.BUTTON_TYPE_DONE == button_type:
|
||||||
b.SetEvent(lambda s=self:s.CloseSelf())
|
b.SetEvent(lambda s=self:s.CloseSelf())
|
||||||
@@ -457,7 +466,7 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
|
|
||||||
# END_OF_QUEST_CANCEL
|
# END_OF_QUEST_CANCEL
|
||||||
|
|
||||||
def MakeQuestion(self, n): # n은 모든 퀘스트 대화창의 마지막 버튼인 "닫기"를 포함한 전체 퀘스트 버튼 개수. by 김준호
|
def MakeQuestion(self, n): # n은 모든 퀘스트 대화창의 마지막 버튼인 "닫기"를 포함한 전체 퀘스트 버튼 개수. by 김준호
|
||||||
global entire_questbutton_number
|
global entire_questbutton_number
|
||||||
global entire_questpage_number
|
global entire_questpage_number
|
||||||
global cur_questpage_number
|
global cur_questpage_number
|
||||||
@@ -548,7 +557,7 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
self.prevbutton = None
|
self.prevbutton = None
|
||||||
self.CloseSelf()
|
self.CloseSelf()
|
||||||
|
|
||||||
def AppendQuestion(self, name, idx): # idx는 0부터 시작함. PythonEventManager.cpp line 881 참고. by 김준호
|
def AppendQuestion(self, name, idx): # idx는 0부터 시작함. PythonEventManager.cpp line 881 참고. by 김준호
|
||||||
if not self.btnAnswer:
|
if not self.btnAnswer:
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -595,7 +604,7 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
# QUEST_INPUT
|
# QUEST_INPUT
|
||||||
def OnKeyDown(self, key):
|
def OnKeyDown(self, key):
|
||||||
if self.btnAnswer == None:
|
if self.btnAnswer == None:
|
||||||
## 선택문이 없고 '다음', '확인' 등의 일방 버튼만 있는 경우에 대한 처리
|
## 선택문이 없고 '다음', '확인' 등의 일방 버튼만 있는 경우에 대한 처리
|
||||||
if None != self.btnNext:
|
if None != self.btnNext:
|
||||||
if app.DIK_RETURN == key:
|
if app.DIK_RETURN == key:
|
||||||
self.OnPressEscapeKey()
|
self.OnPressEscapeKey()
|
||||||
@@ -640,21 +649,22 @@ class QuestDialog(ui.ScriptWindow):
|
|||||||
|
|
||||||
def OnPressEscapeKey(self):
|
def OnPressEscapeKey(self):
|
||||||
|
|
||||||
# ESC키가 눌린 경우 "다음" 버튼을 누른 것과 같은 효과를 내도록 함.
|
# ESC키가 눌린 경우 "다음" 버튼을 누른 것과 같은 효과를 내도록 함.
|
||||||
if None != self.btnNext:
|
if None != self.btnNext:
|
||||||
##퀘스트문자들이 전부다 나왔을경우의 ESC버튼
|
##퀘스트문자들이 전부다 나왔을경우의 ESC버튼
|
||||||
if event.BUTTON_TYPE_CANCEL == self.nextButtonType:
|
if event.BUTTON_TYPE_CANCEL == self.nextButtonType:
|
||||||
|
self.bCancelled = True
|
||||||
event.SelectAnswer(self.descIndex, 254)
|
event.SelectAnswer(self.descIndex, 254)
|
||||||
self.CloseSelf()
|
self.CloseSelf()
|
||||||
## 아무 작업을 하지 않을때
|
## 아무 작업을 하지 않을때
|
||||||
elif event.BUTTON_TYPE_DONE == self.nextButtonType:
|
elif event.BUTTON_TYPE_DONE == self.nextButtonType:
|
||||||
self.CloseSelf()
|
self.CloseSelf()
|
||||||
## 엔터나 다음화면으로 넘어가려고 할경우
|
## 엔터나 다음화면으로 넘어가려고 할경우
|
||||||
elif event.BUTTON_TYPE_NEXT == self.nextButtonType:
|
elif event.BUTTON_TYPE_NEXT == self.nextButtonType:
|
||||||
event.SelectAnswer(self.descIndex, 254)
|
event.SelectAnswer(self.descIndex, 254)
|
||||||
self.CloseSelf()
|
self.CloseSelf()
|
||||||
else:
|
else:
|
||||||
## 도중에 꺼버리거나, ESC버튼이 나왓을경우
|
## 도중에 꺼버리거나, ESC버튼이 나왓을경우
|
||||||
event.SelectAnswer(self.descIndex, entire_questbutton_number -1 )
|
event.SelectAnswer(self.descIndex, entire_questbutton_number -1 )
|
||||||
self.nextbutton = None
|
self.nextbutton = None
|
||||||
self.prevbutton = None
|
self.prevbutton = None
|
||||||
|
|||||||
Reference in New Issue
Block a user