This commit is contained in:
meixiongfeng 2023-07-20 18:30:22 +08:00
commit 9def951db4
35 changed files with 12570 additions and 1630 deletions

View File

@ -4,7 +4,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 20, "itemid": 1010,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -13,7 +13,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 30, "itemid": 1020,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -22,7 +22,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 40, "itemid": 1030,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -31,61 +31,7 @@
"assembleid": 60000010, "assembleid": 60000010,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 50, "itemid": 1040,
"itemwt": 1000,
"min": 0
},
{
"id": 5,
"assembleid": 60000010,
"lvstart": 1,
"lvend": 999,
"itemid": 60,
"itemwt": 1000,
"min": 0
},
{
"id": 6,
"assembleid": 60000010,
"lvstart": 1,
"lvend": 999,
"itemid": 70,
"itemwt": 1000,
"min": 0
},
{
"id": 7,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 80,
"itemwt": 1000,
"min": 0
},
{
"id": 8,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 90,
"itemwt": 1000,
"min": 0
},
{
"id": 9,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 100,
"itemwt": 1000,
"min": 0
},
{
"id": 10,
"assembleid": 60000020,
"lvstart": 1,
"lvend": 999,
"itemid": 110,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -94,7 +40,7 @@
"assembleid": 60000020, "assembleid": 60000020,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 120, "itemid": 1050,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -103,7 +49,7 @@
"assembleid": 60000020, "assembleid": 60000020,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 130, "itemid": 1050,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -112,7 +58,7 @@
"assembleid": 60000020, "assembleid": 60000020,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 140, "itemid": 1060,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -121,115 +67,7 @@
"assembleid": 60000030, "assembleid": 60000030,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 150, "itemid": 1070,
"itemwt": 1000,
"min": 0
},
{
"id": 15,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 160,
"itemwt": 1000,
"min": 0
},
{
"id": 16,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 170,
"itemwt": 1000,
"min": 0
},
{
"id": 17,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 180,
"itemwt": 1000,
"min": 0
},
{
"id": 18,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 190,
"itemwt": 1000,
"min": 0
},
{
"id": 19,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 200,
"itemwt": 1000,
"min": 0
},
{
"id": 20,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 210,
"itemwt": 1000,
"min": 0
},
{
"id": 21,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 220,
"itemwt": 1000,
"min": 0
},
{
"id": 22,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 230,
"itemwt": 1000,
"min": 0
},
{
"id": 23,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 240,
"itemwt": 1000,
"min": 0
},
{
"id": 24,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 250,
"itemwt": 1000,
"min": 0
},
{
"id": 25,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 260,
"itemwt": 1000,
"min": 0
},
{
"id": 26,
"assembleid": 60000030,
"lvstart": 1,
"lvend": 999,
"itemid": 270,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -238,7 +76,7 @@
"assembleid": 60000040, "assembleid": 60000040,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 280, "itemid": 1080,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -247,88 +85,7 @@
"assembleid": 60000040, "assembleid": 60000040,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 290, "itemid": 1090,
"itemwt": 1000,
"min": 0
},
{
"id": 29,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 300,
"itemwt": 1000,
"min": 0
},
{
"id": 30,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 310,
"itemwt": 1000,
"min": 0
},
{
"id": 31,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 320,
"itemwt": 1000,
"min": 0
},
{
"id": 32,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 330,
"itemwt": 1000,
"min": 0
},
{
"id": 33,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 340,
"itemwt": 1000,
"min": 0
},
{
"id": 34,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 350,
"itemwt": 1000,
"min": 0
},
{
"id": 35,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 360,
"itemwt": 1000,
"min": 0
},
{
"id": 36,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 370,
"itemwt": 1000,
"min": 0
},
{
"id": 37,
"assembleid": 60000040,
"lvstart": 1,
"lvend": 999,
"itemid": 380,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -337,7 +94,7 @@
"assembleid": 60000050, "assembleid": 60000050,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 390, "itemid": 1100,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
}, },
@ -346,475 +103,7 @@
"assembleid": 60000050, "assembleid": 60000050,
"lvstart": 1, "lvstart": 1,
"lvend": 999, "lvend": 999,
"itemid": 400, "itemid": 1110,
"itemwt": 1000,
"min": 0
},
{
"id": 40,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 410,
"itemwt": 1000,
"min": 0
},
{
"id": 41,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 420,
"itemwt": 1000,
"min": 0
},
{
"id": 42,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 430,
"itemwt": 1000,
"min": 0
},
{
"id": 43,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 440,
"itemwt": 1000,
"min": 0
},
{
"id": 44,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 450,
"itemwt": 1000,
"min": 0
},
{
"id": 45,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 460,
"itemwt": 1000,
"min": 0
},
{
"id": 46,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 470,
"itemwt": 1000,
"min": 0
},
{
"id": 47,
"assembleid": 60000050,
"lvstart": 1,
"lvend": 999,
"itemid": 480,
"itemwt": 1000,
"min": 0
},
{
"id": 48,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 490,
"itemwt": 1000,
"min": 0
},
{
"id": 49,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 500,
"itemwt": 1000,
"min": 0
},
{
"id": 50,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 510,
"itemwt": 1000,
"min": 0
},
{
"id": 51,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 520,
"itemwt": 1000,
"min": 0
},
{
"id": 52,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 530,
"itemwt": 1000,
"min": 0
},
{
"id": 53,
"assembleid": 60000060,
"lvstart": 1,
"lvend": 999,
"itemid": 540,
"itemwt": 1000,
"min": 0
},
{
"id": 54,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 550,
"itemwt": 1000,
"min": 0
},
{
"id": 55,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 560,
"itemwt": 1000,
"min": 0
},
{
"id": 56,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 570,
"itemwt": 1000,
"min": 0
},
{
"id": 57,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 580,
"itemwt": 1000,
"min": 0
},
{
"id": 58,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 590,
"itemwt": 1000,
"min": 0
},
{
"id": 59,
"assembleid": 60000070,
"lvstart": 1,
"lvend": 999,
"itemid": 600,
"itemwt": 1000,
"min": 0
},
{
"id": 60,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 610,
"itemwt": 1000,
"min": 0
},
{
"id": 61,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 620,
"itemwt": 1000,
"min": 0
},
{
"id": 62,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 630,
"itemwt": 1000,
"min": 0
},
{
"id": 63,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 640,
"itemwt": 1000,
"min": 0
},
{
"id": 64,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 650,
"itemwt": 1000,
"min": 0
},
{
"id": 65,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 660,
"itemwt": 1000,
"min": 0
},
{
"id": 66,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 670,
"itemwt": 1000,
"min": 0
},
{
"id": 67,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 680,
"itemwt": 1000,
"min": 0
},
{
"id": 68,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 690,
"itemwt": 1000,
"min": 0
},
{
"id": 69,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 700,
"itemwt": 1000,
"min": 0
},
{
"id": 70,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 710,
"itemwt": 1000,
"min": 0
},
{
"id": 71,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 720,
"itemwt": 1000,
"min": 0
},
{
"id": 72,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 730,
"itemwt": 1000,
"min": 0
},
{
"id": 73,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 740,
"itemwt": 1000,
"min": 0
},
{
"id": 74,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 750,
"itemwt": 1000,
"min": 0
},
{
"id": 75,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 760,
"itemwt": 1000,
"min": 0
},
{
"id": 76,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 770,
"itemwt": 1000,
"min": 0
},
{
"id": 77,
"assembleid": 60000080,
"lvstart": 1,
"lvend": 999,
"itemid": 780,
"itemwt": 1000,
"min": 0
},
{
"id": 78,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 790,
"itemwt": 1000,
"min": 0
},
{
"id": 79,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 800,
"itemwt": 1000,
"min": 0
},
{
"id": 80,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 810,
"itemwt": 1000,
"min": 0
},
{
"id": 81,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 820,
"itemwt": 1000,
"min": 0
},
{
"id": 82,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 830,
"itemwt": 1000,
"min": 0
},
{
"id": 83,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 840,
"itemwt": 1000,
"min": 0
},
{
"id": 84,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 850,
"itemwt": 1000,
"min": 0
},
{
"id": 85,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 860,
"itemwt": 1000,
"min": 0
},
{
"id": 86,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 870,
"itemwt": 1000,
"min": 0
},
{
"id": 87,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 880,
"itemwt": 1000,
"min": 0
},
{
"id": 88,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 890,
"itemwt": 1000,
"min": 0
},
{
"id": 89,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 900,
"itemwt": 1000,
"min": 0
},
{
"id": 90,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 910,
"itemwt": 1000,
"min": 0
},
{
"id": 91,
"assembleid": 60000090,
"lvstart": 1,
"lvend": 999,
"itemid": 920,
"itemwt": 1000, "itemwt": 1000,
"min": 0 "min": 0
} }

