Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
89b75bbf2b
@ -120,7 +120,13 @@ export default async function (call: ApiCall<ReqBingo, ResBingo>) {
|
||||
}
|
||||
|
||||
} else if (shell[0] == 'heroMaxLv') {
|
||||
let heros = await G.redis.get('hero', call.uid);
|
||||
//let heros = await G.redis.get('hero', call.uid);
|
||||
|
||||
let s = await G.mongodb.collection('hero').find({
|
||||
uid: call.uid
|
||||
}).toArray();
|
||||
let heros = s.map(h => G.mongodb.conversionIdObj(h));
|
||||
|
||||
for (let [_id, hero] of Object.entries(heros)) {
|
||||
await HeroFun.changeHeroAttr(call, hero, {
|
||||
lv: Object.keys(G.gc.playerLv).length * 3,
|
||||
|
@ -13,28 +13,27 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
let _zt = PublicShared.getToDayZeroTime();
|
||||
let pays = await PayFun.getPayLogs(call.uid, payids);
|
||||
for (; day <= G.gc.shiwuleichong.tasks.length; day++) {
|
||||
let pay = pays[G.gc.shiwuleichong.tasks[day].payid];
|
||||
if (!pay) {
|
||||
let pay = pays[G.gc.shiwuleichong.tasks[day - 1].payid];
|
||||
if (!pay || pay.length == 0) {
|
||||
break
|
||||
} else {
|
||||
if (pay.slice(-1)[0].time >= _zt) {
|
||||
// 如果是最后一天奖励
|
||||
if (day >= G.gc.shiwuleichong.tasks.length) {
|
||||
// 充值订单隔天了
|
||||
if (pay.slice(-1)[0].time < _zt) {
|
||||
// 重置所有订单
|
||||
await PayFun.delPayLog(call.uid, ...payids.map(i => {
|
||||
return {payId: i, val: []}
|
||||
}))
|
||||
day = 1;
|
||||
pays = {};
|
||||
}
|
||||
break;
|
||||
} else if (pay.slice(-1)[0].time >= _zt) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
// 如果是最后一天奖励 并且 充值订单隔天了
|
||||
if (
|
||||
day == G.gc.shiwuleichong.tasks.length &&
|
||||
pays[G.gc.shiwuleichong.tasks[day - 1].payid] &&
|
||||
pays[G.gc.shiwuleichong.tasks[day - 1].payid].slice(-1)[0].time < _zt
|
||||
) {
|
||||
// 重置所有订单
|
||||
await PayFun.delPayLog(call.uid, ...payids.map(i => {
|
||||
return {payId: i, val: []}
|
||||
}))
|
||||
day = 1;
|
||||
pays = {};
|
||||
}
|
||||
|
||||
call.succ({
|
||||
day: day,
|
||||
|
@ -39,7 +39,7 @@ export default async function (call: ApiCall<ReqChangePos, ResChangePos>) {
|
||||
}
|
||||
} else if (call.req.state == 'change') {
|
||||
if (heroPos[call.req.pos]) {
|
||||
let unLoadHero = await G.redis.get('hero', call.uid, heroPos[call.req.pos]);
|
||||
let unLoadHero = await HeroFun.getHero(call, heroPos[call.req.pos]);
|
||||
unLoadHero && fightHeros.removeOne(id => id == unLoadHero.heroId);
|
||||
}
|
||||
if (fightHeros.includes(hero.heroId.toString())) return call.errorCode(-2);
|
||||
|
@ -4,7 +4,7 @@ import { ReqGetList, ResGetList } from "../../shared/protocols/hero/PtlGetList";
|
||||
|
||||
export default async function (call: ApiCall<ReqGetList, ResGetList>) {
|
||||
let list: ResGetList['list'] = {};
|
||||
let kvList: k_v<RedisCollections2['hero']> = {};
|
||||
//let kvList: k_v<RedisCollections2['hero']> = {};
|
||||
let arrList = await G.mongodb.collection('hero').find({ uid: call.uid }).toArray();
|
||||
|
||||
let heroCon = G.gc.hero;
|
||||
@ -12,7 +12,7 @@ export default async function (call: ApiCall<ReqGetList, ResGetList>) {
|
||||
let maxherolv = 0;
|
||||
arrList.forEach(v => {
|
||||
let d = G.mongodb.conversionIdObj(v);
|
||||
kvList[G.formatRedisKey(d._id)] = d;
|
||||
//kvList[G.formatRedisKey(d._id)] = d;
|
||||
list[d._id] = d;
|
||||
|
||||
if (v.lv > maxherolv) maxherolv = v.lv;
|
||||
@ -23,7 +23,7 @@ export default async function (call: ApiCall<ReqGetList, ResGetList>) {
|
||||
await G.mongodb.collection('playerInfo', 'usertasklog').updateOne({ uid: call.conn.uid, type: 'usertasklog' },
|
||||
{ $set: { maxherolv: maxherolv, herocolor: color } }, { upsert: true });
|
||||
|
||||
G.redis.set('hero', call.uid, kvList);
|
||||
//G.redis.set('hero', call.uid, kvList);
|
||||
|
||||
let recLshd = await G.mongodb.collection('playerInfo', 'lshd_hero').findOne({ uid: call.conn.uid, type: 'lshd_hero' });
|
||||
let { uid, _id, type, ...heros } = (recLshd || {});
|
||||
|
@ -39,7 +39,7 @@ export default async function (call: ApiCall<ReqJinJie, ResJinJie, ServiceType>)
|
||||
|
||||
let selectHeros: ResGetList['list'][''][] = [];
|
||||
for (let _id of call.req.idArr) {
|
||||
let _hero = await G.redis.get('hero', call.uid, _id);
|
||||
let _hero = await HeroFun.getHero(call, _id);
|
||||
if (!_hero) return call.error(globalThis.lng.hero_1);
|
||||
selectHeros.push(_hero);
|
||||
}
|
||||
|
@ -154,7 +154,7 @@
|
||||
},
|
||||
"jiubabaodi": {
|
||||
"numbd": {
|
||||
"50": [10011],
|
||||
"30": [10011],
|
||||
"250": [10012],
|
||||
"550": [10011],
|
||||
"1000": [10011],
|
||||
|
62
src/json/herogrow_ewai.json
Normal file
62
src/json/herogrow_ewai.json
Normal file
@ -0,0 +1,62 @@
|
||||
{
|
||||
"1": {
|
||||
"id": 1,
|
||||
"jieji": 0,
|
||||
"ewai_buff": 0
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"jieji": 1,
|
||||
"ewai_buff": 0
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"jieji": 2,
|
||||
"ewai_buff": 0
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"jieji": 3,
|
||||
"ewai_buff": 0
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"jieji": 4,
|
||||
"ewai_buff": 0.4
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"jieji": 5,
|
||||
"ewai_buff": 0.5
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"jieji": 6,
|
||||
"ewai_buff": 0.6
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"jieji": 7,
|
||||
"ewai_buff": 0.8
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"jieji": 8,
|
||||
"ewai_buff": 1
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"jieji": 9,
|
||||
"ewai_buff": 1.2
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"jieji": 10,
|
||||
"ewai_buff": 1.4
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"jieji": 11,
|
||||
"ewai_buff": 1.8
|
||||
}
|
||||
}
|
@ -12,10 +12,10 @@
|
||||
{
|
||||
total: 1,
|
||||
gudKey: 'payExp',
|
||||
prize: [{a: 'hero', t: '4005', n: 1}]
|
||||
prize: [{a: 'item', t: '4', n: 10}]
|
||||
},
|
||||
{
|
||||
total: 1,
|
||||
prize: [{a: 'hero', t: '4002', n: 1}]
|
||||
prize: [{a: 'hero', t: '4012', n: 1}]
|
||||
}
|
||||
]
|
@ -3276,6 +3276,135 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 8000, // 唯一活动id 圣诞活动
|
||||
"htype" : 8,
|
||||
"stype" : 800,
|
||||
"ttype" : 4, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"stime" : 60,
|
||||
"rtime" : 90,
|
||||
"etime" : 90,
|
||||
"name" : "sdhd_tips_1",
|
||||
"icon" : "icon_xfdj",
|
||||
"showtime" : "根据玩家注册时间,游戏返回时复写",
|
||||
"data" : {
|
||||
//任务
|
||||
"task" : {
|
||||
"1": {
|
||||
"pval" : 1,
|
||||
"stype" : "",
|
||||
"cond": [],
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 500000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_1"
|
||||
},
|
||||
"2": {
|
||||
"pval" : 1,
|
||||
"stype" : "101",
|
||||
"cond": [],
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 500000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_1"
|
||||
},
|
||||
"3": {
|
||||
"pval" : 2,
|
||||
"stype" : "101",
|
||||
"cond": [],
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 500000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_1"
|
||||
}
|
||||
},
|
||||
//玩游戏需要消耗
|
||||
"gameneed": [{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
//玩游戏拿分
|
||||
"game": [5,10,20,30,50],
|
||||
//战令
|
||||
"zhanling":[
|
||||
{
|
||||
"val": 2500,
|
||||
"pt": [{"a": "item", "t":"1", "n": 200000}],
|
||||
"gj": [{"a": "item", "t":"50101", "n": 1},{"a": "item", "t":"1", "n": 500000}]
|
||||
},
|
||||
{
|
||||
"val": 2,
|
||||
"pt": [{"a": "attr", "t":"rmbmoney", "n": 500}],
|
||||
"gj": [{"a": "attr", "t":"jinbi", "n": 1}]
|
||||
},
|
||||
{
|
||||
"val": 3,
|
||||
"pt": [{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
"gj": [{"a": "attr", "t":"jinbi", "n": 1}]
|
||||
}
|
||||
],
|
||||
//战令PayID
|
||||
"zlpayid":"ycmb_1_1",
|
||||
//活动礼包
|
||||
"libao": {
|
||||
"1": {
|
||||
"payid": "",
|
||||
"buynum": 2,
|
||||
"basep": [{"a": "attr", "t":"rmbmoney", "n": 1}],
|
||||
"des" : "intr_cszl_des_1",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "attr", "t":"rmbmoney", "n": 1},
|
||||
"2": {"a": "attr", "t":"rmbmoney", "n": 2},
|
||||
"3": {"a": "attr", "t":"rmbmoney", "n": 3}
|
||||
},
|
||||
{
|
||||
"1": {"a": "attr", "t":"rmbmoney", "n": 1},
|
||||
"2": {"a": "attr", "t":"rmbmoney", "n": 2},
|
||||
"3": {"a": "attr", "t":"rmbmoney", "n": 3}
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"payid": "ycmb_1_2",
|
||||
"buynum": 2,
|
||||
"basep": [{"a": "attr", "t":"rmbmoney", "n": 2}],
|
||||
"des" : "intr_cszl_des_2",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "attr", "t":"rmbmoney", "n": 1},
|
||||
"2": {"a": "attr", "t":"rmbmoney", "n": 2},
|
||||
"3": {"a": "attr", "t":"rmbmoney", "n": 3}
|
||||
},
|
||||
{
|
||||
"1": {"a": "attr", "t":"rmbmoney", "n": 1},
|
||||
"2": {"a": "attr", "t":"rmbmoney", "n": 2},
|
||||
"3": {"a": "attr", "t":"rmbmoney", "n": 3}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
//签到奖励
|
||||
"qiandao": [
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}],
|
||||
[{"a": "attr", "t":"jinbi", "n": 1}]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 9000, // 唯一活动id 周末礼包
|
||||
"htype" : 9, // 后端唯一识别标识
|
||||
"stype" : 900, // 前端唯一识别标识(看前端需要是否修改)
|
||||
@ -3330,6 +3459,62 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 10000, // 唯一活动id 超值好礼
|
||||
"htype" : 10, // 后端唯一识别标识
|
||||
"stype" : 1000, // 前端唯一识别标识(看前端需要是否修改)
|
||||
"ttype" : 0, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"stime" : 0, // 活动开始天数
|
||||
"rtime" : 30, // 活动显示结束天数
|
||||
"etime" : 30, // 活动实际结束
|
||||
"name": "czlibao",
|
||||
"icon": "icon_czlibao",
|
||||
"showtime" : "仅供参考,会复写正确值", // 自选礼包,如果存在多个活动,计费点不要设置一样;如果是一样,可能会存在付费一次,购买多次。
|
||||
"data" : {
|
||||
//活动文本描述
|
||||
intr: "czlbtips_1",
|
||||
intr: "czlbtips_2",
|
||||
//礼包
|
||||
//礼包
|
||||
gift: [
|
||||
{
|
||||
id: '1',
|
||||
name: 'czlbtips_4',
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'czlb_1',
|
||||
buyNum: 1,
|
||||
prize:{"1":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"2":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"3":[{'a': 'item', 't': '13', 'n': 600}]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
name: 'czlbtips_5',
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'czlb_2',
|
||||
buyNum: 1,
|
||||
prize: {"1":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"2":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"3":[{'a': 'item', 't': '13', 'n': 600}]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
name: 'czlbtips_6',
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'czlb_3',
|
||||
buyNum: 1,
|
||||
prize: {"1":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"2":[{'a': 'item', 't': '13', 'n': 600}],
|
||||
"3":[{'a': 'item', 't': '13', 'n': 600}]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
]
|
@ -116,7 +116,7 @@
|
||||
"6": {
|
||||
"id": 6,
|
||||
"name": "intr_item_name_6",
|
||||
"undefined": "每次进行干部特训需要消耗1个特训指南",
|
||||
"undefined": "用于干部特训,消耗特训指南挑战成功后可获得干部碎片",
|
||||
"type": 1,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -155,7 +155,7 @@
|
||||
"9": {
|
||||
"id": 9,
|
||||
"name": "intr_item_name_9",
|
||||
"undefined": "润滑剂,用于专属武器升星",
|
||||
"undefined": "稀有材料,可用于专属武器升星",
|
||||
"type": 1,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -464,7 +464,7 @@
|
||||
"24": {
|
||||
"id": 24,
|
||||
"name": "intr_item_name_24",
|
||||
"undefined": "使用后直接快速探险2小时",
|
||||
"undefined": "用于主线探险,使用后直接获得快速探险2小时的收益",
|
||||
"type": 2,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
@ -1204,7 +1204,7 @@
|
||||
"607": {
|
||||
"id": 607,
|
||||
"name": "intr_item_name_607",
|
||||
"undefined": "使用后可以自选艾达,加尔西亚,葛丽特中一个干部的碎片",
|
||||
"undefined": "使用后可以自选艾达,加尔西亚,葛丽特,达奇,汉塞尔中一个干部的碎片",
|
||||
"type": 2,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
@ -2072,6 +2072,49 @@
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
},
|
||||
"637": {
|
||||
"id": 637,
|
||||
"name": "intr_item_name_637",
|
||||
"type": 2,
|
||||
"sort": 1,
|
||||
"colour": 6,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_heroBox_3",
|
||||
"sicon": "icon_heroBox_3",
|
||||
"describe": "intr_item_describe_637",
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5002",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5003",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5004",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5005",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"payId": "",
|
||||
"advancedEffects": "ani_xiangzihong"
|
||||
},
|
||||
"1001": {
|
||||
"id": 1001,
|
||||
"name": "intr_item_name_1001",
|
||||
|
@ -1,5 +1,41 @@
|
||||
{
|
||||
"dengjijijin": [
|
||||
{
|
||||
"type": "dengjijijin",
|
||||
"total": 10,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 8000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dengjijijin",
|
||||
"total": 15,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dengjijijin",
|
||||
"total": 20,
|
||||
@ -14,7 +50,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -32,7 +68,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -50,7 +86,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -68,7 +104,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -86,7 +122,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -104,43 +140,7 @@
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dengjijijin",
|
||||
"total": 50,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dengjijijin",
|
||||
"total": 55,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1700
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -148,104 +148,104 @@
|
||||
"guanqiajijin": [
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 30,
|
||||
"total": 10,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_1"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 50,
|
||||
"total": 20,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_2"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 70,
|
||||
"total": 40,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_3"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 90,
|
||||
"total": 60,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_4"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 110,
|
||||
"total": 80,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_5"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 150,
|
||||
"total": 100,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_6"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 180,
|
||||
"total": 120,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_7"
|
||||
},
|
||||
{
|
||||
"type": "guanqiajijin",
|
||||
"total": 250,
|
||||
"total": 140,
|
||||
"pt": [],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 2000
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 3000000
|
||||
}
|
||||
],
|
||||
"des": "guanqiajijin_des_8"
|
||||
@ -254,37 +254,37 @@
|
||||
"dayjijin": [
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 5,
|
||||
"total": 10,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 15,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 2000
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 20,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -292,35 +292,53 @@
|
||||
"type": "dayjijin",
|
||||
"total": 30,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 888
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 45,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "615",
|
||||
"n": 1
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 40,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 50,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -329,34 +347,52 @@
|
||||
"total": 60,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 75,
|
||||
"total": 70,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 300
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 2000
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 80,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -365,34 +401,52 @@
|
||||
"total": 90,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 888
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 105,
|
||||
"total": 100,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 300
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "615",
|
||||
"n": 1
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 110,
|
||||
"pt": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -401,106 +455,52 @@
|
||||
"total": 120,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 135,
|
||||
"total": 130,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 400
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 150,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 888
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 165,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 400
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "615",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 180,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "23",
|
||||
"n": 20000
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 5
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "dayjijin",
|
||||
"total": 200,
|
||||
"total": 140,
|
||||
"pt": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 500
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 200
|
||||
}
|
||||
],
|
||||
"tq": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1888
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
}
|
||||
|
1130
src/json/pay.json
1130
src/json/pay.json
File diff suppressed because it is too large
Load Diff
@ -1,46 +1,19 @@
|
||||
{
|
||||
//每日充值要求
|
||||
dayPayNeed: 6,
|
||||
data: [
|
||||
{
|
||||
time: 1296000,
|
||||
tasks: [
|
||||
{ total: 1, prize: [{a: 'attr', t: 'jinbi', n: 20000},{a: 'item', t: '1', n: 100000},{a: 'item', t: '4', n: 5}] },
|
||||
{ total: 2, prize: [{a: 'attr', t: 'jinbi', n: 40000},{a: 'item', t: '1', n: 200000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 3, prize: [{a: 'attr', t: 'jinbi', n: 60000},{a: 'item', t: '1', n: 300000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 4, prize: [{a: 'attr', t: 'jinbi', n: 80000},{a: 'item', t: '1', n: 400000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 5, prize: [{a: 'attr', t: 'jinbi', n: 100000},{a: 'item', t: '1', n: 500000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 6, prize: [{a: 'attr', t: 'jinbi', n: 120000},{a: 'item', t: '1', n: 600000},{a: 'item', t: '607', n: 20}] },
|
||||
{ total: 7, prize: [{a: 'attr', t: 'jinbi', n: 140000},{a: 'item', t: '1', n: 700000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 8, prize: [{a: 'attr', t: 'jinbi', n: 160000},{a: 'item', t: '1', n: 800000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 9, prize: [{a: 'attr', t: 'jinbi', n: 180000},{a: 'item', t: '1', n: 900000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 10, prize: [{a: 'attr', t: 'jinbi', n: 200000},{a: 'item', t: '1', n: 1000000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 11, prize: [{a: 'attr', t: 'jinbi', n: 220000},{a: 'item', t: '1', n: 1100000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 12, prize: [{a: 'attr', t: 'jinbi', n: 240000},{a: 'item', t: '1', n: 1200000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 13, prize: [{a: 'attr', t: 'jinbi', n: 260000},{a: 'item', t: '1', n: 1300000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 14, prize: [{a: 'attr', t: 'jinbi', n: 280000},{a: 'item', t: '1', n: 1400000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 15, prize: [{a: 'attr', t: 'jinbi', n: 300000},{a: 'item', t: '1', n: 1500000},{a: 'item', t: '600', n: 20}] }
|
||||
]
|
||||
},
|
||||
{
|
||||
time: 1296000,
|
||||
tasks: [
|
||||
{ total: 1, prize: [{a: 'attr', t: 'jinbi', n: 20000},{a: 'item', t: '1', n: 100000},{a: 'item', t: '4', n: 5}] },
|
||||
{ total: 2, prize: [{a: 'attr', t: 'jinbi', n: 40000},{a: 'item', t: '1', n: 200000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 3, prize: [{a: 'attr', t: 'jinbi', n: 60000},{a: 'item', t: '1', n: 300000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 4, prize: [{a: 'attr', t: 'jinbi', n: 80000},{a: 'item', t: '1', n: 400000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 5, prize: [{a: 'attr', t: 'jinbi', n: 100000},{a: 'item', t: '1', n: 500000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 6, prize: [{a: 'attr', t: 'jinbi', n: 120000},{a: 'item', t: '1', n: 600000},{a: 'item', t: '607', n: 20}] },
|
||||
{ total: 7, prize: [{a: 'attr', t: 'jinbi', n: 140000},{a: 'item', t: '1', n: 700000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 8, prize: [{a: 'attr', t: 'jinbi', n: 160000},{a: 'item', t: '1', n: 800000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 9, prize: [{a: 'attr', t: 'jinbi', n: 180000},{a: 'item', t: '1', n: 900000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 10, prize: [{a: 'attr', t: 'jinbi', n: 200000},{a: 'item', t: '1', n: 1000000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 11, prize: [{a: 'attr', t: 'jinbi', n: 220000},{a: 'item', t: '1', n: 1100000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 12, prize: [{a: 'attr', t: 'jinbi', n: 240000},{a: 'item', t: '1', n: 1200000},{a: 'item', t: '4', n: 10}] },
|
||||
{ total: 13, prize: [{a: 'attr', t: 'jinbi', n: 260000},{a: 'item', t: '1', n: 1300000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 14, prize: [{a: 'attr', t: 'jinbi', n: 280000},{a: 'item', t: '1', n: 1400000},{a: 'item', t: '12', n: 200}] },
|
||||
{ total: 15, prize: [{a: 'attr', t: 'jinbi', n: 300000},{a: 'item', t: '1', n: 1500000},{a: 'item', t: '600', n: 20}] }
|
||||
]
|
||||
}
|
||||
tasks: [
|
||||
{ day: 1, payid:"jitianlibao_1" },
|
||||
{ day: 2, payid:"jitianlibao_2" },
|
||||
{ day: 3, payid:"jitianlibao_3" },
|
||||
{ day: 4, payid:"jitianlibao_4" },
|
||||
{ day: 5, payid:"jitianlibao_5" },
|
||||
{ day: 6, payid:"jitianlibao_6" },
|
||||
{ day: 7, payid:"jitianlibao_7" },
|
||||
{ day: 8, payid:"jitianlibao_8" },
|
||||
{ day: 9, payid:"jitianlibao_9" },
|
||||
{ day: 10, payid:"jitianlibao_10" },
|
||||
{ day: 11, payid:"jitianlibao_11" },
|
||||
{ day: 12, payid:"jitianlibao_12" },
|
||||
{ day: 13, payid:"jitianlibao_13" },
|
||||
{ day: 14, payid:"jitianlibao_14" },
|
||||
{ day: 15, payid:"jitianlibao_15" }
|
||||
]
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"shouchong1": {
|
||||
"paynum": 6,
|
||||
"payid":"shouchong_1",
|
||||
"cartoon": {
|
||||
"hero": 5001
|
||||
},
|
||||
@ -45,6 +46,7 @@
|
||||
},
|
||||
"shouchong2": {
|
||||
"paynum": 30,
|
||||
"payid":"shouchong_2",
|
||||
"cartoon": {
|
||||
"img": 5001
|
||||
},
|
||||
@ -89,6 +91,7 @@
|
||||
},
|
||||
"shouchong3": {
|
||||
"paynum": 98,
|
||||
"payid":"shouchong_3",
|
||||
"cartoon": {
|
||||
"hero": 5002
|
||||
},
|
||||
|
@ -1011,7 +1011,7 @@
|
||||
"mofa": 0,
|
||||
"islong": 0
|
||||
},
|
||||
"describe": "普通攻击替换为随机攻击3个目标,造成基础伤害95%的物理伤害"
|
||||
"describe": "普通攻击替换为随机攻击2个目标,造成基础伤害95%的物理伤害"
|
||||
},
|
||||
"4002201": {
|
||||
"skillid": 4002201,
|
||||
@ -1029,7 +1029,7 @@
|
||||
"mofa": 0,
|
||||
"islong": 0
|
||||
},
|
||||
"describe": "普通攻击替换为随机攻击3个目标,造成基础伤害114%的物理伤害"
|
||||
"describe": "普通攻击替换为随机攻击2个目标,造成基础伤害114%的物理伤害"
|
||||
},
|
||||
"4003200": {
|
||||
"skillid": 4003200,
|
||||
@ -1202,7 +1202,7 @@
|
||||
"order": "rand",
|
||||
"limit": 6,
|
||||
"data": {
|
||||
"pro": 0.11
|
||||
"pro": 0.13
|
||||
},
|
||||
"chkdata": {},
|
||||
"ext": {},
|
||||
@ -1217,7 +1217,7 @@
|
||||
"order": "rand",
|
||||
"limit": 6,
|
||||
"data": {
|
||||
"pro": 0.11
|
||||
"pro": 0.13
|
||||
},
|
||||
"chkdata": {},
|
||||
"ext": {},
|
||||
|
@ -739,7 +739,7 @@
|
||||
"sxleixing": "zhongdu",
|
||||
"buff_type": 2,
|
||||
"xiaoguocanshu": {
|
||||
"pro": 0.15,
|
||||
"pro": 0.18,
|
||||
"type": "hp"
|
||||
},
|
||||
"round": 2,
|
||||
@ -759,7 +759,7 @@
|
||||
"sxleixing": "zhongdu",
|
||||
"buff_type": 2,
|
||||
"xiaoguocanshu": {
|
||||
"pro": 0.15,
|
||||
"pro": 0.18,
|
||||
"type": "hp"
|
||||
},
|
||||
"round": 2,
|
||||
|
257
src/json/tuisonglibao.json
Normal file
257
src/json/tuisonglibao.json
Normal file
@ -0,0 +1,257 @@
|
||||
{
|
||||
"1": {
|
||||
"id": 1,
|
||||
"type": 1,
|
||||
"num": [
|
||||
5
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 500
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"type": 1,
|
||||
"num": [
|
||||
10
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 501
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"type": 1,
|
||||
"num": [
|
||||
20
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 502
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"type": 2,
|
||||
"num": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_1",
|
||||
"daojulibao_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 503
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"type": 2,
|
||||
"num": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_1",
|
||||
"daojulibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 504
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"type": 2,
|
||||
"num": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_1",
|
||||
"daojulibao_2",
|
||||
"daojulibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 505
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"type": 3,
|
||||
"num": [
|
||||
1
|
||||
],
|
||||
"payId": [
|
||||
"zhanbailibao_1",
|
||||
"zhanbailibao_2",
|
||||
"zhanbailibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 506
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"type": 4,
|
||||
"num": [
|
||||
3
|
||||
],
|
||||
"payId": [
|
||||
"choukalibao_1",
|
||||
"choukalibao_2",
|
||||
"choukalibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 507
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"type": 5,
|
||||
"num": [
|
||||
31
|
||||
],
|
||||
"payId": [
|
||||
"lv30"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3300
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"type": 5,
|
||||
"num": [
|
||||
45
|
||||
],
|
||||
"payId": [
|
||||
"lv40"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3300
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"type": 5,
|
||||
"num": [
|
||||
50
|
||||
],
|
||||
"payId": [
|
||||
"lv55"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"type": 5,
|
||||
"num": [
|
||||
53
|
||||
],
|
||||
"payId": [
|
||||
"lv58"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"type": 5,
|
||||
"num": [
|
||||
56
|
||||
],
|
||||
"payId": [
|
||||
"lv60"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"type": 5,
|
||||
"num": [
|
||||
60
|
||||
],
|
||||
"payId": [
|
||||
"lv63"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"type": 5,
|
||||
"num": [
|
||||
63
|
||||
],
|
||||
"payId": [
|
||||
"lv66"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
"type": 5,
|
||||
"num": [
|
||||
66
|
||||
],
|
||||
"payId": [
|
||||
"lv69"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"type": 5,
|
||||
"num": [
|
||||
68
|
||||
],
|
||||
"payId": [
|
||||
"lv72"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
"type": 5,
|
||||
"num": [
|
||||
70
|
||||
],
|
||||
"payId": [
|
||||
"lv75"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
}
|
||||
}
|
@ -2,35 +2,35 @@
|
||||
{
|
||||
payId: '128jijin',
|
||||
prize: [
|
||||
{a:'item',t:'4',n:50},
|
||||
{a:'item',t:'617',n:1},
|
||||
{a:'attr',t:'rmbmoney',n:1000},
|
||||
{a:'item',t:'9',n:1000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:1000},
|
||||
{a:'item',t:'4',n:10},
|
||||
{a:'attr',t:'rmbmoney',n:500},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:1000},
|
||||
{a:'item',t:'4',n:10},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:1000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:3000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:3000},
|
||||
{a:'attr',t:'rmbmoney',n:500},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'609',n:1},
|
||||
{a:'item',t:'4',n:10},
|
||||
{a:'attr',t:'rmbmoney',n:500},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'18',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'6',n:20},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:3000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'4',n:10},
|
||||
{a:'attr',t:'rmbmoney',n:500},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'20',n:200},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'item',t:'9',n:3000},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:1000},
|
||||
{a:'attr',t:'rmbmoney',n:500},
|
||||
{a:'item',t:'628',n:1},
|
||||
],
|
||||
//奖励总价值X钻
|
||||
@ -43,36 +43,36 @@
|
||||
{
|
||||
payId: '328jijin',
|
||||
prize: [
|
||||
{a:'item',t:'4',n:30},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'10',n:300},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'628',n:1},
|
||||
{a:'item',t:'4',n:20},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'628',n:1},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'628',n:1},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'628',n:1},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'4',n:20},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'item',t:'611',n:1},
|
||||
{a:'item',t:'617',n:2},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'item',t:'4',n:20},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'4',n:20},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'attr',t:'rmbmoney',n:2000},
|
||||
{a:'item',t:'10',n:400},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:800},
|
||||
{a:'attr',t:'rmbmoney',n:1500},
|
||||
{a:'item',t:'617',n:1},
|
||||
],
|
||||
//奖励总价值X钻
|
||||
num1: 70080,
|
||||
|
648
src/path_20231215.ts
Normal file
648
src/path_20231215.ts
Normal file
@ -0,0 +1,648 @@
|
||||
import {ctor} from "./global";
|
||||
import {EmailFun} from "./public/email";
|
||||
import {initMongoDB} from "./setMongodb";
|
||||
|
||||
// 首冲
|
||||
async function shouChongReSet() {
|
||||
let shouchong = {
|
||||
"shouchong1": {
|
||||
"paynum": 6,
|
||||
"cartoon": {
|
||||
"hero": 5001
|
||||
},
|
||||
"prize": [
|
||||
[
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5001",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 100000
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 200
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 200000
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 200
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 300000
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"shouchong2": {
|
||||
"paynum": 30,
|
||||
"cartoon": {
|
||||
"img": 5001
|
||||
},
|
||||
"prize": [
|
||||
[
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "1009",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "2009",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "3009",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 1000
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "4009",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 1000
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"shouchong3": {
|
||||
"paynum": 98,
|
||||
"cartoon": {
|
||||
"hero": 5002
|
||||
},
|
||||
"prize": [
|
||||
[
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5002",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "1010",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 2000
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "3010",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 2000
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
};
|
||||
let users = await G.mongodb.collection("user").find({}, {
|
||||
projection: {uid: 1, payExp: 1}
|
||||
}).toArray();
|
||||
|
||||
for (let i = 0; i < users.length; i++) {
|
||||
let user = users[i];
|
||||
let data = await G.mongodb.cEvent("shouchong").findOne({uid: user.uid});
|
||||
|
||||
let send_prize = [];
|
||||
for (let key in shouchong) {
|
||||
// 充值不足
|
||||
if (user.payExp < shouchong[key]["paynum"] * 10) {
|
||||
continue
|
||||
}
|
||||
|
||||
// 奖励已经领取完毕
|
||||
if (data && data.receive[key] && data.receive[key].length >= shouchong[key]["prize"].length) {
|
||||
continue
|
||||
}
|
||||
|
||||
// 补发未领取奖励
|
||||
for (let i = 0; i < shouchong[key]["prize"].length; i++) {
|
||||
if (data.receive[key][i]) {
|
||||
continue
|
||||
}
|
||||
data.receive[key][i] = G.time;
|
||||
send_prize.concat(shouchong[key]["prize"][i]);
|
||||
}
|
||||
}
|
||||
if (send_prize.length <= 0) continue;
|
||||
|
||||
let title = "首充未领取奖励补发";
|
||||
let content = "首充未领取奖励补发";
|
||||
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: user.uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: send_prize,
|
||||
});
|
||||
// 设置奖励发放记录
|
||||
await G.mongodb.cEvent("shouchong").updateOne({
|
||||
uid: user.uid
|
||||
}, {"$set": {receive: data.receive, patch: 1}});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*超值月卡、至尊月卡、永久卡的线上玩家脚本
|
||||
线上已购买超值月卡的玩家,脚本补发:招募卡*30
|
||||
线上已购买至尊月卡的玩家,脚本补发:钻石*10000
|
||||
线上已购买永久卡的玩家,脚本补发:汉塞尔*1,能量饮料*500w
|
||||
* */
|
||||
async function yuekaSendPrize() {
|
||||
let w = {
|
||||
key: {$in: ["chaozhiyueka", "zhizunyueka", "zhongshenka"]},
|
||||
del_time: {$exists: false}
|
||||
};
|
||||
let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let proId = user.key;
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
|
||||
switch (proId) {
|
||||
case "chaozhiyueka":
|
||||
uid2Prize[uid].push({a: "item", t: "4", n: 30});
|
||||
break;
|
||||
case "zhizunyueka":
|
||||
uid2Prize[uid].push({a: "attr", t: "rmbmoney", n: 10000})
|
||||
break;
|
||||
case "zhongshenka":
|
||||
uid2Prize[uid].push({a: "item", t: "1", n: 5000000})
|
||||
uid2Prize[uid].push({a: "hero", t: "4012", n: 1})
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
let title = "月卡奖励发放";
|
||||
let content = "月卡奖励发放";
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
|
||||
// 处理重复执行
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*特权礼包脚本需求
|
||||
1、特权内容:已购买特权的玩家,特权效果更新
|
||||
2、已购买情报特权的玩家,脚本补发:钻石*680,顶级紫色套装*1
|
||||
3、已购买快速特权的玩家,脚本补发:钻石*300,快速探险券*30
|
||||
4、已购买财富特权的玩家,脚本补发:钻石*300,美金*1000万
|
||||
5、已购买酒馆特权的玩家,脚本补发:钻石*680,招募卡*10
|
||||
* */
|
||||
async function tequanLiBaoSendPrize() {
|
||||
let w = {
|
||||
key: {$in: ["qingbaotequan", "zuozhantequan", "caifutequan", "jiubatequan"]},
|
||||
del_time: {$exists: false}
|
||||
};
|
||||
let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let proId = user.key;
|
||||
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
switch (proId) {
|
||||
case "qingbaotequan":
|
||||
uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 680});
|
||||
uid2Prize[uid].push({"a": "item", "t": "609", "n": 1});
|
||||
break;
|
||||
case "zuozhantequan":
|
||||
uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 300});
|
||||
uid2Prize[uid].push({"a": "item", "t": "24", "n": 30});
|
||||
break;
|
||||
case "caifutequan":
|
||||
uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 300})
|
||||
uid2Prize[uid].push({"a": "attr", "t": "jinbi", "n": 10000000})
|
||||
break;
|
||||
case "jiubatequan":
|
||||
uid2Prize[uid].push({"a": "attr", "t": "rmbmoney", "n": 680});
|
||||
uid2Prize[uid].push({"a": "item", "t": "4", "n": 10});
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
let title = "特权奖励发放";
|
||||
let content = "特权奖励发放";
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
刷新所有玩家各档位VIP礼包到未购买状态
|
||||
* */
|
||||
async function resetVipLiBao() {
|
||||
let w = {"type": "chongzhi"};
|
||||
await G.mongodb.collection("playerInfo").updateMany(w, {"giftBy": {}});
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
人才计划调整
|
||||
1、线上已有该活动的玩家,保留次数进度;达到新加档位可领取的奖励则直接领取
|
||||
2、线上已购买该活动328计费点的玩家,每次购买记录补发招募卡*20,;
|
||||
3、线上已购买该活动648计费点的玩家,每次购买记录补发招募卡*40,;
|
||||
* */
|
||||
async function rcjhReSet() {
|
||||
let proId328 = ["ycmb_1_5", "ycmb_2_4", "ycmb_3_5", "ycmb_4_5", "ycmb_5_5"];
|
||||
let proId648 = ["ycmb_1_6", "ycmb_2_5", "ycmb_3_6", "ycmb_4_6", "ycmb_5_6"];
|
||||
let w = {
|
||||
key: {$in: [].concat(proId328, proId648)},
|
||||
del_time: {$exists: false}
|
||||
};
|
||||
let users = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let proId = user.key;
|
||||
|
||||
if (!uid2Prize[uid]) {
|
||||
uid2Prize[uid] = []
|
||||
}
|
||||
if (proId328.includes(proId)) {
|
||||
uid2Prize[uid].push({"a": "item", "t": "4", "n": 20})
|
||||
} else if (proId648.includes(proId)) {
|
||||
uid2Prize[uid].push({"a": "item", "t": "4", "n": 40})
|
||||
}
|
||||
});
|
||||
|
||||
let title = "人才计划奖励发放";
|
||||
let content = "人才计划奖励发放";
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*等级基金调整
|
||||
1、已购买等级基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发;
|
||||
2、未购买的玩家活动刷新到新版本;
|
||||
3、刷新等级基金到未购买状态;
|
||||
* */
|
||||
async function dengjiJiJinReSet() {
|
||||
let w = {key: "dengjijijin", del_time: {$exists: false}}
|
||||
// 激活了的玩家
|
||||
let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
let title = "等级基金未领取奖励发放";
|
||||
let content = "等级基金未领取奖励发放";
|
||||
let prizeList = G.gc.jijin["dengjijijin"];
|
||||
let _users = await G.mongodb.cEvent("dengjijijin").find(
|
||||
{"uid": {"$in": _payList.map(pay => pay.uid)}}
|
||||
).toArray()
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
_users.forEach((user) => {
|
||||
let uid = user.uid;
|
||||
let idx2Type2Bool = user.rec;
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
|
||||
// 没领的全发
|
||||
prizeList.forEach((con, idx) => {
|
||||
// 普通奖励没领
|
||||
if (!idx2Type2Bool[idx]?.pt) {
|
||||
uid2Prize[uid].push(...con.pt)
|
||||
}
|
||||
// 高级奖励没领
|
||||
if (!idx2Type2Bool[idx]?.tq) {
|
||||
uid2Prize[uid].push(...con.pt)
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
// 基金数据清除
|
||||
await G.mongodb.collection("event").updateMany(
|
||||
{type: "dengjijijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*关卡基金调整
|
||||
1、已购买关卡基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发;
|
||||
2、未购买的玩家活动刷新到新版本;
|
||||
3、刷新关卡基金到未购买状态;
|
||||
* */
|
||||
async function guanqiaJiJinReSet() {
|
||||
let w = {key: "guanqiajijin"};
|
||||
// 激活了的玩家
|
||||
let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
let title = "关卡基金未领取奖励发放";
|
||||
let content = "关卡基金未领取奖励发放";
|
||||
let prizeList = G.gc.jijin["guanqiajijin"];
|
||||
|
||||
// 没激活不处理
|
||||
let _users = await G.mongodb.cEvent("guanqiajijin").find(
|
||||
{
|
||||
"uid": {"$in": _payList.map(pay => pay.uid)}
|
||||
},
|
||||
{projection: {_id: 0}}
|
||||
).toArray();
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
_users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let idx2Type2Bool = user.rec;
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
|
||||
// 没领的全发
|
||||
prizeList.forEach((con, idx) => {
|
||||
// 普通奖励没领
|
||||
if (!idx2Type2Bool[idx]?.pt) {
|
||||
uid2Prize[uid].push(...con.pt)
|
||||
}
|
||||
// 高级奖励没领
|
||||
if (!idx2Type2Bool[idx]?.tq) {
|
||||
uid2Prize[uid].push(...con.tq)
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
// 基金数据清除
|
||||
await G.mongodb.collection("event").updateMany(
|
||||
{type: "guanqiajijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*通行证基金调整
|
||||
1、已购买通行证基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发;
|
||||
2、未购买的玩家活动刷新到新版本;
|
||||
3、刷新通行证基金到未购买状态;
|
||||
* */
|
||||
async function dayjiJiJinReSet() {
|
||||
let w = {key: "dayjijin"};
|
||||
|
||||
// 激活了的玩家
|
||||
let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
let title = "通行证基金未领取奖励发放";
|
||||
let content = "通行证基金未领取奖励发放";
|
||||
let prizeList = G.gc.jijin["dayjijin"];
|
||||
// 没激活不处理
|
||||
let _users = await G.mongodb.cEvent("dayjijin").find(
|
||||
{uid: {$in: _payList.map(pay => pay.uid)}}
|
||||
).toArray();
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
_users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let idx2Type2Bool = user.rec;
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
|
||||
// 没领的全发
|
||||
prizeList.forEach((con, idx) => {
|
||||
// 普通奖励没领
|
||||
if (!idx2Type2Bool[idx]?.pt) {
|
||||
uid2Prize[uid].push(...con.pt)
|
||||
}
|
||||
// 高级奖励没领
|
||||
if (!idx2Type2Bool[idx]?.tq) {
|
||||
uid2Prize[uid].push(...con.tq)
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
// 基金数据清除
|
||||
await G.mongodb.collection("event").updateMany(
|
||||
{type: "dayjijin", uid: uid}, {"$set": {uid: `${uid}_patch_del`}}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/*月基金调整
|
||||
1、已购买128、328月基金的玩家且未领取完成的玩家,剩余奖励邮件一次性补发;
|
||||
2、未购买的玩家活动刷新到新版本;
|
||||
3、刷新月基金到未购买状态;
|
||||
* */
|
||||
async function yueJiJinReSet() {
|
||||
let proIdList = [
|
||||
"128jijin",
|
||||
"328jijin",
|
||||
];
|
||||
let w = {key: {$in: proIdList}};
|
||||
// 激活了的玩家
|
||||
let _payList = (await G.mongodb.collection("payLogNew").find(w).toArray()).filter(
|
||||
// 过滤没有结束时间 或者 有结束时间 但是没有过期的
|
||||
(pay) => pay.values?.length > 0 && (!pay.values.slice(-1)[0].eTime || pay.values.slice(-1)[0].eTime > G.time)
|
||||
);
|
||||
|
||||
// 没激活不处理
|
||||
let _users = await G.mongodb.collection("event").find(
|
||||
{
|
||||
"type": {"$in": proIdList},
|
||||
"uid": {"$in": _payList.map(pay => pay.uid)}
|
||||
}
|
||||
).toArray();
|
||||
|
||||
let uid2Prize: { [uid: string]: { a: string, t: string, n: number }[] } = {};
|
||||
let prizeList128 = G.gc.yuedujijin.find(v => v.payId == "128jijin");
|
||||
let prizeList328 = G.gc.yuedujijin.find(v => v.payId == "328jijin");
|
||||
_users.forEach(user => {
|
||||
let uid = user.uid;
|
||||
let gotarr = user.rec;
|
||||
if (!uid2Prize[uid]) uid2Prize[uid] = [];
|
||||
|
||||
let prizeList = user.type == "128jijin" ? prizeList128.prize : prizeList328.prize;
|
||||
// 没领的全发
|
||||
prizeList.forEach((onePrize, idx) => {
|
||||
// 领过了
|
||||
if (gotarr.includes(idx)) {
|
||||
return
|
||||
}
|
||||
uid2Prize[uid].push(onePrize)
|
||||
});
|
||||
})
|
||||
|
||||
let title = "月度基金未领取奖励发放";
|
||||
let content = "月度基金未领取奖励发放";
|
||||
for (const [uid, sendPrize] of Object.entries(uid2Prize)) {
|
||||
// 发放邮件
|
||||
await EmailFun.addEmail({
|
||||
uid: uid,
|
||||
type: "system",
|
||||
title: title,
|
||||
content: content,
|
||||
prize: sendPrize,
|
||||
});
|
||||
|
||||
await G.mongodb.collection("payLogNew").updateMany(
|
||||
Object.assign({uid: uid}, w), {$set: {patch: 1, del_time: G.time}}
|
||||
)
|
||||
// 基金数据清除
|
||||
await G.mongodb.collection("event").updateMany(
|
||||
{type: {$in: proIdList}, uid: uid}, {"$set": {uid: `${uid}_patch_del`}}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async function start() {
|
||||
//连接mongodb
|
||||
await initMongoDB();
|
||||
|
||||
// 首冲调整
|
||||
await shouChongReSet();
|
||||
// 超值月卡、至尊月卡、永久卡的线上玩家脚本
|
||||
await yuekaSendPrize();
|
||||
// 特权礼包脚本需求
|
||||
await tequanLiBaoSendPrize();
|
||||
// 刷新所有玩家各档位VIP礼包到未购买状态
|
||||
await resetVipLiBao();
|
||||
// 人才计划调整
|
||||
await rcjhReSet();
|
||||
// 等级基金调整
|
||||
await dengjiJiJinReSet();
|
||||
// 关卡基金调整
|
||||
await guanqiaJiJinReSet();
|
||||
// 通行证基金调整
|
||||
await dayjiJiJinReSet();
|
||||
// 月基金调整
|
||||
await yueJiJinReSet();
|
||||
}
|
||||
|
||||
//定义全局变量
|
||||
ctor();
|
||||
//启动服务
|
||||
start().then(() => {
|
||||
process.exit()
|
||||
});
|
||||
|
||||
|
@ -17,7 +17,7 @@ export class EquipFun {
|
||||
|
||||
//穿戴装备时该装备穿戴在另一个英雄身上
|
||||
if (change.wearaId != undefined && equip.wearaId && equip.wearaId != change.wearaId && changeHero) {
|
||||
let takeHero = await G.redis.get('hero', call.uid, equip.wearaId);
|
||||
let takeHero = await HeroFun.getHero(call, equip.wearaId);
|
||||
if (takeHero) {
|
||||
let _equip = Object.assign({}, takeHero.equip);
|
||||
_equip[G.gc.equip[equip.equipId].type] = '';
|
||||
|
@ -24,9 +24,9 @@ export class HeroFun {
|
||||
hero.zhanli = HeroShared.getHeroZhanLi(hero, call.otherBuff, Object.values(call.conn.gud.heroPos).indexOf(hero._id));
|
||||
change.zhanli = hero.zhanli;
|
||||
|
||||
for (let k in change) {
|
||||
await G.redis.set('hero', call.uid, hero._id, k as any, change[k]);
|
||||
}
|
||||
// for (let k in change) {
|
||||
// await G.redis.set('hero', call.uid, hero._id, k as any, change[k]);
|
||||
// }
|
||||
|
||||
await G.mongodb.collection('hero').updateOne({uid: call.uid, _id: new ObjectId(hero._id)}, {
|
||||
$set: {
|
||||
@ -41,13 +41,13 @@ export class HeroFun {
|
||||
|
||||
/**获取英雄 */
|
||||
static async getHero(call: call, oid: string) {
|
||||
let data = await G.redis.get('hero', call.uid, oid);
|
||||
if (!data) { // 如果redis中的hero数据被清理掉 直接查询数据库
|
||||
//let data = await G.redis.get('hero', call.uid, oid);
|
||||
//if (!data) { // 如果redis中的hero数据被清理掉 直接查询数据库
|
||||
let {_id, ...info} = await G.mongodb.collection("hero").findOne({
|
||||
_id: G.mongodb.conversionId(oid)
|
||||
})
|
||||
data = Object.assign({_id: _id.toHexString()}, info)
|
||||
}
|
||||
let data = Object.assign({_id: _id.toHexString()}, info)
|
||||
//}
|
||||
return data
|
||||
}
|
||||
|
||||
|
@ -454,12 +454,12 @@ export class PlayerFun {
|
||||
//hero/apiGetList里会G.redis.set('hero', call.uid, kvList);
|
||||
//在这之后再执行下面的代码则不会报错
|
||||
|
||||
if (await G.redis.type('hero', call.uid) != null) {
|
||||
G.redis.set('hero', call.uid, id, {
|
||||
_id: id,
|
||||
...ops
|
||||
});
|
||||
}
|
||||
// if (await G.redis.type('hero', call.uid) != null) {
|
||||
// G.redis.set('hero', call.uid, id, {
|
||||
// _id: id,
|
||||
// ...ops
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
call.addEventMsg('msg_s2c/HeroChange', id, {
|
||||
|
@ -38,7 +38,7 @@ export class ShiwuFun {
|
||||
|
||||
//穿戴饰物时该装备穿戴在另一个英雄身上
|
||||
if (change.wearId != undefined && shiwu.wearId && shiwu.wearId != change.wearId && changeHero) {
|
||||
let takeHero = await G.redis.get('hero', call.uid, shiwu.wearId);
|
||||
let takeHero = await HeroFun.getHero(call, shiwu.wearId);
|
||||
if (takeHero) {
|
||||
let _shiwu = Object.assign({}, takeHero.shiwu);
|
||||
let _pos = Object.keys(_shiwu).filter(pos => _shiwu[pos]._id == shiwu._id)[0];
|
||||
@ -55,7 +55,7 @@ export class ShiwuFun {
|
||||
|
||||
//属性发生变化并且穿戴在英雄身上时
|
||||
if (change.wearId == undefined && shiwu.wearId) {
|
||||
let takeHero = await G.redis.get('hero', call.uid, shiwu.wearId);
|
||||
let takeHero = await HeroFun.getHero(call, shiwu.wearId);
|
||||
if (takeHero) {
|
||||
let _shiwu = Object.assign({}, takeHero.shiwu);
|
||||
let _pos = Object.keys(_shiwu).filter(pos => _shiwu[pos]._id == shiwu._id)[0];
|
||||
|
@ -75,8 +75,9 @@ async function clearRedis() {
|
||||
G.redis.fromatKey('jjc'),
|
||||
G.redis.fromatKey('user'),
|
||||
G.redis.fromatKey('item'),
|
||||
G.redis.fromatKey('hero'),
|
||||
|
||||
//G.redis.fromatKey('equip'),
|
||||
//G.redis.fromatKey('hero'),
|
||||
//G.redis.fromatKey('shiwu'),
|
||||
//G.redis.fromatKey('gbtx'),
|
||||
//G.redis.fromatKey('dxlt'),
|
||||
|
Loading…
Reference in New Issue
Block a user