Esc bugu yapıldığında yani questler çalışmaz hale getirildiğinde envanterinizde herhangi bir işlem yaptığınızda 3 saniye içersinde disconnect olmanızı sağlayan bir kod.
CHAR İTEM.CPP ARAT
Kod:Panoya kopyala
bool CHARACTER::UseItem(TItemPos Cell, TItemPos DestCell)
İÇİNE EKLE
Kod:Panoya kopyala
if (quest::CQuestManager::instance().GetPCForce(GetPlayerID())->IsRunning() == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("quest_bug_fix"));
GetDesc()->DelayedDisconnect(3);
return false;
}
locale_string.txt
Kod:Panoya kopyala
"quest_bug_fix";
"Yanlış işlem yaptığınızdan dolayı hesabınız kilitlendi 3 saniye içinde oyundan atılacaksınız.";
Size daha mantıklısını buldum buyrun uiQuest.py girin ve def OnPressEscapeKey aratın sonra alt tarafındaki return TRUE yu yorum satırına alın altta verdiğim örnek gibi
[CODE lang="python" title="Fix escape quest"]
def OnPressEscapeKey(self):
# ESC키가 눌린 경우 "다음" 버튼을 누른 것과 같은 효과를 내도록 함.
if None != self.btnNext:
##퀘스트문자들이 전부다 나왔을경우의 ESC버튼
if event.BUTTON_TYPE##퀘스트문자들이tonType:
event.SelectAnswer(self.descIndex, 254)
self.CloseSelf()
## 아무 작업을 하지 않을때
elif event.BUTTON_TYPE_DONE == self.nextButtonType:
##self.CloseSelf()
## 엔터나 다음화면으로 넘어가려고 할경우
elif event.BUTTON_TYPE_NEXT == self.nextButtonType:
event.Selec##nswer(self.descIndex, 254)
self.CloseSelf()
else:
## 도중에 꺼버리거나, ESC버튼이 나왓을경우
event.SelectAnswer(self.descIndex, entire_questbutton_number -1 )
self.nextbutton = None
## self.prevbutton = None
self.OnCancel()
## return True
[/CODE]##