View File

@ -1,86 +1,98 @@
[ [
{ {
"key": 1,
"ExaminationGroup": 1001, "ExaminationGroup": 1001,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 180, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
}, },
{ {
"key": 2,
"ExaminationGroup": 1002, "ExaminationGroup": 1002,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 180, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
}, },
{ {
"key": 3,
"ExaminationGroup": 1003, "ExaminationGroup": 1003,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 180, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
}, },
{ {
"key": 4,
"ExaminationGroup": 1004, "ExaminationGroup": 1004,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 180, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
}, },
{ {
"key": 5,
"ExaminationGroup": 1005, "ExaminationGroup": 1005,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 180, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
}, },
{ {
"key": 6,
"ExaminationGroup": 1006, "ExaminationGroup": 1006,
"examinationnum": 3, "examinationnum": 3,
"start": 500, "start": 500,
"continue": 500, "continue": 500,
"time": 360, "time": 0,
"reward": [ "reward": [
{ {
"a": "attr", "a": "attr",
"t": "gold", "t": "gold",
"n": 1000 "n": 1000
} }
] ],
"restime": 1
} }
] ]

View File

@ -28,7 +28,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -60,7 +60,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -92,7 +92,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -124,7 +124,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -156,7 +156,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -188,7 +188,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -220,7 +220,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -252,7 +252,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -284,7 +284,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -316,7 +316,7 @@
"flase": "", "flase": "",
"fraction": 1, "fraction": 1,
"plantrue": [ "plantrue": [
"planA" 1
] ]
}, },
{ {
@ -348,8 +348,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -381,8 +381,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -414,8 +414,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -447,8 +447,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -480,8 +480,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -513,8 +513,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -546,8 +546,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -579,8 +579,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
}, },
{ {
@ -612,8 +612,8 @@
"flase": "", "flase": "",
"fraction": 3, "fraction": 3,
"plantrue": [ "plantrue": [
"planA", 1,
"planB" 2
] ]
} }
] ]

View File

