同步代码

This commit is contained in:
liwei1dao 2023-04-20 17:05:14 +08:00
parent 50d5b3409a
commit 10f8849fbe
35 changed files with 1787 additions and 334 deletions

View File

@ -0,0 +1,22 @@
[
{
"num": 1,
"distance": "1",
"value": 2
},
{
"num": 2,
"distance": "2",
"value": 4
},
{
"num": 3,
"distance": "3",
"value": 6
},
{
"num": 4,
"distance": "4",
"value": 8
}
]

View File

@ -0,0 +1,32 @@
[
{
"num": 1,
"score": "c",
"value": 10
},
{
"num": 2,
"score": "b",
"value": 20
},
{
"num": 3,
"score": "a",
"value": 50
},
{
"num": 4,
"score": "s",
"value": 80
},
{
"num": 5,
"score": "ss",
"value": 100
},
{
"num": 6,
"score": "sss",
"value": 120
}
]

View File

@ -0,0 +1,38 @@
[
{
"num": "20030001",
"stime": 100,
"etime": 120,
"hp": 7,
"model": "",
"point": "",
"moderate": 0,
"sprint": 0,
"acceleration": 0,
"deceleration": 0
},
{
"num": "20030002",
"stime": 100,
"etime": 120,
"hp": 5,
"model": "",
"point": "",
"moderate": 0,
"sprint": 0,
"acceleration": 0,
"deceleration": 0
},
{
"num": "20030003",
"stime": 100,
"etime": 120,
"hp": 5,
"model": "",
"point": "",
"moderate": 0,
"sprint": 0,
"acceleration": 0,
"deceleration": 0
}
]

View File

@ -0,0 +1,67 @@
[
{
"key": 1,
"schedule": 20,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 5
}
]
},
{
"key": 2,
"schedule": 40,
"reword": [
{
"a": "attr",
"t": "gold",
"n": 10000
}
]
},
{
"key": 3,
"schedule": 60,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 10
}
]
},
{
"key": 4,
"schedule": 80,
"reword": [
{
"a": "attr",
"t": "diamond",
"n": 10
},
{
"a": "attr",
"t": "gold",
"n": 20000
}
]
},
{
"key": 5,
"schedule": 100,
"reword": [
{
"a": "item",
"t": "30001",
"n": 1
},
{
"a": "attr",
"t": "gold",
"n": 50000
}
]
}
]

View File

@ -1,7 +1,10 @@
[
{
"key": "gold",
"name": "gold",
"name": {
"key": "item_coin_name_gold",
"text": "金币"
},
"color": 1,
"effects": "",
"access": 123,
@ -13,7 +16,10 @@
},
{
"key": "diamond",
"name": "Diamond ",
"name": {
"key": "item_coin_name_diamond",
"text": "钻石"
},
"color": 2,
"effects": "",
"access": 158,
@ -25,7 +31,10 @@
},
{
"key": "exp",
"name": "exp",
"name": {
"key": "item_coin_name_exp",
"text": "角色经验"
},
"color": 3,
"effects": "",
"access": 113,
@ -37,7 +46,10 @@
},
{
"key": "friendPoint",
"name": "Friendship point",
"name": {
"key": "item_coin_name_friendPoint",
"text": "友情点"
},
"color": 1,
"effects": "",
"access": 115,
@ -49,7 +61,10 @@
},
{
"key": "palyexp",
"name": "palyexp",
"name": {
"key": "item_coin_name_palyexp",
"text": "废弃角色经验"
},
"color": 3,
"effects": "",
"access": 113,
@ -61,110 +76,137 @@
},
{
"key": "guildexp",
"name": "guildexp",
"name": {
"key": "item_coin_name_guildexp",
"text": "公会经验"
},
"color": 1,
"effects": "",
"access": 157,
"img": "wp_icon_10024",
"intr": {
"key": "item_coin_intr_guildexp",
"text": "有多种功能的基础货币"
"text": "可以用于提升公会等级"
}
},
{
"key": "guildactive",
"name": "guildactive",
"name": {
"key": "item_coin_name_guildactive",
"text": "公会活跃度"
},
"color": 1,
"effects": "",
"access": 157,
"img": "wp_icon_0001",
"intr": {
"key": "item_coin_intr_guildactive",
"text": "有多种功能的基础货币"
"text": "通过公会任务获取,达到一定活跃度公会成员都可以在公会任务界面领取奖励"
}
},
{
"key": "guildcoin",
"name": "guildcoin",
"name": {
"key": "item_coin_name_guildcoin",
"text": "公会币"
},
"color": 3,
"effects": "",
"access": 157,
"img": "wp_icon_10017",
"intr": {
"key": "item_coin_intr_guildcoin",
"text": "有多种功能的基础货币"
"text": "可以用于在公会商店兑换各种道具"
}
},
{
"key": "starcoin",
"name": "starcoin",
"name": {
"key": "item_coin_name_starcoin",
"text": "星图币"
},
"color": 3,
"effects": "",
"access": 158,
"img": "wp_icon_10017",
"intr": {
"key": "item_coin_intr_starcoin",
"text": "有多种功能的基础货币"
"text": "点亮星图的必要道具"
}
},
{
"key": "vipexp",
"name": "vipexp",
"name": {
"key": "item_coin_name_vipexp",
"text": "商会经验"
},
"color": 3,
"effects": "",
"access": 158,
"img": "wp_icon_0002",
"intr": {
"key": "item_coin_intr_vipexp",
"text": "有多种功能的基础货币"
"text": "商会地位的象征,积累一定声望可以提升商会等级"
}
},
{
"key": "arenacoin",
"name": "arenacoin",
"name": {
"key": "item_coin_name_arenacoin",
"text": "竞技场币"
},
"color": 3,
"effects": "",
"access": 156,
"img": "icon_ry",
"intr": {
"key": "item_coin_intr_arenacoin",
"text": "有多种功能的基础货币"
"text": "向竞技比赛强者发放的兑换币,可以在竞技商店兑换多种奖励"
}
},
{
"key": "ps",
"name": "ps",
"name": {
"key": "item_coin_name_ps",
"text": "体力值"
},
"color": 3,
"effects": "",
"access": 156,
"img": "wp_icon_0002",
"intr": {
"key": "item_coin_intr_ps",
"text": "有多种功能的基础货币"
"text": "挑战关卡必备"
}
},
{
"key": "heroexp",
"name": "heroexp",
"name": {
"key": "item_coin_name_heroexp",
"text": "英雄经验"
},
"color": 3,
"effects": "",
"access": 0,
"img": "wp_icon_10009",
"intr": {
"key": "item_coin_intr_heroexp",
"text": "有多种功能的基础货币"
"text": "累积到一定值会提升英雄等级"
}
},
{
"key": "moongold",
"name": "Badge of honor",
"name": {
"key": "item_coin_name_moongold",
"text": "荣耀值"
},
"color": 5,
"effects": "",
"access": 107,
"img": "wp_icon_10009",
"intr": {
"key": "item_coin_intr_moongold",
"text": "有多种功能的基础货币"
"text": "月亮币"
}
}
]

View File

@ -1588,5 +1588,15 @@
"n": 1
}
]
},
{
"index": "325",
"var": [
{
"a": "mts",
"t": "20030001",
"n": 1
}
]
}
]

View File

