diff --git a/bin/json/game_heroconvertdata.json b/bin/json/game_heroconvertdata.json
new file mode 100644
index 000000000..ae4beeba2
--- /dev/null
+++ b/bin/json/game_heroconvertdata.json
@@ -0,0 +1,18 @@
+[
+ {
+ "race": 1,
+ "id": "50001"
+ },
+ {
+ "race": 2,
+ "id": "50002"
+ },
+ {
+ "race": 3,
+ "id": "50003"
+ },
+ {
+ "race": 4,
+ "id": "50004"
+ }
+]
\ No newline at end of file
diff --git a/bin/json/game_model.json b/bin/json/game_model.json
index 90ca1220a..15f15bad7 100644
--- a/bin/json/game_model.json
+++ b/bin/json/game_model.json
@@ -2053,7 +2053,7 @@
"id": "51004",
"preson": "51004",
"presonshow": "51004_exhibition",
- "presonstory": "51004",
+ "presonstory": "51004_story",
"presondraw": "",
"height": 1,
"weight": 1,
diff --git a/bin/json/game_rdtaskside.json b/bin/json/game_rdtaskside.json
index 354db0eb1..4a5466f80 100644
--- a/bin/json/game_rdtaskside.json
+++ b/bin/json/game_rdtaskside.json
@@ -460,7 +460,7 @@
"objType": 1,
"location": "right",
"point": "model_06",
- "storyBegin": 307,
+ "storyBegin": 9999,
"Entity": [],
"EntityChange": [],
"EntityStateChange": [],
@@ -477,55 +477,6 @@
"enableAi": false,
"boxreplace": "",
"timeline": "",
- "chooseId": [
- 20007
- ],
- "endTid": [
- -1
- ],
- "storyEnd": 0,
- "reward": [
- {
- "ChooseId": 20007,
- "Reward": [
- {
- "a": "item",
- "t": "30001",
- "n": 1
- },
- {
- "a": "hero",
- "t": "44005",
- "n": 1
- }
- ]
- }
- ],
- "nextTid": 100209,
- "CD": 0
- },
- {
- "id": 2007,
- "objType": 1,
- "location": "middle",
- "point": "model_03",
- "storyBegin": 217,
- "Entity": [],
- "EntityChange": [],
- "EntityStateChange": [],
- "EntityInteractive": [],
- "modelaction": "Enter",
- "rotation": {
- "x": 0,
- "y": 90,
- "z": 0
- },
- "modelstate": 0,
- "popup": "",
- "special": "",
- "enableAi": false,
- "boxreplace": "",
- "timeline": "",
"chooseId": [],
"endTid": [
-1
@@ -536,7 +487,7 @@
"CD": 0
},
{
- "id": 2008,
+ "id": 2007,
"objType": 1,
"location": "middle",
"point": "model_02",
@@ -564,8 +515,7 @@
"boxreplace": "",
"timeline": "",
"chooseId": [
- 20008,
- 20009
+ 20008
],
"endTid": [
-1
@@ -575,6 +525,37 @@
"nextTid": 100211,
"CD": 0
},
+ {
+ "id": 2008,
+ "objType": 1,
+ "location": "middle",
+ "point": "model_03",
+ "storyBegin": 217,
+ "Entity": [],
+ "EntityChange": [],
+ "EntityStateChange": [],
+ "EntityInteractive": [],
+ "modelaction": "Enter",
+ "rotation": {
+ "x": 0,
+ "y": 90,
+ "z": 0
+ },
+ "modelstate": 0,
+ "popup": "",
+ "special": "",
+ "enableAi": false,
+ "boxreplace": "",
+ "timeline": "",
+ "chooseId": [],
+ "endTid": [
+ -1
+ ],
+ "storyEnd": 0,
+ "reward": [],
+ "nextTid": -1,
+ "CD": 0
+ },
{
"id": 2009,
"objType": 1,
@@ -660,8 +641,7 @@
"boxreplace": "",
"timeline": "",
"chooseId": [
- 200012,
- 200015
+ 200012
],
"endTid": [
118
@@ -1465,7 +1445,7 @@
"id": 2034,
"objType": 1,
"location": "middle",
- "point": "model_02",
+ "point": "model_03",
"storyBegin": 337,
"Entity": [],
"EntityChange": [],
@@ -1474,7 +1454,7 @@
"modelaction": "",
"rotation": {
"x": 0,
- "y": -90,
+ "y": 90,
"z": 0
},
"modelstate": 0,
@@ -1656,7 +1636,7 @@
"objType": 1,
"location": "right",
"point": "model_08",
- "storyBegin": 342,
+ "storyBegin": 307,
"Entity": [],
"EntityChange": [],
"EntityStateChange": [],
@@ -1673,13 +1653,31 @@
"enableAi": false,
"boxreplace": "",
"timeline": "",
- "chooseId": [],
+ "chooseId": [
+ 20007
+ ],
"endTid": [
-1
],
"storyEnd": 0,
- "reward": [],
- "nextTid": -1,
+ "reward": [
+ {
+ "ChooseId": 20007,
+ "Reward": [
+ {
+ "a": "item",
+ "t": "30001",
+ "n": 1
+ },
+ {
+ "a": "hero",
+ "t": "44005",
+ "n": 1
+ }
+ ]
+ }
+ ],
+ "nextTid": 100209,
"CD": 0
},
{
diff --git a/bin/json/game_stroy.json b/bin/json/game_stroy.json
index 60892cc0c..f7835a511 100644
--- a/bin/json/game_stroy.json
+++ b/bin/json/game_stroy.json
@@ -5495,9 +5495,9 @@
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
- "speak": "44005",
+ "speak": "45003",
"listen": "",
- "des": "来了,来了。",
+ "des": "你刚刚跑哪里去了......",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -6524,7 +6524,7 @@
},
"positionL": {
"x": -0.1,
- "y": -1.2,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -6543,9 +6543,9 @@
"z": 0.8
},
"sizeL": {
- "x": 0.8,
- "y": 0.8,
- "z": 0.8
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"perf": "",
"cg": "",
@@ -6558,6 +6558,62 @@
"next": 304002,
"type": 2,
"bg": "jqdh_bg01",
+ "place": 0,
+ "speak": "45003",
+ "listen": "",
+ "des": "哇,居然是功夫大师悍娇虎来了。",
+ "modelstatetarget": "",
+ "modelstate": 0,
+ "modelaction": "",
+ "speakstate": "",
+ "listenstate": "",
+ "chose": [],
+ "turn": 0,
+ "show": 0,
+ "move": "",
+ "action": "",
+ "sound": "",
+ "positionR": {
+ "x": 0.2,
+ "y": -1.4,
+ "z": 0
+ },
+ "positionL": {
+ "x": -0.1,
+ "y": -1.5,
+ "z": 0
+ },
+ "revolveR": {
+ "x": 0,
+ "y": -150,
+ "z": 0
+ },
+ "revolveL": {
+ "x": 0,
+ "y": -210,
+ "z": 0
+ },
+ "sizeR": {
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
+ },
+ "sizeL": {
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
+ },
+ "perf": "",
+ "cg": "",
+ "skip": true
+ },
+ {
+ "id": 304002,
+ "groupid": 304,
+ "before": 304001,
+ "next": 304003,
+ "type": 2,
+ "bg": "jqdh_bg01",
"place": 1,
"speak": "44006",
"listen": "",
@@ -6608,10 +6664,10 @@
"skip": true
},
{
- "id": 304002,
+ "id": 304003,
"groupid": 304,
- "before": 304001,
- "next": 304003,
+ "before": 304002,
+ "next": 304004,
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
@@ -6664,10 +6720,10 @@
"skip": true
},
{
- "id": 304003,
+ "id": 304004,
"groupid": 304,
- "before": 304002,
- "next": 304004,
+ "before": 304003,
+ "next": 304005,
"type": 2,
"bg": "jqdh_bg01",
"place": 1,
@@ -6720,10 +6776,10 @@
"skip": true
},
{
- "id": 304004,
+ "id": 304005,
"groupid": 304,
- "before": 304003,
- "next": 304005,
+ "before": 304004,
+ "next": 304006,
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
@@ -6776,10 +6832,10 @@
"skip": true
},
{
- "id": 304005,
+ "id": 304006,
"groupid": 304,
- "before": 304004,
- "next": 304006,
+ "before": 304005,
+ "next": 304007,
"type": 2,
"bg": "jqdh_bg01",
"place": 1,
@@ -6832,9 +6888,9 @@
"skip": true
},
{
- "id": 304006,
+ "id": 304007,
"groupid": 304,
- "before": 304005,
+ "before": 304006,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
@@ -6894,6 +6950,62 @@
"next": 305002,
"type": 2,
"bg": "jqdh_bg01",
+ "place": 0,
+ "speak": "45003",
+ "listen": "",
+ "des": "哇,居然是神龙大侠亲自来了。",
+ "modelstatetarget": "",
+ "modelstate": 0,
+ "modelaction": "",
+ "speakstate": "",
+ "listenstate": "",
+ "chose": [],
+ "turn": 0,
+ "show": 0,
+ "move": "",
+ "action": "",
+ "sound": "",
+ "positionR": {
+ "x": 0.2,
+ "y": -1.4,
+ "z": 0
+ },
+ "positionL": {
+ "x": -0.1,
+ "y": -1.5,
+ "z": 0
+ },
+ "revolveR": {
+ "x": 0,
+ "y": -150,
+ "z": 0
+ },
+ "revolveL": {
+ "x": 0,
+ "y": -210,
+ "z": 0
+ },
+ "sizeR": {
+ "x": 0.7,
+ "y": 0.7,
+ "z": 0.7
+ },
+ "sizeL": {
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
+ },
+ "perf": "",
+ "cg": "",
+ "skip": true
+ },
+ {
+ "id": 305002,
+ "groupid": 305,
+ "before": 305001,
+ "next": 305003,
+ "type": 2,
+ "bg": "jqdh_bg01",
"place": 1,
"speak": "25001",
"listen": "",
@@ -6915,8 +7027,8 @@
"z": 0
},
"positionL": {
- "x": -0.2,
- "y": -1.3,
+ "x": -0.1,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -6930,24 +7042,24 @@
"z": 0
},
"sizeR": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"sizeL": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
},
"perf": "",
"cg": "",
"skip": true
},
{
- "id": 305002,
+ "id": 305003,
"groupid": 305,
- "before": 305001,
- "next": 305003,
+ "before": 305002,
+ "next": 305004,
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
@@ -7000,10 +7112,10 @@
"skip": true
},
{
- "id": 305003,
+ "id": 305004,
"groupid": 305,
- "before": 305002,
- "next": 305004,
+ "before": 305003,
+ "next": 305005,
"type": 2,
"bg": "jqdh_bg01",
"place": 1,
@@ -7027,8 +7139,8 @@
"z": 0
},
"positionL": {
- "x": -0.2,
- "y": -1.3,
+ "x": -0.1,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -7042,24 +7154,24 @@
"z": 0
},
"sizeR": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"sizeL": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
},
"perf": "",
"cg": "",
"skip": true
},
{
- "id": 305004,
+ "id": 305005,
"groupid": 305,
- "before": 305003,
- "next": 305005,
+ "before": 305004,
+ "next": 305006,
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
@@ -7112,10 +7224,10 @@
"skip": true
},
{
- "id": 305005,
+ "id": 305006,
"groupid": 305,
- "before": 305004,
- "next": 305006,
+ "before": 305005,
+ "next": 305007,
"type": 2,
"bg": "jqdh_bg01",
"place": 1,
@@ -7139,8 +7251,8 @@
"z": 0
},
"positionL": {
- "x": -0.2,
- "y": -1.3,
+ "x": -0.1,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -7154,23 +7266,23 @@
"z": 0
},
"sizeR": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"sizeL": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
},
"perf": "",
"cg": "",
"skip": true
},
{
- "id": 305006,
+ "id": 305007,
"groupid": 305,
- "before": 305005,
+ "before": 305006,
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
@@ -7391,6 +7503,62 @@
"cg": "",
"skip": true
},
+ {
+ "id": 9999001,
+ "groupid": 9999,
+ "before": -1,
+ "next": -1,
+ "type": 2,
+ "bg": "jqdh_bg01",
+ "place": 0,
+ "speak": "44005",
+ "listen": "",
+ "des": "郊外的怪物们活动也越来越频繁了",
+ "modelstatetarget": "",
+ "modelstate": 0,
+ "modelaction": "",
+ "speakstate": "",
+ "listenstate": "",
+ "chose": [],
+ "turn": 0,
+ "show": 0,
+ "move": "",
+ "action": "",
+ "sound": "",
+ "positionR": {
+ "x": 0.2,
+ "y": -1.5,
+ "z": 0
+ },
+ "positionL": {
+ "x": -0.1,
+ "y": -1.6,
+ "z": 0
+ },
+ "revolveR": {
+ "x": 0,
+ "y": -150,
+ "z": 0
+ },
+ "revolveL": {
+ "x": 0,
+ "y": -210,
+ "z": 0
+ },
+ "sizeR": {
+ "x": 0.7,
+ "y": 0.7,
+ "z": 0.7
+ },
+ "sizeL": {
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
+ },
+ "perf": "",
+ "cg": "",
+ "skip": true
+ },
{
"id": 307001,
"groupid": 307,
@@ -7401,7 +7569,7 @@
"place": 0,
"speak": "45003",
"listen": "",
- "des": "[color=#6dba00]备用能源[/color]已经拿到,我们赶紧返回基地吧。",
+ "des": "[color=#6dba00]备用能量石[/color]已经拿到,我们赶紧返回基地吧。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -7790,10 +7958,10 @@
"next": 308007,
"type": 2,
"bg": "jqdh_bg01",
- "place": 1,
- "speak": "44005",
+ "place": 0,
+ "speak": "45003",
"listen": "",
- "des": "所以你现在可以挪挪你的小手,来激活备用备用[color=#6dba00]备用能源[/color]了吗?",
+ "des": "嗯……不过小伊,我想我们现在应该先把备用能量石安装好。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -7846,10 +8014,10 @@
"next": -1,
"type": 2,
"bg": "jqdh_bg01",
- "place": 0,
- "speak": "45003",
+ "place": 1,
+ "speak": "44005",
"listen": "",
- "des": "哦对对,不过这个东西劲力很大,你要是准备要了就随时找我开启。",
+ "des": "哦哦,没错~这个东西看起来很重,我已经准备好了可以随时找我帮忙。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -8801,7 +8969,7 @@
"place": 0,
"speak": "14007",
"listen": "",
- "des": "等一下,心魔塔充满了大量的黑暗能量,先让我把英雄等级升到10级吧。",
+ "des": "等一下,心魔塔充满了大量的黑暗能量,先把我的英雄等级升到10级吧。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -9023,7 +9191,7 @@
"type": 2,
"bg": "jqdh_bg01",
"place": 0,
- "speak": "45003",
+ "speak": "14007",
"listen": "",
"des": "很好,这样我们就有去闯心魔塔的底气了!",
"modelstatetarget": "",
@@ -11097,7 +11265,7 @@
"place": 0,
"speak": "14007",
"listen": "",
- "des": "内在力量固然重要,但是装备也是必不可少的提升,现在来给格里森王子穿戴一套装备吧!",
+ "des": "内在力量固然重要,但是装备也是必不可少的提升,现在来给我穿戴一套装备吧!",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -11209,7 +11377,7 @@
"place": 0,
"speak": "44005",
"listen": "",
- "des": "变强是每个英雄的都必须要经历的事情。",
+ "des": "变强是每个英雄都必须要经历的事情。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -11265,7 +11433,7 @@
"place": 0,
"speak": "45003",
"listen": "",
- "des": "小伊...我真没想到在这里遇到你......",
+ "des": "小伊...我真没想到在这里遇到你。",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -11545,7 +11713,7 @@
"place": 0,
"speak": "25001",
"listen": "",
- "des": "盖,是你正在呼唤我来吗?",
+ "des": "盖,是你正在呼唤我来吗?11",
"modelstatetarget": "",
"modelstate": 0,
"modelaction": "",
@@ -11559,12 +11727,12 @@
"sound": "",
"positionR": {
"x": 0.2,
- "y": -0.8,
+ "y": -1.4,
"z": 0
},
"positionL": {
- "x": -0.4,
- "y": -1.3,
+ "x": -0.1,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -11578,14 +11746,14 @@
"z": 0
},
"sizeR": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
},
"sizeL": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"perf": "",
"cg": "",
@@ -11675,8 +11843,8 @@
"z": 0
},
"positionL": {
- "x": -0.4,
- "y": -1.3,
+ "x": -0.1,
+ "y": -1.1,
"z": 0
},
"revolveR": {
@@ -11690,14 +11858,14 @@
"z": 0
},
"sizeR": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.8,
+ "y": 0.8,
+ "z": 0.8
},
"sizeL": {
- "x": 0.7,
- "y": 0.7,
- "z": 0.7
+ "x": 0.6,
+ "y": 0.6,
+ "z": 0.6
},
"perf": "",
"cg": "",
@@ -11727,12 +11895,12 @@
"sound": "",
"positionR": {
"x": 0.2,
- "y": -1.5,
+ "y": -1.4,
"z": 0
},
"positionL": {
"x": -0.1,
- "y": -1.5,
+ "y": -1.2,
"z": 0
},
"revolveR": {
@@ -11751,9 +11919,9 @@
"z": 0.8
},
"sizeL": {
- "x": 0.8,
- "y": 0.8,
- "z": 0.8
+ "x": 0.7,
+ "y": 0.7,
+ "z": 0.7
},
"perf": "",
"cg": "",
diff --git a/sys/configure/structs/Game.HeroConvertdata.go b/sys/configure/structs/Game.HeroConvertdata.go
new file mode 100644
index 000000000..0b442abc8
--- /dev/null
+++ b/sys/configure/structs/Game.HeroConvertdata.go
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+type GameHeroConvertdata struct {
+ _dataMap map[int32]*GameHeroConvertdataData
+ _dataList []*GameHeroConvertdataData
+}
+
+func NewGameHeroConvertdata(_buf []map[string]interface{}) (*GameHeroConvertdata, error) {
+ _dataList := make([]*GameHeroConvertdataData, 0, len(_buf))
+ dataMap := make(map[int32]*GameHeroConvertdataData)
+ for _, _ele_ := range _buf {
+ if _v, err2 := DeserializeGameHeroConvertdataData(_ele_); err2 != nil {
+ return nil, err2
+ } else {
+ _dataList = append(_dataList, _v)
+ dataMap[_v.Race] = _v
+ }
+ }
+ return &GameHeroConvertdata{_dataList:_dataList, _dataMap:dataMap}, nil
+}
+
+func (table *GameHeroConvertdata) GetDataMap() map[int32]*GameHeroConvertdataData {
+ return table._dataMap
+}
+
+func (table *GameHeroConvertdata) GetDataList() []*GameHeroConvertdataData {
+ return table._dataList
+}
+
+func (table *GameHeroConvertdata) Get(key int32) *GameHeroConvertdataData {
+ return table._dataMap[key]
+}
+
+
diff --git a/sys/configure/structs/Game.HeroConvertdataData.go b/sys/configure/structs/Game.HeroConvertdataData.go
new file mode 100644
index 000000000..29e70db81
--- /dev/null
+++ b/sys/configure/structs/Game.HeroConvertdataData.go
@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+package cfg
+
+import "errors"
+
+type GameHeroConvertdataData struct {
+ Race int32
+ Id string
+}
+
+const TypeId_GameHeroConvertdataData = -1689768495
+
+func (*GameHeroConvertdataData) GetTypeId() int32 {
+ return -1689768495
+}
+
+func (_v *GameHeroConvertdataData)Deserialize(_buf map[string]interface{}) (err error) {
+ { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) }
+ { var _ok_ bool; if _v.Id, _ok_ = _buf["id"].(string); !_ok_ { err = errors.New("id error"); return } }
+ return
+}
+
+func DeserializeGameHeroConvertdataData(_buf map[string]interface{}) (*GameHeroConvertdataData, error) {
+ v := &GameHeroConvertdataData{}
+ if err := v.Deserialize(_buf); err == nil {
+ return v, nil
+ } else {
+ return nil, err
+ }
+}
diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go
index 63dab99e0..0b715bf6c 100644
--- a/sys/configure/structs/Tables.go
+++ b/sys/configure/structs/Tables.go
@@ -100,6 +100,7 @@ type Tables struct {
Ip *GameIp
GameColor *GameGameColor
NameLibrary *GameNameLibrary
+ HeroConvertdata *GameHeroConvertdata
}
func NewTables(loader JsonLoader) (*Tables, error) {
@@ -641,5 +642,11 @@ func NewTables(loader JsonLoader) (*Tables, error) {
if tables.NameLibrary, err = NewGameNameLibrary(buf) ; err != nil {
return nil, err
}
+ if buf, err = loader("game_heroconvertdata") ; err != nil {
+ return nil, err
+ }
+ if tables.HeroConvertdata, err = NewGameHeroConvertdata(buf) ; err != nil {
+ return nil, err
+ }
return tables, nil
}