diff --git a/src/server/conf/playroom/playroom_cfg.go b/src/server/conf/playroom/playroom_cfg.go index 1348cd92..5de9a309 100644 --- a/src/server/conf/playroom/playroom_cfg.go +++ b/src/server/conf/playroom/playroom_cfg.go @@ -220,6 +220,14 @@ func GetInteractUnlock() int { return gamedata.GetIntValue(data, "Value") } +func GetRoomDailyTaskUnlock() int { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "RoomDailyTaskUnlock") + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Value") +} + func GetVisitorItem() int { data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "VisitorItem") if err != nil { diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 7fd6ad9f..48b6599f 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -327,9 +327,13 @@ func (p *PlayroomMod) InitDailyTask() { } } -func (p *PlayroomMod) QuestTrigger(tr *quest.Trigger) bool { +func (p *PlayroomMod) QuestTrigger(tr *quest.Trigger, lv int) bool { update := false unlock := true + dailyTaskUnlockLv := playroomCfg.GetRoomDailyTaskUnlock() + if lv < dailyTaskUnlockLv { + return false + } for k, v := range p.DailyTask { if !v.UnLock { continue diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index 7004122a..0b839343 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -182,6 +182,7 @@ func (p *Player) ProcessTrigger() { MailMod := p.PlayMod.getMailMod() PlayroomMod := p.PlayMod.getPlayroomMod() GuideTaskMod := p.PlayMod.getGuideTaskMod() + BaseMod := p.PlayMod.getBaseMod() IsPlayroomBack := false IsMailBack := false IsGuideTask := false @@ -192,7 +193,7 @@ func (p *Player) ProcessTrigger() { if p.MailTrigger(tr) { IsMailBack = true } - if PlayroomMod.QuestTrigger(tr) { + if PlayroomMod.QuestTrigger(tr, BaseMod.GetLevel()) { IsPlayroomBack = true } if GuideTaskMod.Trigger(tr) {