@ -554,7 +554,7 @@
}, },
{ {
"id": 129, "id": 129,
"PlayType": 2, "PlayType": 16,
"HeroCount": 5, "HeroCount": 5,
"readyScene": "scenesfight_role_interface_06", "readyScene": "scenesfight_role_interface_06",
"battleScenes": [ "battleScenes": [
@ -573,7 +573,7 @@
}, },
{ {
"id": 130, "id": 130,
"PlayType": 2, "PlayType": 15,
"HeroCount": 5, "HeroCount": 5,
"readyScene": "scenesfight_role_interface_06", "readyScene": "scenesfight_role_interface_06",
"battleScenes": [ "battleScenes": [
@ -594,7 +594,7 @@
}, },
{ {
"id": 131, "id": 131,
"PlayType": 2, "PlayType": 15,
"HeroCount": 5, "HeroCount": 5,
"readyScene": "scenesfight_role_interface_06", "readyScene": "scenesfight_role_interface_06",
"battleScenes": [ "battleScenes": [
@ -615,7 +615,7 @@
}, },
{ {
"id": 132, "id": 132,
"PlayType": 2, "PlayType": 15,
"HeroCount": 5, "HeroCount": 5,
"readyScene": "scenesfight_role_interface_06", "readyScene": "scenesfight_role_interface_06",
"battleScenes": [ "battleScenes": [

View File

@ -24467,8 +24467,10 @@
"n": 1 "n": 1
}, },
"NPC": 0, "NPC": 0,
"value": 1000, "value": 10,
"filter": [], "filter": [
1
],
"filter2": [] "filter2": []
}, },
{ {

View File

@ -1153,5 +1153,17 @@
"id": 202, "id": 202,
"insert": 2, "insert": 2,
"filter": [] "filter": []
},
{
"id": 203,
"insert": 1,
"filter": [
"eq"
]
},
{
"id": 204,
"insert": 1,
"filter": []
} }
] ]

View File

@ -58,5 +58,15 @@
"ips": "10.0.0.208:7891", "ips": "10.0.0.208:7891",
"debug": true, "debug": true,
"sid": "dfjl" "sid": "dfjl"
},
{
"index": 170,
"name": {
"key": "debug_server_05",
"text": "版署测试服"
},
"ips": "101.35.125.220:6088",
"debug": true,
"sid": "170"
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -4093,7 +4093,7 @@
"Id": 390001451, "Id": 390001451,
"Name": { "Name": {
"key": "skill_skill_buff_Name_390001451", "key": "skill_skill_buff_Name_390001451",
"text": "[color=#37d8a9]BOSS专用免疫控制效果[/color] " "text": "[color=#37d8a9]免疫控制[/color] "
}, },
"Desc": { "Desc": {
"key": "skill_skill_buff_Desc_390001451", "key": "skill_skill_buff_Desc_390001451",

View File

@ -60,7 +60,7 @@
"id": 40, "id": 40,
"name": { "name": {
"key": "worldtask_world_all_name_4", "key": "worldtask_world_all_name_4",
"text": "章节4:交易所风波" "text": "章节4:交易所风波(上)"
}, },
"task_icon": "", "task_icon": "",
"task_txt": { "task_txt": {
@ -79,7 +79,7 @@
"id": 50, "id": 50,
"name": { "name": {
"key": "worldtask_world_all_name_5", "key": "worldtask_world_all_name_5",
"text": "章节5:暂定名字" "text": "章节5:交易所风波(下)"
}, },
"task_icon": "", "task_icon": "",
"task_txt": { "task_txt": {

File diff suppressed because it is too large Load Diff

View File

@ -92,6 +92,7 @@ const (
ModulePasson core.M_Modules = "passon" //传功房 ModulePasson core.M_Modules = "passon" //传功房
ModuleWarorder core.M_Modules = "warorder" //战令 ModuleWarorder core.M_Modules = "warorder" //战令
ModuleUnionGve core.M_Modules = "uniongve" //工会boos战 ModuleUnionGve core.M_Modules = "uniongve" //工会boos战
ModuleDailytask core.M_Modules = "dailytask" //每日任务
) )
// 数据表名定义处 // 数据表名定义处
@ -305,6 +306,8 @@ const (
// 世界buff // 世界buff
TableWorldBuff = "worldbuff" TableWorldBuff = "worldbuff"
//世界任务
TableDailytask = "dailytask"
) )
// RPC服务接口定义处 // RPC服务接口定义处
@ -768,6 +771,8 @@ const (
Rtype200 TaskType = 200 //在狩猎内战斗X次 Rtype200 TaskType = 200 //在狩猎内战斗X次
Rtype201 TaskType = 201 //在维京体系的副本内消耗X体力 Rtype201 TaskType = 201 //在维京体系的副本内消耗X体力
Rtype202 TaskType = 202 //在狩猎体系的副本内消耗X体力 Rtype202 TaskType = 202 //在狩猎体系的副本内消耗X体力
Rtype203 TaskType = 203 //完成指定试卷组
Rtype204 TaskType = 204 //完成任意一场考试
) )
const ( const (

View File

@ -569,6 +569,10 @@ type (
ClearCaravanTask(session IUserSession, task int32) ClearCaravanTask(session IUserSession, task int32)
// bingo任务 // bingo任务
BingoJumpTask(session IUserSession, rtaskId int32) (errdata *pb.ErrorData) BingoJumpTask(session IUserSession, rtaskId int32) (errdata *pb.ErrorData)
//重置日常任务
ResetDailytaskTask(session IUserSession, groupId ...int32) (task map[int32][]int32, errdata *pb.ErrorData)
//查询任务进度
InquireTaskProgress(session IUserSession, tasks ...int32) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData)
} }
//战令 //战令
IWarorder interface { IWarorder interface {

View File

@ -691,7 +691,7 @@ func (this *Buried) updateAndCheckBuried(bconf *cfg.GameBuriedTypeData, bdata *p
// 判断埋点数据的有效性 // 判断埋点数据的有效性
func (this *Buried) checkburied(buried *pb.BuriedParam, bconf *cfg.GameBuriedTypeData, conf *cfg.GameBuriedCondiData) (efficient bool) { func (this *Buried) checkburied(buried *pb.BuriedParam, bconf *cfg.GameBuriedTypeData, conf *cfg.GameBuriedCondiData) (efficient bool) {
if !(len(buried.Filter) == len(conf.Filter) && len(bconf.Filter) == len(conf.Filter)) { if !(len(buried.Filter) == len(conf.Filter) && len(bconf.Filter) == len(conf.Filter)) {
this.Error("校验埋点错误!", log.Field{Key: "buried", Value: buried}, log.Field{Key: "conf", Value: conf}) this.Debug("校验埋点错误!", log.Field{Key: "buried", Value: buried}, log.Field{Key: "conf", Value: conf})
return return
} }
for i, v := range conf.Filter { for i, v := range conf.Filter {

20
modules/dailytask/api.go Normal file
View File

@ -0,0 +1,20 @@
package dailytask
import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
type apiComp struct {
modules.MCompGate
service base.IRPCXService
module *Dailytask
}
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
_ = this.MCompGate.Init(service, module, comp, options)
this.service = service.(base.IRPCXService)
this.module = module.(*Dailytask)
return
}

View File

@ -0,0 +1,69 @@
package dailytask
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) InfoCheck(session comm.IUserSession, req *pb.DailytaskInfoReq) (errdata *pb.ErrorData) {
return
}
// /获取自己的排行榜信息
func (this *apiComp) Info(session comm.IUserSession, req *pb.DailytaskInfoReq) (errdata *pb.ErrorData) {
var (
dtask *pb.DBDailytask
tasks []int32
progress []*pb.DBWTaskItem
progressMap map[int32]*pb.DBWTaskItem = make(map[int32]*pb.DBWTaskItem)
TaskProgress []*pb.DBDailytaskGroupProgress
ok bool
err error
)
if errdata = this.InfoCheck(session, req); errdata != nil {
return
}
if dtask, err = this.module.modelDailytask.getUserDTasks(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
for _, v := range dtask.Groups {
tasks = append(tasks, v.Tasks...)
}
if progress, errdata = this.module.wtask.InquireTaskProgress(session, tasks...); err != nil {
return
}
for _, v := range progress {
progressMap[v.Tid] = v
}
TaskProgress = make([]*pb.DBDailytaskGroupProgress, 0)
for _, v := range dtask.Groups {
pg := &pb.DBDailytaskGroupProgress{Group: v.Group, Tasks: make([]*pb.DBWTaskItem, 0)}
for _, v := range v.Tasks {
if _, ok = progressMap[v]; ok {
pg.Tasks = append(pg.Tasks, progressMap[v])
} else {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: fmt.Sprintf("on found task:%d", v),
}
return
}
}
TaskProgress = append(TaskProgress, pg)
}
session.SendMsg(string(this.module.GetType()), "info", &pb.DailytaskInfoResp{Task: TaskProgress})
return
}

View File

@ -0,0 +1,121 @@
package dailytask
import (
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
"go_dreamfactory/sys/configure"
cfg "go_dreamfactory/sys/configure/structs"
"sync"
)
const (
game_annulartaskall = "game_annulartaskall.json"
game_annulartask_library = "game_annulartask_library.json"
)
type configureComp struct {
modules.MCompConfigure
module *Dailytask
lock sync.RWMutex
groupTasks map[int32][]*cfg.GameAnnulartask_LibraryData //key 条件ID
}
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Dailytask)
err = this.LoadMultiConfigure(map[string]interface{}{
game_annulartaskall: cfg.NewGameAnnulartaskAll,
game_annulartask_library: cfg.NewGameAnnulartask_Library,
})
configure.RegisterConfigure(game_annulartask_library, cfg.NewGameAnnulartask_Library, this.updateconfigure)
return
}
// 更新任务配置表
func (this *configureComp) updateconfigure() {
var (
v interface{}
conf *cfg.GameAnnulartask_Library
ok bool
err error
)
if v, err = this.GetConfigure(game_annulartask_library); err != nil {
return
}
if conf, ok = v.(*cfg.GameAnnulartask_Library); !ok {
this.module.Error("日常任务配置异常!")
return
}
groupTasksConf := make(map[int32][]*cfg.GameAnnulartask_LibraryData)
for _, v := range conf.GetDataList() {
if _, ok := groupTasksConf[v.Assembleid]; !ok {
groupTasksConf[v.Assembleid] = make([]*cfg.GameAnnulartask_LibraryData, 0)
}
groupTasksConf[v.Assembleid] = append(groupTasksConf[v.Assembleid], v)
}
this.lock.Lock()
this.groupTasks = groupTasksConf
this.lock.Unlock()
}
// 随机获取任务组
func (this *configureComp) getAnnulartaskAll() (results *cfg.GameAnnulartaskAllData, err error) {
var (
v interface{}
conf *cfg.GameAnnulartaskAll
weights []int32
index int32
ok bool
)
if v, err = this.GetConfigure(game_annulartaskall); err != nil {
return
} else {
if conf, ok = v.(*cfg.GameAnnulartaskAll); !ok {
this.module.Errorf("err:%v", err)
return
}
weights = make([]int32, len(conf.GetDataList()))
for i, v := range conf.GetDataList() {
weights[i] = v.Weight
}
index = comm.GetRandW(weights)
results = conf.GetDataList()[index]
return
}
}
// 随机任务
func (this *configureComp) getAnnulartaskLibrary(ulv, group int32) (results *cfg.GameAnnulartask_LibraryData, err error) {
var (
tasks []*cfg.GameAnnulartask_LibraryData
canuse []*cfg.GameAnnulartask_LibraryData
weights []int32
index int32
ok bool
)
this.lock.RLock()
tasks, ok = this.groupTasks[group]
this.lock.RUnlock()
if !ok {
err = fmt.Errorf("no found group:%d", group)
return
}
canuse = make([]*cfg.GameAnnulartask_LibraryData, 0, len(tasks))
for _, v := range tasks {
if v.Lvstart <= ulv && v.Lvend >= ulv {
canuse = append(canuse, v)
}
}
weights = make([]int32, len(canuse))
for i, v := range canuse {
weights[i] = v.Itemwt
}
index = comm.GetRandW(weights)
results = canuse[index]
return
}

View File

@ -0,0 +1,67 @@
package dailytask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
cfg "go_dreamfactory/sys/configure/structs"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelDailytask struct {
modules.MCompModel
module *Dailytask
}
func (this *ModelDailytask) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableDailytask
this.module = module.(*Dailytask)
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
// 获取用户全部的埋点数据
func (this *ModelDailytask) getUserDTasks(uid string) (results *pb.DBDailytask, err error) {
results = &pb.DBDailytask{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
results = &pb.DBDailytask{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Groups: make([]*pb.DBDailytaskGroup, 0),
Rtime: 0,
}
err = this.Add(uid, results)
}
return
}
// 重置任务
func (this *ModelDailytask) resetUserDTasks(ulv int32) (group []int32, err error) {
var (
conf *cfg.GameAnnulartaskAllData
task *cfg.GameAnnulartask_LibraryData
)
if conf, err = this.module.configure.getAnnulartaskAll(); err != nil {
return
}
group = make([]int32, 0)
for _, v := range conf.Taskdetail {
if task, err = this.module.configure.getAnnulartaskLibrary(ulv, v); err != nil {
return
}
group = append(group, task.Itemid)
}
return
}

107
modules/dailytask/module.go Normal file
View File

@ -0,0 +1,107 @@
package dailytask
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"go_dreamfactory/utils"
)
type Dailytask struct {
modules.ModuleBase
service core.IService
wtask comm.IWtask
api *apiComp
configure *configureComp
modelDailytask *ModelDailytask
}
func NewModule() core.IModule {
return &Dailytask{}
}
func (this *Dailytask) GetType() core.M_Modules {
return comm.ModuleDailytask
}
func (this *Dailytask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service
return
}
func (this *Dailytask) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleWtask); err != nil {
return
}
this.wtask = module.(comm.IWtask)
event.RegisterGO(comm.EventUserLogin, this.EventUserLogin)
return
}
func (this *Dailytask) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelDailytask = this.RegisterComp(new(ModelDailytask)).(*ModelDailytask)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
// 用户登录
func (this *Dailytask) EventUserLogin(session comm.IUserSession) {
var (
dtask *pb.DBDailytask
user *pb.DBUser
errdata *pb.ErrorData
group []int32
tasks map[int32][]int32
err error
)
if db.IsCross() { //跨服不支持
return
}
if dtask, err = this.modelDailytask.getUserDTasks(session.GetUserId()); err != nil {
this.Errorln(err)
return
}
if !utils.IsToday(dtask.Rtime) { //不是同一天 重置
if user = this.ModuleUser.GetUser(session.GetUserId()); user == nil {
this.Error("no found user", log.Field{Key: "uid", Value: session.GetUserId()})
return
}
if group, err = this.modelDailytask.resetUserDTasks(user.Lv); err != nil {
this.Errorln(err)
return
}
if tasks, errdata = this.wtask.ResetDailytaskTask(session.Clone(), group...); errdata != nil {
this.Errorln(errdata)
return
}
dtask.Groups = make([]*pb.DBDailytaskGroup, 0)
for k, v := range tasks {
dtask.Groups = append(dtask.Groups, &pb.DBDailytaskGroup{
Group: k,
Tasks: v,
})
}
dtask.Rtime = configure.Now().Unix()
if err = this.modelDailytask.Change(session.GetUserId(), map[string]interface{}{
"groups": dtask.Groups,
"rtime": dtask.Rtime,
}); err != nil {
this.Errorln(err)
return
}
}
}

View File

@ -0,0 +1,20 @@
package questionnaire
import (
"go_dreamfactory/lego/base"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
type apiComp struct {
modules.MCompGate
service base.IRPCXService
module *Questionnaire
}
func (this *apiComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
_ = this.MCompGate.Init(service, module, comp, options)
this.service = service.(base.IRPCXService)
this.module = module.(*Questionnaire)
return
}

View File

@ -0,0 +1,33 @@
package questionnaire
import (
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
cfg "go_dreamfactory/sys/configure/structs"
)
const (
gameWorldTask = "game_worldtask.json"
gameWorldtaskBattle = "game_worldbattle.json"
gameWorldAll = "game_worldall.json"
gameburiedCond = "game_buriedcondi.json"
gamerdtasknpc = "game_rdtasknpc.json"
)
type configureComp struct {
modules.MCompConfigure
module *Questionnaire
}
func (this *configureComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompConfigure.Init(service, module, comp, options)
this.module = module.(*Questionnaire)
err = this.LoadMultiConfigure(map[string]interface{}{
gameWorldTask: cfg.NewGameWorldTask,
gameWorldtaskBattle: cfg.NewGameWorldBattle,
gameWorldAll: cfg.NewGameWorldAll,
gameburiedCond: cfg.NewGameBuriedCondi,
gamerdtasknpc: cfg.NewGameRdtaskNpc,
})
return
}

View File

@ -0,0 +1,66 @@
package questionnaire
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/x/bsonx"
)
type ModelDailytask struct {
modules.MCompModel
module *Questionnaire
}
func (this *ModelDailytask) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
err = this.MCompModel.Init(service, module, comp, options)
this.TableName = comm.TableWtask
this.module = module.(*Questionnaire)
this.DB.CreateIndex(core.SqlTable(this.TableName), mongo.IndexModel{
Keys: bsonx.Doc{{Key: "uid", Value: bsonx.Int32(1)}},
})
return
}
// 获取用户全部的埋点数据
func (this *ModelDailytask) getUserWTasks(uid string) (results *pb.DBWTask, err error) {
results = &pb.DBWTask{}
if err = this.Get(uid, results); err != nil && err != mgo.MongodbNil {
this.module.Errorln(err)
return
}
if err == mgo.MongodbNil {
err = nil
results = &pb.DBWTask{
Id: primitive.NewObjectID().Hex(),
Uid: uid,
Currchapter: 0,
Activations: make([]int32, 0),
Accepts: make([]int32, 0),
Completes: make([]int32, 0),
Groups: make(map[int32]int32),
}
err = this.Add(uid, results)
}
return
}
func (this *ModelDailytask) updateUserWTasks(uid string, data *pb.DBWTask) (err error) {
if err = this.Change(uid, map[string]interface{}{
"currchapter": data.Currchapter,
"activations": data.Activations,
"accepts": data.Accepts,
"completes": data.Completes,
"groups": data.Groups,
}); err != nil {
this.module.Error("更新用户任务数据 错误!", log.Field{Key: "err", Value: err.Error()})
return
}
return
}

View File

@ -0,0 +1,58 @@
package questionnaire
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules"
)
type Questionnaire struct {
modules.ModuleBase
service core.IService
caravan comm.ICaravan
battle comm.IBattle
sys comm.ISys
api *apiComp
configure *configureComp
modelDailytask *ModelDailytask
}
func NewModule() core.IModule {
return &Questionnaire{}
}
func (this *Questionnaire) GetType() core.M_Modules {
return comm.ModuleDailytask
}
func (this *Questionnaire) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) {
err = this.ModuleBase.Init(service, module, options)
this.service = service
return
}
func (this *Questionnaire) Start() (err error) {
err = this.ModuleBase.Start()
var module core.IModule
if module, err = this.service.GetModule(comm.ModuleBattle); err != nil {
return
}
this.battle = module.(comm.IBattle)
if module, err = this.service.GetModule(comm.ModuleSys); err != nil {
return
}
this.sys = module.(comm.ISys)
if module, err = this.service.GetModule(comm.ModuleCaravan); err != nil {
return
}
this.caravan = module.(comm.ICaravan)
return
}
func (this *Questionnaire) OnInstallComp() {
this.ModuleBase.OnInstallComp()
this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelDailytask = this.RegisterComp(new(ModelDailytask)).(*ModelDailytask)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}

View File

@ -178,7 +178,6 @@ func (this *Sociaty) Reddot(session comm.IUserSession, rid ...comm.ReddotType) (
reddot = make(map[comm.ReddotType]*pb.ReddotItem) reddot = make(map[comm.ReddotType]*pb.ReddotItem)
sociaty := this.modelSociaty.getUserSociaty(session.GetUserId()) sociaty := this.modelSociaty.getUserSociaty(session.GetUserId())
if sociaty == nil || sociaty.Id == "" { if sociaty == nil || sociaty.Id == "" {
log.Warn("公会红点未获得公会信息", log.Field{Key: "uid", Value: session.GetUserId()})
for _, v := range rid { for _, v := range rid {
reddot[v] = &pb.ReddotItem{ reddot[v] = &pb.ReddotItem{
Rid: int32(v), Rid: int32(v),

View File

@ -2,6 +2,7 @@ package user
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log" "go_dreamfactory/lego/sys/log"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/sys/configure" "go_dreamfactory/sys/configure"
@ -173,5 +174,6 @@ func (this *apiComp) Login(session comm.IUserSession, req *pb.UserLoginReq) (err
rsp.Data = user rsp.Data = user
rsp.TimeNow = configure.Now().Unix() // 设置服务器时间 rsp.TimeNow = configure.Now().Unix() // 设置服务器时间
session.SendMsg(string(this.module.GetType()), UserSubTypeLogin, rsp) session.SendMsg(string(this.module.GetType()), UserSubTypeLogin, rsp)
event.TriggerEvent(comm.EventUserLogin, session.Clone())
return return
} }

View File

@ -252,6 +252,152 @@ func (this *WTask) AcceptCaravanTask(session comm.IUserSession, groupId int32) (
return return
} }
// 重置日常任务
func (this *WTask) ResetDailytaskTask(session comm.IUserSession, groupId ...int32) (results map[int32][]int32, errdata *pb.ErrorData) {
var (
alltasks map[int32]*cfg.GameWorldTaskData = make(map[int32]*cfg.GameWorldTaskData)
groupTasks map[int32][]*cfg.GameWorldTaskData
tasks []*cfg.GameWorldTaskData
wtask *pb.DBWTask
activations []int32 = make([]int32, 0)
accepts []int32 = make([]int32, 0)
completes []int32 = make([]int32, 0)
err error
ok bool
)
results = make(map[int32][]int32)
for _, v := range this.configure.getdesTask(1) {
alltasks[v.Key] = v
}
if wtask, err = this.modelwtask.getUserWTasks(session.GetUserId()); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
//移除之前的日常任务
for _, v := range wtask.Activations {
if _, ok = alltasks[v]; !ok {
activations = append(activations, v)
}
}
for _, v := range wtask.Accepts {
if _, ok = alltasks[v]; !ok {
accepts = append(accepts, v)
}
}
for _, v := range wtask.Completes {
if _, ok = alltasks[v]; !ok {
completes = append(completes, v)
}
}
//添加新的日常任务
groupTasks = this.configure.getgroupTask()
for _, v := range groupId {
if tasks, ok = groupTasks[v]; !ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.String(),
Message: fmt.Sprintf("no found group:%d", v),
}
return
}
for _, task := range tasks {
if task.Ontxe == 0 {
accepts = append(accepts, task.Key)
if _, ok = results[v]; !ok {
results[v] = make([]int32, 0)
}
results[v] = append(results[v], task.Key)
}
}
}
wtask.Activations = activations
wtask.Accepts = accepts
wtask.Completes = completes
//有新任务接取
this.pushtaskprogress(session, wtask, true)
if err = this.modelwtask.updateUserWTasks(session.GetUserId(), wtask); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
return
}
// 查询日常任务进度
func (this *WTask) InquireTaskProgress(session comm.IUserSession, tasks ...int32) (progress []*pb.DBWTaskItem, errdata *pb.ErrorData) {
var (
checkcondlsMap map[int32]struct{} = make(map[int32]struct{})
checkcondls []int32 = make([]int32, 0)
conf *cfg.GameWorldTaskData
condis []*pb.ConIProgress = make([]*pb.ConIProgress, 0)
condisMap map[int32]*pb.ConIProgress = make(map[int32]*pb.ConIProgress)
err error
ok bool
)
for _, v := range tasks {
if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
this.Errorln(err)
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
for _, v := range conf.Completetask {
if _, ok = checkcondlsMap[v]; !ok {
checkcondlsMap[v] = struct{}{}
checkcondls = append(checkcondls, v)
}
}
}
if len(checkcondls) > 0 {
if condis, err = this.ModuleBuried.CheckCondition(session.GetUserId(), checkcondls...); err != nil {
this.Error("校验玩家子任务进度数据 失败", log.Field{Key: "err", Value: err.Error()})
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ExternalModule,
Title: pb.ErrorCode_ExternalModule.ToString(),
Message: fmt.Sprintf("ModuleBuried.CheckCondition Error:%s", err.Error()),
}
return
}
for _, v := range condis {
condisMap[v.Conid] = v
}
}
for _, v := range tasks {
if conf, err = this.configure.gettaskconfconfigure(v); err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ConfigNoFound,
Title: pb.ErrorCode_ConfigNoFound.ToString(),
Message: err.Error(),
}
return
}
task := &pb.DBWTaskItem{
Tid: v,
Conlds: make([]*pb.ConIProgress, len(conf.Completetask)),
}
for i, v := range conf.Completetask {
task.Conlds[i] = condisMap[v]
}
progress = append(progress, task)
}
return
}
// 清除商队任务 // 清除商队任务
func (this *WTask) ClearCaravanTask(session comm.IUserSession, task int32) { func (this *WTask) ClearCaravanTask(session comm.IUserSession, task int32) {
var ( var (

322
pb/dailytask_db.pb.go Normal file
View File

@ -0,0 +1,322 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: dailytask/dailytask_db.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//日常任务
type DBDailytask struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid"`
Groups []*DBDailytaskGroup `protobuf:"bytes,3,rep,name=groups,proto3" json:"groups"`
Rtime int64 `protobuf:"varint,4,opt,name=rtime,proto3" json:"rtime"`
}
func (x *DBDailytask) Reset() {
*x = DBDailytask{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_db_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBDailytask) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBDailytask) ProtoMessage() {}
func (x *DBDailytask) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_db_proto_msgTypes[0]
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 DBDailytask.ProtoReflect.Descriptor instead.
func (*DBDailytask) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_db_proto_rawDescGZIP(), []int{0}
}
func (x *DBDailytask) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *DBDailytask) GetUid() string {
if x != nil {
return x.Uid
}
return ""
}
func (x *DBDailytask) GetGroups() []*DBDailytaskGroup {
if x != nil {
return x.Groups
}
return nil
}
func (x *DBDailytask) GetRtime() int64 {
if x != nil {
return x.Rtime
}
return 0
}
type DBDailytaskGroup struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,3,opt,name=group,proto3" json:"group"`
Tasks []int32 `protobuf:"varint,2,rep,packed,name=tasks,proto3" json:"tasks"`
}
func (x *DBDailytaskGroup) Reset() {
*x = DBDailytaskGroup{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_db_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBDailytaskGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBDailytaskGroup) ProtoMessage() {}
func (x *DBDailytaskGroup) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_db_proto_msgTypes[1]
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 DBDailytaskGroup.ProtoReflect.Descriptor instead.
func (*DBDailytaskGroup) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_db_proto_rawDescGZIP(), []int{1}
}
func (x *DBDailytaskGroup) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *DBDailytaskGroup) GetTasks() []int32 {
if x != nil {
return x.Tasks
}
return nil
}
type DBDailytaskGroupProgress struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Group int32 `protobuf:"varint,3,opt,name=group,proto3" json:"group"`
Tasks []*DBWTaskItem `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks"`
}
func (x *DBDailytaskGroupProgress) Reset() {
*x = DBDailytaskGroupProgress{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_db_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DBDailytaskGroupProgress) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DBDailytaskGroupProgress) ProtoMessage() {}
func (x *DBDailytaskGroupProgress) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_db_proto_msgTypes[2]
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 DBDailytaskGroupProgress.ProtoReflect.Descriptor instead.
func (*DBDailytaskGroupProgress) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_db_proto_rawDescGZIP(), []int{2}
}
func (x *DBDailytaskGroupProgress) GetGroup() int32 {
if x != nil {
return x.Group
}
return 0
}
func (x *DBDailytaskGroupProgress) GetTasks() []*DBWTaskItem {
if x != nil {
return x.Tasks
}
return nil
}
var File_dailytask_dailytask_db_proto protoreflect.FileDescriptor
var file_dailytask_dailytask_db_proto_rawDesc = []byte{
0x0a, 0x1c, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x64, 0x61, 0x69, 0x6c,
0x79, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14,
0x77, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x77, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x0b, 0x44, 0x42, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74,
0x61, 0x73, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x44, 0x42, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74,
0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x06, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
0x12, 0x14, 0x0a, 0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
0x05, 0x72, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x3e, 0x0a, 0x10, 0x44, 0x42, 0x44, 0x61, 0x69, 0x6c,
0x79, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72,
0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70,
0x12, 0x14, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52,
0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x54, 0x0a, 0x18, 0x44, 0x42, 0x44, 0x61, 0x69, 0x6c,
0x79, 0x74, 0x61, 0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28,
0x05, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x22, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x57, 0x54, 0x61, 0x73,
0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x42, 0x06, 0x5a, 0x04,
0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_dailytask_dailytask_db_proto_rawDescOnce sync.Once
file_dailytask_dailytask_db_proto_rawDescData = file_dailytask_dailytask_db_proto_rawDesc
)
func file_dailytask_dailytask_db_proto_rawDescGZIP() []byte {
file_dailytask_dailytask_db_proto_rawDescOnce.Do(func() {
file_dailytask_dailytask_db_proto_rawDescData = protoimpl.X.CompressGZIP(file_dailytask_dailytask_db_proto_rawDescData)
})
return file_dailytask_dailytask_db_proto_rawDescData
}
var file_dailytask_dailytask_db_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_dailytask_dailytask_db_proto_goTypes = []interface{}{
(*DBDailytask)(nil), // 0: DBDailytask
(*DBDailytaskGroup)(nil), // 1: DBDailytaskGroup
(*DBDailytaskGroupProgress)(nil), // 2: DBDailytaskGroupProgress
(*DBWTaskItem)(nil), // 3: DBWTaskItem
}
var file_dailytask_dailytask_db_proto_depIdxs = []int32{
1, // 0: DBDailytask.groups:type_name -> DBDailytaskGroup
3, // 1: DBDailytaskGroupProgress.tasks:type_name -> DBWTaskItem
2, // [2:2] is the sub-list for method output_type
2, // [2:2] is the sub-list for method input_type
2, // [2:2] is the sub-list for extension type_name
2, // [2:2] is the sub-list for extension extendee
0, // [0:2] is the sub-list for field type_name
}
func init() { file_dailytask_dailytask_db_proto_init() }
func file_dailytask_dailytask_db_proto_init() {
if File_dailytask_dailytask_db_proto != nil {
return
}
file_wtask_wtask_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_dailytask_dailytask_db_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBDailytask); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dailytask_dailytask_db_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBDailytaskGroup); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dailytask_dailytask_db_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBDailytaskGroupProgress); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_dailytask_dailytask_db_proto_rawDesc,
NumEnums: 0,
NumMessages: 3,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_dailytask_dailytask_db_proto_goTypes,
DependencyIndexes: file_dailytask_dailytask_db_proto_depIdxs,
MessageInfos: file_dailytask_dailytask_db_proto_msgTypes,
}.Build()
File_dailytask_dailytask_db_proto = out.File
file_dailytask_dailytask_db_proto_rawDesc = nil
file_dailytask_dailytask_db_proto_goTypes = nil
file_dailytask_dailytask_db_proto_depIdxs = nil
}

