```
feat(xml): 更新任务配置结构以支持新能量节点解析 将原先的 TalkCount 和 TalkEntry 结构替换为 TalkRoot 和 Energy, 以适配新的 XML 配置格式。同时更新了相关引用代码以确保类型一致性。 refactor(item): 优化物品添加方法支持可变参数传入 调整 ItemAdd 方法签名,从接收数组改为接收可变参数, 提升调用灵活性,并同步修改控制器中对物品添加逻辑的处理方式。 feat(login): 修复每日重置逻辑并引入 gtime 时间管理 修正登录时每日任务重置区间错误(400~100 改为 400~500), 并改用 gtime.Now().Time 提供更准确的时间戳记录与比较, 同时增强挖矿次数等
This commit is contained in:
@@ -38,7 +38,7 @@ var (
|
||||
MapConfig Maps //地图配置
|
||||
ItemsConfig Items //物品配置
|
||||
EffectArgsConfig EffectArg //arg参数
|
||||
TalkConfig TalkCount //任务配置
|
||||
TalkConfig TalkRoot //任务配置
|
||||
//Monster MonsterRoot //野怪配置
|
||||
MonsterMap map[int]TMapConfig
|
||||
//Skill MovesTbl //技能配置
|
||||
@@ -67,7 +67,7 @@ func initfile() {
|
||||
|
||||
})
|
||||
|
||||
TalkConfig = getXml[TalkCount](path + "talk.xml")
|
||||
TalkConfig = getXml[TalkRoot](path + "talk.xml")
|
||||
|
||||
Monster := getXml[MonsterRoot](path + "地图配置野怪.xml")
|
||||
|
||||
|
||||
@@ -4,20 +4,21 @@ import (
|
||||
"github.com/ECUST-XX/xml" // 注意:需确保该xml库与示例中使用的一致
|
||||
)
|
||||
|
||||
// TalkCount 根节点,对应<talk_count>标签
|
||||
// 注意:xml.Name需指定命名空间,与XML中的xmlns保持一致
|
||||
type TalkCount struct {
|
||||
XMLName xml.Name `xml:"nieo.seer.org.talk-count talk_count"`
|
||||
Entries []TalkEntry `xml:"entry"` // 包含所有entry节点
|
||||
// 定义XML根节点对应的结构体
|
||||
// 根节点<root>包含多个<energy>子节点,用切片接收
|
||||
type TalkRoot struct {
|
||||
XMLName xml.Name `xml:"root"` // 指定根节点名称为root
|
||||
Energies []Energy `xml:"energy"` // 子节点<energy>映射为切片,标签对应节点名
|
||||
}
|
||||
|
||||
// Entry 单个条目配置,对应<entry>标签
|
||||
type TalkEntry struct {
|
||||
ID int `xml:"id,attr"` // 条目ID
|
||||
ItemID int `xml:"item_id,attr"` // 物品ID
|
||||
ItemMinCount int `xml:"item_min_count,attr"` // 物品最小数量
|
||||
ItemMaxCount int `xml:"item_max_count,attr"` // 物品最大数量
|
||||
Desc string `xml:"desc,attr"` // 描述信息
|
||||
Count int `xml:"count,attr"` // 计数
|
||||
Policy string `xml:"policy,attr,omitempty"` // 策略(可选,如week)
|
||||
// 定义<energy>节点对应的结构体
|
||||
// 每个字段对应<energy>的属性,用`xml:"属性名,attr"`标签标识
|
||||
type Energy struct {
|
||||
Type uint64 `xml:"type,attr"` // 类别ID(服务器规定),属性type
|
||||
MapID uint64 `xml:"mapID,attr"` // 矿产所在地图ID,属性mapID
|
||||
Name string `xml:"name,attr"` // 矿产名字,属性name
|
||||
CollectType string `xml:"collectType,attr"` // 操作类型(挖掘/采集/采摘),属性collectType
|
||||
CollectCnt uint64 `xml:"collectCnt,attr"` // 每天采集次数,属性collectCnt
|
||||
Unit string `xml:"unit,attr"` // 单位(块/罐/个),属性unit
|
||||
Dir uint64 `xml:"dir,attr"` // 人模朝向方向,属性dir
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user