diff --git a/bin/json/game_rdtaskcondi.json b/bin/json/game_rdtaskcondi.json index c9a32b082..110cb3ef0 100644 --- a/bin/json/game_rdtaskcondi.json +++ b/bin/json/game_rdtaskcondi.json @@ -5,6 +5,7 @@ "tasktxt": "", "type": 1, "valid": 0, + "NPC": 0, "data1": 1, "data2": 25001, "data3": 0, @@ -17,6 +18,7 @@ "tasktxt": "", "type": 2, "valid": 0, + "NPC": 0, "data1": 1, "data2": 3, "data3": 0, @@ -29,6 +31,7 @@ "tasktxt": "", "type": 3, "valid": 0, + "NPC": 0, "data1": 1, "data2": 2, "data3": 0, @@ -41,6 +44,7 @@ "tasktxt": "", "type": 4, "valid": 0, + "NPC": 0, "data1": 10, "data2": 14007, "data3": 0, @@ -53,6 +57,7 @@ "tasktxt": "", "type": 5, "valid": 0, + "NPC": 0, "data1": 2, "data2": 25001, "data3": 0, @@ -65,6 +70,7 @@ "tasktxt": "", "type": 6, "valid": 0, + "NPC": 0, "data1": 5, "data2": 25004, "data3": 0, @@ -77,6 +83,7 @@ "tasktxt": "", "type": 7, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -89,6 +96,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -101,6 +109,7 @@ "tasktxt": "", "type": 9, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -113,6 +122,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -125,6 +135,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -137,6 +148,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -149,6 +161,7 @@ "tasktxt": "", "type": 13, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -161,11 +174,12 @@ "tasktxt": "招募一次守护者", "type": 14, "valid": 0, + "NPC": 101, "data1": 1, "data2": 0, "data3": 0, "data4": 0, - "data5": 101 + "data5": 0 }, { "id": 115, @@ -173,6 +187,7 @@ "tasktxt": "", "type": 15, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -185,6 +200,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 5, "data2": 3, "data3": 0, @@ -197,6 +213,7 @@ "tasktxt": "", "type": 17, "valid": 0, + "NPC": 0, "data1": 1, "data2": 3, "data3": 0, @@ -209,6 +226,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -221,6 +239,7 @@ "tasktxt": "", "type": 19, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -233,6 +252,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -245,6 +265,7 @@ "tasktxt": "", "type": 21, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -257,6 +278,7 @@ "tasktxt": "", "type": 22, "valid": 0, + "NPC": 0, "data1": 25001, "data2": 0, "data3": 0, @@ -269,6 +291,7 @@ "tasktxt": "", "type": 23, "valid": 0, + "NPC": 0, "data1": 3, "data2": 5, "data3": 20, @@ -281,6 +304,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 4, "data2": 0, "data3": 0, @@ -293,6 +317,7 @@ "tasktxt": "", "type": 25, "valid": 0, + "NPC": 0, "data1": 3, "data2": 25001, "data3": 6, @@ -305,6 +330,7 @@ "tasktxt": "", "type": 26, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -317,6 +343,7 @@ "tasktxt": "", "type": 27, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -329,6 +356,7 @@ "tasktxt": "", "type": 28, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -341,6 +369,7 @@ "tasktxt": "", "type": 29, "valid": 0, + "NPC": 0, "data1": 2, "data2": 22, "data3": 25004, @@ -353,6 +382,7 @@ "tasktxt": "", "type": 30, "valid": 0, + "NPC": 0, "data1": 5, "data2": 3, "data3": 0, @@ -365,6 +395,7 @@ "tasktxt": "", "type": 31, "valid": 0, + "NPC": 0, "data1": 4, "data2": 3, "data3": 0, @@ -377,6 +408,7 @@ "tasktxt": "", "type": 32, "valid": 0, + "NPC": 0, "data1": 3, "data2": 3, "data3": 20, @@ -389,6 +421,7 @@ "tasktxt": "", "type": 33, "valid": 0, + "NPC": 0, "data1": 3, "data2": 3, "data3": 23, @@ -401,6 +434,7 @@ "tasktxt": "", "type": 34, "valid": 0, + "NPC": 0, "data1": 5, "data2": 2, "data3": 0, @@ -413,6 +447,7 @@ "tasktxt": "", "type": 35, "valid": 0, + "NPC": 0, "data1": 2, "data2": 25001, "data3": 0, @@ -425,11 +460,12 @@ "tasktxt": "", "type": 36, "valid": 0, + "NPC": 2, "data1": 1, "data2": 3, "data3": 3, "data4": 1, - "data5": 2 + "data5": 0 }, { "id": 137, @@ -437,6 +473,7 @@ "tasktxt": "", "type": 37, "valid": 0, + "NPC": 0, "data1": 1, "data2": 3, "data3": 0, @@ -449,6 +486,7 @@ "tasktxt": "", "type": 38, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -461,6 +499,7 @@ "tasktxt": "", "type": 39, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -473,6 +512,7 @@ "tasktxt": "", "type": 40, "valid": 0, + "NPC": 0, "data1": 2, "data2": 2, "data3": 0, @@ -485,6 +525,7 @@ "tasktxt": "", "type": 41, "valid": 0, + "NPC": 0, "data1": 2, "data2": 2, "data3": 1, @@ -497,6 +538,7 @@ "tasktxt": "", "type": 42, "valid": 0, + "NPC": 0, "data1": 2, "data2": 2, "data3": 2, @@ -509,6 +551,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 2, "data2": 2, "data3": 0, @@ -521,6 +564,7 @@ "tasktxt": "", "type": 44, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -533,6 +577,7 @@ "tasktxt": "", "type": 45, "valid": 0, + "NPC": 0, "data1": 2, "data2": 1, "data3": 1, @@ -545,6 +590,7 @@ "tasktxt": "", "type": 46, "valid": 0, + "NPC": 0, "data1": 1, "data2": 4, "data3": 1, @@ -557,6 +603,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -569,6 +616,7 @@ "tasktxt": "", "type": 48, "valid": 0, + "NPC": 0, "data1": 1, "data2": 1, "data3": 2, @@ -581,6 +629,7 @@ "tasktxt": "", "type": 49, "valid": 0, + "NPC": 0, "data1": 1, "data2": 1, "data3": 2, @@ -593,6 +642,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 1, "data2": 1, "data3": 0, @@ -605,6 +655,7 @@ "tasktxt": "", "type": 51, "valid": 0, + "NPC": 0, "data1": 1, "data2": 1, "data3": 0, @@ -617,6 +668,7 @@ "tasktxt": "", "type": 52, "valid": 0, + "NPC": 0, "data1": 1, "data2": 14007, "data3": 0, @@ -629,6 +681,7 @@ "tasktxt": "", "type": 53, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -641,6 +694,7 @@ "tasktxt": "", "type": 54, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -653,6 +707,7 @@ "tasktxt": "", "type": 55, "valid": 0, + "NPC": 0, "data1": 2, "data2": 3, "data3": 0, @@ -665,6 +720,7 @@ "tasktxt": "", "type": 56, "valid": 0, + "NPC": 0, "data1": 1, "data2": 1, "data3": 2, @@ -677,6 +733,7 @@ "tasktxt": "", "type": 57, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -689,6 +746,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -701,6 +759,7 @@ "tasktxt": "", "type": 59, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -713,6 +772,7 @@ "tasktxt": "", "type": 60, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -725,11 +785,12 @@ "tasktxt": "通关主线章节1-5", "type": 61, "valid": 0, + "NPC": 102, "data1": 1100105, "data2": 0, "data3": 0, "data4": 0, - "data5": 102 + "data5": 0 }, { "id": 162, @@ -737,6 +798,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -749,6 +811,7 @@ "tasktxt": "", "type": 63, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -761,6 +824,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 2, "data2": 0, "data3": 0, @@ -773,6 +837,7 @@ "tasktxt": "", "type": 65, "valid": 0, + "NPC": 0, "data1": 2, "data2": 10001, "data3": 0, @@ -785,6 +850,7 @@ "tasktxt": "", "type": 66, "valid": 0, + "NPC": 0, "data1": 2, "data2": 1, "data3": 0, @@ -797,6 +863,7 @@ "tasktxt": "", "type": 67, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 1, "data3": 0, @@ -809,6 +876,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 1, "data3": 0, @@ -821,6 +889,7 @@ "tasktxt": "", "type": 69, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -833,6 +902,7 @@ "tasktxt": "", "type": 1, "valid": 0, + "NPC": 0, "data1": 1, "data2": 44006, "data3": 0, @@ -845,6 +915,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 101, "data3": 0, @@ -857,6 +928,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -869,6 +941,7 @@ "tasktxt": "", "type": 72, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -881,11 +954,12 @@ "tasktxt": "尝试挑战邦尼兔", "type": 70, "valid": 0, + "NPC": 10031, "data1": 1, "data2": 101, "data3": 0, "data4": 0, - "data5": 10031 + "data5": 0 }, { "id": 175, @@ -893,6 +967,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 102, "data3": 0, @@ -905,6 +980,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 103, "data3": 0, @@ -917,6 +993,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 104, "data3": 0, @@ -929,6 +1006,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 105, "data3": 0, @@ -941,6 +1019,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 106, "data3": 0, @@ -953,6 +1032,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 107, "data3": 0, @@ -965,6 +1045,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 108, "data3": 0, @@ -977,6 +1058,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 109, "data3": 0, @@ -989,6 +1071,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10001, "data3": 0, @@ -1001,6 +1084,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10002, "data3": 0, @@ -1013,6 +1097,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10003, "data3": 0, @@ -1025,6 +1110,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10004, "data3": 0, @@ -1037,6 +1123,7 @@ "tasktxt": "", "type": 109, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1049,6 +1136,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -1061,6 +1149,7 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 0, "data1": 1, "data2": 110, "data3": 0, @@ -1073,11 +1162,12 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 1, "data1": 1, "data2": 111, "data3": 1, "data4": 1, - "data5": 1 + "data5": 0 }, { "id": 191, @@ -1085,11 +1175,12 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 2, "data1": 1, "data2": 112, "data3": 2, "data4": 2, - "data5": 2 + "data5": 0 }, { "id": 192, @@ -1097,11 +1188,12 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 3, "data1": 1, "data2": 113, "data3": 3, "data4": 3, - "data5": 3 + "data5": 0 }, { "id": 193, @@ -1109,11 +1201,12 @@ "tasktxt": "", "type": 70, "valid": 0, + "NPC": 4, "data1": 1, "data2": 114, "data3": 4, "data4": 4, - "data5": 4 + "data5": 0 }, { "id": 195, @@ -1121,6 +1214,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10005, "data3": 0, @@ -1133,6 +1227,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10006, "data3": 0, @@ -1145,6 +1240,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10007, "data3": 0, @@ -1157,6 +1253,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10008, "data3": 0, @@ -1169,6 +1266,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10009, "data3": 0, @@ -1181,6 +1279,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10010, "data3": 0, @@ -1193,6 +1292,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10007, "data3": 0, @@ -1205,6 +1305,7 @@ "tasktxt": "", "type": 140, "valid": 0, + "NPC": 0, "data1": 1, "data2": 10007, "data3": 0, @@ -1217,11 +1318,12 @@ "tasktxt": "调查这些木桩", "type": 149, "valid": 1, + "NPC": 104, "data1": 1, "data2": 0, "data3": 0, "data4": 0, - "data5": 104 + "data5": 0 }, { "id": 301, @@ -1229,11 +1331,12 @@ "tasktxt": "通关主线章节1-1", "type": 61, "valid": 0, + "NPC": 29, "data1": 1100101, "data2": 0, "data3": 0, "data4": 0, - "data5": 29 + "data5": 0 }, { "id": 302, @@ -1241,6 +1344,7 @@ "tasktxt": "", "type": 61, "valid": 0, + "NPC": 0, "data1": 104, "data2": 0, "data3": 0, @@ -1253,6 +1357,7 @@ "tasktxt": "", "type": 61, "valid": 0, + "NPC": 0, "data1": 108, "data2": 0, "data3": 0, @@ -1265,11 +1370,12 @@ "tasktxt": "通关维京远征难度1", "type": 73, "valid": 0, + "NPC": 10071, "data1": 1, "data2": 1001, "data3": 1, "data4": 0, - "data5": 10071 + "data5": 0 }, { "id": 305, @@ -1277,11 +1383,12 @@ "tasktxt": "通关主线1-6", "type": 61, "valid": 0, + "NPC": 102, "data1": 1100106, "data2": 0, "data3": 0, "data4": 0, - "data5": 102 + "data5": 0 }, { "id": 306, @@ -1289,11 +1396,12 @@ "tasktxt": "进行一次10连", "type": 14, "valid": 0, + "NPC": 101, "data1": 10, "data2": 0, "data3": 0, "data4": 0, - "data5": 101 + "data5": 0 }, { "id": 307, @@ -1301,11 +1409,38 @@ "tasktxt": "打败梦魇!", "type": 70, "valid": 0, + "NPC": 10101, "data1": 1, "data2": 102, "data3": 0, "data4": 0, - "data5": 10101 + "data5": 0 + }, + { + "id": 308, + "type_sp": 1, + "tasktxt": "通关维京远征难度1", + "type": 73, + "valid": 0, + "NPC": 70022, + "data1": 1, + "data2": 1001, + "data3": 1, + "data4": 0, + "data5": 0 + }, + { + "id": 309, + "type_sp": 1, + "tasktxt": "通关维京远征难度1", + "type": 73, + "valid": 0, + "NPC": 70032, + "data1": 1, + "data2": 1001, + "data3": 1, + "data4": 0, + "data5": 0 }, { "id": 10001, @@ -1313,6 +1448,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1325,6 +1461,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -1337,6 +1474,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -1349,6 +1487,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -1361,6 +1500,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -1373,6 +1513,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -1385,6 +1526,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -1397,6 +1539,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -1409,6 +1552,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -1421,6 +1565,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -1433,6 +1578,7 @@ "tasktxt": "", "type": 7, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1445,6 +1591,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1457,6 +1604,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -1469,6 +1617,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -1481,6 +1630,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -1493,6 +1643,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -1505,6 +1656,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -1517,6 +1669,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -1529,6 +1682,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -1541,6 +1695,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -1553,6 +1708,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -1565,6 +1721,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1, "data2": 5, "data3": 0, @@ -1577,6 +1734,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 5, "data2": 5, "data3": 0, @@ -1589,6 +1747,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 10, "data2": 5, "data3": 0, @@ -1601,6 +1760,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 20, "data2": 5, "data3": 0, @@ -1613,6 +1773,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 50, "data2": 5, "data3": 0, @@ -1625,6 +1786,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 100, "data2": 5, "data3": 0, @@ -1637,6 +1799,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 200, "data2": 5, "data3": 0, @@ -1649,6 +1812,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 300, "data2": 5, "data3": 0, @@ -1661,6 +1825,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 500, "data2": 5, "data3": 0, @@ -1673,6 +1838,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 5, "data3": 0, @@ -1685,6 +1851,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 1, "data2": 6, "data3": 0, @@ -1697,6 +1864,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 5, "data2": 6, "data3": 0, @@ -1709,6 +1877,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 10, "data2": 6, "data3": 0, @@ -1721,6 +1890,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 20, "data2": 6, "data3": 0, @@ -1733,6 +1903,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 50, "data2": 6, "data3": 0, @@ -1745,6 +1916,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 100, "data2": 6, "data3": 0, @@ -1757,6 +1929,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 200, "data2": 6, "data3": 0, @@ -1769,6 +1942,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 300, "data2": 6, "data3": 0, @@ -1781,6 +1955,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 500, "data2": 6, "data3": 0, @@ -1793,6 +1968,7 @@ "tasktxt": "", "type": 50, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 6, "data3": 0, @@ -1805,6 +1981,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1817,6 +1994,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -1829,6 +2007,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -1841,6 +2020,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -1853,6 +2033,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -1865,6 +2046,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -1877,6 +2059,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 70, "data2": 0, "data3": 0, @@ -1889,6 +2072,7 @@ "tasktxt": "", "type": 58, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -1901,6 +2085,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1913,6 +2098,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -1925,6 +2111,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 99, "data2": 0, "data3": 0, @@ -1937,6 +2124,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -1949,6 +2137,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -1961,6 +2150,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -1973,6 +2163,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -1985,6 +2176,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -1997,6 +2189,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -2009,6 +2202,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -2021,6 +2215,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -2033,6 +2228,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -2045,6 +2241,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -2057,6 +2254,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2069,6 +2267,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2081,6 +2280,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2093,6 +2293,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -2105,6 +2306,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -2117,6 +2319,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -2129,6 +2332,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -2141,6 +2345,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -2153,6 +2358,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -2165,6 +2371,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -2177,6 +2384,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2189,6 +2397,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2201,6 +2410,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2213,6 +2423,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2225,6 +2436,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2237,6 +2449,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2249,6 +2462,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2261,6 +2475,7 @@ "tasktxt": "", "type": 130, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -2273,6 +2488,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2285,6 +2501,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2297,6 +2514,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2309,6 +2527,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2321,6 +2540,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 7, "data2": 0, "data3": 0, @@ -2333,6 +2553,7 @@ "tasktxt": "", "type": 62, "valid": 0, + "NPC": 0, "data1": 7, "data2": 0, "data3": 0, @@ -2345,6 +2566,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 7, "data2": 0, "data3": 0, @@ -2357,6 +2579,7 @@ "tasktxt": "", "type": 88, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -2369,6 +2592,7 @@ "tasktxt": "", "type": 105, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2381,6 +2605,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -2393,6 +2618,7 @@ "tasktxt": "", "type": 130, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2405,6 +2631,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -2417,6 +2644,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 7, "data2": 0, "data3": 0, @@ -2429,6 +2657,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2441,6 +2670,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 90, "data2": 0, "data3": 0, @@ -2453,6 +2683,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 180, "data2": 0, "data3": 0, @@ -2465,6 +2696,7 @@ "tasktxt": "", "type": 8, "valid": 0, + "NPC": 0, "data1": 365, "data2": 0, "data3": 0, @@ -2477,6 +2709,7 @@ "tasktxt": "", "type": 9, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -2489,6 +2722,7 @@ "tasktxt": "", "type": 9, "valid": 0, + "NPC": 0, "data1": 7, "data2": 0, "data3": 0, @@ -2501,6 +2735,7 @@ "tasktxt": "", "type": 9, "valid": 0, + "NPC": 0, "data1": 14, "data2": 0, "data3": 0, @@ -2513,6 +2748,7 @@ "tasktxt": "", "type": 9, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2525,6 +2761,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2537,6 +2774,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2549,6 +2787,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2561,6 +2800,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -2573,6 +2813,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2585,6 +2826,7 @@ "tasktxt": "", "type": 10, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -2597,6 +2839,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2609,6 +2852,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2621,6 +2865,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2633,6 +2878,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -2645,6 +2891,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -2657,6 +2904,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -2669,6 +2917,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -2681,6 +2930,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -2693,6 +2943,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 3000, "data2": 0, "data3": 0, @@ -2705,6 +2956,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 5000, "data2": 0, "data3": 0, @@ -2717,6 +2969,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 10000, "data2": 0, "data3": 0, @@ -2729,6 +2982,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -2741,6 +2995,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -2753,6 +3008,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2765,6 +3021,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2777,6 +3034,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -2789,6 +3047,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -2801,6 +3060,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -2813,6 +3073,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -2825,6 +3086,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -2837,6 +3099,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 1, "data2": 5, "data3": 0, @@ -2849,6 +3112,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 2, "data2": 5, "data3": 0, @@ -2861,6 +3125,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 3, "data2": 5, "data3": 0, @@ -2873,6 +3138,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 5, "data2": 5, "data3": 0, @@ -2885,6 +3151,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 10, "data2": 5, "data3": 0, @@ -2897,6 +3164,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 15, "data2": 5, "data3": 0, @@ -2909,6 +3177,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 20, "data2": 5, "data3": 0, @@ -2921,6 +3190,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 30, "data2": 5, "data3": 0, @@ -2933,6 +3203,7 @@ "tasktxt": "", "type": 16, "valid": 0, + "NPC": 0, "data1": 50, "data2": 5, "data3": 0, @@ -2945,6 +3216,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -2957,6 +3229,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -2969,6 +3242,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -2981,6 +3255,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -2993,6 +3268,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -3005,6 +3281,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -3017,6 +3294,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -3029,6 +3307,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -3041,6 +3320,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -3053,6 +3333,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 2000, "data2": 0, "data3": 0, @@ -3065,6 +3346,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 5000, "data2": 0, "data3": 0, @@ -3077,6 +3359,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 10000, "data2": 0, "data3": 0, @@ -3089,6 +3372,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3101,6 +3385,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3113,6 +3398,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -3125,6 +3411,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 40, "data2": 0, "data3": 0, @@ -3137,6 +3424,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3149,6 +3437,7 @@ "tasktxt": "", "type": 20, "valid": 0, + "NPC": 0, "data1": 60, "data2": 0, "data3": 0, @@ -3161,6 +3450,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 1, "data2": 15, "data3": 0, @@ -3173,6 +3463,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 2, "data2": 15, "data3": 0, @@ -3185,6 +3476,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 4, "data2": 15, "data3": 0, @@ -3197,6 +3489,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 6, "data2": 15, "data3": 0, @@ -3209,6 +3502,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 12, "data2": 15, "data3": 0, @@ -3221,6 +3515,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 18, "data2": 15, "data3": 0, @@ -3233,6 +3528,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 24, "data2": 15, "data3": 0, @@ -3245,6 +3541,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 30, "data2": 15, "data3": 0, @@ -3257,6 +3554,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 60, "data2": 15, "data3": 0, @@ -3269,6 +3567,7 @@ "tasktxt": "", "type": 43, "valid": 0, + "NPC": 0, "data1": 120, "data2": 15, "data3": 0, @@ -3281,6 +3580,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3293,6 +3593,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3305,6 +3606,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -3317,6 +3619,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3329,6 +3632,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -3341,6 +3645,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -3353,6 +3658,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -3365,6 +3671,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -3377,6 +3684,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -3389,6 +3697,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 2000, "data2": 0, "data3": 0, @@ -3401,6 +3710,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 3000, "data2": 0, "data3": 0, @@ -3413,6 +3723,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 5000, "data2": 0, "data3": 0, @@ -3425,6 +3736,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 10000, "data2": 0, "data3": 0, @@ -3437,6 +3749,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -3449,6 +3762,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3461,6 +3775,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3473,6 +3788,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3485,6 +3801,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -3497,6 +3814,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -3509,6 +3827,7 @@ "tasktxt": "", "type": 64, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -3521,6 +3840,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 50000, "data2": 0, "data3": 0, @@ -3533,6 +3853,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 500000, "data2": 0, "data3": 0, @@ -3545,6 +3866,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 5000000, "data2": 0, "data3": 0, @@ -3557,6 +3879,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 50000000, "data2": 0, "data3": 0, @@ -3569,6 +3892,7 @@ "tasktxt": "", "type": 84, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3581,6 +3905,7 @@ "tasktxt": "", "type": 84, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3593,6 +3918,7 @@ "tasktxt": "", "type": 84, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3605,6 +3931,7 @@ "tasktxt": "", "type": 84, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -3617,6 +3944,7 @@ "tasktxt": "", "type": 85, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -3629,6 +3957,7 @@ "tasktxt": "", "type": 85, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3641,6 +3970,7 @@ "tasktxt": "", "type": 85, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3653,6 +3983,7 @@ "tasktxt": "", "type": 85, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -3665,6 +3996,7 @@ "tasktxt": "", "type": 85, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3677,6 +4009,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -3689,6 +4022,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -3701,6 +4035,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -3713,6 +4048,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -3725,6 +4061,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -3737,6 +4074,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -3749,6 +4087,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -3761,6 +4100,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -3773,6 +4113,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 2000, "data2": 0, "data3": 0, @@ -3785,6 +4126,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 3000, "data2": 0, "data3": 0, @@ -3797,6 +4139,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 5000, "data2": 0, "data3": 0, @@ -3809,6 +4152,7 @@ "tasktxt": "", "type": 96, "valid": 0, + "NPC": 0, "data1": 10000, "data2": 0, "data3": 0, @@ -3821,6 +4165,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -3833,6 +4178,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -3845,6 +4191,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 3000, "data2": 0, "data3": 0, @@ -3857,6 +4204,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 5000, "data2": 0, "data3": 0, @@ -3869,6 +4217,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 10000, "data2": 0, "data3": 0, @@ -3881,6 +4230,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 20000, "data2": 0, "data3": 0, @@ -3893,6 +4243,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 30000, "data2": 0, "data3": 0, @@ -3905,6 +4256,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 50000, "data2": 0, "data3": 0, @@ -3917,6 +4269,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 100000, "data2": 0, "data3": 0, @@ -3929,6 +4282,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 200000, "data2": 0, "data3": 0, @@ -3941,6 +4295,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 500000, "data2": 0, "data3": 0, @@ -3953,6 +4308,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1100, "data2": 0, "data3": 0, @@ -3965,6 +4321,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1200, "data2": 0, "data3": 0, @@ -3977,6 +4334,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1300, "data2": 0, "data3": 0, @@ -3989,6 +4347,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1400, "data2": 0, "data3": 0, @@ -4001,6 +4360,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1500, "data2": 0, "data3": 0, @@ -4013,6 +4373,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1600, "data2": 0, "data3": 0, @@ -4025,6 +4386,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1700, "data2": 0, "data3": 0, @@ -4037,6 +4399,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1800, "data2": 0, "data3": 0, @@ -4049,6 +4412,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 1900, "data2": 0, "data3": 0, @@ -4061,6 +4425,7 @@ "tasktxt": "", "type": 128, "valid": 0, + "NPC": 0, "data1": 2000, "data2": 0, "data3": 0, @@ -4073,6 +4438,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 5, "data2": 0, "data3": 0, @@ -4085,6 +4451,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 10, "data2": 0, "data3": 0, @@ -4097,6 +4464,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 20, "data2": 0, "data3": 0, @@ -4109,6 +4477,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 30, "data2": 0, "data3": 0, @@ -4121,6 +4490,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 50, "data2": 0, "data3": 0, @@ -4133,6 +4503,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -4145,6 +4516,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 200, "data2": 0, "data3": 0, @@ -4157,6 +4529,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 300, "data2": 0, "data3": 0, @@ -4169,6 +4542,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 500, "data2": 0, "data3": 0, @@ -4181,6 +4555,7 @@ "tasktxt": "", "type": 131, "valid": 0, + "NPC": 0, "data1": 1000, "data2": 0, "data3": 0, @@ -4193,6 +4568,7 @@ "tasktxt": "", "type": 11, "valid": 0, + "NPC": 0, "data1": 3, "data2": 0, "data3": 0, @@ -4205,6 +4581,7 @@ "tasktxt": "", "type": 12, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -4217,6 +4594,7 @@ "tasktxt": "", "type": 18, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -4229,6 +4607,7 @@ "tasktxt": "", "type": 24, "valid": 0, + "NPC": 0, "data1": 1, "data2": 0, "data3": 0, @@ -4241,6 +4620,7 @@ "tasktxt": "", "type": 47, "valid": 0, + "NPC": 0, "data1": 6, "data2": 0, "data3": 0, @@ -4253,6 +4633,7 @@ "tasktxt": "", "type": 63, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -4265,6 +4646,7 @@ "tasktxt": "", "type": 68, "valid": 0, + "NPC": 0, "data1": 200000, "data2": 0, "data3": 0, @@ -4277,6 +4659,7 @@ "tasktxt": "", "type": 104, "valid": 0, + "NPC": 0, "data1": 100, "data2": 0, "data3": 0, @@ -4289,6 +4672,7 @@ "tasktxt": "和骇客蛛进行对话", "type": 20001, "valid": 1, + "NPC": 10011, "data1": 1, "data2": 602, "data3": 0, @@ -4301,6 +4685,7 @@ "tasktxt": "和邦尼兔进行对话", "type": 20001, "valid": 1, + "NPC": 10021, "data1": 1, "data2": 432, "data3": 0, diff --git a/bin/json/game_worldtask.json b/bin/json/game_worldtask.json index 4d976582e..b30e3e3d8 100644 --- a/bin/json/game_worldtask.json +++ b/bin/json/game_worldtask.json @@ -8,12 +8,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { "key": "Mainline_Tasks_1", - "text": "初来乍到" + "text": "主线任务1" }, "task_display": { "key": "story_80", @@ -45,12 +45,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { "key": "Mainline_Tasks_2", - "text": "不测风云" + "text": "主线任务2" }, "task_display": { "key": "story_80", @@ -82,12 +82,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { "key": "Mainline_Tasks_3", - "text": "雨过天晴" + "text": "主线任务3" }, "task_display": { "key": "story_80", @@ -117,12 +117,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_4", + "text": "主线任务4" }, "task_display": { "key": "story_80", @@ -152,12 +152,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_5", + "text": "主线任务5" }, "task_display": { "key": "story_80", @@ -187,12 +187,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_6", + "text": "主线任务6" }, "task_display": { "key": "story_80", @@ -222,12 +222,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_7", + "text": "主线任务7" }, "task_display": { "key": "story_80", @@ -257,12 +257,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_8", + "text": "主线任务8" }, "task_display": { "key": "story_80", @@ -292,12 +292,12 @@ "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_9", + "text": "主线任务9" }, "task_display": { "key": "story_80", @@ -322,17 +322,17 @@ "key": 20100, "lock": 1, "ontxe": 20090, - "id_after": 30010, + "id_after": 0, "group": 2, "des": 2, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Mainline_Tasks", "text": "1" }, "task_name": { - "key": "story_80", - "text": "1" + "key": "Mainline_Tasks_10", + "text": "主线任务10" }, "task_display": { "key": "story_80", @@ -362,11 +362,11 @@ "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "WuGuanSceneTask_1", "text": "1" }, "task_display": { @@ -392,24 +392,26 @@ "key": 40010, "lock": 1, "ontxe": 20020, - "id_after": 0, + "id_after": 40020, "group": 4, "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "SmithyScene_1", "text": "1" }, "task_display": { "key": "story_80", "text": "1" }, - "npc": 0, - "completetask": [], + "npc": 70020, + "completetask": [ + 0 + ], "deliver_npc": 0, "auto_accept": 0, "reword": [ @@ -422,28 +424,30 @@ "module": [] }, { - "key": 50010, + "key": 40020, "lock": 1, - "ontxe": 20030, + "ontxe": 40010, "id_after": 0, - "group": 5, + "group": 4, "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "SmithyScene_1_1", "text": "1" }, "task_display": { "key": "story_80", "text": "1" }, - "npc": 0, - "completetask": [], - "deliver_npc": 0, + "npc": 70021, + "completetask": [ + 308 + ], + "deliver_npc": 70023, "auto_accept": 0, "reword": [ { @@ -454,6 +458,76 @@ ], "module": [] }, + { + "key": 50010, + "lock": 1, + "ontxe": 20030, + "id_after": 50011, + "group": 5, + "des": 3, + "icon": "", + "task_Tname": { + "key": "Side_Quest", + "text": "1" + }, + "task_name": { + "key": "SmithyScene_2", + "text": "1" + }, + "task_display": { + "key": "story_80", + "text": "1" + }, + "npc": 70030, + "completetask": [ + 0 + ], + "deliver_npc": 0, + "auto_accept": 0, + "reword": [ + { + "a": "item", + "t": "110001", + "n": 113 + } + ], + "module": [] + }, + { + "key": 50011, + "lock": 1, + "ontxe": 50010, + "id_after": 0, + "group": 5, + "des": 3, + "icon": "", + "task_Tname": { + "key": "Side_Quest", + "text": "1" + }, + "task_name": { + "key": "SmithyScene_2_1", + "text": "1" + }, + "task_display": { + "key": "story_80", + "text": "1" + }, + "npc": 70031, + "completetask": [ + 309 + ], + "deliver_npc": 70033, + "auto_accept": 0, + "reword": [ + { + "a": "item", + "t": "110001", + "n": 114 + } + ], + "module": [] + }, { "key": 60010, "lock": 1, @@ -463,26 +537,28 @@ "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "WuGuanSceneTask_2", "text": "1" }, "task_display": { "key": "story_80", "text": "1" }, - "npc": 0, - "completetask": [], + "npc": 70040, + "completetask": [ + 0 + ], "deliver_npc": 0, "auto_accept": 0, "reword": [ { "a": "item", "t": "110001", - "n": 113 + "n": 115 } ], "module": [] @@ -496,26 +572,28 @@ "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "WuGuanSceneTask_3", "text": "1" }, "task_display": { "key": "story_80", "text": "1" }, - "npc": 0, - "completetask": [], + "npc": 70050, + "completetask": [ + 0 + ], "deliver_npc": 0, "auto_accept": 0, "reword": [ { "a": "item", "t": "110001", - "n": 114 + "n": 116 } ], "module": [] @@ -529,26 +607,28 @@ "des": 3, "icon": "", "task_Tname": { - "key": "story_80", + "key": "Side_Quest", "text": "1" }, "task_name": { - "key": "story_80", + "key": "SmithyScene_3", "text": "1" }, "task_display": { "key": "story_80", "text": "1" }, - "npc": 0, - "completetask": [], + "npc": 70060, + "completetask": [ + 0 + ], "deliver_npc": 0, "auto_accept": 0, "reword": [ { "a": "item", "t": "110001", - "n": 115 + "n": 117 } ], "module": [] @@ -566,7 +646,7 @@ "text": "1" }, "task_name": { - "key": "story_80", + "key": "Daily_tasks", "text": "1" }, "task_display": { @@ -601,7 +681,7 @@ "text": "1" }, "task_name": { - "key": "story_80", + "key": "Weekly_Tasks", "text": "1" }, "task_display": { diff --git a/comm/imodule.go b/comm/imodule.go index 7aa497aaa..7cc95747f 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -211,8 +211,6 @@ type ( RemoveCondi(uid string, condiId int32) error // 更新任务条件数据 ChangeCondi(uid string, data map[int32]*pb.RtaskData) error - //任务触发 - SendToRtask(session IUserSession, rtaskType TaskType, params ...int32) (code pb.ErrorCode) //任务批量触发 TriggerTask(uid string, taskParams ...*TaskParam) // 获取任务条件记录 diff --git a/modules/rtask/model_rtask.go b/modules/rtask/model_rtask.go index 544ab37f7..c5d7712bc 100644 --- a/modules/rtask/model_rtask.go +++ b/modules/rtask/model_rtask.go @@ -94,8 +94,12 @@ func (this *ModelRtask) checkCondi(uid string, condiId int32) (err error, ok boo var condi *rtaskCondi cond, ok := this.moduleRtask.handleMap.Load(condiId) if !ok { - errors.Errorf("condiID: %v handle no found", condiId) - return + rcs := this.moduleRtask.getHandle(comm.TaskType(conf.Type)) + for _, v:=range rcs { + if v.condId == condiId { + cond = v + } + } } if condi, ok = cond.(*rtaskCondi); !ok { diff --git a/modules/rtask/module.go b/modules/rtask/module.go index cbf07b1a7..406c94666 100644 --- a/modules/rtask/module.go +++ b/modules/rtask/module.go @@ -45,9 +45,7 @@ type ModuleRtask struct { } func NewModule() core.IModule { - return &ModuleRtask{ - // handleMap: make(map[int32]*rtaskCondi), - } + return &ModuleRtask{} } func (this *ModuleRtask) GetType() core.M_Modules { @@ -57,7 +55,6 @@ func (this *ModuleRtask) GetType() core.M_Modules { func (this *ModuleRtask) Init(service core.IService, module core.IModule, options core.IModuleOptions) (err error) { err = this.ModuleBase.Init(service, module, options) this.service = service.(base.IRPCXService) - // this.initRtaskVerifyHandle() return } func (this *ModuleRtask) Start() (err error) { @@ -260,145 +257,6 @@ func (this *ModuleRtask) getHandle(tt comm.TaskType) (condis []*rtaskCondi) { return } -// 条件校验初始 -// Deprecated -func (this *ModuleRtask) initRtaskVerifyHandle() { - conf, err := this.configure.getRtaskCondiCfg() - if err != nil { - return - } - - for _, v := range conf.GetDataList() { - if typeCfg, err := this.configure.getRtaskTypeById(v.Id); err == nil { - if typeCfg != nil { - switch comm.TaskType(typeCfg.Type) { - case comm.Rtype1: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verfiyRtype1, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype2: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype2, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype3: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype3, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype4: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype4, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype5: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype5, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype6: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype6, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype8: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verfiyRtype8, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype9: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verfiyRtype9, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype10: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verfiyRtype10, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype11, comm.Rtype84, comm.Rtype85: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.lessEqualFirstParam, - verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype18: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.greatEqualFirstParam, - verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, - update: this.modelRtaskRecord.addUpdate, - }) - case comm.Rtype7, comm.Rtype12, comm.Rtype13, comm.Rtype14, comm.Rtype15, - comm.Rtype19, comm.Rtype21, comm.Rtype24, - comm.Rtype26, comm.Rtype27, comm.Rtype28, comm.Rtype38, - comm.Rtype39, comm.Rtype50, comm.Rtype51, comm.Rtype53, - comm.Rtype54, comm.Rtype57, comm.Rtype58, comm.Rtype60, - comm.Rtype62, comm.Rtype64, comm.Rtype69, comm.Rtype72, comm.Rtype88, comm.Rtype104, - comm.Rtype96, comm.Rtype105, comm.Rtype128, comm.Rtype130, comm.Rtype131, - comm.Rtype141, comm.Rtype142, comm.Rtype143, comm.Rtype144, comm.Rtype145, comm.Rtype146, - comm.Rtype147, comm.Rtype149, comm.Rtype153, comm.Rtype154, comm.Rtype155, comm.Rtype156: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.lessEqualFirstParam, - verify: this.modelRtaskRecord.verifyFirstGreatEqualParam, - update: this.modelRtaskRecord.addUpdate, - }) - case comm.Rtype20: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype20, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype22, comm.Rtype109: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtaskRecord.verifyFirstEqualParam, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype63: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalFirstParam, - verify: this.modelRtask.verifyRtype63, - update: this.modelRtaskRecord.addUpdate, - }) - case comm.Rtype16, comm.Rtype17, - comm.Rtype35, comm.Rtype44, - comm.Rtype59, comm.Rtype61, comm.Rtype70: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.equalParams, - verify: this.modelRtaskRecord.verifyFromDb, - update: this.modelRtaskRecord.overrideUpdate, - }) - case comm.Rtype23, comm.Rtype25, comm.Rtype29, comm.Rtype30, comm.Rtype31, - comm.Rtype32, comm.Rtype33, comm.Rtype34, comm.Rtype36, - comm.Rtype37, comm.Rtype40, comm.Rtype41, - comm.Rtype42, comm.Rtype43, comm.Rtype45, - comm.Rtype46, comm.Rtype47, comm.Rtype48, comm.Rtype49, - comm.Rtype52, comm.Rtype55, comm.Rtype56, - comm.Rtype65, comm.Rtype66, comm.Rtype67, comm.Rtype68, comm.Rtype140: - this.registerVerifyHandle(v.Id, &rtaskCondi{ - find: this.modelRtaskRecord.lessThanParams, - verify: this.modelRtaskRecord.verifyFromDb, - update: this.modelRtaskRecord.addUpdate, - }) - - default: - log.Warnf("rtaskType[%v] not register", typeCfg.Type) - } - } - } - } -} - // 处理触发的任务 func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType comm.TaskType, params ...int32) (code pb.ErrorCode) { uid := session.GetUserId() @@ -481,80 +339,6 @@ func (this *ModuleRtask) processOneTask(session comm.IUserSession, rtaskType com return } -// Deprecated -func (this *ModuleRtask) SendToRtask(session comm.IUserSession, rtaskType comm.TaskType, params ...int32) (code pb.ErrorCode) { - uid := session.GetUserId() - if this.IsCross() { - //随机任务 - if _, err := this.service.AcrossClusterRpcGo( - context.Background(), - session.GetServiecTag(), - comm.Service_Worker, - string(comm.Rpc_ModuleRtaskSendTask), - pb.RPCRTaskReq{Uid: uid, TaskType: int32(rtaskType), Param: params}, - nil); err != nil { - this.Errorln(err) - } - return - } - - this.Debug("任务事件触发", - log.Field{Key: "uid", Value: uid}, - log.Field{Key: "taskType", Value: rtaskType}, - log.Field{Key: "params", Value: params}, - ) - var ( - condis []*rtaskCondi - ) - - condis = this.getHandle(rtaskType) - - // for _, codiConf := range this.configure.getRtaskCondis(int32(rtaskType)) { - // v, ok := this.handleMap[codiConf.Id] - // if !ok { - // this.Warn("未注册事件处理器", - // log.Field{Key: "uid", Value: uid}, - // log.Field{Key: "condiId", Value: codiConf.Id}, - // ) - // code = pb.ErrorCode_RtaskCondiNoFound - // return - // } - - // if v.find == nil { - // this.Warn("未设置find Handle", - // log.Field{Key: "uid", Value: uid}, - // log.Field{Key: "condiId", Value: codiConf.Id}, - // ) - // return - // } - - // if condiId, _ := v.find(codiConf, params...); condiId != 0 { - // v.condId = codiConf.Id - // condis = append(condis, v) - // } - // } - - // update - for _, v := range condis { - conf, err := this.configure.getRtaskTypeById(v.condId) - if err != nil { - log.Errorf("get condId conf err:%v", err) - code = pb.ErrorCode_RtaskCondiNoFound - return - } - - if v.update != nil { - if err := v.update(uid, conf, params...); err != nil { - log.Errorf("update task:%v", err) - code = pb.ErrorCode_DBError - } - } - - } - - return -} - func (this *ModuleRtask) TriggerTask(uid string, taskParams ...*comm.TaskParam) { this.Debug("任务处理", log.Field{Key: "uid", Value: uid}, diff --git a/modules/task/api_send.go b/modules/task/api_send.go index 8c46cfcdc..3091f5fdc 100644 --- a/modules/task/api_send.go +++ b/modules/task/api_send.go @@ -17,9 +17,7 @@ func (this *apiComp) SendCheck(session comm.IUserSession, req *pb.TaskSendReq) ( func (this *apiComp) Send(session comm.IUserSession, req *pb.TaskSendReq) (code pb.ErrorCode, data proto.Message) { if imodule, err := this.service.GetModule(comm.ModuleRtask); err == nil { if itask, ok := imodule.(comm.IRtask); ok { - if code = itask.SendToRtask(session, comm.TaskType(req.TaskType), req.Params...); code != pb.ErrorCode_Success { - return - } + itask.TriggerTask(session.GetUserId(), comm.GettaskParam(comm.TaskType(req.TaskType), req.Params...)) } } diff --git a/modules/worldtask/api_finish.go b/modules/worldtask/api_finish.go index ff9900e83..8f69b0813 100644 --- a/modules/worldtask/api_finish.go +++ b/modules/worldtask/api_finish.go @@ -70,7 +70,7 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe return } - updateCheckCond := func(nextTaskId int32) *pb.DBWorldtask { + updateCheckCond := func(userTask *pb.DBWorldtask, nextTaskId int32) *pb.DBWorldtask { //检查下个任务的完成条件 nextTaskConf, err := this.module.configure.getWorldtaskById(nextTaskId) if err != nil || curTaskConf == nil { @@ -85,13 +85,16 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe userTask.CurrentTask = make(map[int32]*pb.Worldtask) } - if len(nextTaskConf.Completetask) == 1 && nextTaskConf.Completetask[0] == 0 { + update := make(map[string]interface{}) + if (len(nextTaskConf.Completetask) == 1 && nextTaskConf.Completetask[0] == 0) || + len(nextTaskConf.Completetask) == 0 { wt := &pb.Worldtask{ TaskId: nextTaskId, TaskType: nextTaskConf.Des, CondiIds: []int32{}, } userTask.CurrentTask[nextTaskConf.Group] = wt + update["currentTask"] = userTask.CurrentTask } else { for _, condiId := range nextTaskConf.Completetask { if condiId == 0 { @@ -105,9 +108,8 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe log.Field{Key: "uid", Value: uid}, log.Field{Key: "taskId", Value: nextTaskId}, log.Field{Key: "condiId", Value: condiId}, - ) - rsp.CondiId = condiId - rsp.TaskId = nextTaskId + ) + } else { nwt, ok := userTask.CurrentTask[nextTaskConf.Group] if ok { @@ -121,19 +123,19 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe } } userTask.CurrentTask[nextTaskConf.Group] = nwt + update["currentTask"] = userTask.CurrentTask } } } + } } - update := map[string]interface{}{ - "currentTask": userTask.CurrentTask, - } - - if err := this.module.modelWorldtask.Change(uid, update); err != nil { - code = pb.ErrorCode_DBError - return nil + if len(update) > 0 { + if err := this.module.modelWorldtask.Change(uid, update); err != nil { + code = pb.ErrorCode_DBError + return nil + } } return userTask @@ -145,9 +147,9 @@ func (this *apiComp) Finish(session comm.IUserSession, req *pb.WorldtaskFinishRe nextTask := make(map[int32]*pb.Worldtask) for _, next := range nextTaskIds { - userTask = updateCheckCond(next) - if userTask != nil { - for k, v := range userTask.CurrentTask { + ut := updateCheckCond(userTask, next) + if ut != nil { + for k, v := range ut.CurrentTask { nextTask[k] = &pb.Worldtask{ TaskId: v.TaskId, }