310
pb/dailytask_msg.pb.go Normal file
View File

@ -0,0 +1,310 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.20.0
// source: dailytask/dailytask_msg.proto
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//日常任务信息获取
type DailytaskInfoReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DailytaskInfoReq) Reset() {
*x = DailytaskInfoReq{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DailytaskInfoReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DailytaskInfoReq) ProtoMessage() {}
func (x *DailytaskInfoReq) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[0]
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 DailytaskInfoReq.ProtoReflect.Descriptor instead.
func (*DailytaskInfoReq) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_msg_proto_rawDescGZIP(), []int{0}
}
//日常任务信息获取 回应
type DailytaskInfoResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Task []*DBDailytaskGroupProgress `protobuf:"bytes,1,rep,name=task,proto3" json:"task"`
}
func (x *DailytaskInfoResp) Reset() {
*x = DailytaskInfoResp{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DailytaskInfoResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DailytaskInfoResp) ProtoMessage() {}
func (x *DailytaskInfoResp) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[1]
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 DailytaskInfoResp.ProtoReflect.Descriptor instead.
func (*DailytaskInfoResp) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_msg_proto_rawDescGZIP(), []int{1}
}
func (x *DailytaskInfoResp) GetTask() []*DBDailytaskGroupProgress {
if x != nil {
return x.Task
}
return nil
}
//日常任务 领奖请求
type DailytaskReceiveReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DailytaskReceiveReq) Reset() {
*x = DailytaskReceiveReq{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DailytaskReceiveReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DailytaskReceiveReq) ProtoMessage() {}
func (x *DailytaskReceiveReq) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[2]
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 DailytaskReceiveReq.ProtoReflect.Descriptor instead.
func (*DailytaskReceiveReq) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_msg_proto_rawDescGZIP(), []int{2}
}
//日常任务 领奖请求 回应
type DailytaskReceiveResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *DailytaskReceiveResp) Reset() {
*x = DailytaskReceiveResp{}
if protoimpl.UnsafeEnabled {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *DailytaskReceiveResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DailytaskReceiveResp) ProtoMessage() {}
func (x *DailytaskReceiveResp) ProtoReflect() protoreflect.Message {
mi := &file_dailytask_dailytask_msg_proto_msgTypes[3]
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 DailytaskReceiveResp.ProtoReflect.Descriptor instead.
func (*DailytaskReceiveResp) Descriptor() ([]byte, []int) {
return file_dailytask_dailytask_msg_proto_rawDescGZIP(), []int{3}
}
var File_dailytask_dailytask_msg_proto protoreflect.FileDescriptor
var file_dailytask_dailytask_msg_proto_rawDesc = []byte{
0x0a, 0x1d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x64, 0x61, 0x69, 0x6c,
0x79, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1c, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x2f, 0x64, 0x61, 0x69, 0x6c, 0x79,
0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a,
0x10, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
0x71, 0x22, 0x42, 0x0a, 0x11, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x6e,
0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01,
0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x44, 0x42, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61,
0x73, 0x6b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61,
0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x52, 0x65, 0x71, 0x22, 0x16, 0x0a, 0x14,
0x44, 0x61, 0x69, 0x6c, 0x79, 0x74, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65,
0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_dailytask_dailytask_msg_proto_rawDescOnce sync.Once
file_dailytask_dailytask_msg_proto_rawDescData = file_dailytask_dailytask_msg_proto_rawDesc
)
func file_dailytask_dailytask_msg_proto_rawDescGZIP() []byte {
file_dailytask_dailytask_msg_proto_rawDescOnce.Do(func() {
file_dailytask_dailytask_msg_proto_rawDescData = protoimpl.X.CompressGZIP(file_dailytask_dailytask_msg_proto_rawDescData)
})
return file_dailytask_dailytask_msg_proto_rawDescData
}
var file_dailytask_dailytask_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_dailytask_dailytask_msg_proto_goTypes = []interface{}{
(*DailytaskInfoReq)(nil), // 0: DailytaskInfoReq
(*DailytaskInfoResp)(nil), // 1: DailytaskInfoResp
(*DailytaskReceiveReq)(nil), // 2: DailytaskReceiveReq
(*DailytaskReceiveResp)(nil), // 3: DailytaskReceiveResp
(*DBDailytaskGroupProgress)(nil), // 4: DBDailytaskGroupProgress
}
var file_dailytask_dailytask_msg_proto_depIdxs = []int32{
4, // 0: DailytaskInfoResp.task:type_name -> DBDailytaskGroupProgress
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_dailytask_dailytask_msg_proto_init() }
func file_dailytask_dailytask_msg_proto_init() {
if File_dailytask_dailytask_msg_proto != nil {
return
}
file_dailytask_dailytask_db_proto_init()
if !protoimpl.UnsafeEnabled {
file_dailytask_dailytask_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DailytaskInfoReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dailytask_dailytask_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DailytaskInfoResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dailytask_dailytask_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DailytaskReceiveReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_dailytask_dailytask_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DailytaskReceiveResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_dailytask_dailytask_msg_proto_rawDesc,
NumEnums: 0,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_dailytask_dailytask_msg_proto_goTypes,
DependencyIndexes: file_dailytask_dailytask_msg_proto_depIdxs,
MessageInfos: file_dailytask_dailytask_msg_proto_msgTypes,
}.Build()
File_dailytask_dailytask_msg_proto = out.File
file_dailytask_dailytask_msg_proto_rawDesc = nil
file_dailytask_dailytask_msg_proto_goTypes = nil
file_dailytask_dailytask_msg_proto_depIdxs = nil
}

View File

@ -188,23 +188,16 @@ func (this *SCompGateRoute) NoticeUserLogin(ctx context.Context, args *pb.Notice
return err return err
} }
model := db.NewDBModel(comm.TableSession, 0, conn) model := db.NewDBModel(comm.TableSession, 0, conn)
// model.AddList(comm.RDS_EMPTY, args.UserId, map[string]interface{}{ user := &pb.CacheUser{
// "uid": args.UserId,
// "sessionId": args.UserSessionId,
// "serviceTag": args.ServiceTag,
// "gatewayServiceId": args.GatewayServiceId,
// "ip": args.Ip,
// }, db.SetDBMgoLog(false))
model.AddList(comm.RDS_EMPTY, args.UserId, &pb.CacheUser{
Uid: args.UserId, Uid: args.UserId,
SessionId: args.UserSessionId, SessionId: args.UserSessionId,
ServiceTag: args.ServiceTag, ServiceTag: args.ServiceTag,
GatewayServiceId: args.GatewayServiceId, GatewayServiceId: args.GatewayServiceId,
Ip: args.Ip, Ip: args.Ip,
}, db.SetDBMgoLog(false)) }
// session := this.pools.Get().(comm.IUserSession) model.AddList(comm.RDS_EMPTY, args.UserId, user, db.SetDBMgoLog(false))
// session.SetSession(args.Ip, args.UserSessionId, args.ServiceTag, args.GatewayServiceId, args.UserId) session := this.GetUserSession(user)
event.TriggerEvent(comm.EventUserLogin, args.UserId) event.TriggerEvent(comm.EventUserLogin, session)
return nil return nil
} }

