def playQuestString(self, questStr, timeout = False, quitButton = 1, useChatBubble = False, confirm = False, animSet = None): self.notify.debug('playQuestString %s, %s, %s, %s' % (timeout, quitButton, useChatBubble, confirm)) if questStr.find('quest_') == 0: nmp = QuestParser.NPCMoviePlayer(questStr, localAvatar, self) nmp.play() self.npcMoviePlayer = nmp else: self.firstDialog = False self.dialogAnimSet = animSet if questStr: if timeout: if useChatBubble: self.setPageChat(localAvatar.doId, 0, questStr, 0, extraChatFlags = CFSpeech | CFTimeout, pageButton = False) else: base.localAvatar.guiMgr.subtitler.setPageChat(questStr, timeout = timeout) return None else: self.playingQuestString = True if self.newOffer == False: questStr += '\x07' base.localAvatar.guiMgr.subtitler.setPageChat(questStr, confirm = confirm) self.dialogOpen = True self.playAnimation(0) if quitButton == 1 or confirm: self.accept('doneChatPage', self._DistributedQuestGiver__handleDoneChatPage) if base.localAvatar.guiMgr.subtitler.getNumChatPages() == 1: self._DistributedQuestGiver__handleNextChatPage(0, 0) else: self.accept('nextChatPage', self._DistributedQuestGiver__handleNextChatPage)
def playDialogMovie(self, dialogId, doneCallback = None, oldLocalAvState = None): movieChoice = InteractGlobals.getNPCTutorial(dialogId) if movieChoice == None: movieChoice = dialogId globalClock.tick() self.currentDialogMovie = QuestParser.NPCMoviePlayer(movieChoice, localAvatar, self) self.currentDialogMovie.overrideOldAvState(oldLocalAvState) self.currentDialogMovie.play() self.acceptOnce('dialogFinish', self.stopDialogMovie, extraArgs = [ doneCallback])