@ -11,6 +11,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 618,
"afterstoryid": 0,
"mainlineName": {
@ -93,6 +94,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 619,
"afterstoryid": 0,
"mainlineName": {
@ -180,6 +182,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 621,
"afterstoryid": 0,
"mainlineName": {
@ -267,6 +270,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 623,
"afterstoryid": 0,
"mainlineName": {
@ -354,6 +358,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 626,
"afterstoryid": 628,
"mainlineName": {
@ -441,6 +446,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 636,
"afterstoryid": 637,
"mainlineName": {
@ -528,6 +534,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -615,6 +622,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -702,6 +710,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -790,6 +799,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -878,6 +888,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -966,6 +977,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1054,6 +1066,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1141,6 +1154,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1228,6 +1242,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1316,6 +1331,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1404,6 +1420,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1492,6 +1509,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1580,6 +1598,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1667,6 +1686,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1754,6 +1774,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1842,6 +1863,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -1930,6 +1952,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {
@ -2018,6 +2041,7 @@
"z": 0
},
"EditorStage": 0,
"detailwindow": "effect_chezhan",
"frontstoryid": 0,
"afterstoryid": 0,
"mainlineName": {

View File

@ -0,0 +1,377 @@
[
{
"Id": 1,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_1",
"text": "充值"
},
"npcName": "功能入口-充值",
"functionicon": ""
},
{
"Id": 2,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_2",
"text": "商人"
},
"npcName": "功能入口-商人",
"functionicon": ""
},
{
"Id": 3,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_3",
"text": "任务"
},
"npcName": "功能入口-任务",
"functionicon": ""
},
{
"Id": 4,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_4",
"text": "公告"
},
"npcName": "功能入口-公告",
"functionicon": ""
},
{
"Id": 5,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_5",
"text": "邮件"
},
"npcName": "功能入口-邮件",
"functionicon": ""
},
{
"Id": 6,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_6",
"text": "主线关卡"
},
"npcName": "功能入口-主线",
"functionicon": ""
},
{
"Id": 7,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_7",
"text": "维京远征"
},
"npcName": "功能入口-维京远征",
"functionicon": ""
},
{
"Id": 8,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_8",
"text": "捕羊大赛"
},
"npcName": "功能入口-捕羊大赛",
"functionicon": ""
},
{
"Id": 9,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_9",
"text": "狩猎"
},
"npcName": "功能入口-狩猎",
"functionicon": ""
},
{
"Id": 10,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_10",
"text": "旧时光"
},
"npcName": "功能入口-剧情副本",
"functionicon": ""
},
{
"Id": 11,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_11",
"text": "竞技场"
},
"npcName": "功能入口-竞技场",
"functionicon": ""
},
{
"Id": 12,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_12",
"text": "招募"
},
"npcName": "功能入口-招募",
"functionicon": ""
},
{
"Id": 13,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_13",
"text": "签到"
},
"npcName": "功能入口-签到",
"functionicon": ""
},
{
"Id": 14,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_14",
"text": "魔药"
},
"npcName": "功能入口-魔药",
"functionicon": ""
},
{
"Id": 15,
"scene": "GameMain",
"scenename": {
"key": "navigationscenename_1",
"text": "中轴城"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_15",
"text": "烹饪"
},
"npcName": "功能入口-烹饪",
"functionicon": ""
},
{
"Id": 16,
"scene": "SmithyScene",
"scenename": {
"key": "navigationscenename_2",
"text": "铁匠铺"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_16",
"text": "打造"
},
"npcName": "打造",
"functionicon": ""
},
{
"Id": 17,
"scene": "SmithyScene",
"scenename": {
"key": "navigationscenename_2",
"text": "铁匠铺"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_17",
"text": "锻造炉"
},
"npcName": "锻造炉",
"functionicon": ""
},
{
"Id": 18,
"scene": "SmithyScene",
"scenename": {
"key": "navigationscenename_2",
"text": "铁匠铺"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_18",
"text": "手册台"
},
"npcName": "手册台",
"functionicon": ""
},
{
"Id": 19,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_19",
"text": "总教习"
},
"npcName": "总教习",
"functionicon": ""
},
{
"Id": 20,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_20",
"text": "阿宝"
},
"npcName": "阿宝",
"functionicon": ""
},
{
"Id": 21,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_21",
"text": "告示板"
},
"npcName": "告示板",
"functionicon": ""
},
{
"Id": 22,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_22",
"text": "木桩1"
},
"npcName": "木桩1",
"functionicon": ""
},
{
"Id": 23,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_23",
"text": "木桩2"
},
"npcName": "木桩2",
"functionicon": ""
},
{
"Id": 24,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_24",
"text": "木桩3"
},
"npcName": "木桩3",
"functionicon": ""
},
{
"Id": 25,
"scene": "WuGuanScene",
"scenename": {
"key": "navigationscenename_3",
"text": "熊猫武馆"
},
"sceneicon": "",
"functionname": {
"key": "navigation_functionname_25",
"text": "木桩4"
},
"npcName": "木桩4",
"functionicon": ""
}
]

View File

@ -1636,5 +1636,29 @@
"notify": [
"practice"
]
},
{
"id": "practice_Kick",
"name": {
"key": "",
"text": ""
},
"main": [
{
"key": 1,
"param": 2
}
],
"optional": "",
"wkqbx": 0,
"kqbx": 0,
"img": "",
"prompt": {
"key": "",
"text": ""
},
"uiid": 0,
"activateType": 0,
"notify": []
}
]

View File

@ -32,7 +32,7 @@
"heroid": 45001,
"datas": [
"WuGuanScene",
"乌龟大师",
"总教习",
"137"
],
"event": [
@ -51,7 +51,7 @@
],
"event": [
2,
500
333
],
"goto": 0
},
@ -79,7 +79,7 @@
],
"event": [
2,
602
601
],
"goto": 0
},
@ -93,7 +93,7 @@
],
"event": [
2,
603
602
],
"goto": 0
},
@ -107,7 +107,7 @@
],
"event": [
2,
604
603
],
"goto": 0
},
@ -127,10 +127,10 @@
},
{
"id": 10022,
"heroid": 25001,
"heroid": 24004,
"datas": [
"GameMain",
"20020_熊猫_2",
"20020_邦尼兔_1",
"901"
],
"event": [
@ -169,15 +169,15 @@
},
{
"id": 10032,
"heroid": 24004,
"heroid": 25001,
"datas": [
"GameMain",
"20020_邦尼兔_1",
"20020_熊猫_2",
"901"
],
"event": [
2,
609
610
],
"goto": 0
},
@ -253,6 +253,20 @@
},
{
"id": 10070,
"heroid": 44004,
"datas": [
"GameMain",
"20010_骇客蛛_1",
"901"
],
"event": [
2,
617
],
"goto": 0
},
{
"id": 10080,
"heroid": 43007,
"datas": [
"SmithyScene",
@ -266,21 +280,7 @@
"goto": 0
},
{
"id": 10071,
"heroid": 14001,
"datas": [
"GameMain",
"功能入口-维京远征",
"901"
],
"event": [
10,
167
],
"goto": 0
},
{
"id": 10072,
"id": 10081,
"heroid": 43007,
"datas": [
"SmithyScene",
@ -294,7 +294,7 @@
"goto": 0
},
{
"id": 10080,
"id": 10090,
"heroid": 44004,
"datas": [
"GameMain",
@ -307,101 +307,17 @@
],
"goto": 0
},
{
"id": 10081,
"heroid": 14003,
"datas": [
"GameMain",
"功能入口-主线",
"901"
],
"event": [
10,
166
],
"goto": 0
},
{
"id": 10082,
"heroid": 13002,
"datas": [
"GameMain",
"20080_食人鱼_1",
"901"
],
"event": [
2,
637
],
"goto": 0
},
{
"id": 10090,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
"901"
],
"event": [
2,
638
],
"goto": 0
},
{
"id": 10091,
"heroid": 45001,
"datas": [
"GameMain",
"功能入口-招募",
"901"
],
"event": [
10,
107
],
"goto": 0
},
{
"id": 10100,
"heroid": 25001,
"heroid": 44004,
"datas": [
"GameMain",
"20020_熊猫_2",
"20010_骇客蛛_1",
"901"
],
"event": [
2,
640
],
"goto": 0
},
{
"id": 10101,
"heroid": 35003,
"datas": [
"GameMain",
"20100_梦魇_1",
"901"
],
"event": [
2,
642
],
"goto": 0
},
{
"id": 10102,
"heroid": 24004,
"datas": [
"GameMain",
"20020_邦尼兔_1",
"901"
],
"event": [
2,
641
501
],
"goto": 0
},
@ -415,7 +331,35 @@
],
"event": [
2,
99999
639
],
"goto": 0
},
{
"id": 10120,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
"901"
],
"event": [
2,
640
],
"goto": 0
},
{
"id": 10130,
"heroid": 25001,
"datas": [
"GameMain",
"20020_熊猫_2",
"901"
],
"event": [
2,
641
],
"goto": 0
},