View File

@ -12,6 +12,7 @@ import (
"go_dreamfactory/modules/caravan" "go_dreamfactory/modules/caravan"
"go_dreamfactory/modules/chat" "go_dreamfactory/modules/chat"
"go_dreamfactory/modules/combat" "go_dreamfactory/modules/combat"
"go_dreamfactory/modules/dailytask"
"go_dreamfactory/modules/dispatch" "go_dreamfactory/modules/dispatch"
"go_dreamfactory/modules/enchant" "go_dreamfactory/modules/enchant"
"go_dreamfactory/modules/equipment" "go_dreamfactory/modules/equipment"
@ -134,6 +135,7 @@ func main() {
passon.NewModule(), passon.NewModule(),
warorder.NewModule(), warorder.NewModule(),
uniongve.NewModule(), uniongve.NewModule(),
dailytask.NewModule(),
) )
} }

View File

@ -21,7 +21,7 @@ func NewGameAskAll(_buf []map[string]interface{}) (*GameAskAll, error) {
return nil, err2 return nil, err2
} else { } else {
_dataList = append(_dataList, _v) _dataList = append(_dataList, _v)
dataMap[_v.ExaminationGroup] = _v dataMap[_v.Key] = _v
} }
} }
return &GameAskAll{_dataList:_dataList, _dataMap:dataMap}, nil return &GameAskAll{_dataList:_dataList, _dataMap:dataMap}, nil

