private void StopMove() { IEntity mainplayer = ControllerSystem.m_ClientGlobal.MainPlayer; if (mainplayer != null) { mainplayer.SetCallback(null); if (m_skillPart != null && m_skillPart.GetCurSkillState() == (int)Client.SkillState.None) { Engine.Utility.Log.Info("暂停挂机 停止移动"); mainplayer.SendMessage(Client.EntityMessage.EntityCommand_StopMove, mainplayer.GetPos()); } } }
private void OnExecuteTask(uint nTaskID) { QuestTraceInfo questInfo = QuestTranceManager.Instance.GetQuestTraceInfo(nTaskID); if (questInfo == null) { Engine.Utility.Log.Error(" Get questinfo error {0}", nTaskID); return; } uint npcid = 0; if (questInfo.IsKillMonster(out npcid)) { Client.ISkillPart skillPart = Client.ClientGlobal.Instance().MainPlayer.GetPart(Client.EntityPart.Skill) as Client.ISkillPart; if (skillPart != null) { if (skillPart.GetCurSkillState() != (int)Client.SkillState.None) { m_nDoingTaskID = nTaskID; if (m_bAddSkillNoneListener) { return; } m_bAddSkillNoneListener = true; Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.SKILLNONESTATE_ENTER, OnEvent); Engine.Utility.Log.Info("等待.......技能播放完毕 执行任务{0} {1}", m_nDoingTaskID, Client.ClientGlobal.Instance().MainPlayer.GetCurState()); return; } } } ProcessTask(questInfo); }
private void OnTaskCanCommit(uint nTaskID) { QuestTraceInfo questInfo = QuestTranceManager.Instance.GetQuestTraceInfo(nTaskID); if (questInfo == null) { Engine.Utility.Log.Error(" Get questinfo error {0}", nTaskID); return; } if (!questInfo.QuestTable.dwAutoCommit) { return; } Client.ISkillPart skillPart = Client.ClientGlobal.Instance().MainPlayer.GetPart(Client.EntityPart.Skill) as Client.ISkillPart; if (skillPart != null) { if (skillPart.GetCurSkillState() != (int)Client.SkillState.None) { m_nDoingTaskID = nTaskID; Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.SKILLNONESTATE_ENTER, OnEvent); Engine.Utility.Log.Info("等待.......技能播放完毕 执行任务{0} {1}", m_nDoingTaskID, Client.ClientGlobal.Instance().MainPlayer.GetCurState()); StopRobot(); return; } } ProcessTask(questInfo); }
/// <summary> /// 请求读条上马 /// </summary> public bool TryUsingRide(Action <object> callback, object param) { Client.IMapSystem ms = Client.ClientGlobal.Instance().GetMapSystem(); if (ms == null) { return(false); } table.MapDataBase mapdata = GameTableManager.Instance.GetTableItem <table.MapDataBase>(ms.GetMapID()); if (mapdata == null) { return(false); } if (mapdata.canUsingRide != 1) { TipsManager.Instance.ShowTips("该地图不能上马"); if (callback != null) { callback(param); } return(false); } Client.IPlayer mainPlayer = Client.ClientGlobal.Instance().MainPlayer; if (mainPlayer != null) { Client.ISkillPart skillpart = mainPlayer.GetPart(Client.EntityPart.Skill) as Client.ISkillPart; if (skillpart != null) { if (skillpart.GetCurSkillState() != (int)Client.SkillState.None) { TipsManager.Instance.ShowTips(LocalTextType.Ride_Commond_shifangjinengzhongwufashangma); if (callback != null) { callback(param); } return(false); } } bool isChangeBody = (bool)mainPlayer.SendMessage(Client.EntityMessage.EntityCommand_IsChange, null); if (isChangeBody) { if (callback != null) { callback(param); } return(false); } bool bRide = DataManager.Manager <RideManager>().IsRide; if (bRide) { if (callback != null) { callback(param); } return(false); } else if (Auto_Ride == 0) { if (callback != null) { callback(param); } return(false); } } UsingRideCallback = callback; UsingRideCallbackParam = param; if (Auto_Ride != 0) { //先发送读条 读条 结束在上马 Client.stUninterruptMagic stparam = new Client.stUninterruptMagic(); if (GetRideDataById(Auto_Ride) != null) { stparam.time = GetRideDataById(Auto_Ride).spellTime; } stparam.type = GameCmd.UninterruptActionType.UninterruptActionType_DEMON; stparam.uid = MainPlayerHelper.GetPlayerUID(); Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.SKILLGUIDE_PROGRESSSTART, stparam); //NetService.Instance.Send(new stUsingRideUserCmd_C()); } return(true); }
private void OnCommitTask(QuestTraceInfo taskInfo) { table.QuestDataBase questDB = taskInfo.QuestTable; if (questDB == null) { Engine.Utility.Log.Error("QuestTable is null"); return; } if (taskInfo.taskSubType == TaskSubType.Guild) { DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.MissionMessagePanel, data: taskInfo.taskId); return; } PanelID pid; int tab = 0; int copyId = 0; uint jumpId; if (taskInfo.IsOpenUI(out jumpId)) { ItemManager.DoJump(jumpId); return; } else if (taskInfo.IsChangeBodyTask()) { //bool isChange = (bool)Client.ClientGlobal.Instance().MainPlayer.SendMessage(Client.EntityMessage.EntityCommand_IsChange, null); //if (!isChange) //{ // m_nDoingTaskID = taskInfo.taskId; // if (m_bAddChangeListener) // { // return; // } // m_bAddChangeListener = true; // Engine.Utility.Log.Info("{0}CanDone 等待.......变身回来 执行任务{1}", TAG, m_nDoingTaskID); // Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.ENTITYSYSTEM_CHANGE, OnEvent); // return; //} m_nDoingTaskID = taskInfo.taskId; if (false == m_bAddChangeListener && false == MainPlayerIsChangeBody()) { m_bAddChangeListener = true; Engine.Utility.Log.Info("{0}CanDone 等待.......变身回来 执行任务{1}", TAG, m_nDoingTaskID); Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.ENTITYSYSTEM_CHANGE, OnEvent); } VisitNpc(questDB.dwHelpCommit, questDB.submitMapID, questDB.dwEndNpc, questDB.dwID); return; } uint npcid = 0; if (taskInfo.IsKillMonster(out npcid)) { Client.ISkillPart skillPart = Client.ClientGlobal.Instance().MainPlayer.GetPart(Client.EntityPart.Skill) as Client.ISkillPart; if (skillPart != null) { if (skillPart.GetCurSkillState() != (int)Client.SkillState.None) { m_nDoingTaskID = taskInfo.taskId; Engine.Utility.EventEngine.Instance().AddEventListener((int)Client.GameEventID.SKILLNONESTATE_ENTER, OnEvent); Engine.Utility.Log.Info("等待.......技能播放完毕 执行任务{0}", m_nDoingTaskID); return; } } } //令牌悬赏无交任务npc if (taskInfo.taskType != GameCmd.TaskType.TaskType_Token) { DataManager.Manager <RideManager>().TryUsingRide(delegate(object o) { VisitNpc(questDB.dwHelpCommit, questDB.submitMapID, questDB.dwEndNpc, questDB.dwID); }, null); } }