View File

@ -4176,36 +4176,10 @@
{
"Id": 225001311,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 3,
"Type": 1,
"Argu": [
1,
4,
400,
1,
5,
500
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 225001312,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -4224,12 +4198,12 @@
"RevisiParams": []
},
{
"Id": 225001313,
"Id": 225001312,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -4247,6 +4221,32 @@
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 225001313,
"EmitPR": 1000,
"From": 2,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 3,
"Type": 1,
"Argu": [
1,
4,
400,
1,
5,
500
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 225001321,
"EmitPR": 1000,
@ -13102,7 +13102,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 3,
"Type": 1,
"Argu": [
@ -13569,7 +13569,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -13901,7 +13901,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -14147,7 +14147,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -14629,7 +14629,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -14774,7 +14774,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -14798,7 +14798,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 10,
"Argu": [
@ -15462,7 +15462,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 2,
"Argu": [
@ -15487,7 +15487,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -15960,7 +15960,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 14,
"Argu": [
@ -20396,7 +20396,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -22504,7 +22504,9 @@
1,
1
],
"FollowSK": [],
"FollowSK": [
255002212
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
@ -22537,6 +22539,55 @@
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 255002213,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 1,
"ExecuteCnt": 1,
"Type": 2,
"Argu": [
455002211,
-1,
0
],
"FollowSK": [
255002214
],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 255002214,
"EmitPR": 1000,
"From": 3,
"Where": [],
"Order": "",
"Limit": 10,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
390001116,
1000,
1,
-1
],
"FollowSK": [],
"SucFollowSK": [],
"FailFollowSK": [],
"MustHit": false,
"DpsRevisiType": 0,
"DpsCondition": "",
"RevisiCondition": "",
"RevisiParams": []
},
{
"Id": 255002311,
"EmitPR": 1000,
@ -25688,7 +25739,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -25834,7 +25885,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -25883,7 +25934,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 8,
"Argu": [
@ -25932,7 +25983,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 12,
"Argu": [
@ -25953,7 +26004,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 3,
"Argu": [
@ -25980,7 +26031,7 @@
"From": 4,
"Where": [],
"Order": "",
"Limit": 10,
"Limit": 1,
"ExecuteCnt": 1,
"Type": 5,
"Argu": [

View File

@ -11757,7 +11757,8 @@
"Target": 0,
"ChildSkill": {
"Id": [
255002211
255002211,
255002213
]
},
"Desc": {

View File

@ -1728,6 +1728,20 @@
255002212
]
},
{
"Id": 455002212,
"When": 2,
"FromCheck": "Target=3",
"TargetCheck": "",
"MainSkillCheck": "",
"AfterSkillCheck": "",
"BuffCheck": "",
"AddCon": [],
"PasPr": 1000,
"Type": "CallSkillPas",
"MaxEmitTimes": 1,
"Callback": []
},
{
"Id": 414002212,
"When": 12,

View File

@ -32,7 +32,7 @@
"key": "Mainline_Tasks1_1_Receiving",
"text": "寻找熊猫"
},
"deliver_npc": 10012,
"deliver_npc": 0,
"auto_accept": 1,
"reword": [
{
@ -70,13 +70,13 @@
"text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。"
},
"completetask": [
20002
0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_2_Receiving",
"text": "美好的风景总是让人流连,忍不住心向往之,倾心守护。"
},
"deliver_npc": 10022,
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@ -108,7 +108,7 @@
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
},
"npc": 10030,
"npc": 10021,
"completetasktxt": {
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
@ -120,7 +120,7 @@
"key": "Mainline_Tasks1_3_Receiving",
"text": "相信或不相信,能做到或不能做到,守护者与你,命运的齿轮早已开始转动……"
},
"deliver_npc": 10032,
"deliver_npc": 10030,
"auto_accept": 0,
"reword": [
{
@ -152,7 +152,7 @@
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
},
"npc": 10040,
"npc": 10031,
"completetasktxt": {
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
@ -164,7 +164,7 @@
"key": "Mainline_Tasks1_4_Receiving",
"text": "它究竟从何而来,又预示着怎样的命运,一切不得而知……"
},
"deliver_npc": 10041,
"deliver_npc": 10032,
"auto_accept": 0,
"reword": [
{
@ -246,13 +246,13 @@
"text": "被月中人选中之人,终将为守护而生。"
},
"completetask": [
161
0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_6_Receiving",
"text": "被月中人选中之人,终将为守护而生。"
},
"deliver_npc": 10061,
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@ -290,13 +290,13 @@
"text": "试炼的终点,是名为勇者的觉醒。"
},
"completetask": [
304
161
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_7_Receiving",
"text": "试炼的终点,是名为勇者的觉醒。"
},
"deliver_npc": 10072,
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@ -344,7 +344,7 @@
"text": "听说维京人热爱海上的风浪、甘醇的啤酒、勇猛的龙,还有那无与伦比的艺术品……"
},
"completetask": [
305
304
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_8_Receiving",
@ -376,23 +376,23 @@
},
"task_name": {
"key": "Mainline_Tasks1_9",
"text": "召唤英雄"
"text": "试炼再起"
},
"npctxt": {
"key": "Mainline_Tasks1_9_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
"text": "这就是维京人的工艺技术吗,我现在感觉自己的实力确实增长不少。"
},
"npc": 10090,
"completetasktxt": {
"key": "Mainline_Tasks1_9_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
"text": "我迫不及待的想要体验新获得的历练了"
},
"completetask": [
306
305
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_9_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
"text": "我迫不及待的想要体验新获得的历练了"
},
"deliver_npc": 0,
"auto_accept": 0,
@ -420,25 +420,25 @@
},
"task_name": {
"key": "Mainline_Tasks1_10",
"text": "梦魇的诞生"
"text": "归还原石"
},
"npctxt": {
"key": "Mainline_Tasks1_10_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
"text": "月光原石回到了它应该在的位置。"
},
"npc": 10100,
"completetasktxt": {
"key": "Mainline_Tasks1_10_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
"text": "月光原石回到了它应该在的位置。"
},
"completetask": [
307
0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_10_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
"text": "月光原石回到了它应该在的位置。"
},
"deliver_npc": 10102,
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@ -454,6 +454,138 @@
"lock": 1,
"lockend": 0,
"ontxe": 20100,
"id_after": 20120,
"group": 210,
"des": 2,
"icon": "",
"task_Tname": {
"key": "Mainline_Tasks1",
"text": "第一章:预言之声"
},
"task_name": {
"key": "Mainline_Tasks1_11",
"text": "召唤英雄"
},
"npctxt": {
"key": "Mainline_Tasks1_11_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
},
"npc": 10110,
"completetasktxt": {
"key": "Mainline_Tasks1_11_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
},
"completetask": [
306
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_11_Receiving",
"text": "叩响【守护之地】的门扉,迎接英雄的到来。"
},
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
],
"module": []
},
{
"key": 20120,
"lock": 1,
"lockend": 0,
"ontxe": 20110,
"id_after": 20130,
"group": 210,
"des": 2,
"icon": "",
"task_Tname": {
"key": "Mainline_Tasks1",
"text": "第一章:预言之声"
},
"task_name": {
"key": "Mainline_Tasks1_12",
"text": "梦魇的诞生"
},
"npctxt": {
"key": "Mainline_Tasks1_12_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
},
"npc": 10120,
"completetasktxt": {
"key": "Mainline_Tasks1_12_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
},
"completetask": [
307
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_12_Receiving",
"text": "沉睡梦魇,向死而生,追寻恐惧的身影、弧光与暗夜轮舞……"
},
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
],
"module": []
},
{
"key": 20130,
"lock": 1,
"lockend": 0,
"ontxe": 20120,
"id_after": 20140,
"group": 210,
"des": 2,
"icon": "",
"task_Tname": {
"key": "Mainline_Tasks1",
"text": "第一章:预言之声"
},
"task_name": {
"key": "Mainline_Tasks1_13",
"text": ""
},
"npctxt": {
"key": "Mainline_Tasks1_13_Receiving",
"text": "消失的阴影"
},
"npc": 10130,
"completetasktxt": {
"key": "Mainline_Tasks1_13_Receiving",
"text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。"
},
"completetask": [
0
],
"deliver_npctxt": {
"key": "Mainline_Tasks1_13_Receiving",
"text": "梦魇消失了,虽然危险的根源并未被根除,但至少现在我们安全了,暂时的。"
},
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
"a": "attr",
"t": "gold",
"n": 5000
}
],
"module": []
},
{
"key": 20140,
"lock": 1,
"lockend": 0,
"ontxe": 20120,
"id_after": 0,
"group": 210,
"des": 2,
@ -482,7 +614,7 @@
"key": "Mainline_Tasks1_11",
"text": "敬请期待!"
},
"deliver_npc": 10110,
"deliver_npc": 0,
"auto_accept": 0,
"reword": [
{
@ -520,7 +652,7 @@
"text": "盖在哪里坐着一些看上去像是太极的姿势,我或许可以找他聊聊。"
},
"completetask": [
30001
0
],
"deliver_npctxt": {
"key": "Side_Quest1_1_Receiving",
@ -564,7 +696,7 @@
"text": "那个绿色的小家伙,好像是叫格林森,看上去有些闷闷不乐,是发生了什么事情吗?"
},
"completetask": [
30002
0
],
"deliver_npctxt": {
"key": "Side_Quest2_1_Receiving",
@ -652,7 +784,7 @@
"text": "戈伯有事情找我,我或许该去看看。"
},
"completetask": [
30003
0
],
"deliver_npctxt": {
"key": "Side_Quest3_1_Receiving",
@ -740,7 +872,7 @@
"text": "瓦希尔指挥官在哪里做些什么,我或或许可以去看看"
},
"completetask": [
30004
0
],
"deliver_npctxt": {
"key": "Side_Quest4_1_Receiving",
@ -784,7 +916,7 @@
"text": "那不是小伊吗,她是在.....练武吗?"
},
"completetask": [
30005
0
],
"deliver_npctxt": {
"key": "Side_Quest5_1_Receiving",
@ -828,7 +960,7 @@
"text": "鼻涕粗为什么会一个人在这里,是遇到了什么事情吗?"
},
"completetask": [
30006
0
],
"deliver_npctxt": {
"key": "Side_Quest6_1_Receiving",

View File

@ -3,6 +3,7 @@ package parkour
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
)
//参数校验
@ -13,9 +14,10 @@ func (this *apiComp) ChangeMtsCheck(session comm.IUserSession, req *pb.ParkourCh
///游戏
func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeMtsReq) (code pb.ErrorCode, data *pb.ErrorData) {
var (
info *pb.DBParkour
team *pb.DBParkour
err error
info *pb.DBParkour
team *pb.DBParkour
mount *cfg.GameBuzkashiMountData
err error
)
if code = this.ChangeMtsCheck(session, req); code != pb.ErrorCode_Success {
return
@ -29,12 +31,16 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
return
}
info.Dfmount = req.Mtsid
if info.Captainid != "" {
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
if info.Captainid == session.GetUserId() {
for _, v := range info.Member {
if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount
v.Hp = mount.Hp
}
}
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{
@ -52,6 +58,7 @@ func (this *apiComp) ChangeMts(session comm.IUserSession, req *pb.ParkourChangeM
for _, v := range team.Member {
if v.Uid == session.GetUserId() {
v.Mount = info.Dfmount
v.Hp = mount.Hp
}
}
if err = this.module.parkourComp.Change(team.Captainid, map[string]interface{}{

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time"
)
@ -18,6 +19,7 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
info *pb.DBParkour
tinfo *pb.DBParkour
tuser *pb.DBUser
mount *cfg.GameBuzkashiMountData
ok bool
err error
)
@ -36,24 +38,37 @@ func (this *apiComp) Invite(session comm.IUserSession, req *pb.ParkourInviteReq)
code = pb.ErrorCode_ReqParameterError
return
}
if tuser = this.module.ModuleUser.GetUser(session.GetUserId()); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Hp: mount.Hp, Isai: true})
if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
code = pb.ErrorCode_DBError
return
}
if tuser = this.module.ModuleUser.GetUser(req.Uid); tuser == nil {
code = pb.ErrorCode_SystemError
return
}
if mount, err = this.module.configure.getGameBuzkashiMount(tinfo.Dfmount); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
//目标是否在线
if !this.module.ModuleUser.IsOnline(req.Uid) {
info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: info.Dfmount, Isai: true})
info.Member = append(info.Member, &pb.DBRaceMember{Uid: tuser.Uid, Name: tuser.Name, Avatar: tuser.Avatar, Mount: tinfo.Dfmount, Hp: mount.Hp, Isai: true})
} else {
if tinfo, err = this.module.parkourComp.queryinfo(req.Uid); err != nil {
code = pb.ErrorCode_DBError
return
}
if tinfo.Captainid != "" {
code = pb.ErrorCode_ParkourTargetTeamed
return
}
ok = false
for _, v := range info.Invite {
if v.Uid == req.Uid {

View File

@ -4,6 +4,7 @@ import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"time"
)
@ -19,6 +20,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
tean *pb.DBParkour
invite *pb.DBRaceInvite
member *pb.DBRaceMember
mount *cfg.GameBuzkashiMountData
users []string
ok bool
err error
@ -30,6 +32,7 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
code = pb.ErrorCode_DBError
return
}
if tean, err = this.module.parkourComp.queryinfo(req.Captainid); err != nil {
code = pb.ErrorCode_DBError
return
@ -53,7 +56,11 @@ func (this *apiComp) InviteHandle(session comm.IUserSession, req *pb.ParkourInvi
for i, v := range tean.Member {
users[i] = v.Uid
}
member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount}
if mount, err = this.module.configure.getGameBuzkashiMount(info.Dfmount); err != nil {
code = pb.ErrorCode_ConfigNoFound
return
}
member = &pb.DBRaceMember{Uid: invite.Uid, Name: invite.Name, Avatar: invite.Avatar, Mount: info.Dfmount, Hp: mount.Hp}
tean.Captainid = tean.Uid
tean.Member = append(tean.Member, member)
if err = this.module.parkourComp.Change(session.GetUserId(), map[string]interface{}{

View File

@ -1,11 +1,18 @@
package parkour
import (
"fmt"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
cfg "go_dreamfactory/sys/configure/structs"
)
const ()
const (
game_buzkashigrade = "game_buzkashigrade.json"
game_buzkashilv = "game_buzkashilv.json"
game_buzkashimount = "game_buzkashimount.json"
game_buzkashireward = "game_buzkashireward.json"
)
///背包配置管理组件
type configureComp struct {
@ -17,6 +24,28 @@ type configureComp struct {
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Parkour)
this.LoadConfigure(game_buzkashigrade, cfg.NewGameBuzkashiGrade)
this.LoadConfigure(game_buzkashilv, cfg.NewGameBuzkashiLv)
this.LoadConfigure(game_buzkashimount, cfg.NewGameBuzkashiMount)
this.LoadConfigure(game_buzkashireward, cfg.NewGameBuzkashiReward)
return
}
//查询坐骑表
func (this *configureComp) getGameBuzkashiMount(id string) (configure *cfg.GameBuzkashiMountData, err error) {
var (
v interface{}
ok bool
)
if v, err = this.GetConfigure(game_buzkashimount); err != nil {
this.module.Errorln(err)
return
} else {
if configure, ok = v.(*cfg.GameBuzkashiMount).GetDataMap()[id]; !ok {
err = fmt.Errorf("not found:%s ", id)
this.module.Errorln(err)
return
}
}
return
}

View File

@ -14,8 +14,12 @@ type RaceItem struct {
lock sync.Mutex //战斗锁 防止计时器和消息同时操作对象
RedMember []*pb.DBRaceMember //红方成员
RedSession []comm.IUserSession //红方会话
RedScore int32 //红方分值
RedEnergy int32 //红方能量
BuleMember []*pb.DBRaceMember //蓝方成员
BuleSession []comm.IUserSession //蓝方会话
BuleScore int32 //蓝方分值
BuleEnergy int32 //蓝方能量
overtimer *timewheel.Task //准备倒计时定时器
}

View File

@ -127,7 +127,7 @@ func (this *ModelParkourComp) queryinfo(uid string) (result *pb.DBParkour, err e
State: pb.RaceTeamState_teaming,
Mounts: make(map[string]int32),
Invite: make([]*pb.DBRaceInvite, 0),
Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
Member: []*pb.DBRaceMember{},
}
if err = this.Add(uid, result); err != nil {
this.module.Errorln(err)
@ -161,7 +161,7 @@ func (this *ModelParkourComp) queryinfos(uids []string) (results []*pb.DBParkour
State: pb.RaceTeamState_teaming,
Mounts: make(map[string]int32),
Invite: make([]*pb.DBRaceInvite, 0),
Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
Member: []*pb.DBRaceMember{},
}
newdata[v] = temp
}
@ -199,7 +199,7 @@ func (this *ModelParkourComp) addUserMounts(uid string, mounts map[string]int32)
State: pb.RaceTeamState_teaming,
Invite: make([]*pb.DBRaceInvite, 0),
Mounts: make(map[string]int32),
Member: []*pb.DBRaceMember{{Uid: tuser.Uid, Name: tuser.Name}},
Member: []*pb.DBRaceMember{},
}
for k, _ := range mounts {

View File

@ -128,6 +128,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
if online {
battle.RedSession = append(battle.RedSession, session)
}
} else {
v.Ready = true
}
}
@ -141,6 +143,8 @@ func (this *Parkour) createbattle(ctx context.Context, req *pb.RPCParkourMatchSu
if online {
battle.BuleSession = append(battle.BuleSession, session)
}
} else {
v.Ready = true
}
}
sessions = append(sessions, battle.BuleSession...)
@ -164,6 +168,7 @@ func (this *Parkour) startbattle(id string) {
var (
battle *RaceItem
ok bool
member []*pb.DBRaceMember = make([]*pb.DBRaceMember, 0)
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@ -171,9 +176,23 @@ func (this *Parkour) startbattle(id string) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
for _, v := range battle.RedMember {
if v.Isai {
member = append(member, v)
}
}
for _, v := range battle.BuleMember {
if v.Isai {
member = append(member, v)
}
}
if err = this.ai.createAi(battle.Id, member); err != nil {
this.Errorln(err)
return
}
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
if err = this.SendMsgToSession(string(comm.ModulePvp), "finish", &pb.ParkourRaceStartPush{
if err = this.SendMsgToSession(string(comm.ModulePvp), "racestart", &pb.ParkourRaceStartPush{
Countdown: 3,
}, sessions...); err != nil {
this.Errorln(err)
@ -195,8 +214,9 @@ func (this *Parkour) shot(id string, uid string) {
if ok {
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{
Countdown: 3,
if err = this.SendMsgToSession(string(this.GetType()), "scorechanage", &pb.ParkourScoreChanagePush{
Red: battle.RedScore,
Blue: battle.BuleScore,
}, sessions...); err != nil {
this.Errorln(err)
}
@ -208,6 +228,7 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
var (
battle *RaceItem
ok bool
member *pb.DBRaceMember
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@ -215,10 +236,30 @@ func (this *Parkour) avoid(id string, uid string, dis int32) {
battle, ok = this.battles[id]
this.lock.RUnlock()
if ok {
ok = false
for _, v := range battle.RedMember {
if v.Uid == uid {
member = v
ok = true
}
}
if !ok {
for _, v := range battle.BuleMember {
if v.Uid == uid {
member = v
ok = true
}
}
}
if !ok {
this.Error("躲避障碍物逻辑异常 未找到玩家!", log.Field{Key: "battleid", Value: id}, log.Field{Key: "uid", Value: uid})
return
}
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceStartPush{
Countdown: 3,
if err = this.SendMsgToSession(string(this.GetType()), "playerhpchanage", &pb.ParkourPlayerHPChanagePush{
Uid: uid,
Hp: member.Hp,
}, sessions...); err != nil {
this.Errorln(err)
}
@ -231,6 +272,7 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
var (
battle *RaceItem
ok bool
side int32
sessions []comm.IUserSession = make([]comm.IUserSession, 0)
err error
)
@ -243,12 +285,16 @@ func (this *Parkour) overtimer(task *timewheel.Task, args ...interface{}) {
delete(this.battles, id)
this.lock.Unlock()
this.raceComp.delrace(id)
this.ai.removeAi(id)
if battle.RedScore > battle.BuleScore {
side = 1
} else {
side = 2
}
sessions = append(sessions, battle.RedSession...)
sessions = append(sessions, battle.BuleSession...)
if err = this.SendMsgToSession(string(this.GetType()), "finish", &pb.ParkourRaceOverPush{
Race: &pb.DBRace{
Id: battle.Id,
},
if err = this.SendMsgToSession(string(this.GetType()), "raceover", &pb.ParkourRaceOverPush{
Winside: side,
}, sessions...); err != nil {
this.Errorln(err)
return

View File

@ -1248,6 +1248,8 @@ type ParkourAllSprintsPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Left int32 `protobuf:"varint,1,opt,name=left,proto3" json:"left"` //剩余时间
}
func (x *ParkourAllSprintsPush) Reset() {
@ -1282,17 +1284,25 @@ func (*ParkourAllSprintsPush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{26}
}
//比赛数值变化推送
type ParkourRaceChanagePush struct {
func (x *ParkourAllSprintsPush) GetLeft() int32 {
if x != nil {
return x.Left
}
return 0
}
//玩家hp变化通知
type ParkourPlayerHPChanagePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid"`
Hp int32 `protobuf:"varint,2,opt,name=hp,proto3" json:"hp"`
}
func (x *ParkourRaceChanagePush) Reset() {
*x = ParkourRaceChanagePush{}
func (x *ParkourPlayerHPChanagePush) Reset() {
*x = ParkourPlayerHPChanagePush{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1300,13 +1310,13 @@ func (x *ParkourRaceChanagePush) Reset() {
}
}
func (x *ParkourRaceChanagePush) String() string {
func (x *ParkourPlayerHPChanagePush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParkourRaceChanagePush) ProtoMessage() {}
func (*ParkourPlayerHPChanagePush) ProtoMessage() {}
func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
func (x *ParkourPlayerHPChanagePush) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@ -1318,31 +1328,94 @@ func (x *ParkourRaceChanagePush) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
// Deprecated: Use ParkourRaceChanagePush.ProtoReflect.Descriptor instead.
func (*ParkourRaceChanagePush) Descriptor() ([]byte, []int) {
// Deprecated: Use ParkourPlayerHPChanagePush.ProtoReflect.Descriptor instead.
func (*ParkourPlayerHPChanagePush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{27}
}
func (x *ParkourRaceChanagePush) GetRace() *DBRace {
func (x *ParkourPlayerHPChanagePush) GetUid() string {
if x != nil {
return x.Race
return x.Uid
}
return nil
return ""
}
//比赛
func (x *ParkourPlayerHPChanagePush) GetHp() int32 {
if x != nil {
return x.Hp
}
return 0
}
//比赛分值变化
type ParkourScoreChanagePush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Red int32 `protobuf:"varint,1,opt,name=red,proto3" json:"red"`
Blue int32 `protobuf:"varint,2,opt,name=blue,proto3" json:"blue"`
}
func (x *ParkourScoreChanagePush) Reset() {
*x = ParkourScoreChanagePush{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ParkourScoreChanagePush) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ParkourScoreChanagePush) ProtoMessage() {}
func (x *ParkourScoreChanagePush) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ParkourScoreChanagePush.ProtoReflect.Descriptor instead.
func (*ParkourScoreChanagePush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
}
func (x *ParkourScoreChanagePush) GetRed() int32 {
if x != nil {
return x.Red
}
return 0
}
func (x *ParkourScoreChanagePush) GetBlue() int32 {
if x != nil {
return x.Blue
}
return 0
}
//比赛结束通知
type ParkourRaceOverPush struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Race *DBRace `protobuf:"bytes,1,opt,name=race,proto3" json:"race"`
Winside int32 `protobuf:"varint,1,opt,name=winside,proto3" json:"winside"` //0平局 1 红方胜利 2 蓝方胜利
}
func (x *ParkourRaceOverPush) Reset() {
*x = ParkourRaceOverPush{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[28]
mi := &file_parkour_parkour_msg_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1355,7 +1428,7 @@ func (x *ParkourRaceOverPush) String() string {
func (*ParkourRaceOverPush) ProtoMessage() {}
func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[28]
mi := &file_parkour_parkour_msg_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1368,14 +1441,14 @@ func (x *ParkourRaceOverPush) ProtoReflect() protoreflect.Message {
// Deprecated: Use ParkourRaceOverPush.ProtoReflect.Descriptor instead.
func (*ParkourRaceOverPush) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{28}
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29}
}
func (x *ParkourRaceOverPush) GetRace() *DBRace {
func (x *ParkourRaceOverPush) GetWinside() int32 {
if x != nil {
return x.Race
return x.Winside
}
return nil
return 0
}
///匹配请求 RPC消息定义 服务器自用 客户端不用理会
@ -1391,7 +1464,7 @@ type RPCParkourJoinMatchReq struct {
func (x *RPCParkourJoinMatchReq) Reset() {
*x = RPCParkourJoinMatchReq{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[29]
mi := &file_parkour_parkour_msg_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1404,7 +1477,7 @@ func (x *RPCParkourJoinMatchReq) String() string {
func (*RPCParkourJoinMatchReq) ProtoMessage() {}
func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[29]
mi := &file_parkour_parkour_msg_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1417,7 +1490,7 @@ func (x *RPCParkourJoinMatchReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchReq.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchReq) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{29}
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30}
}
func (x *RPCParkourJoinMatchReq) GetCaptainid() string {
@ -1444,7 +1517,7 @@ type RPCParkourJoinMatchResp struct {
func (x *RPCParkourJoinMatchResp) Reset() {
*x = RPCParkourJoinMatchResp{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[30]
mi := &file_parkour_parkour_msg_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1457,7 +1530,7 @@ func (x *RPCParkourJoinMatchResp) String() string {
func (*RPCParkourJoinMatchResp) ProtoMessage() {}
func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[30]
mi := &file_parkour_parkour_msg_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1470,7 +1543,7 @@ func (x *RPCParkourJoinMatchResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourJoinMatchResp.ProtoReflect.Descriptor instead.
func (*RPCParkourJoinMatchResp) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{30}
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31}
}
///匹配成功通知请求
@ -1486,7 +1559,7 @@ type RPCParkourMatchSuccReq struct {
func (x *RPCParkourMatchSuccReq) Reset() {
*x = RPCParkourMatchSuccReq{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[31]
mi := &file_parkour_parkour_msg_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1499,7 +1572,7 @@ func (x *RPCParkourMatchSuccReq) String() string {
func (*RPCParkourMatchSuccReq) ProtoMessage() {}
func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[31]
mi := &file_parkour_parkour_msg_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1512,7 +1585,7 @@ func (x *RPCParkourMatchSuccReq) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccReq.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccReq) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{31}
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32}
}
func (x *RPCParkourMatchSuccReq) GetRed() []*DBRaceMember {
@ -1539,7 +1612,7 @@ type RPCParkourMatchSuccResp struct {
func (x *RPCParkourMatchSuccResp) Reset() {
*x = RPCParkourMatchSuccResp{}
if protoimpl.UnsafeEnabled {
mi := &file_parkour_parkour_msg_proto_msgTypes[32]
mi := &file_parkour_parkour_msg_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1552,7 +1625,7 @@ func (x *RPCParkourMatchSuccResp) String() string {
func (*RPCParkourMatchSuccResp) ProtoMessage() {}
func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
mi := &file_parkour_parkour_msg_proto_msgTypes[32]
mi := &file_parkour_parkour_msg_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -1565,7 +1638,7 @@ func (x *RPCParkourMatchSuccResp) ProtoReflect() protoreflect.Message {
// Deprecated: Use RPCParkourMatchSuccResp.ProtoReflect.Descriptor instead.
func (*RPCParkourMatchSuccResp) Descriptor() ([]byte, []int) {
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{32}
return file_parkour_parkour_msg_proto_rawDescGZIP(), []int{33}
}
var File_parkour_parkour_msg_proto protoreflect.FileDescriptor
@ -1653,31 +1726,37 @@ var file_parkour_parkour_msg_proto_rawDesc = []byte{
0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x76, 0x6f, 0x69, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22,
0x17, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72,
0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x22, 0x35, 0x0a, 0x16, 0x50, 0x61, 0x72, 0x6b,
0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75,
0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72, 0x61, 0x63, 0x65, 0x22,
0x32, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76,
0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x04, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x52, 0x04, 0x72,
0x61, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75,
0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a,
0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42,
0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62,
0x65, 0x72, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72,
0x4a, 0x6f, 0x69, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a,
0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d,
0x62, 0x65, 0x72, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65,
0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52,
0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75,
0x63, 0x63, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2b, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x70, 0x72,
0x69, 0x6e, 0x74, 0x73, 0x50, 0x75, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x65, 0x66, 0x74,
0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6c, 0x65, 0x66, 0x74, 0x22, 0x3e, 0x0a, 0x1a,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x48, 0x50, 0x43,
0x68, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02,
0x68, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x70, 0x22, 0x3f, 0x0a, 0x17,
0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e,
0x61, 0x67, 0x65, 0x50, 0x75, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x01,
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x72, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6c, 0x75,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, 0x6c, 0x75, 0x65, 0x22, 0x2f, 0x0a,
0x13, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x52, 0x61, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72,
0x50, 0x75, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d,
0x0a, 0x16, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x70, 0x74,
0x61, 0x69, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x70,
0x74, 0x61, 0x69, 0x6e, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d,
0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x19, 0x0a,
0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4a, 0x6f, 0x69, 0x6e, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x5c, 0x0a, 0x16, 0x52, 0x50, 0x43, 0x50,
0x61, 0x72, 0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52,
0x65, 0x71, 0x12, 0x1f, 0x0a, 0x03, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x03,
0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28,
0x0b, 0x32, 0x0d, 0x2e, 0x44, 0x42, 0x52, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
0x52, 0x04, 0x62, 0x75, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x50, 0x61, 0x72,
0x6b, 0x6f, 0x75, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x63, 0x63, 0x52, 0x65, 0x73,
0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
@ -1692,7 +1771,7 @@ func file_parkour_parkour_msg_proto_rawDescGZIP() []byte {
return file_parkour_parkour_msg_proto_rawDescData
}
var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_parkour_parkour_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
var file_parkour_parkour_msg_proto_goTypes = []interface{}{
(*ParkourInfoReq)(nil), // 0: ParkourInfoReq
(*ParkourInfoResp)(nil), // 1: ParkourInfoResp
@ -1721,36 +1800,35 @@ var file_parkour_parkour_msg_proto_goTypes = []interface{}{
(*ParkourAvoidReq)(nil), // 24: ParkourAvoidReq
(*ParkourAvoidResp)(nil), // 25: ParkourAvoidResp
(*ParkourAllSprintsPush)(nil), // 26: ParkourAllSprintsPush
(*ParkourRaceChanagePush)(nil), // 27: ParkourRaceChanagePush
(*ParkourRaceOverPush)(nil), // 28: ParkourRaceOverPush
(*RPCParkourJoinMatchReq)(nil), // 29: RPCParkourJoinMatchReq
(*RPCParkourJoinMatchResp)(nil), // 30: RPCParkourJoinMatchResp
(*RPCParkourMatchSuccReq)(nil), // 31: RPCParkourMatchSuccReq
(*RPCParkourMatchSuccResp)(nil), // 32: RPCParkourMatchSuccResp
(*DBParkour)(nil), // 33: DBParkour
(*DBRaceMember)(nil), // 34: DBRaceMember
(*DBRace)(nil), // 35: DBRace
(*ParkourPlayerHPChanagePush)(nil), // 27: ParkourPlayerHPChanagePush
(*ParkourScoreChanagePush)(nil), // 28: ParkourScoreChanagePush
(*ParkourRaceOverPush)(nil), // 29: ParkourRaceOverPush
(*RPCParkourJoinMatchReq)(nil), // 30: RPCParkourJoinMatchReq
(*RPCParkourJoinMatchResp)(nil), // 31: RPCParkourJoinMatchResp
(*RPCParkourMatchSuccReq)(nil), // 32: RPCParkourMatchSuccReq
(*RPCParkourMatchSuccResp)(nil), // 33: RPCParkourMatchSuccResp
(*DBParkour)(nil), // 34: DBParkour
(*DBRaceMember)(nil), // 35: DBRaceMember
(*DBRace)(nil), // 36: DBRace
}
var file_parkour_parkour_msg_proto_depIdxs = []int32{
33, // 0: ParkourInfoResp.info:type_name -> DBParkour
33, // 1: ParkourInfoResp.recommend:type_name -> DBParkour
33, // 2: ParkourInfoChangePush.info:type_name -> DBParkour
33, // 3: ParkourInviteResp.team:type_name -> DBParkour
33, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour
33, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour
34, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
34, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
35, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace
35, // 9: ParkourRaceChanagePush.race:type_name -> DBRace
35, // 10: ParkourRaceOverPush.race:type_name -> DBRace
34, // 11: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
34, // 12: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
34, // 13: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
14, // [14:14] is the sub-list for method output_type
14, // [14:14] is the sub-list for method input_type
14, // [14:14] is the sub-list for extension type_name
14, // [14:14] is the sub-list for extension extendee
0, // [0:14] is the sub-list for field type_name
34, // 0: ParkourInfoResp.info:type_name -> DBParkour
34, // 1: ParkourInfoResp.recommend:type_name -> DBParkour
34, // 2: ParkourInfoChangePush.info:type_name -> DBParkour
34, // 3: ParkourInviteResp.team:type_name -> DBParkour
34, // 4: ParkourInviteNoticePush.team:type_name -> DBParkour
34, // 5: ParkourTeamChanagePush.team:type_name -> DBParkour
35, // 6: ParkourTeamJoinNoticePush.member:type_name -> DBRaceMember
35, // 7: ParkourTeamQuitNoticePush.member:type_name -> DBRaceMember
36, // 8: ParkourRaceMatchSuccPush.race:type_name -> DBRace
35, // 9: RPCParkourJoinMatchReq.member:type_name -> DBRaceMember
35, // 10: RPCParkourMatchSuccReq.red:type_name -> DBRaceMember
35, // 11: RPCParkourMatchSuccReq.bule:type_name -> DBRaceMember
12, // [12:12] is the sub-list for method output_type
12, // [12:12] is the sub-list for method input_type
12, // [12:12] is the sub-list for extension type_name
12, // [12:12] is the sub-list for extension extendee
0, // [0:12] is the sub-list for field type_name
}
func init() { file_parkour_parkour_msg_proto_init() }
@ -2085,7 +2163,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParkourRaceChanagePush); i {
switch v := v.(*ParkourPlayerHPChanagePush); i {
case 0:
return &v.state
case 1:
@ -2097,7 +2175,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ParkourRaceOverPush); i {
switch v := v.(*ParkourScoreChanagePush); i {
case 0:
return &v.state
case 1:
@ -2109,7 +2187,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourJoinMatchReq); i {
switch v := v.(*ParkourRaceOverPush); i {
case 0:
return &v.state
case 1:
@ -2121,7 +2199,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourJoinMatchResp); i {
switch v := v.(*RPCParkourJoinMatchReq); i {
case 0:
return &v.state
case 1:
@ -2133,7 +2211,7 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourMatchSuccReq); i {
switch v := v.(*RPCParkourJoinMatchResp); i {
case 0:
return &v.state
case 1:
@ -2145,6 +2223,18 @@ func file_parkour_parkour_msg_proto_init() {
}
}
file_parkour_parkour_msg_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourMatchSuccReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_parkour_parkour_msg_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RPCParkourMatchSuccResp); i {
case 0:
return &v.state
@ -2163,7 +2253,7 @@ func file_parkour_parkour_msg_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_parkour_parkour_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 33,
NumMessages: 34,
NumExtensions: 0,
NumServices: 0,
},

View 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 GameBuzkashiGrade struct {
_dataMap map[int32]*GameBuzkashiGradeData
_dataList []*GameBuzkashiGradeData
}
func NewGameBuzkashiGrade(_buf []map[string]interface{}) (*GameBuzkashiGrade, error) {
_dataList := make([]*GameBuzkashiGradeData, 0, len(_buf))
dataMap := make(map[int32]*GameBuzkashiGradeData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameBuzkashiGradeData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &GameBuzkashiGrade{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameBuzkashiGrade) GetDataMap() map[int32]*GameBuzkashiGradeData {
return table._dataMap
}
func (table *GameBuzkashiGrade) GetDataList() []*GameBuzkashiGradeData {
return table._dataList
}
func (table *GameBuzkashiGrade) Get(key int32) *GameBuzkashiGradeData {
return table._dataMap[key]
}

View File

@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <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 GameBuzkashiGradeData struct {
Num int32
Distance string
Value int32
}
const TypeId_GameBuzkashiGradeData = -378990226
func (*GameBuzkashiGradeData) GetTypeId() int32 {
return -378990226
}
func (_v *GameBuzkashiGradeData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
{ var _ok_ bool; if _v.Distance, _ok_ = _buf["distance"].(string); !_ok_ { err = errors.New("distance error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
return
}
func DeserializeGameBuzkashiGradeData(_buf map[string]interface{}) (*GameBuzkashiGradeData, error) {
v := &GameBuzkashiGradeData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameBuzkashiLv struct {
_dataMap map[int32]*GameBuzkashiLvData
_dataList []*GameBuzkashiLvData
}
func NewGameBuzkashiLv(_buf []map[string]interface{}) (*GameBuzkashiLv, error) {
_dataList := make([]*GameBuzkashiLvData, 0, len(_buf))
dataMap := make(map[int32]*GameBuzkashiLvData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameBuzkashiLvData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &GameBuzkashiLv{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameBuzkashiLv) GetDataMap() map[int32]*GameBuzkashiLvData {
return table._dataMap
}
func (table *GameBuzkashiLv) GetDataList() []*GameBuzkashiLvData {
return table._dataList
}
func (table *GameBuzkashiLv) Get(key int32) *GameBuzkashiLvData {
return table._dataMap[key]
}

View File

@ -0,0 +1,39 @@
//------------------------------------------------------------------------------
// <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 GameBuzkashiLvData struct {
Num int32
Score string
Value int32
}
const TypeId_GameBuzkashiLvData = -1108462041
func (*GameBuzkashiLvData) GetTypeId() int32 {
return -1108462041
}
func (_v *GameBuzkashiLvData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["num"].(float64); !_ok_ { err = errors.New("num error"); return }; _v.Num = int32(_tempNum_) }
{ var _ok_ bool; if _v.Score, _ok_ = _buf["score"].(string); !_ok_ { err = errors.New("score error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["value"].(float64); !_ok_ { err = errors.New("value error"); return }; _v.Value = int32(_tempNum_) }
return
}
func DeserializeGameBuzkashiLvData(_buf map[string]interface{}) (*GameBuzkashiLvData, error) {
v := &GameBuzkashiLvData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameBuzkashiMount struct {
_dataMap map[string]*GameBuzkashiMountData
_dataList []*GameBuzkashiMountData
}
func NewGameBuzkashiMount(_buf []map[string]interface{}) (*GameBuzkashiMount, error) {
_dataList := make([]*GameBuzkashiMountData, 0, len(_buf))
dataMap := make(map[string]*GameBuzkashiMountData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameBuzkashiMountData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Num] = _v
}
}
return &GameBuzkashiMount{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameBuzkashiMount) GetDataMap() map[string]*GameBuzkashiMountData {
return table._dataMap
}
func (table *GameBuzkashiMount) GetDataList() []*GameBuzkashiMountData {
return table._dataList
}
func (table *GameBuzkashiMount) Get(key string) *GameBuzkashiMountData {
return table._dataMap[key]
}

View File

@ -0,0 +1,53 @@
//------------------------------------------------------------------------------
// <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 GameBuzkashiMountData struct {
Num string
Stime int32
Etime int32
Hp int32
Model string
Point string
Moderate int32
Sprint int32
Acceleration int32
Deceleration int32
}
const TypeId_GameBuzkashiMountData = 1598069936
func (*GameBuzkashiMountData) GetTypeId() int32 {
return 1598069936
}
func (_v *GameBuzkashiMountData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Num, _ok_ = _buf["num"].(string); !_ok_ { err = errors.New("num error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["stime"].(float64); !_ok_ { err = errors.New("stime error"); return }; _v.Stime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["etime"].(float64); !_ok_ { err = errors.New("etime error"); return }; _v.Etime = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = int32(_tempNum_) }
{ var _ok_ bool; if _v.Model, _ok_ = _buf["model"].(string); !_ok_ { err = errors.New("model error"); return } }
{ var _ok_ bool; if _v.Point, _ok_ = _buf["point"].(string); !_ok_ { err = errors.New("point error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["moderate"].(float64); !_ok_ { err = errors.New("moderate error"); return }; _v.Moderate = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sprint"].(float64); !_ok_ { err = errors.New("sprint error"); return }; _v.Sprint = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["acceleration"].(float64); !_ok_ { err = errors.New("acceleration error"); return }; _v.Acceleration = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["deceleration"].(float64); !_ok_ { err = errors.New("deceleration error"); return }; _v.Deceleration = int32(_tempNum_) }
return
}
func DeserializeGameBuzkashiMountData(_buf map[string]interface{}) (*GameBuzkashiMountData, error) {
v := &GameBuzkashiMountData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View 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 GameBuzkashiReward struct {
_dataMap map[int32]*GameBuzkashiRewardData
_dataList []*GameBuzkashiRewardData
}
func NewGameBuzkashiReward(_buf []map[string]interface{}) (*GameBuzkashiReward, error) {
_dataList := make([]*GameBuzkashiRewardData, 0, len(_buf))
dataMap := make(map[int32]*GameBuzkashiRewardData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameBuzkashiRewardData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Key] = _v
}
}
return &GameBuzkashiReward{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameBuzkashiReward) GetDataMap() map[int32]*GameBuzkashiRewardData {
return table._dataMap
}
func (table *GameBuzkashiReward) GetDataList() []*GameBuzkashiRewardData {
return table._dataList
}
func (table *GameBuzkashiReward) Get(key int32) *GameBuzkashiRewardData {
return table._dataMap[key]
}

View File

@ -0,0 +1,52 @@
//------------------------------------------------------------------------------
// <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 GameBuzkashiRewardData struct {
Key int32
Schedule int32
Reword []*Gameatn
}
const TypeId_GameBuzkashiRewardData = -1577911348
func (*GameBuzkashiRewardData) GetTypeId() int32 {
return -1577911348
}
func (_v *GameBuzkashiRewardData)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["schedule"].(float64); !_ok_ { err = errors.New("schedule error"); return }; _v.Schedule = 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 DeserializeGameBuzkashiRewardData(_buf map[string]interface{}) (*GameBuzkashiRewardData, error) {
v := &GameBuzkashiRewardData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -19,6 +19,7 @@ type GameMainStageData struct {
Openlevel int32
Episodelocation serialization.Vector3
EditorStage int32
Detailwindow string
Frontstoryid int32
Afterstoryid int32
MainlineName string
@ -59,6 +60,7 @@ func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error)
}
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EditorStage"].(float64); !_ok_ { err = errors.New("EditorStage error"); return }; _v.EditorStage = int32(_tempNum_) }
{ var _ok_ bool; if _v.Detailwindow, _ok_ = _buf["detailwindow"].(string); !_ok_ { err = errors.New("detailwindow error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["frontstoryid"].(float64); !_ok_ { err = errors.New("frontstoryid error"); return }; _v.Frontstoryid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["mainlineName"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.MainlineName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.MainlineName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }

View 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 GameNavigation struct {
_dataMap map[int32]*GameNavigationData
_dataList []*GameNavigationData
}
func NewGameNavigation(_buf []map[string]interface{}) (*GameNavigation, error) {
_dataList := make([]*GameNavigationData, 0, len(_buf))
dataMap := make(map[int32]*GameNavigationData)
for _, _ele_ := range _buf {
if _v, err2 := DeserializeGameNavigationData(_ele_); err2 != nil {
return nil, err2
} else {
_dataList = append(_dataList, _v)
dataMap[_v.Id] = _v
}
}
return &GameNavigation{_dataList:_dataList, _dataMap:dataMap}, nil
}
func (table *GameNavigation) GetDataMap() map[int32]*GameNavigationData {
return table._dataMap
}
func (table *GameNavigation) GetDataList() []*GameNavigationData {
return table._dataList
}
func (table *GameNavigation) Get(key int32) *GameNavigationData {
return table._dataMap[key]
}

View 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 GameNavigationData struct {
Id int32
Scene string
Scenename string
Sceneicon string
Functionname string
NpcName string
Functionicon string
}
const TypeId_GameNavigationData = -800652966
func (*GameNavigationData) GetTypeId() int32 {
return -800652966
}
func (_v *GameNavigationData)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; if _v.Scene, _ok_ = _buf["scene"].(string); !_ok_ { err = errors.New("scene error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["scenename"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Scenename error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Scenename, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Sceneicon, _ok_ = _buf["sceneicon"].(string); !_ok_ { err = errors.New("sceneicon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["functionname"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Functionname error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Functionname, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.NpcName, _ok_ = _buf["npcName"].(string); !_ok_ { err = errors.New("npcName error"); return } }
{ var _ok_ bool; if _v.Functionicon, _ok_ = _buf["functionicon"].(string); !_ok_ { err = errors.New("functionicon error"); return } }
return
}
func DeserializeGameNavigationData(_buf map[string]interface{}) (*GameNavigationData, error) {
v := &GameNavigationData{}
if err := v.Deserialize(_buf); err == nil {
return v, nil
} else {
return nil, err
}
}

View File

@ -189,6 +189,11 @@ type Tables struct {
Favorability *GameFavorability
Friends *GameFriends
CampLv *GameCampLv
Navigation *GameNavigation
BuzkashiMount *GameBuzkashiMount
BuzkashiLv *GameBuzkashiLv
BuzkashiGrade *GameBuzkashiGrade
BuzkashiReward *GameBuzkashiReward
}
func NewTables(loader JsonLoader) (*Tables, error) {
@ -1264,5 +1269,35 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.CampLv, err = NewGameCampLv(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_navigation") ; err != nil {
return nil, err
}
if tables.Navigation, err = NewGameNavigation(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_buzkashimount") ; err != nil {
return nil, err
}
if tables.BuzkashiMount, err = NewGameBuzkashiMount(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_buzkashilv") ; err != nil {
return nil, err
}
if tables.BuzkashiLv, err = NewGameBuzkashiLv(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_buzkashigrade") ; err != nil {
return nil, err
}
if tables.BuzkashiGrade, err = NewGameBuzkashiGrade(buf) ; err != nil {
return nil, err
}
if buf, err = loader("game_buzkashireward") ; err != nil {
return nil, err
}
if tables.BuzkashiReward, err = NewGameBuzkashiReward(buf) ; err != nil {
return nil, err
}
return tables, nil
}

View File

@ -28,7 +28,7 @@ func (*GameCoinData) GetTypeId() int32 {
func (_v *GameCoinData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; if _v.Key, _ok_ = _buf["key"].(string); !_ok_ { err = errors.New("key error"); return } }
{ var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Name error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Name, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) }
{ var _ok_ bool; if _v.Effects, _ok_ = _buf["effects"].(string); !_ok_ { err = errors.New("effects error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["access"].(float64); !_ok_ { err = errors.New("access error"); return }; _v.Access = int32(_tempNum_) }