diff --git a/src/server/conf/guideTask/GuideTaskCfg.go b/src/server/conf/guideTask/GuideTaskCfg.go index f7e60927..afe2cd18 100644 --- a/src/server/conf/guideTask/GuideTaskCfg.go +++ b/src/server/conf/guideTask/GuideTaskCfg.go @@ -3,6 +3,8 @@ package GuideTaskCfg import ( "server/game/mod/item" "server/gamedata" + "server/pkg/github.com/name5566/leaf/log" + "strconv" ) const ( @@ -25,6 +27,14 @@ func GetTaskRewardById(Id int) []*item.Item { return gamedata.GetItemList(data, "Items") } +func GetTaskById(Id int) string { + data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id) + if err != nil { + return "" + } + return gamedata.GetStringValue(data, "Task") +} + func GetTaskActive(Id int) int { data, err := gamedata.GetDataByIntKey(GUIDE_TASK_TASK, Id) if err != nil { @@ -56,3 +66,17 @@ func GetDays() int { } return gamedata.GetIntValue(data, "Value") } + +func GetTaskList(Lv int) map[int]string { + r := make(map[int]string) + data, err := gamedata.GetData(GUIDE_TASK_TASK) + if err != nil { + log.Debug("GetTaskList get data nil") + return r + } + for k, v := range data { + k1, _ := strconv.Atoi(k) + r[k1] = gamedata.GetStringValue(v, "Task") + } + return r +} diff --git a/src/server/game/mod/guideTask/guideTask.go b/src/server/game/mod/guideTask/guideTask.go index 65f1ec9c..f92fe461 100644 --- a/src/server/game/mod/guideTask/guideTask.go +++ b/src/server/game/mod/guideTask/guideTask.go @@ -27,6 +27,19 @@ func (gt *GuideTaskMod) InitData() { if gt.Tasks == nil { gt.Tasks = make(map[int]*GuideTask) } + if len(gt.Tasks) == 0 { + for i := 1; ; i++ { + Str := GuideTaskCfg.GetTaskById(i) + if Str == "" { + break + } + Quest, _ := quest.ParseQuest(Str) + gt.Tasks[i] = &GuideTask{ + Status: quest.QUEST_STATUS_UNFINISH, + Quest: Quest, + } + } + } } func (gt *GuideTaskMod) Login() {