View File

@ -11,12 +11,14 @@ package cfg
import "errors" import "errors"
type GameAskAllData struct { type GameAskAllData struct {
Key int32
ExaminationGroup int32 ExaminationGroup int32
Examinationnum int32 Examinationnum int32
Start int32 Start int32
Continue int32 Continue int32
Time int32 Time int32
Reward []*Gameatn Reward []*Gameatn
Restime int32
} }
const TypeId_GameAskAllData = 305140654 const TypeId_GameAskAllData = 305140654
@ -26,6 +28,7 @@ func (*GameAskAllData) GetTypeId() int32 {
} }
func (_v *GameAskAllData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameAskAllData)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["ExaminationGroup"].(float64); !_ok_ { err = errors.New("ExaminationGroup error"); return }; _v.ExaminationGroup = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ExaminationGroup"].(float64); !_ok_ { err = errors.New("ExaminationGroup error"); return }; _v.ExaminationGroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["examinationnum"].(float64); !_ok_ { err = errors.New("examinationnum error"); return }; _v.Examinationnum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["examinationnum"].(float64); !_ok_ { err = errors.New("examinationnum error"); return }; _v.Examinationnum = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["start"].(float64); !_ok_ { err = errors.New("start error"); return }; _v.Start = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["start"].(float64); !_ok_ { err = errors.New("start error"); return }; _v.Start = int32(_tempNum_) }
@ -45,6 +48,7 @@ func (_v *GameAskAllData)Deserialize(_buf map[string]interface{}) (err error) {
} }
} }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["restime"].(float64); !_ok_ { err = errors.New("restime error"); return }; _v.Restime = int32(_tempNum_) }
return return
} }

