From 787041b6ecfd27af3e2f9178af6aa47879d216d1 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 26 Aug 2025 09:58:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E6=89=8B=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Gm.go | 3 ++- src/server/game/Player.go | 8 ++++++++ src/server/game/mod/guideTask/guideTask.go | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index b761ed85..7df2606b 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -42,7 +42,7 @@ func ReqGmCommand_(player *Player, Command string) error { // log.Error("ReqGmCommand panic: %v", err) // } // }() - if conf.Server.GameName != "pet_home" && conf.Server.GameName != "merge_pet_sdk" { + if conf.Server.GameName != "pet_home" && conf.Server.GameName != "merge_pet_sdk" && conf.Server.GameName != "Merge_Pet_Local" { return fmt.Errorf("Player %d ReqGmCommand not support in game %s, command %s", player.M_DwUin, conf.Server.GameName, Command) } player.TeLog("gm", map[string]interface{}{ @@ -89,6 +89,7 @@ func ReqGmCommand_(player *Player, Command string) error { player.PlayMod.getBaseMod().Exp = 0 player.PushClientRes(player.PlayerBaseMod.BackAsset()) player.initAcitivity() + player.PlayMod.getGuideTaskMod().Unlock(num) player.BackDataActivity() case "zeroUpdate": VarMod := player.PlayMod.getVarMod() diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 26ea4daa..b093c406 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -154,8 +154,10 @@ func (p *Player) ProcessTrigger() { DailyTaskMod := p.PlayMod.getDailyTaskMod() MailMod := p.PlayMod.getMailMod() PlayroomMod := p.PlayMod.getPlayroomMod() + GuideTaskMod := p.PlayMod.getGuideTaskMod() IsPlayroomBack := false IsMailBack := false + IsGuideTask := false for _, tr := range p.Trigger { if DailyTaskMod.Trigger(tr) { IsDailyBack = true @@ -166,6 +168,9 @@ func (p *Player) ProcessTrigger() { if PlayroomMod.QuestTrigger(tr) { IsPlayroomBack = true } + if GuideTaskMod.Trigger(tr) { + IsGuideTask = true + } } if IsDailyBack { @@ -177,6 +182,9 @@ func (p *Player) ProcessTrigger() { if IsPlayroomBack { p.NotifyPlayroomTask() } + if IsGuideTask { + p.PushClientRes(GuideTaskMod.BackData()) + } p.Trigger = make([]*quest.Trigger, 0) } diff --git a/src/server/game/mod/guideTask/guideTask.go b/src/server/game/mod/guideTask/guideTask.go index f92fe461..7fbd0918 100644 --- a/src/server/game/mod/guideTask/guideTask.go +++ b/src/server/game/mod/guideTask/guideTask.go @@ -54,6 +54,7 @@ func (gt *GuideTaskMod) Unlock(lv int) bool { UnLockLv := GuideTaskCfg.GetUnlockLv() if lv >= UnLockLv && gt.UnlockTime == 0 { gt.UnlockTime = GoUtil.Now() + gt.Trigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_LOGIN}) return true } return false @@ -123,6 +124,9 @@ func (gt *GuideTaskMod) GetActiveReward(Id int) ([]*item.Item, error) { } func (gt *GuideTaskMod) BackData() *msg.ResGuideTask { + if !gt.CheckOpen() { + return nil + } resTask := make(map[int32]*msg.GuideTask) for k, v := range gt.Tasks { resTask[int32(k)] = &msg.GuideTask{