Merge branch 'dev' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev
This commit is contained in:
commit
349aef1c94
@ -48,5 +48,15 @@
|
||||
"n": 20000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"index": "unified_reward",
|
||||
"var": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "gold",
|
||||
"n": 20000
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
65
bin/json/game_taskcond.json
Normal file
65
bin/json/game_taskcond.json
Normal file
@ -0,0 +1,65 @@
|
||||
[
|
||||
{
|
||||
"id": 101,
|
||||
"type": 1,
|
||||
"data1": 25001,
|
||||
"data2": 40,
|
||||
"data3": 5,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 102,
|
||||
"type": 2,
|
||||
"data1": 3,
|
||||
"data2": 0,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 103,
|
||||
"type": 3,
|
||||
"data1": 2,
|
||||
"data2": 0,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 104,
|
||||
"type": 4,
|
||||
"data1": 14007,
|
||||
"data2": 10,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 105,
|
||||
"type": 5,
|
||||
"data1": 25001,
|
||||
"data2": 2,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 106,
|
||||
"type": 6,
|
||||
"data1": 25004,
|
||||
"data2": 5,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
},
|
||||
{
|
||||
"id": 107,
|
||||
"type": 7,
|
||||
"data1": 1,
|
||||
"data2": 0,
|
||||
"data3": 0,
|
||||
"data4": 0,
|
||||
"data5": 0
|
||||
}
|
||||
]
|
659
bin/json/game_tasktype.json
Normal file
659
bin/json/game_tasktype.json
Normal file
@ -0,0 +1,659 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"datatype": 0,
|
||||
"desc": "英雄指定",
|
||||
"data1": "英雄ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"datatype": 0,
|
||||
"desc": "主线之内触发了剧情Id",
|
||||
"data1": "剧情ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"datatype": 0,
|
||||
"desc": "每日任务",
|
||||
"data1": "任务ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"datatype": 0,
|
||||
"desc": "指定英雄的等级限制",
|
||||
"data1": "英雄ID",
|
||||
"data2": "填写英雄需要的等级",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"datatype": 0,
|
||||
"desc": "指定英雄的装备数量",
|
||||
"data1": "英雄ID",
|
||||
"data2": "填写装备数量",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"datatype": 0,
|
||||
"desc": "指定英雄的星级",
|
||||
"data1": "英雄ID",
|
||||
"data2": "填写星级",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"datatype": 0,
|
||||
"desc": "日常登录一次",
|
||||
"data1": "日常登录次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"datatype": 0,
|
||||
"desc": "累计登陆xx天",
|
||||
"data1": "登录天数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"datatype": 0,
|
||||
"desc": "连续登陆xx天",
|
||||
"data1": "登录天数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"datatype": 0,
|
||||
"desc": "拥有xx个好友",
|
||||
"data1": "拥有的好友数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"datatype": 0,
|
||||
"desc": "赠送X次友情点",
|
||||
"data1": "赠送次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"datatype": 0,
|
||||
"desc": "使用好友助战英雄xx次",
|
||||
"data1": "使用好友助战英雄次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"datatype": 0,
|
||||
"desc": "更换X次助战英雄",
|
||||
"data1": "更换次数数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"datatype": 0,
|
||||
"desc": "累计xx次普通招募",
|
||||
"data1": "累计招募次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"datatype": 0,
|
||||
"desc": "累计xx次阵营招募",
|
||||
"data1": "累计招募次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"datatype": 0,
|
||||
"desc": "招募获得xx品质英雄xx个",
|
||||
"data1": "获得英雄数量",
|
||||
"data2": "品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"datatype": 0,
|
||||
"desc": "普通招募十连,获得xx个以上xx星英雄",
|
||||
"data1": "获得个数",
|
||||
"data2": "星级",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"datatype": 0,
|
||||
"desc": "xx次普通招募",
|
||||
"data1": "招募次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"datatype": 0,
|
||||
"desc": "xx次阵营招募",
|
||||
"data1": "招募次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"datatype": 0,
|
||||
"desc": "用户等级达到xx级",
|
||||
"data1": "等级",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"datatype": 0,
|
||||
"desc": "英雄合成xx次",
|
||||
"data1": "合成次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"datatype": 0,
|
||||
"desc": "合成xx英雄",
|
||||
"data1": "英雄ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"datatype": 0,
|
||||
"desc": "拥有xx个xx星级的xx等级英雄",
|
||||
"data1": "拥有数量",
|
||||
"data2": "",
|
||||
"data3": "等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"datatype": 0,
|
||||
"desc": "为任意英雄提升xx次等级",
|
||||
"data1": "提升等级次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"datatype": 0,
|
||||
"desc": "xx名xx英雄升至xx星",
|
||||
"data1": "共计要升几名英雄",
|
||||
"data2": "英雄ID",
|
||||
"data3": "星级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄从三星升四星",
|
||||
"data1": "升星的英雄数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄从四星升五星",
|
||||
"data1": "升星的英雄数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄从五星升六星",
|
||||
"data1": "升星的英雄数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"datatype": 0,
|
||||
"desc": "拥有xx个xx级及以上的【xx】英雄",
|
||||
"data1": "拥有数量",
|
||||
"data2": "等级",
|
||||
"data3": "英雄ID",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"datatype": 0,
|
||||
"desc": "获得xx个品质为xx的英雄",
|
||||
"data1": "获得数量",
|
||||
"data2": "品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"datatype": 0,
|
||||
"desc": "获得xx个品质为xx以上的英雄",
|
||||
"data1": "获得数量",
|
||||
"data2": "品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"datatype": 0,
|
||||
"desc": "xx个品质为xx的英雄升到xx级",
|
||||
"data1": "满足条件的英雄数量",
|
||||
"data2": "满足条件的英雄品质",
|
||||
"data3": "需要升到的等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"datatype": 0,
|
||||
"desc": "xx个品质为xx以及以上英雄升到xx级",
|
||||
"data1": "满足条件的英雄数量",
|
||||
"data2": "满足条件的英雄品质",
|
||||
"data3": "需要升到的等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"datatype": 0,
|
||||
"desc": "xx个英雄觉醒达到xx阶段",
|
||||
"data1": "英雄数量",
|
||||
"data2": "觉醒阶段",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"datatype": 0,
|
||||
"desc": "xx英雄觉醒达到xx阶段",
|
||||
"data1": "觉醒阶段",
|
||||
"data2": "英雄ID",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"datatype": 0,
|
||||
"desc": "xx位xx品质xx职业英雄(xx阵营)觉醒达到xx阶段",
|
||||
"data1": "数量",
|
||||
"data2": "英雄品质",
|
||||
"data3": "指定职业",
|
||||
"data4": "指定阵营"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"datatype": 0,
|
||||
"desc": "xx名xx品质英雄满共鸣、等级、觉醒",
|
||||
"data1": "数量",
|
||||
"data2": "英雄品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"datatype": 0,
|
||||
"desc": "xx英雄满级、共鸣、觉醒至最高状态",
|
||||
"data1": "数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"datatype": 0,
|
||||
"desc": "累计英雄共鸣xx次",
|
||||
"data1": "共鸣次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"datatype": 0,
|
||||
"desc": "xx个英雄共鸣满xx次",
|
||||
"data1": "英雄数量",
|
||||
"data2": "共鸣次数",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄穿戴xx件xx星级的装备",
|
||||
"data1": "英雄数量",
|
||||
"data2": "装备数量",
|
||||
"data3": "指定星级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄穿戴xx件xx等级的装备",
|
||||
"data1": "英雄数量",
|
||||
"data2": "装备数量",
|
||||
"data3": "指定等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"datatype": 0,
|
||||
"desc": "将xx件装备强化至xx级",
|
||||
"data1": "数量",
|
||||
"data2": "等级",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"datatype": 0,
|
||||
"desc": "任意装备强化到xx级",
|
||||
"data1": "强化等级",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"datatype": 0,
|
||||
"desc": "将xx件xx星【xx】套装装备强化至xx级",
|
||||
"data1": "数量",
|
||||
"data2": "指定装备星级",
|
||||
"data3": "指定套装",
|
||||
"data4": "强化等级"
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"datatype": 0,
|
||||
"desc": "为xx名英雄穿戴完整xx星【xx】套装装备",
|
||||
"data1": "数量",
|
||||
"data2": "指定装备星级",
|
||||
"data3": "指定套装",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"datatype": 0,
|
||||
"desc": "累计强化装备成功xx次",
|
||||
"data1": "数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"datatype": 0,
|
||||
"desc": "xx次xx星的二件套装备强化至xx并穿戴",
|
||||
"data1": "次数",
|
||||
"data2": "指定装备星级",
|
||||
"data3": "强化等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"datatype": 0,
|
||||
"desc": "xx次xx星的四件套装备强化至xx并穿戴",
|
||||
"data1": "次数",
|
||||
"data2": "指定装备星级",
|
||||
"data3": "强化等级",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"datatype": 0,
|
||||
"desc": "获得xx星以上装备xx件",
|
||||
"data1": "数量",
|
||||
"data2": "指定装备星级",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"datatype": 0,
|
||||
"desc": "在铁匠铺中获得xx件xx星装备",
|
||||
"data1": "数量",
|
||||
"data2": "指定装备品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"datatype": 0,
|
||||
"desc": "xx英雄提升xx次技能等级",
|
||||
"data1": "提升技能次数",
|
||||
"data2": "指定英雄",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"datatype": 0,
|
||||
"desc": "技能升级累计xx次",
|
||||
"data1": "累计提升次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"datatype": 0,
|
||||
"desc": "x名卡牌角色技能全满级",
|
||||
"data1": "满技能卡片角色数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"datatype": 0,
|
||||
"desc": "xx品质英雄提升xx次技能等级",
|
||||
"data1": "次数",
|
||||
"data2": "指定品质",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"datatype": 0,
|
||||
"desc": "拥有xx名技能升级xx次的xx职业英雄",
|
||||
"data1": "数量",
|
||||
"data2": "技能升级次数",
|
||||
"data3": "指定职业",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"datatype": 0,
|
||||
"desc": "xx名英雄技能满级",
|
||||
"data1": "数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"datatype": 0,
|
||||
"desc": "通关任意普通爬塔层数",
|
||||
"data1": "次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"datatype": 0,
|
||||
"desc": "通关普通爬塔xx层",
|
||||
"data1": "层数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"datatype": 0,
|
||||
"desc": "任意主线副本通关X次",
|
||||
"data1": "次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"datatype": 0,
|
||||
"desc": "通关主线关卡xx",
|
||||
"data1": "关卡ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"datatype": 0,
|
||||
"desc": "世界聊天发言xx次",
|
||||
"data1": "次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"datatype": 0,
|
||||
"desc": "日常任务活跃度达到xx",
|
||||
"data1": "活跃值",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"datatype": 0,
|
||||
"desc": "任意商品购买xx次",
|
||||
"data1": "次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"datatype": 0,
|
||||
"desc": "在商店购买xx商品xx件",
|
||||
"data1": "数量",
|
||||
"data2": "道具ID",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"datatype": 0,
|
||||
"desc": "xx商店购买任意商品xx次",
|
||||
"data1": "数量",
|
||||
"data2": "商店ID",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"datatype": 0,
|
||||
"desc": "商店购物消耗xx货币xx个",
|
||||
"data1": "数量",
|
||||
"data2": "货币ID",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"datatype": 0,
|
||||
"desc": "任意渠道消耗xx金币",
|
||||
"data1": "金币消耗的数量",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 69,
|
||||
"datatype": 0,
|
||||
"desc": "与其他玩家切磋xx次",
|
||||
"data1": "切磋次数",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"datatype": 0,
|
||||
"desc": "通关随机任务XX关卡",
|
||||
"data1": "通关的关卡ID",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 71,
|
||||
"datatype": 0,
|
||||
"desc": "主角等级达到X级",
|
||||
"data1": "等级",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 72,
|
||||
"datatype": 0,
|
||||
"desc": "完成一次创角",
|
||||
"data1": "",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"datatype": 0,
|
||||
"desc": "完成一段剧情表内的对话",
|
||||
"data1": "",
|
||||
"data2": "",
|
||||
"data3": "",
|
||||
"data4": ""
|
||||
}
|
||||
]
|
325
bin/json/game_worldtask.json
Normal file
325
bin/json/game_worldtask.json
Normal file
@ -0,0 +1,325 @@
|
||||
[
|
||||
{
|
||||
"key": 10100,
|
||||
"lock": 1,
|
||||
"ontxe": 0,
|
||||
"id_after": 10101,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 0,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10101,
|
||||
"lock": 1,
|
||||
"ontxe": 10100,
|
||||
"id_after": 10102,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "邦尼兔组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10102,
|
||||
"lock": 1,
|
||||
"ontxe": 10101,
|
||||
"id_after": 10103,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "波比组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10103,
|
||||
"lock": 1,
|
||||
"ontxe": 10102,
|
||||
"id_after": 10104,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10104,
|
||||
"lock": 1,
|
||||
"ontxe": 10103,
|
||||
"id_after": 10105,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10106,
|
||||
"lock": 1,
|
||||
"ontxe": 10105,
|
||||
"id_after": 10107,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "邦尼兔组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10107,
|
||||
"lock": 1,
|
||||
"ontxe": 10106,
|
||||
"id_after": 10108,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10108,
|
||||
"lock": 1,
|
||||
"ontxe": 10107,
|
||||
"id_after": 10109,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "",
|
||||
"getafter_event": [
|
||||
"6",
|
||||
"跳转铁匠铺3D场景"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10109,
|
||||
"lock": 1,
|
||||
"ontxe": 10108,
|
||||
"id_after": 10110,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10110,
|
||||
"lock": 1,
|
||||
"ontxe": 10109,
|
||||
"id_after": 10111,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "",
|
||||
"getafter_event": [
|
||||
"6",
|
||||
"跳转美食馆外面的3D场景"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10111,
|
||||
"lock": 1,
|
||||
"ontxe": 10110,
|
||||
"id_after": 10112,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "瓜哥组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10112,
|
||||
"lock": 1,
|
||||
"ontxe": 10111,
|
||||
"id_after": 10113,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "瓜哥组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10113,
|
||||
"lock": 1,
|
||||
"ontxe": 10112,
|
||||
"id_after": 10114,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "",
|
||||
"getafter_event": [
|
||||
"6",
|
||||
"跳转美食馆内3D场景"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10114,
|
||||
"lock": 1,
|
||||
"ontxe": 10113,
|
||||
"id_after": 10115,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "",
|
||||
"getafter_event": [
|
||||
"3",
|
||||
"播放timeline"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10115,
|
||||
"lock": 1,
|
||||
"ontxe": 10114,
|
||||
"id_after": 10116,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10116,
|
||||
"lock": 1,
|
||||
"ontxe": 10115,
|
||||
"id_after": 10117,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "",
|
||||
"getafter_event": [
|
||||
"6",
|
||||
"开启书籍玩法"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
},
|
||||
{
|
||||
"key": 10117,
|
||||
"lock": 1,
|
||||
"ontxe": 10116,
|
||||
"id_after": 10118,
|
||||
"des": 2,
|
||||
"icon": "",
|
||||
"task_name": "",
|
||||
"task_display": "",
|
||||
"npc": "阿宝组件名",
|
||||
"getafter_event": [
|
||||
"2",
|
||||
"20"
|
||||
],
|
||||
"completetask": 0,
|
||||
"auto_accept": 1,
|
||||
"overtips": 1,
|
||||
"reword": []
|
||||
}
|
||||
]
|
@ -72,7 +72,8 @@ const (
|
||||
ModulePay core.M_Modules = "pay" //支付
|
||||
ModuleAlliance core.M_Modules = "alliance" //联盟学院
|
||||
ModulePrivilege core.M_Modules = "privilege" //特权
|
||||
ModuleGrowtask core.M_Modules = "growtask" //成长任务
|
||||
ModuleGrowtask core.M_Modules = "growtask" //成长任务
|
||||
ModuleWorldtask core.M_Modules = "worldtask" //世界任务
|
||||
)
|
||||
|
||||
//数据表名定义处
|
||||
@ -196,6 +197,8 @@ const (
|
||||
TableSign = "sign"
|
||||
// 成长任务
|
||||
TableGrowtask = "growtask"
|
||||
// 世界任务
|
||||
TableWorldtask = "worldtask"
|
||||
)
|
||||
|
||||
//RPC服务接口定义处
|
||||
|
@ -13,6 +13,7 @@ const (
|
||||
PagodaChallengeOverResp = "challengeover"
|
||||
PagodaGetRewardResp = "getreward"
|
||||
PagodaRankListResp = "ranklist"
|
||||
PagodaActivateResp = "activate"
|
||||
)
|
||||
|
||||
type apiComp struct {
|
||||
|
56
modules/pagoda/api_activate.go
Normal file
56
modules/pagoda/api_activate.go
Normal file
@ -0,0 +1,56 @@
|
||||
package pagoda
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/db"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
//参数校验
|
||||
func (this *apiComp) ActivateCheck(session comm.IUserSession, req *pb.PagodaActivateReq) (code pb.ErrorCode) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
///获取主线关卡信息
|
||||
func (this *apiComp) Activate(session comm.IUserSession, req *pb.PagodaActivateReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
list *pb.DBPagoda
|
||||
)
|
||||
this.ActivateCheck(session, req)
|
||||
expand, err := this.module.ModuleUser.GetUserExpand(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
if expand.CompletePagoda { // 普通塔
|
||||
season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
if season.Id == "" {
|
||||
season.Id = primitive.NewObjectID().Hex()
|
||||
season.Uid = session.GetUserId()
|
||||
season.PagodaId = 0 // 初始数据0层
|
||||
if conn, err := db.Cross(); err == nil {
|
||||
rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{})
|
||||
server := &pb.DBServerData{}
|
||||
rst.Decode(server)
|
||||
season.Type = server.SeasonType
|
||||
}
|
||||
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), season)
|
||||
}
|
||||
|
||||
list = &pb.DBPagoda{
|
||||
Id: season.Id,
|
||||
Uid: season.Uid,
|
||||
PagodaId: season.PagodaId,
|
||||
Reward: season.Reward,
|
||||
Type: season.Type,
|
||||
}
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), PagodaActivateResp, &pb.PagodaActivateResp{Data: list})
|
||||
return
|
||||
}
|
@ -7,7 +7,6 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
@ -24,10 +23,9 @@ func (this *apiComp) ChallengeOverCheck(session comm.IUserSession, req *pb.Pagod
|
||||
///挑战主线关卡
|
||||
func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChallengeOverReq) (code pb.ErrorCode, data proto.Message) {
|
||||
var (
|
||||
mapData map[string]interface{}
|
||||
pagoda *pb.DBPagoda
|
||||
seasonPagoda *pb.DBSeasonPagoda
|
||||
costTime int32 // 本次战斗消耗的时间
|
||||
mapData map[string]interface{}
|
||||
pagoda *pb.DBPagoda
|
||||
costTime int32 // 本次战斗消耗的时间
|
||||
)
|
||||
mapData = make(map[string]interface{}, 0)
|
||||
code = this.ChallengeOverCheck(session, req)
|
||||
@ -58,12 +56,12 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
||||
}
|
||||
} else {
|
||||
// 塔数据校验
|
||||
seasonPagoda, err = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
pagoda, err = this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_PagodaNotFound
|
||||
return
|
||||
}
|
||||
if seasonPagoda.Type != req.PagodaType || conf.LayerNum-1 != seasonPagoda.PagodaId {
|
||||
if pagoda.Type != req.PagodaType || conf.LayerNum-1 != pagoda.PagodaId {
|
||||
code = pb.ErrorCode_PagodaLevlErr // 挑战关卡数据不匹配
|
||||
return
|
||||
}
|
||||
@ -119,32 +117,15 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
||||
}
|
||||
// 普通塔通关了
|
||||
Nomalcfg := this.module.configure.GetPagodaConfigData(comm.PagodaType, pagoda.PagodaId+1)
|
||||
if Nomalcfg == nil { // 创建赛季塔数据
|
||||
if Nomalcfg == nil {
|
||||
// 修改expand 数据
|
||||
update := map[string]interface{}{
|
||||
"completePagoda": true,
|
||||
}
|
||||
this.module.ModuleUser.ChangeUserExpand(session.GetUserId(), update)
|
||||
seasonPagoda := &pb.DBSeasonPagoda{}
|
||||
seasonPagoda.Id = primitive.NewObjectID().Hex()
|
||||
|
||||
seasonPagoda.Uid = session.GetUserId()
|
||||
seasonPagoda.PagodaId = 0 // 初始数据0层
|
||||
|
||||
if conn, err := db.Cross(); err == nil {
|
||||
rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{})
|
||||
server := &pb.DBServerData{}
|
||||
rst.Decode(server)
|
||||
seasonPagoda.Type = server.SeasonType // 动态获取塔数据
|
||||
}
|
||||
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), seasonPagoda)
|
||||
// 推送新的
|
||||
pagoda.PagodaId = seasonPagoda.PagodaId
|
||||
pagoda.Type = seasonPagoda.Type
|
||||
session.SendMsg(string(this.module.GetType()), PagodaGetListResp, &pb.PagodaGetListResp{Data: pagoda})
|
||||
}
|
||||
} else {
|
||||
seasonPagoda.PagodaId = conf.LayerNum
|
||||
pagoda.PagodaId = conf.LayerNum
|
||||
mapData["pagodaId"] = conf.LayerNum
|
||||
// 记录爬塔明细数据
|
||||
if req.Report != nil && req.Report.Info != nil && len(req.Report.Info.Redflist) > 0 {
|
||||
@ -164,8 +145,8 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
||||
newData := &pb.DBPagodaRecord{
|
||||
Id: primitive.NewObjectID().Hex(),
|
||||
Uid: session.GetUserId(),
|
||||
PagodaId: seasonPagoda.PagodaId,
|
||||
Type: seasonPagoda.Type,
|
||||
PagodaId: pagoda.PagodaId,
|
||||
Type: pagoda.Type,
|
||||
Nickname: userinfo.Name,
|
||||
Icon: "", // icon 暂无
|
||||
Lv: userinfo.Lv,
|
||||
@ -175,24 +156,16 @@ func (this *apiComp) ChallengeOver(session comm.IUserSession, req *pb.PagodaChal
|
||||
// 数据写到跨服中
|
||||
conn_, err := db.Cross()
|
||||
dbModel := db.NewDBModel(comm.TableSeasonRecord, time.Hour, conn_)
|
||||
//if err = dbModel.GetList(uid, newData); err == nil {
|
||||
dbModel.AddList(uid, newData.Id, newData)
|
||||
this.module.SetPagodaRankList("pagodaList"+strconv.Itoa(int(newData.PagodaId)), newData.CostTime, newData.Id)
|
||||
//}
|
||||
dbModelTable := db.NewDBModel(comm.TableSeasonPagoda, time.Hour, conn_)
|
||||
if err = dbModelTable.Get(session.GetUserId(), seasonPagoda); err == nil {
|
||||
if err = dbModelTable.Get(session.GetUserId(), pagoda); err == nil {
|
||||
dbModelTable.Change(session.GetUserId(), mapData) // 修改跨服数据
|
||||
this.module.SetPagodaRankList("pagodaSeasonRank", seasonPagoda.PagodaId<<8+costTime, session.GetUserId())
|
||||
this.module.SetPagodaRankList("pagodaSeasonRank", pagoda.PagodaId<<8+costTime, session.GetUserId())
|
||||
}
|
||||
}
|
||||
code = this.module.ModifySeasonPagodaData(session.GetUserId(), mapData)
|
||||
pagoda = &pb.DBPagoda{
|
||||
Id: seasonPagoda.Id,
|
||||
Uid: seasonPagoda.Uid,
|
||||
PagodaId: seasonPagoda.PagodaId,
|
||||
Reward: seasonPagoda.Reward,
|
||||
Type: seasonPagoda.Type,
|
||||
}
|
||||
|
||||
session.SendMsg(string(this.module.GetType()), PagodaChallengeOverResp, &pb.PagodaChallengeOverResp{Data: pagoda})
|
||||
}
|
||||
|
||||
|
@ -3,9 +3,7 @@ package pagoda
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/sys/db"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
@ -27,8 +25,8 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq
|
||||
code = pb.ErrorCode_DBError
|
||||
return
|
||||
}
|
||||
list, _ = this.module.modelPagoda.getPagodaList(session.GetUserId())
|
||||
if !expand.CompletePagoda { // 普通塔
|
||||
list, _ = this.module.modelPagoda.getPagodaList(session.GetUserId())
|
||||
if list == nil { // redis没有数据
|
||||
list = &pb.DBPagoda{}
|
||||
list.Id = primitive.NewObjectID().Hex()
|
||||
@ -41,24 +39,9 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.PagodaGetListReq
|
||||
} else {
|
||||
season, _ := this.module.modelSeasonPagoda.getSeasonPagodaList(session.GetUserId())
|
||||
if season.Id == "" {
|
||||
season.Id = primitive.NewObjectID().Hex()
|
||||
season.Uid = session.GetUserId()
|
||||
season.PagodaId = 0 // 初始数据0层
|
||||
if conn, err := db.Cross(); err == nil {
|
||||
rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{})
|
||||
server := &pb.DBServerData{}
|
||||
rst.Decode(server)
|
||||
season.Type = server.SeasonType
|
||||
}
|
||||
this.module.modelSeasonPagoda.addNewSeasonPagoda(session.GetUserId(), season)
|
||||
}
|
||||
|
||||
list = &pb.DBPagoda{
|
||||
Id: season.Id,
|
||||
Uid: season.Uid,
|
||||
PagodaId: season.PagodaId,
|
||||
Reward: season.Reward,
|
||||
Type: season.Type,
|
||||
list.Complete = true
|
||||
} else {
|
||||
list = season
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ func (this *ModelRank) getPagodaRankList(uid string) []*pb.DBPagodaRecord {
|
||||
}
|
||||
|
||||
// 插入新的排行数据
|
||||
func (this *ModelRank) addPagodaRankList(session comm.IUserSession, data *pb.DBSeasonPagoda, Leadpos int32, line []*pb.LineUp, costTime int32) {
|
||||
func (this *ModelRank) addPagodaRankList(session comm.IUserSession, data *pb.DBPagoda, Leadpos int32, line []*pb.LineUp, costTime int32) {
|
||||
uid := session.GetUserId()
|
||||
var (
|
||||
dbModel *db.DBModel
|
||||
|
@ -32,8 +32,8 @@ func (this *ModelSeasonPagoda) Init(service core.IService, module core.IModule,
|
||||
}
|
||||
|
||||
// 获取爬塔信息
|
||||
func (this *ModelSeasonPagoda) getSeasonPagodaList(uid string) (result *pb.DBSeasonPagoda, err error) {
|
||||
result = &pb.DBSeasonPagoda{}
|
||||
func (this *ModelSeasonPagoda) getSeasonPagodaList(uid string) (result *pb.DBPagoda, err error) {
|
||||
result = &pb.DBPagoda{}
|
||||
if err = this.Get(uid, result); err != nil {
|
||||
|
||||
return
|
||||
@ -48,7 +48,7 @@ func (this *ModelSeasonPagoda) modifySeasonPagodaDataByObjId(uid string, data ma
|
||||
}
|
||||
|
||||
// 创建一个新的赛季塔数据
|
||||
func (this *ModelSeasonPagoda) addNewSeasonPagoda(uId string, data *pb.DBSeasonPagoda) (err error) {
|
||||
func (this *ModelSeasonPagoda) addNewSeasonPagoda(uId string, data *pb.DBPagoda) (err error) {
|
||||
//err = this.InsertModelLogs(this.TableName, uId, []interface{}{data}) // 不需要经过redis
|
||||
if err = this.Add(uId, data); err != nil {
|
||||
this.module.Errorf("err:%v", err)
|
||||
|
@ -10,7 +10,7 @@ import (
|
||||
const (
|
||||
gameRtask = "game_rdtask.json"
|
||||
gameRtaskChoose = "game_rdtaskchoose.json"
|
||||
gameRtaskCondi = "game_rdtaskcondi.json"
|
||||
gameTaskCond = "game_taskcond.json"
|
||||
gameRtaskSide = "game_rdtaskside.json"
|
||||
gameRtaskBattle = "game_rdtaskbattle.json"
|
||||
)
|
||||
@ -24,7 +24,7 @@ func (this *configureComp) Init(service core.IService, module core.IModule, comp
|
||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||
gameRtask: cfg.NewGameRdtask,
|
||||
gameRtaskChoose: cfg.NewGameRdtaskChoose,
|
||||
gameRtaskCondi: cfg.NewGameRdtaskCondi,
|
||||
gameTaskCond: cfg.NewGameTaskCond,
|
||||
gameRtaskSide: cfg.NewGameRdtaskSide,
|
||||
gameRtaskBattle: cfg.NewGameRdtaskBattle,
|
||||
})
|
||||
@ -52,7 +52,7 @@ func (this *configureComp) getRtaskCondiCfg() (data *cfg.GameRdtaskCondi, err er
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(gameRtaskCondi); err != nil {
|
||||
if v, err = this.GetConfigure(gameTaskCond); err != nil {
|
||||
return
|
||||
} else {
|
||||
if data, ok = v.(*cfg.GameRdtaskCondi); !ok {
|
||||
|
@ -53,9 +53,9 @@ func (this *apiComp) Mine(session comm.IUserSession, req *pb.SociatyMineReq) (co
|
||||
// 获取会长
|
||||
master := this.module.modelSociaty.getMasterInfo(sociaty)
|
||||
if master != nil {
|
||||
//判断当前玩家是否是会长
|
||||
if master.Uid == uid { //会长
|
||||
this.module.modelSociaty.extendJob(uid, sociaty)
|
||||
if err := this.module.modelSociaty.extendJob(master.Uid, sociaty); err == nil {
|
||||
// 获取新的会长
|
||||
master = this.module.modelSociaty.getMasterInfo(sociaty)
|
||||
}
|
||||
}
|
||||
rsp.Sociaty = sociaty
|
||||
|
@ -63,7 +63,7 @@ func (this *apiComp) Quit(session comm.IUserSession, req *pb.SociatyQuitReq) (co
|
||||
Uid: uid,
|
||||
SociatyId: sociaty.Id,
|
||||
}
|
||||
if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeDismiss, rsp); err != nil {
|
||||
if err := session.SendMsg(string(this.module.GetType()), SociatySubTypeQuit, rsp); err != nil {
|
||||
code = pb.ErrorCode_SystemError
|
||||
}
|
||||
return
|
||||
|
@ -569,22 +569,26 @@ func (this *ModelSociaty) accuse(sociaty *pb.DBSociaty) error {
|
||||
// srcMasterId 原会长ID
|
||||
func (this *ModelSociaty) extendJob(srcMasterId string, sociaty *pb.DBSociaty) error {
|
||||
if sociaty.AccuseTime != 0 {
|
||||
ggd := this.moduleSociaty.configure.GetGlobalConf()
|
||||
if ggd == nil {
|
||||
return errors.New("config not found")
|
||||
}
|
||||
now := time.Now().Unix()
|
||||
//48小时内终止弹劾
|
||||
if now-sociaty.AccuseTime < 48*3600 {
|
||||
//终止弹劾
|
||||
if now-sociaty.AccuseTime < int64(ggd.GuildImpeachmentCountDown*3600) {
|
||||
update := map[string]interface{}{
|
||||
"accuseTime": 0,
|
||||
}
|
||||
return this.updateSociaty(sociaty.Id, update)
|
||||
} else {
|
||||
//会长降为普通成员
|
||||
if err := this.settingJob(srcMasterId, pb.SociatyJob_MEMBER, sociaty); err != nil {
|
||||
return err
|
||||
}
|
||||
//选举新会长
|
||||
if err := this.electNewMaster(srcMasterId, sociaty); err != nil {
|
||||
return err
|
||||
}
|
||||
//会长降为普通成员
|
||||
if err := this.settingJob(srcMasterId, pb.SociatyJob_MEMBER, sociaty); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@ -602,7 +606,7 @@ func (this *ModelSociaty) electNewMaster(srcMasterId string, sociaty *pb.DBSocia
|
||||
vpIds = append(vpIds, m)
|
||||
} else if m.Job == pb.SociatyJob_ADMIN {
|
||||
aIds = append(aIds, m)
|
||||
} else {
|
||||
} else if m.Job == pb.SociatyJob_MEMBER {
|
||||
mIds = append(mIds, m)
|
||||
}
|
||||
}
|
||||
@ -649,7 +653,7 @@ func (this *ModelSociaty) electNewMaster(srcMasterId string, sociaty *pb.DBSocia
|
||||
}
|
||||
|
||||
if len(mIds) > 0 {
|
||||
return elect(aIds)
|
||||
return elect(mIds)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -62,7 +62,7 @@ func (this *SeasonPagoda) Start() (err error) {
|
||||
return
|
||||
}
|
||||
func (this *SeasonPagoda) CreatTestData(index int) {
|
||||
seasonPagoda := &pb.DBSeasonPagoda{}
|
||||
seasonPagoda := &pb.DBPagoda{}
|
||||
seasonPagoda.Id = primitive.NewObjectID().Hex()
|
||||
|
||||
seasonPagoda.Uid = "dfmxf_634f8f28609d489230fb40fa"
|
||||
@ -166,49 +166,3 @@ func (this *SeasonPagoda) TimerSeasonOver() {
|
||||
func (this *SeasonPagoda) TimerSeasonStar() {
|
||||
this.module.Debugf("TimerSeasonStar:%d", time.Now().Unix())
|
||||
}
|
||||
|
||||
// 测试用 后面删
|
||||
func (this *SeasonPagoda) TestFunc() {
|
||||
// newData1 := &pb.DBSeasonPagoda{
|
||||
// Id: primitive.NewObjectID().Hex(),
|
||||
// Uid: "sdsdassd",
|
||||
// PagodaId: 1,
|
||||
// Reward: map[int32]bool{},
|
||||
// Type: 201,
|
||||
// }
|
||||
// if conn, err := db.Cross(); err == nil {
|
||||
// rst, err := conn.Mgo.InsertOne(comm.TableSeasonPagoda, newData)
|
||||
|
||||
// fmt.Printf("%v,%v", rst, err)
|
||||
// }
|
||||
// _data := this.GetSeasonLoop(2)
|
||||
// this.module.Debugf("%v", _data)
|
||||
// for i := 0; i < 10000; i++ {
|
||||
// this.CreatTestData(i)
|
||||
// }
|
||||
|
||||
// if conn, err := db.Cross(); err == nil {
|
||||
// rst := conn.Mgo.FindOne(comm.TableServerData, bson.M{})
|
||||
// server := &pb.DBServerData{}
|
||||
// rst.Decode(server)
|
||||
// fmt.Printf("%v", server)
|
||||
// }
|
||||
|
||||
// newData := &pb.DBPagodaRecord{
|
||||
// Id: primitive.NewObjectID().Hex(),
|
||||
// Uid: "sdsd",
|
||||
// PagodaId: 1,
|
||||
// Type: 2,
|
||||
// Nickname: "userinfo.Name",
|
||||
// Icon: "", // icon 暂无
|
||||
// Lv: 12,
|
||||
// CostTime: 12000,
|
||||
// }
|
||||
// // 数据写到跨服中
|
||||
// if !db.IsCross() {
|
||||
// if conn, err := db.Cross(); err == nil {
|
||||
// conn.Mgo.InsertOne(comm.TableSeasonRecord, newData)
|
||||
// }
|
||||
// }
|
||||
//this.TimerSeasonOver()
|
||||
}
|
||||
|
@ -79,16 +79,20 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq)
|
||||
if trolltrain.Circle != c {
|
||||
trolltrain.SurpriseID = make(map[int32]int32, 0)
|
||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(trainNum)))
|
||||
n2, _ := rand.Int(rand.Reader, big.NewInt(int64(maxCoefficient-1))) //算的是下标所以-1
|
||||
goods := this.configure.GetTrollAllGoods()
|
||||
n2, _ := rand.Int(rand.Reader, big.NewInt(int64(len(goods)-1))) //算的是下标所以-1
|
||||
trolltrain.SurpriseID[int32(n.Int64())+1] = int32(n2.Int64()) + 1
|
||||
update["surpriseID"] = trolltrain.SurpriseID
|
||||
trolltrain.Circle = c
|
||||
update["circle"] = trolltrain.Circle
|
||||
}
|
||||
leftTime = (int32(t) % circletime)
|
||||
// 循环次数
|
||||
|
||||
index += circleCount * trainNum // 计算火车的位置信息
|
||||
for _, v := range sz {
|
||||
for pos, v := range sz {
|
||||
if pos < int(trolltrain.TarinPos-1) { // 起始位置
|
||||
continue
|
||||
}
|
||||
if leftTime <= v {
|
||||
trolltrain.RefreshTime = time.Now().Unix()
|
||||
trolltrain.TarinPos += index
|
||||
|
@ -87,7 +87,9 @@ func (this *Troll) TrollAI(session comm.IUserSession, troll *pb.DBTrollTrain) (c
|
||||
}
|
||||
iCount := this.configure.GetTrollRule(comm.TrollAIBuyCount)
|
||||
for index = 0; ; index++ {
|
||||
|
||||
if index < troll.TarinPos-1 { // 起始位置
|
||||
continue
|
||||
}
|
||||
index := int32(index) % trainNum
|
||||
troll.RefreshTime += int64(sz[index])
|
||||
|
||||
|
@ -145,6 +145,7 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (cod
|
||||
// 每日签到检测
|
||||
this.module.modelSign.checkResetSignData(session)
|
||||
|
||||
this.Sign(session, &pb.UserSignReq{})
|
||||
//推送登录公告
|
||||
this.chat.SendSysChatToUser(session, comm.UserLoginNotice, 0)
|
||||
mail := &pb.DBMailData{
|
||||
|
@ -15,6 +15,7 @@ func (this *apiComp) SignCheck(session comm.IUserSession, req *pb.UserSignReq) (
|
||||
|
||||
//登录
|
||||
func (this *apiComp) Sign(session comm.IUserSession, req *pb.UserSignReq) (code pb.ErrorCode, data proto.Message) {
|
||||
this.module.modelSign.checkResetSignData(session)
|
||||
|
||||
code = this.module.modelSign.checkResetSignData(session)
|
||||
return
|
||||
}
|
||||
|
@ -78,11 +78,12 @@ func (this *ModelSign) updateSignData(uid string, sign *pb.DBSign) (err error) {
|
||||
}
|
||||
|
||||
// 检测是否达到重置日期
|
||||
func (this *ModelSign) checkResetSignData(session comm.IUserSession) {
|
||||
func (this *ModelSign) checkResetSignData(session comm.IUserSession) (code pb.ErrorCode) {
|
||||
var (
|
||||
update map[string]interface{}
|
||||
bReward bool
|
||||
)
|
||||
|
||||
update = make(map[string]interface{}, 0)
|
||||
if sign, err := this.module.modelSign.GetUserSign(session.GetUserId()); err == nil {
|
||||
start, _ := utils.GetMonthStartEnd()
|
||||
@ -114,8 +115,19 @@ func (this *ModelSign) checkResetSignData(session comm.IUserSession) {
|
||||
}
|
||||
}
|
||||
_data := this.module.configure.GetSignConf(sign.Cid, sign.Group)
|
||||
if bReward && _data != nil { // 发奖
|
||||
this.module.DispenseRes(session, _data.Loopgift, true)
|
||||
if _data != nil { // 发奖
|
||||
if bReward {
|
||||
this.module.DispenseRes(session, _data.Loopgift, true)
|
||||
}
|
||||
} else {
|
||||
globalCnf := this.module.configure.GetGlobalAtnConf("unified_reward") // 获取重置消耗
|
||||
if globalCnf == nil {
|
||||
code = pb.ErrorCode_ConfigNoFound
|
||||
return
|
||||
}
|
||||
if bReward {
|
||||
this.module.DispenseRes(session, globalCnf.Var, true) // 发放通用奖励
|
||||
}
|
||||
}
|
||||
session.SendMsg(string(this.module.GetType()), "sign", &pb.UserSignResp{
|
||||
Data: sign,
|
||||
|
19
modules/worldtask/api.go
Normal file
19
modules/worldtask/api.go
Normal file
@ -0,0 +1,19 @@
|
||||
package worldtask
|
||||
|
||||
import (
|
||||
"go_dreamfactory/lego/base"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
)
|
||||
|
||||
type apiComp struct {
|
||||
modules.MCompGate
|
||||
service base.IRPCXService
|
||||
module *Worldtask
|
||||
}
|
||||
|
||||
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
_ = this.MCompGate.Init(service, module, comp, options)
|
||||
this.module = module.(*Worldtask)
|
||||
return
|
||||
}
|
40
modules/worldtask/configure.go
Normal file
40
modules/worldtask/configure.go
Normal file
@ -0,0 +1,40 @@
|
||||
package worldtask
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
)
|
||||
|
||||
const (
|
||||
gameWorldTask = "game_worldtask.json"
|
||||
)
|
||||
|
||||
type configureComp struct {
|
||||
modules.MCompConfigure
|
||||
}
|
||||
|
||||
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.MCompConfigure.Init(service, module, comp, options)
|
||||
err = this.LoadMultiConfigure(map[string]interface{}{
|
||||
gameWorldTask: cfg.NewGameWorldTask,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
func (this *configureComp) getWorldtaskCfg() (data *cfg.GameWorldTask, err error) {
|
||||
var (
|
||||
v interface{}
|
||||
ok bool
|
||||
)
|
||||
if v, err = this.GetConfigure(gameWorldTask); err != nil {
|
||||
return
|
||||
} else {
|
||||
if data, ok = v.(*cfg.GameWorldTask); !ok {
|
||||
err = fmt.Errorf("%T is *cfg.GameWorldTask", v)
|
||||
return
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
19
modules/worldtask/model_worldtask.go
Normal file
19
modules/worldtask/model_worldtask.go
Normal file
@ -0,0 +1,19 @@
|
||||
package worldtask
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
)
|
||||
|
||||
type ModelWorldtask struct {
|
||||
modules.MCompModel
|
||||
moduleWorldtask *Worldtask
|
||||
}
|
||||
|
||||
func (this *ModelWorldtask) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||
err = this.MCompModel.Init(service, module, comp, options)
|
||||
this.TableName = comm.TableWorldtask
|
||||
this.moduleWorldtask = module.(*Worldtask)
|
||||
return
|
||||
}
|
26
modules/worldtask/module.go
Normal file
26
modules/worldtask/module.go
Normal file
@ -0,0 +1,26 @@
|
||||
package worldtask
|
||||
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/lego/base"
|
||||
"go_dreamfactory/lego/core"
|
||||
"go_dreamfactory/modules"
|
||||
)
|
||||
|
||||
type Worldtask struct {
|
||||
modules.ModuleBase
|
||||
api *apiComp
|
||||
service base.IRPCXService
|
||||
configure *configureComp
|
||||
}
|
||||
|
||||
func NewModule() core.IModule {
|
||||
return &Worldtask{}
|
||||
}
|
||||
func (this *Worldtask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
|
||||
err = this.ModuleBase.Init(service, module, options)
|
||||
return
|
||||
}
|
||||
func (this *Worldtask) GetType() core.M_Modules {
|
||||
return comm.ModuleWorldtask
|
||||
}
|
@ -35,6 +35,7 @@ import (
|
||||
"go_dreamfactory/modules/troll"
|
||||
"go_dreamfactory/modules/user"
|
||||
"go_dreamfactory/modules/viking"
|
||||
"go_dreamfactory/modules/worldtask"
|
||||
"go_dreamfactory/pb"
|
||||
"go_dreamfactory/services"
|
||||
"go_dreamfactory/sys/db"
|
||||
@ -101,6 +102,7 @@ func main() {
|
||||
pay.NewModule(),
|
||||
//privilege.NewModule(),
|
||||
growtask.NewModule(),
|
||||
worldtask.NewModule(),
|
||||
)
|
||||
}
|
||||
|
||||
|
42
sys/configure/structs/Game.TaskCond.go
Normal file
42
sys/configure/structs/Game.TaskCond.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameTaskCond struct {
|
||||
_dataMap map[int32]*GameTaskCondData
|
||||
_dataList []*GameTaskCondData
|
||||
}
|
||||
|
||||
func NewGameTaskCond(_buf []map[string]interface{}) (*GameTaskCond, error) {
|
||||
_dataList := make([]*GameTaskCondData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameTaskCondData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameTaskCondData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameTaskCond{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) GetDataMap() map[int32]*GameTaskCondData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) GetDataList() []*GameTaskCondData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameTaskCond) Get(key int32) *GameTaskCondData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
47
sys/configure/structs/Game.TaskCondData.go
Normal file
47
sys/configure/structs/Game.TaskCondData.go
Normal file
@ -0,0 +1,47 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameTaskCondData struct {
|
||||
Id int32
|
||||
Type int32
|
||||
Data1 int32
|
||||
Data2 int32
|
||||
Data3 int32
|
||||
Data4 int32
|
||||
Data5 int32
|
||||
}
|
||||
|
||||
const TypeId_GameTaskCondData = -1719868659
|
||||
|
||||
func (*GameTaskCondData) GetTypeId() int32 {
|
||||
return -1719868659
|
||||
}
|
||||
|
||||
func (_v *GameTaskCondData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data1"].(float64); !_ok_ { err = errors.New("data1 error"); return }; _v.Data1 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data2"].(float64); !_ok_ { err = errors.New("data2 error"); return }; _v.Data2 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data3"].(float64); !_ok_ { err = errors.New("data3 error"); return }; _v.Data3 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data4"].(float64); !_ok_ { err = errors.New("data4 error"); return }; _v.Data4 = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["data5"].(float64); !_ok_ { err = errors.New("data5 error"); return }; _v.Data5 = int32(_tempNum_) }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameTaskCondData(_buf map[string]interface{}) (*GameTaskCondData, error) {
|
||||
v := &GameTaskCondData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.TaskType.go
Normal file
42
sys/configure/structs/Game.TaskType.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameTaskType struct {
|
||||
_dataMap map[int32]*GameTaskTypeData
|
||||
_dataList []*GameTaskTypeData
|
||||
}
|
||||
|
||||
func NewGameTaskType(_buf []map[string]interface{}) (*GameTaskType, error) {
|
||||
_dataList := make([]*GameTaskTypeData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameTaskTypeData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameTaskTypeData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Id] = _v
|
||||
}
|
||||
}
|
||||
return &GameTaskType{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameTaskType) GetDataMap() map[int32]*GameTaskTypeData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameTaskType) GetDataList() []*GameTaskTypeData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameTaskType) Get(key int32) *GameTaskTypeData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
47
sys/configure/structs/Game.TaskTypeData.go
Normal file
47
sys/configure/structs/Game.TaskTypeData.go
Normal file
@ -0,0 +1,47 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameTaskTypeData struct {
|
||||
Id int32
|
||||
Datatype int32
|
||||
Desc string
|
||||
Data1 string
|
||||
Data2 string
|
||||
Data3 string
|
||||
Data4 string
|
||||
}
|
||||
|
||||
const TypeId_GameTaskTypeData = -1813579995
|
||||
|
||||
func (*GameTaskTypeData) GetTypeId() int32 {
|
||||
return -1813579995
|
||||
}
|
||||
|
||||
func (_v *GameTaskTypeData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["datatype"].(float64); !_ok_ { err = errors.New("datatype error"); return }; _v.Datatype = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Desc, _ok_ = _buf["desc"].(string); !_ok_ { err = errors.New("desc error"); return } }
|
||||
{ var _ok_ bool; if _v.Data1, _ok_ = _buf["data1"].(string); !_ok_ { err = errors.New("data1 error"); return } }
|
||||
{ var _ok_ bool; if _v.Data2, _ok_ = _buf["data2"].(string); !_ok_ { err = errors.New("data2 error"); return } }
|
||||
{ var _ok_ bool; if _v.Data3, _ok_ = _buf["data3"].(string); !_ok_ { err = errors.New("data3 error"); return } }
|
||||
{ var _ok_ bool; if _v.Data4, _ok_ = _buf["data4"].(string); !_ok_ { err = errors.New("data4 error"); return } }
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameTaskTypeData(_buf map[string]interface{}) (*GameTaskTypeData, error) {
|
||||
v := &GameTaskTypeData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
42
sys/configure/structs/Game.WorldTask.go
Normal file
42
sys/configure/structs/Game.WorldTask.go
Normal file
@ -0,0 +1,42 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
type GameWorldTask struct {
|
||||
_dataMap map[int32]*GameWorldTaskData
|
||||
_dataList []*GameWorldTaskData
|
||||
}
|
||||
|
||||
func NewGameWorldTask(_buf []map[string]interface{}) (*GameWorldTask, error) {
|
||||
_dataList := make([]*GameWorldTaskData, 0, len(_buf))
|
||||
dataMap := make(map[int32]*GameWorldTaskData)
|
||||
for _, _ele_ := range _buf {
|
||||
if _v, err2 := DeserializeGameWorldTaskData(_ele_); err2 != nil {
|
||||
return nil, err2
|
||||
} else {
|
||||
_dataList = append(_dataList, _v)
|
||||
dataMap[_v.Key] = _v
|
||||
}
|
||||
}
|
||||
return &GameWorldTask{_dataList:_dataList, _dataMap:dataMap}, nil
|
||||
}
|
||||
|
||||
func (table *GameWorldTask) GetDataMap() map[int32]*GameWorldTaskData {
|
||||
return table._dataMap
|
||||
}
|
||||
|
||||
func (table *GameWorldTask) GetDataList() []*GameWorldTaskData {
|
||||
return table._dataList
|
||||
}
|
||||
|
||||
func (table *GameWorldTask) Get(key int32) *GameWorldTaskData {
|
||||
return table._dataMap[key]
|
||||
}
|
||||
|
||||
|
87
sys/configure/structs/Game.WorldTaskData.go
Normal file
87
sys/configure/structs/Game.WorldTaskData.go
Normal file
@ -0,0 +1,87 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
package cfg
|
||||
|
||||
import "errors"
|
||||
|
||||
type GameWorldTaskData struct {
|
||||
Key int32
|
||||
Lock int32
|
||||
Ontxe int32
|
||||
IdAfter int32
|
||||
Des int32
|
||||
Icon string
|
||||
TaskName string
|
||||
TaskDisplay string
|
||||
Npc string
|
||||
GetafterEvent []string
|
||||
Completetask int32
|
||||
AutoAccept int32
|
||||
Overtips int32
|
||||
Reword []*Gameatn
|
||||
}
|
||||
|
||||
const TypeId_GameWorldTaskData = -1059668091
|
||||
|
||||
func (*GameWorldTaskData) GetTypeId() int32 {
|
||||
return -1059668091
|
||||
}
|
||||
|
||||
func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error) {
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["lock"].(float64); !_ok_ { err = errors.New("lock error"); return }; _v.Lock = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ontxe"].(float64); !_ok_ { err = errors.New("ontxe error"); return }; _v.Ontxe = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_after"].(float64); !_ok_ { err = errors.New("id_after error"); return }; _v.IdAfter = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["des"].(float64); !_ok_ { err = errors.New("des error"); return }; _v.Des = int32(_tempNum_) }
|
||||
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
|
||||
{ var _ok_ bool; if _v.TaskName, _ok_ = _buf["task_name"].(string); !_ok_ { err = errors.New("task_name error"); return } }
|
||||
{ var _ok_ bool; if _v.TaskDisplay, _ok_ = _buf["task_display"].(string); !_ok_ { err = errors.New("task_display error"); return } }
|
||||
{ var _ok_ bool; if _v.Npc, _ok_ = _buf["npc"].(string); !_ok_ { err = errors.New("npc error"); return } }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["getafter_event"].([]interface{}); !_ok_ { err = errors.New("getafter_event error"); return }
|
||||
|
||||
_v.GetafterEvent = make([]string, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ string
|
||||
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
|
||||
_v.GetafterEvent = append(_v.GetafterEvent, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["completetask"].(float64); !_ok_ { err = errors.New("completetask error"); return }; _v.Completetask = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["auto_accept"].(float64); !_ok_ { err = errors.New("auto_accept error"); return }; _v.AutoAccept = int32(_tempNum_) }
|
||||
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["overtips"].(float64); !_ok_ { err = errors.New("overtips error"); return }; _v.Overtips = int32(_tempNum_) }
|
||||
{
|
||||
var _arr_ []interface{}
|
||||
var _ok_ bool
|
||||
if _arr_, _ok_ = _buf["reword"].([]interface{}); !_ok_ { err = errors.New("reword error"); return }
|
||||
|
||||
_v.Reword = make([]*Gameatn, 0, len(_arr_))
|
||||
|
||||
for _, _e_ := range _arr_ {
|
||||
var _list_v_ *Gameatn
|
||||
{ var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = DeserializeGameatn(_x_); err != nil { return } }
|
||||
_v.Reword = append(_v.Reword, _list_v_)
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func DeserializeGameWorldTaskData(_buf map[string]interface{}) (*GameWorldTaskData, error) {
|
||||
v := &GameWorldTaskData{}
|
||||
if err := v.Deserialize(_buf); err == nil {
|
||||
return v, nil
|
||||
} else {
|
||||
return nil, err
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user