View File

@ -23,7 +23,7 @@ type GameAskLibraryData struct {
True string True string
Flase string Flase string
Fraction int32 Fraction int32
Plantrue []string Plantrue []int32
} }
const TypeId_GameAskLibraryData = -162756536 const TypeId_GameAskLibraryData = -162756536
@ -50,11 +50,11 @@ func (_v *GameAskLibraryData)Deserialize(_buf map[string]interface{}) (err error
var _ok_ bool var _ok_ bool
if _arr_, _ok_ = _buf["plantrue"].([]interface{}); !_ok_ { err = errors.New("plantrue error"); return } if _arr_, _ok_ = _buf["plantrue"].([]interface{}); !_ok_ { err = errors.New("plantrue error"); return }
_v.Plantrue = make([]string, 0, len(_arr_)) _v.Plantrue = make([]int32, 0, len(_arr_))
for _, _e_ := range _arr_ { for _, _e_ := range _arr_ {
var _list_v_ string var _list_v_ int32
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) }
_v.Plantrue = append(_v.Plantrue, _list_v_) _v.Plantrue = append(_v.Plantrue, _list_v_)
} }
} }

View File

@ -14,11 +14,23 @@ import "bright/serialization"
type GameMainStageData struct { type GameMainStageData struct {
Id int32 Id int32
Chapterid int32 Chapterid int32
Taskid int32
Unlockid int32
Previoustage int32 Previoustage int32
Episodetype int32 Episodetype int32
Openlevel int32 Openlevel int32
Episodelocation serialization.Vector3 Episodelocation serialization.Vector3
EditorStage int32 EditorStage int32
Venturepos serialization.Vector3
Venturemodel string
Ventureavatar []string
Heroimg string
Bubbletext string
Animation string
Challenge int32
Hide int32
Destroy int32
Progress int32
Detailwindow string Detailwindow string
Frontstoryid int32 Frontstoryid int32
Afterstoryid int32 Afterstoryid int32
@ -49,6 +61,8 @@ func (*GameMainStageData) GetTypeId() int32 {
func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error) { func (_v *GameMainStageData)Deserialize(_buf map[string]interface{}) (err error) {
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chapterid"].(float64); !_ok_ { err = errors.New("chapterid error"); return }; _v.Chapterid = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["chapterid"].(float64); !_ok_ { err = errors.New("chapterid error"); return }; _v.Chapterid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["taskid"].(float64); !_ok_ { err = errors.New("taskid error"); return }; _v.Taskid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["unlockid"].(float64); !_ok_ { err = errors.New("unlockid error"); return }; _v.Unlockid = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["previoustage"].(float64); !_ok_ { err = errors.New("previoustage error"); return }; _v.Previoustage = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["previoustage"].(float64); !_ok_ { err = errors.New("previoustage error"); return }; _v.Previoustage = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Episodetype"].(float64); !_ok_ { err = errors.New("Episodetype error"); return }; _v.Episodetype = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Episodetype"].(float64); !_ok_ { err = errors.New("Episodetype error"); return }; _v.Episodetype = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["openlevel"].(float64); !_ok_ { err = errors.New("openlevel error"); return }; _v.Openlevel = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["openlevel"].(float64); !_ok_ { err = errors.New("openlevel error"); return }; _v.Openlevel = int32(_tempNum_) }
@ -61,6 +75,36 @@ 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; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EditorStage"].(float64); !_ok_ { err = errors.New("EditorStage error"); return }; _v.EditorStage = int32(_tempNum_) }
{ var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["venturepos"].(map[string]interface{}); !_ok_ { err = errors.New("venturepos error"); return }
var _x_, _y_, _z_ float32;
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) }
_v.Venturepos = serialization.NewVector3(_x_, _y_, _z_)
}
{ var _ok_ bool; if _v.Venturemodel, _ok_ = _buf["venturemodel"].(string); !_ok_ { err = errors.New("venturemodel error"); return } }
{
var _arr_ []interface{}
var _ok_ bool
if _arr_, _ok_ = _buf["ventureavatar"].([]interface{}); !_ok_ { err = errors.New("ventureavatar error"); return }
_v.Ventureavatar = make([]string, 0, len(_arr_))
for _, _e_ := range _arr_ {
var _list_v_ string
{ if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } }
_v.Ventureavatar = append(_v.Ventureavatar, _list_v_)
}
}
{ var _ok_ bool; if _v.Heroimg, _ok_ = _buf["heroimg"].(string); !_ok_ { err = errors.New("heroimg error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["bubbletext"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.Bubbletext error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.Bubbletext, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }
{ var _ok_ bool; if _v.Animation, _ok_ = _buf["animation"].(string); !_ok_ { err = errors.New("animation error"); return } }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["challenge"].(float64); !_ok_ { err = errors.New("challenge error"); return }; _v.Challenge = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hide"].(float64); !_ok_ { err = errors.New("hide error"); return }; _v.Hide = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["destroy"].(float64); !_ok_ { err = errors.New("destroy error"); return }; _v.Destroy = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["progress"].(float64); !_ok_ { err = errors.New("progress error"); return }; _v.Progress = int32(_tempNum_) }
{ var _ok_ bool; if _v.Detailwindow, _ok_ = _buf["detailwindow"].(string); !_ok_ { err = errors.New("detailwindow error"); return } } { 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["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 _tempNum_ float64; if _tempNum_, _ok_ = _buf["afterstoryid"].(float64); !_ok_ { err = errors.New("afterstoryid error"); return }; _v.Afterstoryid = int32(_tempNum_) }

View File

@ -18,6 +18,7 @@ type GameWorldTaskData struct {
Ontxe int32 Ontxe int32
IdAfter int32 IdAfter int32
Group int32 Group int32
Exgroup int32
Des int32 Des int32
Icon string Icon string
TaskName string TaskName string
@ -47,6 +48,7 @@ func (_v *GameWorldTaskData)Deserialize(_buf map[string]interface{}) (err error)
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ontxe"].(float64); !_ok_ { err = errors.New("ontxe error"); return }; _v.Ontxe = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["ontxe"].(float64); !_ok_ { err = errors.New("ontxe error"); return }; _v.Ontxe = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_after"].(float64); !_ok_ { err = errors.New("id_after error"); return }; _v.IdAfter = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id_after"].(float64); !_ok_ { err = errors.New("id_after error"); return }; _v.IdAfter = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["group"].(float64); !_ok_ { err = errors.New("group error"); return }; _v.Group = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["exgroup"].(float64); !_ok_ { err = errors.New("exgroup error"); return }; _v.Exgroup = int32(_tempNum_) }
{ var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["des"].(float64); !_ok_ { err = errors.New("des error"); return }; _v.Des = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["des"].(float64); !_ok_ { err = errors.New("des error"); return }; _v.Des = int32(_tempNum_) }
{ var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } } { var _ok_ bool; if _v.Icon, _ok_ = _buf["icon"].(string); !_ok_ { err = errors.New("icon error"); return } }
{var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } } {var _ok_ bool; var __json_text__ map[string]interface{}; if __json_text__, _ok_ = _buf["task_name"].(map[string]interface{}) ; !_ok_ { err = errors.New("_v.TaskName error"); return }; { var _ok_ bool; if _, _ok_ = __json_text__["key"].(string); !_ok_ { err = errors.New("key error"); return } }; { var _ok_ bool; if _v.TaskName, _ok_ = __json_text__["text"].(string); !_ok_ { err = errors.New("text error"); return } } }