Merge branch 'master' into bugfix
This commit is contained in:
commit
2af3bf426b
@ -26,10 +26,10 @@ export async function playerCanReceive(call: ApiCall, callError : boolean = true
|
||||
}
|
||||
activityId = activityInfo.hdid;
|
||||
const hasReceivedKey = hasGotKeyPrefix + activityId;
|
||||
const hasReceivedStr = await G.iorediscross.get(hasReceivedKey);
|
||||
const hasReceivedStr = await G.crossioredis.get(hasReceivedKey);
|
||||
const hasReceived = hasReceivedStr? parseInt(hasReceivedStr) : 0;
|
||||
const remaining = activityInfo.data['totalmoney'] - hasReceived;
|
||||
const showOffResult = await G.iorediscross.lrange(showOffListKeyPrefix + activityId, 0, -1);
|
||||
const showOffResult = await G.crossioredis.lrange(showOffListKeyPrefix + activityId, 0, -1);
|
||||
const showOffList = showOffResult.map(result => JSON.parse(result));
|
||||
const zeroTime = PublicShared.getToDayZeroTime();
|
||||
const vipScore = await ActionLog.getDayLog(call.uid, 'pay');
|
||||
|
@ -71,12 +71,12 @@ export default async function (call: ApiCall<ReqReceive, ResReceive>) {
|
||||
}
|
||||
const activityData = canReceiveResult.activityInfo.data;
|
||||
// 更新 redis 领取记录之前先加锁, 防止多领
|
||||
const lockResult = await G.iorediscross.setnx(hasGotLockKey, 1);
|
||||
const lockResult = await G.crossioredis.setnx(hasGotLockKey, 1);
|
||||
if (lockResult) {
|
||||
await G.iorediscross.expire(hasGotLockKey, 1); // 设置 ttl 避免死锁
|
||||
await G.crossioredis.expire(hasGotLockKey, 1); // 设置 ttl 避免死锁
|
||||
const activityId = call.req.activityId;
|
||||
const hasReceivedKey = hasGotKeyPrefix + activityId;
|
||||
const hasReceivedStr = await G.iorediscross.get(hasReceivedKey);
|
||||
const hasReceivedStr = await G.crossioredis.get(hasReceivedKey);
|
||||
const hasReceived = hasReceivedStr? parseInt(hasReceivedStr) : 0;
|
||||
const remaining = activityData['totalmoney'] - hasReceived;
|
||||
if (remaining <= 0) {
|
||||
@ -86,8 +86,8 @@ export default async function (call: ApiCall<ReqReceive, ResReceive>) {
|
||||
} else {
|
||||
const { group, maxAmount } = randomWithWeight(activityData['groupConf']['base']['arr']);
|
||||
const gotAmount = calcDiamondGot(remaining, group, maxAmount);
|
||||
await G.iorediscross.incrby(hasReceivedKey, Math.abs(gotAmount)); // 添加已领取的额度
|
||||
await G.iorediscross.del(hasGotLockKey); // 移除锁
|
||||
await G.crossioredis.incrby(hasReceivedKey, Math.abs(gotAmount)); // 添加已领取的额度
|
||||
await G.crossioredis.del(hasGotLockKey); // 移除锁
|
||||
await PlayerFun.sendPrize(call, [{ 'a': 'attr', 't': 'rmbmoney', 'n': gotAmount }]);
|
||||
const showOff = gotAmount >= activityData['groupConf']['base']['loglimit'];
|
||||
call.succ({ // 领取核心逻辑完成, 请求可以返回了
|
||||
@ -108,8 +108,8 @@ export default async function (call: ApiCall<ReqReceive, ResReceive>) {
|
||||
name: call.conn.gud.name, gotAmount, serverID: call.conn.gud.sid
|
||||
});
|
||||
const showOffListKey = showOffListKeyPrefix + activityId;
|
||||
await G.iorediscross.lpush(showOffListKey, msg);
|
||||
await G.iorediscross.ltrim(showOffListKey, 0, 49); // 限制列表保存 50 条消息, 避免无限增长
|
||||
await G.crossioredis.lpush(showOffListKey, msg);
|
||||
await G.crossioredis.ltrim(showOffListKey, 0, 49); // 限制列表保存 50 条消息, 避免无限增长
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -4,13 +4,13 @@ import {HuoDongFun} from "../../../public/huodongfun";
|
||||
|
||||
/**
|
||||
* 消费竞赛
|
||||
* redis缓存120秒
|
||||
* redis缓存60秒
|
||||
* 返回活动日期内的
|
||||
* @param call
|
||||
*/
|
||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
|
||||
let ioList = await G.ioredis.get(`rank:xiaofeijingsai`);
|
||||
let ioList = await G.crossioredis.get(`rank:xiaofeijingsai`);
|
||||
if (ioList) {
|
||||
let myData = await getMyData(call, JSON.parse(ioList))
|
||||
return call.succ({list: JSON.parse(ioList), myData})
|
||||
@ -21,28 +21,27 @@ export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
|
||||
let limit = _hd.data?.rank?.slice(-1)?.[0]?.rank?.slice(-1)?.[0] || call.req.limit || 100
|
||||
|
||||
let rmbuse = await G.mongodb.collection('rmbuse').aggregate([
|
||||
{$match: {isAdd: false, cTime: {$gte: _hd.stime, $lte: _hd.etime}}},
|
||||
{$group: {_id: "$uid", total: {$sum: "$change"}}},
|
||||
{$sort: {total: 1}},
|
||||
{$limit: limit}
|
||||
]).toArray()
|
||||
|
||||
let list: any = rmbuse.map(i => ({...i, total: R.negate(i.total)}))
|
||||
let rmbuse = await G.crossmongodb.collection('rmbuse').find({
|
||||
time: {
|
||||
$gte: _hd.stime,
|
||||
$lte: _hd.etime + 10
|
||||
}
|
||||
}).sort({change: 1}).limit(limit).toArray()
|
||||
|
||||
let list: any = rmbuse.map(i => ({...i, total: R.negate(i.change)}))
|
||||
|
||||
let rankList = sortRankList(_hd.data.rank, list)
|
||||
|
||||
let users = await G.mongodb.collection('user').find({uid: {$in: rankList.map(i => i._id).filter(i => i._id != 'system')}}).toArray()
|
||||
let users = await G.crossmongodb.collection('huodong_user').find({uid: {$in: rankList.map(i => i._id).filter(i => i._id != 'system')}}).toArray()
|
||||
|
||||
rankList = rankList.map(i => ({...i, player: users.find(v => v.uid == i._id) || {}}))
|
||||
|
||||
// 活动结束前半小时,缓存过期时间改为10秒
|
||||
let exTime = (G.time + 1800) > _hd.etime ? 10 : 120
|
||||
let exTime = (G.time + 1800) > _hd.etime ? 10 : 60
|
||||
|
||||
G.ioredis.setex(`rank:xiaofeijingsai`, exTime, JSON.stringify(rankList));
|
||||
G.crossioredis.setex(`rank:xiaofeijingsai`, exTime, JSON.stringify(rankList));
|
||||
|
||||
let myData = await getMyData(call, rankList, _hd)
|
||||
let myData = await getMyData(call, rankList)
|
||||
|
||||
call.succ({list: rankList, myData})
|
||||
}
|
||||
@ -69,19 +68,14 @@ export function sortRankList(rank, list) {
|
||||
}
|
||||
|
||||
// 获取自己的信息
|
||||
async function getMyData(call, rankList, _hd?) {
|
||||
async function getMyData(call, rankList) {
|
||||
let myData = rankList.find(i => i._id == call.uid)
|
||||
if (myData) return myData
|
||||
|
||||
if (!_hd) {
|
||||
_hd = (await HuoDongFun.gethdList(call, 11))[0]
|
||||
}
|
||||
let myCut = (await G.mongodb.collection('rmbuse').aggregate([
|
||||
{$match: {uid: call.uid, isAdd: false, cTime: {$gte: _hd.stime, $lte: _hd.etime}}},
|
||||
{$group: {_id: "$uid", total: {$sum: "$change"}}}
|
||||
]).toArray())[0]
|
||||
let myCut: any = await G.crossmongodb.collection('rmbuse').findOne({uid: call.uid})
|
||||
|
||||
let myUser = await G.mongodb.collection('user').findOne({uid: call.uid})
|
||||
G.crossmongodb.collection('huodong_user').updateOne({uid: call.uid}, myUser, {upsert: true})
|
||||
|
||||
if (!myCut) {
|
||||
myCut = {_id: myUser.uid, total: 0}
|
||||
|
35
src/api_s2c/event/yuandan/ApiDMRec.ts
Normal file
35
src/api_s2c/event/yuandan/ApiDMRec.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqDMRec, ResDMRec} from "../../../shared/protocols/event/yuandan/PtlDMRec";
|
||||
import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PlayerFun} from "../../../public/player";
|
||||
import {HongDianChange} from "../../hongdian/fun";
|
||||
import {PublicShared} from "../../../shared/public/public";
|
||||
|
||||
export default async function (call: ApiCall<ReqDMRec, ResDMRec>) {
|
||||
// 查询活动是否存在
|
||||
let _hd = (await HuoDongFun.gethdList(call, 14))[0]
|
||||
if (!_hd) return call.errorCode(-1)
|
||||
|
||||
// 扣除免费次数或相应货币
|
||||
let data = await G.mongodb.cEvent(`yuandan${_hd.hdid}`).findOne({uid: call.uid, type: `yuandan${_hd.hdid}`})
|
||||
let rec = data?.gameNum
|
||||
|
||||
if (rec && rec >= _hd.data?.gamefree) {
|
||||
await PlayerFun.checkNeedIsMeet(call, _hd.data.gameneed);
|
||||
await PlayerFun.cutNeed(call, _hd.data.gameneed);
|
||||
}
|
||||
|
||||
let prize = []
|
||||
if (call.req.id) {
|
||||
prize = PublicShared.randomDropGroup('1', 1, {'1': _hd.data.game});
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
}
|
||||
|
||||
await G.mongodb.cEvent(`yuandan${_hd.hdid}`).updateOne({uid: call.uid, type: `yuandan${_hd.hdid}`}, {
|
||||
$inc: {[`gameNum`]: 1},
|
||||
}, {upsert: true})
|
||||
|
||||
call.succ({prize})
|
||||
|
||||
HongDianChange.sendChangeKey(call.uid, ['yuandan']);
|
||||
}
|
36
src/api_s2c/event/yuandan/ApiDZRec.ts
Normal file
36
src/api_s2c/event/yuandan/ApiDZRec.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqDZRec, ResDZRec} from "../../../shared/protocols/event/yuandan/PtlDZRec";
|
||||
import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PlayerFun} from "../../../public/player";
|
||||
import {HongDianChange} from "../../hongdian/fun";
|
||||
|
||||
export default async function (call: ApiCall<ReqDZRec, ResDZRec>) {
|
||||
// 查询活动是否有当前领奖的免费选项
|
||||
let _hd = (await HuoDongFun.gethdList(call, 14))[0]
|
||||
let gift = _hd?.data?.gift?.find(i => i.free && i.id == call.req.id)
|
||||
if (!gift) return call.errorCode(-1)
|
||||
|
||||
// 超出限购次数
|
||||
let data = await G.mongodb.cEvent(`yuandan${_hd.hdid}`).findOne({uid: call.uid, type: `yuandan${_hd.hdid}`})
|
||||
let rec = data?.gift?.[call.req.id]
|
||||
if (rec && rec >= gift.buynum) return call.errorCode(-2)
|
||||
|
||||
// 奖励不符合,严格判断
|
||||
let dlzList = R.flatten(gift.dlz.map(i => R.values(i)))
|
||||
call.req.dlz.map(i => {
|
||||
let item = dlzList.find(v => i.a == v.a && i.t == v.t && i.n == v.n)
|
||||
if (!item) call.errorCode(-4)
|
||||
})
|
||||
|
||||
let prize = [...gift.prize, ...call.req.dlz]
|
||||
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
|
||||
await G.mongodb.cEvent(`yuandan${_hd.hdid}`).updateOne({uid: call.uid, type: `yuandan${_hd.hdid}`}, {
|
||||
$set: {[`gift.${gift.id}`]: prize},
|
||||
}, {upsert: true})
|
||||
|
||||
call.succ({[gift.id]: prize})
|
||||
|
||||
HongDianChange.sendChangeKey(call.uid, ['yuandan']);
|
||||
}
|
29
src/api_s2c/event/yuandan/ApiExchange.ts
Normal file
29
src/api_s2c/event/yuandan/ApiExchange.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqExchange, ResExchange} from "../../../shared/protocols/event/yuandan/PtlExchange";
|
||||
import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PlayerFun} from "../../../public/player";
|
||||
import {HongDianChange} from "../../hongdian/fun";
|
||||
|
||||
export default async function (call: ApiCall<ReqExchange, ResExchange>) {
|
||||
// 礼包不存在
|
||||
let _hd = (await HuoDongFun.gethdList(call, 14))[0]
|
||||
let gift = _hd?.data?.duihuan?.find(i => i.id == call.req.id)
|
||||
if (!gift) return call.errorCode(-1)
|
||||
|
||||
// 超出限购次数
|
||||
let data = await G.mongodb.cEvent(`yuandan${_hd.hdid}`).findOne({uid: call.uid, type: `yuandan${_hd.hdid}`})
|
||||
let rec = data?.exchange?.[call.req.id]
|
||||
if (rec && rec >= gift?.buyNum) return call.errorCode(-2)
|
||||
|
||||
await PlayerFun.checkNeedIsMeet(call, gift.need);
|
||||
await PlayerFun.cutNeed(call, gift.need)
|
||||
await PlayerFun.sendPrize(call, gift.prize);
|
||||
|
||||
await G.mongodb.cEvent(`yuandan${_hd.hdid}`).updateOne({uid: call.uid, type: `yuandan${_hd.hdid}`}, {
|
||||
$inc: {[`exchange.${gift.id}`]: 1},
|
||||
}, {upsert: true})
|
||||
|
||||
call.succ({})
|
||||
|
||||
HongDianChange.sendChangeKey(call.uid, ['yuandan']);
|
||||
}
|
16
src/api_s2c/event/yuandan/ApiOpen.ts
Normal file
16
src/api_s2c/event/yuandan/ApiOpen.ts
Normal file
@ -0,0 +1,16 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqOpen, ResOpen} from "../../../shared/protocols/event/yuandan/PtlOpen";
|
||||
import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PayFun} from "../../../public/pay";
|
||||
import {Yuandanfun} from "./fun";
|
||||
|
||||
export default async function (call: ApiCall<ReqOpen, ResOpen>) {
|
||||
let _hd = await Yuandanfun.getCon(call)
|
||||
|
||||
let payIds = _hd.data.gift.filter(i => i.payid).map(i => i.payid)
|
||||
|
||||
call.succ({
|
||||
data: await Yuandanfun.getData(call, _hd.hdid),
|
||||
payLog: await PayFun.getPayLogs(call.uid, payIds)
|
||||
})
|
||||
}
|
37
src/api_s2c/event/yuandan/ApiTaskRec.ts
Normal file
37
src/api_s2c/event/yuandan/ApiTaskRec.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { ReqTaskRec, ResTaskRec } from "../../../shared/protocols/event/yuandan/PtlTaskRec";
|
||||
import {Yuandanfun, Yuandanfun as Christmasfun} from "./fun";
|
||||
import {HongDianChange} from "../../hongdian/fun";
|
||||
import {PlayerFun} from "../../../public/player";
|
||||
|
||||
export default async function (call: ApiCall<ReqTaskRec, ResTaskRec>) {
|
||||
let _hd = await Christmasfun.getCon(call)
|
||||
let taskid = call.req.taskid;
|
||||
let _con = _hd.data.task[taskid];
|
||||
if (!_con) {
|
||||
// 任务id 不存在
|
||||
return call.error('', { code: -1, message: globalThis.lng.yangchengmubiao_2 })
|
||||
}
|
||||
let _mydata = await Yuandanfun.getData(call, _hd.hdid)
|
||||
if (_mydata.taskval[taskid] < _con.pval) {
|
||||
// 任务未完成
|
||||
return call.error('', { code: -2, message: globalThis.lng.yangchengmubiao_3 })
|
||||
}
|
||||
if (_mydata.taskfinish.includes(taskid)) {
|
||||
// 任务已领取
|
||||
return call.error('', { code: -3, message: globalThis.lng.yangchengmubiao_4 })
|
||||
}
|
||||
_mydata.taskfinish.push(taskid)
|
||||
let _setData = {}
|
||||
_setData["taskfinish"] = _mydata.taskfinish
|
||||
await Yuandanfun.setData(call.uid, _hd.hdid, { $set: _setData })
|
||||
let _prize = _con.prize
|
||||
|
||||
await PlayerFun.sendPrize(call, _prize);
|
||||
let changedata = { data: _mydata, prize: _prize}
|
||||
// 推送红点
|
||||
HongDianChange.sendChangeKey(call.uid, ['huodonghd']);
|
||||
call.succ(changedata);
|
||||
|
||||
|
||||
}
|
44
src/api_s2c/event/yuandan/ApiZLRec.ts
Normal file
44
src/api_s2c/event/yuandan/ApiZLRec.ts
Normal file
@ -0,0 +1,44 @@
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {ReqZLRec, ResZLRec} from "../../../shared/protocols/event/yuandan/PtlZLRec";
|
||||
import {HuoDongFun} from "../../../public/huodongfun";
|
||||
import {PlayerFun} from "../../../public/player";
|
||||
import {HongDianChange} from "../../hongdian/fun";
|
||||
import {Yuandanfun} from "./fun";
|
||||
import {PublicShared} from "../../../shared/public/public";
|
||||
|
||||
export default async function (call: ApiCall<ReqZLRec, ResZLRec>) {
|
||||
let _hd = await Yuandanfun.getCon(call)
|
||||
if (!_hd) return call.errorCode(-1)
|
||||
|
||||
// 查询是否存在当前传入id的礼品
|
||||
let gift = _hd?.data?.qiandao?.[call.req.id]
|
||||
if (!gift) return call.errorCode(-2)
|
||||
|
||||
// 奖励已领取
|
||||
let data = await G.mongodb.cEvent(`yuandan${_hd.hdid}`).findOne({uid: call.uid, type: `yuandan${_hd.hdid}`})
|
||||
let rec = data?.qiandao?.[call.req.id]
|
||||
if (rec) return call.errorCode(-3)
|
||||
|
||||
if (data && data.qiandaoTime && PublicShared.chkSameDate(data.qiandaoTime, G.time)) {
|
||||
return call.errorCode(-4)
|
||||
}
|
||||
|
||||
// 奖励不符合,严格判断
|
||||
let dlzList = R.flatten(gift.dlz.map(i => R.values(i)))
|
||||
call.req.dlz.map(i => {
|
||||
let item = dlzList.find(v => i.a == v.a && i.t == v.t && i.n == v.n)
|
||||
if (!item) call.errorCode(-5)
|
||||
})
|
||||
|
||||
let prize = [...gift.prize, ...call.req.dlz]
|
||||
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
|
||||
await G.mongodb.cEvent(`yuandan${_hd.hdid}`).updateOne({uid: call.uid, type: `yuandan${_hd.hdid}`}, {
|
||||
$set: {[`qiandao.${call.req.id}`]: prize, qiandaoTime: G.time},
|
||||
}, {upsert: true})
|
||||
|
||||
call.succ({[call.req.id]: prize})
|
||||
|
||||
HongDianChange.sendChangeKey(call.uid, ['yuandan']);
|
||||
}
|
116
src/api_s2c/event/yuandan/fun.ts
Normal file
116
src/api_s2c/event/yuandan/fun.ts
Normal file
@ -0,0 +1,116 @@
|
||||
import {ApiCall} from 'tsrpc';
|
||||
import {HuoDongFun} from '../../../public/huodongfun';
|
||||
import {christmas} from '../../../shared/protocols/event/christmas/PtlOpen';
|
||||
import {PublicShared} from '../../../shared/public/public';
|
||||
import {PayFun} from "../../../public/pay";
|
||||
|
||||
export class Yuandanfun {
|
||||
/**配置 */
|
||||
static async getCon(call: ApiCall) {
|
||||
return (await HuoDongFun.gethdList(call, 14))[0]
|
||||
}
|
||||
|
||||
/**获取我的数据 */
|
||||
static async getData(call: ApiCall, hdid: number) {
|
||||
|
||||
let data = await G.mongodb.cEvent(`yuandan${hdid}`).findOne({uid: call.uid, type: `yuandan${hdid}`})
|
||||
|
||||
if (!data || !data.refreshTime || !PublicShared.chkSameDate(data.refreshTime, G.time)) {
|
||||
// 刷新每日任务
|
||||
data = (await G.mongodb.cEvent(`yuandan${hdid}`).findOneAndUpdate({uid: call.uid, type: `yuandan${hdid}`}, {
|
||||
$set: {
|
||||
gameNum: 0,
|
||||
gift: {},
|
||||
exchange: {},
|
||||
taskfinish: [],
|
||||
taskval: await this.getTaskVal(call),
|
||||
qiandaoTime: data?.qiandaoTime || 0,
|
||||
refreshTime: G.time
|
||||
},
|
||||
}, {upsert: true, returnDocument: 'after'})).value
|
||||
this.refreshPayLog(call)
|
||||
}
|
||||
return data
|
||||
}
|
||||
|
||||
static async refreshPayLog(call: ApiCall) {
|
||||
let _hd = await this.getCon(call)
|
||||
let payIds = _hd?.data?.gift?.filter(i=>i.payId).map(i=>i.payId)
|
||||
PayFun.delPayLog(call.uid, ...payIds.map(i => {
|
||||
return {payId: i, val: []}
|
||||
}))
|
||||
}
|
||||
|
||||
/**获取所有taskid 及对应的值 */
|
||||
static async getTaskVal(call: ApiCall) {
|
||||
let _initCon = await this.getCon(call)
|
||||
let _tasks = _initCon.data.task
|
||||
let _res = {}
|
||||
for (let index = 0; index < Object.keys(_tasks).length; index++) {
|
||||
const element = Object.keys(_tasks)[index];
|
||||
let _tmp = _tasks[element]
|
||||
_tmp["id"] = element
|
||||
// 每日登录直接完成
|
||||
if (_tmp.stype == "128") {
|
||||
_res[element] = 1
|
||||
} else {
|
||||
_res[element] = 0
|
||||
}
|
||||
}
|
||||
return _res
|
||||
}
|
||||
|
||||
/**设置数据 */
|
||||
static async setData(uid: string, hdid: number, set: {}) {
|
||||
await G.mongodb.cEvent(`yuandan${hdid}`).updateOne(
|
||||
{uid: uid, type: `yuandan${hdid}`},
|
||||
set
|
||||
)
|
||||
}
|
||||
|
||||
/**设置任务 */
|
||||
static async setTaskVal(call: ApiCall, stype: number, val: number, chkCall: Function, chkval: number = 0, isinc: number = 0, alchangeVal: Function, arg) {
|
||||
// 活动过期,不计数
|
||||
let _hd = await this.getCon(call)
|
||||
if (!_hd) return
|
||||
|
||||
// let _mydata = await Christmasfun.getMyData(call, hdid)
|
||||
let _tasks = _hd.data.task
|
||||
|
||||
let _setData = {
|
||||
$inc: {},
|
||||
$set: {}
|
||||
}
|
||||
let isset = 0
|
||||
for (let indextask = 0; indextask < Object.keys(_tasks).length; indextask++) {
|
||||
const ele = Object.keys(_tasks)[indextask];
|
||||
// 具体任务配置
|
||||
let _taskCon = _tasks[ele]
|
||||
if (_taskCon.stype != stype) continue
|
||||
|
||||
let _pval = _taskCon.pval
|
||||
// 不符合任务要求
|
||||
if (!(await chkCall(_taskCon["cond"], chkval, arg))) continue
|
||||
|
||||
// 根据需求改写
|
||||
val = await alchangeVal(call, _taskCon, val, arg)
|
||||
|
||||
isset = 1
|
||||
if (isinc == 1) { // 累加
|
||||
_setData["$inc"][`taskval.${ele}`] = val
|
||||
} else {
|
||||
_setData["$set"][`taskval.${ele}`] = val
|
||||
}
|
||||
}
|
||||
|
||||
// 设置任务
|
||||
if (isset == 1) {
|
||||
await G.mongodb.collection('event').updateOne(
|
||||
{uid: call.uid, type: `yuandan${_hd.hdid}`},
|
||||
_setData
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -8,4 +8,11 @@ export default async function (call: ApiCall<ReqhdGetList, ReshdGetList>) {
|
||||
let _hdList = await HuoDongFun.gethdList(call)
|
||||
|
||||
call.succ({hdlist: _hdList});
|
||||
|
||||
// 消费竞赛是跨服活动,活动开启时,同步当前用户信息到跨服数据库
|
||||
G.huodong.xfjs = !!_hdList.find(i => i.htype == 11);
|
||||
if (G.huodong.xfjs) {
|
||||
let myUser = await G.mongodb.collection('user').findOne({uid: call.uid})
|
||||
G.crossmongodb.collection('huodong_user').updateOne({uid: call.uid}, {$set: myUser}, {upsert: true})
|
||||
}
|
||||
}
|
@ -348,6 +348,10 @@ export class HuoDongHongDianFun {
|
||||
// 检测 htype 10 破冰活动红点
|
||||
ishd = await this.pobinglibao(call, element)
|
||||
}
|
||||
if (element.htype == 14) {
|
||||
// 检测 htype 10 破冰活动红点
|
||||
ishd = await this.yuandan(call, element)
|
||||
}
|
||||
|
||||
// 此活动有红点
|
||||
if (ishd.show) {
|
||||
@ -362,7 +366,7 @@ export class HuoDongHongDianFun {
|
||||
|
||||
/**破冰礼包红点 */
|
||||
static async pobinglibao(call: ApiCall, _hd: ReqAddHuoDong): Promise<hongdianVal> {
|
||||
let gift = _hd?.data?.gift?.find(i => i.id == call.req.id)
|
||||
let gift = _hd?.data?.gift?.find(i => i.free == true && !i.payId)
|
||||
if (!gift) return {show: false}
|
||||
|
||||
let payLog = await PayFun.getPayLog(call.uid, gift.payId)
|
||||
@ -376,6 +380,31 @@ export class HuoDongHongDianFun {
|
||||
return {show: true}
|
||||
}
|
||||
|
||||
/**元旦活动红点 */
|
||||
static async yuandan(call: ApiCall, _hd: ReqAddHuoDong): Promise<hongdianVal> {
|
||||
|
||||
let gift = _hd?.data?.gift?.find(i => i.free && !i.payId)
|
||||
|
||||
// 取奖励列表,判断是否有可领取奖励
|
||||
let data = await G.mongodb.cEvent(`yuandan${_hd.hdid}`).findOne({uid: call.uid, type: `yuandan${_hd.hdid}`})
|
||||
|
||||
if (gift && !data?.gift?.[gift.id]) return {show: true}
|
||||
|
||||
if (data?.gameNum < _hd.data.gamefree) return {show: true}
|
||||
|
||||
if (!PublicShared.chkSameDate(data?.qiandaoTime || 0, G.time)) {
|
||||
return {show: true}
|
||||
}
|
||||
|
||||
for (let i = 1; i++; i <= data.taskval.length) {
|
||||
if (data?.taskval[i] >= _hd?.data?.task?.[i]?.pval && !data?.taskfinish.find(v => v == i + '')) {
|
||||
return {show: true}
|
||||
}
|
||||
}
|
||||
|
||||
return {show: false}
|
||||
}
|
||||
|
||||
/**开服狂欢红点 */
|
||||
static async kfkhHongDian(call: ApiCall) {
|
||||
let _res: hongdianVal = {
|
||||
|
@ -44,10 +44,10 @@ export function clusterPublish(key: string, data: any) {
|
||||
* 在集群的N个进程中,只运行一次,在业务逻辑中也可使用
|
||||
*/
|
||||
export function clusterRunOnce(fun) {
|
||||
console.log(`${process.pid}环境变量pm_id===>${process.env.pm_id}`);
|
||||
// console.log(`${process.pid}环境变量pm_id===>${process.env.pm_id}`);
|
||||
if (process.env.pm_id == null || process.env.pm_id === '0') {
|
||||
//非pm2启动的,或是pm2下启动的第一个进程
|
||||
console.log("run clusterRunOnce1 ===>", process.pid)
|
||||
// console.log("run clusterRunOnce1 ===>", process.pid)
|
||||
fun();
|
||||
return;
|
||||
}
|
||||
@ -56,7 +56,7 @@ export function clusterRunOnce(fun) {
|
||||
|
||||
if (firstPid == process.pid) {
|
||||
//pm2的其中一个进程
|
||||
console.log("run clusterRunOnce2 ===>", process.pid)
|
||||
// console.log("run clusterRunOnce2 ===>", process.pid)
|
||||
fun();
|
||||
return;
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
import EventEmitter from 'events';
|
||||
import { existsSync, readdirSync, readFileSync, writeFileSync } from 'fs';
|
||||
import { parse } from 'json5';
|
||||
import {existsSync, readdirSync, readFileSync, writeFileSync} from 'fs';
|
||||
import {parse} from 'json5';
|
||||
import * as mathjs from 'mathjs';
|
||||
import { join, resolve } from 'path';
|
||||
import { argv, env } from 'process';
|
||||
import { HttpServer, WsClient, WsServer } from 'tsrpc';
|
||||
import { ServiceType as ServiceTypeCross } from './cross/protocols/serviceProto';
|
||||
import { MyEvent } from './event';
|
||||
import { addListener, gEventType } from './globalListener';
|
||||
import {join, resolve} from 'path';
|
||||
import {argv, env} from 'process';
|
||||
import {HttpServer, WsClient, WsServer} from 'tsrpc';
|
||||
import {ServiceType as ServiceTypeCross} from './cross/protocols/serviceProto';
|
||||
import {MyEvent} from './event';
|
||||
import {addListener, gEventType} from './globalListener';
|
||||
import localConfig from './localConfig';
|
||||
import { ServiceType as ServiceTypeHttp } from './monopoly/protocols/serviceProto';
|
||||
import { SchedulerManage } from './public/scheduler/scheduler';
|
||||
import { _mongodb } from './setMongodb';
|
||||
import { redisJsonFun } from './setRedis';
|
||||
import { ResGetList } from './shared/protocols/pay/PtlGetList';
|
||||
import { ServiceType as ServiceTypeWs } from './shared/protocols/serviceProto';
|
||||
import { PublicShared } from './shared/public/public';
|
||||
import { clusterRunOnce } from './clusterUtils';
|
||||
import {ServiceType as ServiceTypeHttp} from './monopoly/protocols/serviceProto';
|
||||
import {SchedulerManage} from './public/scheduler/scheduler';
|
||||
import {_mongodb} from './setMongodb';
|
||||
import {redisJsonFun} from './setRedis';
|
||||
import {ResGetList} from './shared/protocols/pay/PtlGetList';
|
||||
import {ServiceType as ServiceTypeWs} from './shared/protocols/serviceProto';
|
||||
import {PublicShared} from './shared/public/public';
|
||||
import {clusterRunOnce} from './clusterUtils';
|
||||
import * as ramda from 'ramda'
|
||||
import Redis from 'ioredis';
|
||||
|
||||
@ -33,22 +33,24 @@ declare global {
|
||||
type atn = { a: string, t: string | number | any, n: number; colour?: number; shiwuBuff?: any; };
|
||||
|
||||
/**类型过滤 */
|
||||
type FilterConditionally<Source, Condition> = Pick<
|
||||
Source,
|
||||
type FilterConditionally<Source, Condition> = Pick<Source,
|
||||
{
|
||||
[K in keyof Source]: Source[K] extends Condition ? K : never
|
||||
}[keyof Source]
|
||||
>;
|
||||
}[keyof Source]>;
|
||||
|
||||
interface Array<T> {
|
||||
/**数组随机取值 */
|
||||
random(): T;
|
||||
|
||||
/**取一个数组在当前数组中的交集 */
|
||||
intersection(other: T[]): T[];
|
||||
|
||||
/**取一个数组在当前数组中的差集 */
|
||||
difference(other: T[]): T[];
|
||||
|
||||
/**数组是否存在重复元素 */
|
||||
isDuplication(): boolean;
|
||||
|
||||
/**打乱数组 */
|
||||
shuffle(): this;
|
||||
}
|
||||
@ -69,9 +71,9 @@ class _G {
|
||||
/**服务器日志模式 error | debug*/
|
||||
logModel: string;
|
||||
} = {
|
||||
serverType: 'msg',
|
||||
logModel: 'error'
|
||||
};
|
||||
serverType: 'msg',
|
||||
logModel: 'error'
|
||||
};
|
||||
/**当前时间对象 */
|
||||
date: Date;
|
||||
/**当前时间戳 */
|
||||
@ -93,7 +95,7 @@ class _G {
|
||||
/**ioredis连接对象 */
|
||||
ioredis: Redis;
|
||||
/** 跨服 ioredis 连接对象 */
|
||||
iorediscross: Redis;
|
||||
crossioredis: Redis;
|
||||
/**mongodb连接对象 */
|
||||
mongodb: _mongodb;
|
||||
/**crossmongodb连接对象 */
|
||||
@ -102,6 +104,11 @@ class _G {
|
||||
/**所有玩家的充值记录 */
|
||||
allPlayerPayLog: k_v<ResGetList['list']> = {};
|
||||
|
||||
/**跨服活动——消费竞赛的开启状态 */
|
||||
huodong = {
|
||||
xfjs: false
|
||||
};
|
||||
|
||||
private event = new EventEmitter();
|
||||
|
||||
/**映射开服时间 */
|
||||
@ -115,7 +122,7 @@ class _G {
|
||||
off(type: any, callback: any, caller?: any): void;
|
||||
emit(type: any, ...args: any[]): void;
|
||||
debug(): any;
|
||||
removeAllListeners(type?:any):void;
|
||||
removeAllListeners(type?: any): void;
|
||||
} {
|
||||
return MyEvent as any;
|
||||
}
|
||||
@ -142,10 +149,10 @@ class _G {
|
||||
}
|
||||
|
||||
on<T extends keyof gEventType>(event: T, callback: gEventType[T]) {
|
||||
return this.event.on(event, (...args)=>{
|
||||
try{
|
||||
return this.event.on(event, (...args) => {
|
||||
try {
|
||||
callback.call(this, ...args);
|
||||
}catch(e){
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
});
|
||||
@ -166,7 +173,7 @@ class _G {
|
||||
if (file.endsWith('.json5')) {
|
||||
let json = parse(readFileSync(join(jsonPath, file), 'utf-8'));
|
||||
this.gc[file.split('.')[0]] = json;
|
||||
} else if(file.endsWith('.json')) {
|
||||
} else if (file.endsWith('.json')) {
|
||||
let json = JSON.parse(readFileSync(join(jsonPath, file), 'utf-8'));
|
||||
this.gc[file.split('.')[0]] = json;
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ export async function initIORedis() {
|
||||
G.ioredis = new Redis(G.argv.serverType == 'cross' ? G.config.crossRedisUrl : G.config.redisUrl,{
|
||||
keyPrefix: preKey,
|
||||
});
|
||||
G.iorediscross = new Redis(G.config.crossRedisUrl,{
|
||||
G.crossioredis = new Redis(G.config.crossRedisUrl,{
|
||||
keyPrefix: "cross_",
|
||||
});
|
||||
}
|
||||
|
@ -138,5 +138,25 @@
|
||||
"sicon": "icon_hspj",
|
||||
"describe": "intr_attr_describe_15",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"weiwang": {
|
||||
"id": "weiwang",
|
||||
"name": "intr_attr_name_16",
|
||||
"undefined": "影响力",
|
||||
"colour": 4,
|
||||
"icon": "icon_weiwang",
|
||||
"sicon": "icon_weiwang",
|
||||
"describe": "intr_attr_describe_16",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"yuandanyouxi": {
|
||||
"id": "yuandanyouxi",
|
||||
"name": "intr_attr_name_17",
|
||||
"undefined": "元旦游戏币",
|
||||
"colour": 5,
|
||||
"icon": "icon_xnjb",
|
||||
"sicon": "icon_xnjb",
|
||||
"describe": "intr_attr_describe_17",
|
||||
"advancedEffects": "ani_xiangzikuang"
|
||||
}
|
||||
}
|
@ -39,9 +39,9 @@
|
||||
],
|
||||
//段位奖励
|
||||
danPrize: [
|
||||
{ star: [49, 49], prize: [{ a: 'item', t: '605', n:3 },{ a: 'item', t: '29', n:10 },{ a: 'item', t: '38', n:3 },{ a: 'item', t: '40', n:1 }] },
|
||||
{ star: [39, 48], prize: [{ a: 'item', t: '605', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '38', n:2 }] },
|
||||
{ star: [29, 38], prize: [{ a: 'item', t: '606', n:3 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '38', n:1 }] },
|
||||
{ star: [49, 49], prize: [{ a: 'item', t: '605', n:3 },{ a: 'item', t: '29', n:10 },{ a: 'item', t: '631', n:3 },{ a: 'item', t: '40', n:1 }] },
|
||||
{ star: [39, 48], prize: [{ a: 'item', t: '605', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:2 }] },
|
||||
{ star: [29, 38], prize: [{ a: 'item', t: '606', n:3 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '631', n:1 }] },
|
||||
{ star: [21, 28], prize: [{ a: 'item', t: '606', n:2 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:1000 }] },
|
||||
{ star: [13, 20], prize: [{ a: 'item', t: '606', n:1 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:800 }] },
|
||||
{ star: [7, 12], prize: [{ a: 'item', t: '29', n:10 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:600 }] },
|
||||
|
@ -18,7 +18,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 30
|
||||
"npc": 60001
|
||||
},
|
||||
"1": {
|
||||
"allStar": 1,
|
||||
@ -39,7 +39,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 30
|
||||
"npc": 60002
|
||||
},
|
||||
"2": {
|
||||
"allStar": 2,
|
||||
@ -60,7 +60,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 30
|
||||
"npc": 60003
|
||||
},
|
||||
"3": {
|
||||
"allStar": 3,
|
||||
@ -81,7 +81,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 30
|
||||
"npc": 60004
|
||||
},
|
||||
"4": {
|
||||
"allStar": 4,
|
||||
@ -102,7 +102,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 31
|
||||
"npc": 60005
|
||||
},
|
||||
"5": {
|
||||
"allStar": 5,
|
||||
@ -123,7 +123,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 31
|
||||
"npc": 60006
|
||||
},
|
||||
"6": {
|
||||
"allStar": 6,
|
||||
@ -144,7 +144,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 31
|
||||
"npc": 60007
|
||||
},
|
||||
"7": {
|
||||
"allStar": 7,
|
||||
@ -165,7 +165,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 31
|
||||
"npc": 60008
|
||||
},
|
||||
"8": {
|
||||
"allStar": 8,
|
||||
@ -186,7 +186,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 32
|
||||
"npc": 60009
|
||||
},
|
||||
"9": {
|
||||
"allStar": 9,
|
||||
@ -207,7 +207,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 32
|
||||
"npc": 60010
|
||||
},
|
||||
"10": {
|
||||
"allStar": 10,
|
||||
@ -228,7 +228,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 32
|
||||
"npc": 60011
|
||||
},
|
||||
"11": {
|
||||
"allStar": 11,
|
||||
@ -249,7 +249,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 32
|
||||
"npc": 60012
|
||||
},
|
||||
"12": {
|
||||
"allStar": 12,
|
||||
@ -270,7 +270,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 33
|
||||
"npc": 60013
|
||||
},
|
||||
"13": {
|
||||
"allStar": 13,
|
||||
@ -291,7 +291,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 33
|
||||
"npc": 60014
|
||||
},
|
||||
"14": {
|
||||
"allStar": 14,
|
||||
@ -312,7 +312,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 33
|
||||
"npc": 60015
|
||||
},
|
||||
"15": {
|
||||
"allStar": 15,
|
||||
@ -333,7 +333,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 33
|
||||
"npc": 60016
|
||||
},
|
||||
"16": {
|
||||
"allStar": 16,
|
||||
@ -354,7 +354,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 34
|
||||
"npc": 60017
|
||||
},
|
||||
"17": {
|
||||
"allStar": 17,
|
||||
@ -375,7 +375,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 34
|
||||
"npc": 60018
|
||||
},
|
||||
"18": {
|
||||
"allStar": 18,
|
||||
@ -396,7 +396,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 34
|
||||
"npc": 60019
|
||||
},
|
||||
"19": {
|
||||
"allStar": 19,
|
||||
@ -417,7 +417,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 34
|
||||
"npc": 60020
|
||||
},
|
||||
"20": {
|
||||
"allStar": 20,
|
||||
@ -438,7 +438,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 35
|
||||
"npc": 60021
|
||||
},
|
||||
"21": {
|
||||
"allStar": 21,
|
||||
@ -459,7 +459,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 35
|
||||
"npc": 60022
|
||||
},
|
||||
"22": {
|
||||
"allStar": 22,
|
||||
@ -480,7 +480,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 35
|
||||
"npc": 60023
|
||||
},
|
||||
"23": {
|
||||
"allStar": 23,
|
||||
@ -501,7 +501,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 35
|
||||
"npc": 60024
|
||||
},
|
||||
"24": {
|
||||
"allStar": 24,
|
||||
@ -522,7 +522,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 36
|
||||
"npc": 60025
|
||||
},
|
||||
"25": {
|
||||
"allStar": 25,
|
||||
@ -543,7 +543,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 36
|
||||
"npc": 60026
|
||||
},
|
||||
"26": {
|
||||
"allStar": 26,
|
||||
@ -564,7 +564,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 36
|
||||
"npc": 60027
|
||||
},
|
||||
"27": {
|
||||
"allStar": 27,
|
||||
@ -585,7 +585,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 36
|
||||
"npc": 60028
|
||||
},
|
||||
"28": {
|
||||
"allStar": 28,
|
||||
@ -606,7 +606,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 37
|
||||
"npc": 60029
|
||||
},
|
||||
"29": {
|
||||
"allStar": 29,
|
||||
@ -627,7 +627,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 37
|
||||
"npc": 60030
|
||||
},
|
||||
"30": {
|
||||
"allStar": 30,
|
||||
@ -648,7 +648,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 37
|
||||
"npc": 60031
|
||||
},
|
||||
"31": {
|
||||
"allStar": 31,
|
||||
@ -669,7 +669,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 37
|
||||
"npc": 60032
|
||||
},
|
||||
"32": {
|
||||
"allStar": 32,
|
||||
@ -690,7 +690,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 38
|
||||
"npc": 60033
|
||||
},
|
||||
"33": {
|
||||
"allStar": 33,
|
||||
@ -711,7 +711,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 38
|
||||
"npc": 60034
|
||||
},
|
||||
"34": {
|
||||
"allStar": 34,
|
||||
@ -732,7 +732,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 38
|
||||
"npc": 60035
|
||||
},
|
||||
"35": {
|
||||
"allStar": 35,
|
||||
@ -753,7 +753,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 38
|
||||
"npc": 60036
|
||||
},
|
||||
"36": {
|
||||
"allStar": 36,
|
||||
@ -774,7 +774,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 39
|
||||
"npc": 60037
|
||||
},
|
||||
"37": {
|
||||
"allStar": 37,
|
||||
@ -795,7 +795,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 39
|
||||
"npc": 60038
|
||||
},
|
||||
"38": {
|
||||
"allStar": 38,
|
||||
@ -816,7 +816,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 39
|
||||
"npc": 60039
|
||||
},
|
||||
"39": {
|
||||
"allStar": 39,
|
||||
@ -837,7 +837,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 39
|
||||
"npc": 60040
|
||||
},
|
||||
"40": {
|
||||
"allStar": 40,
|
||||
@ -858,7 +858,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 40
|
||||
"npc": 60041
|
||||
},
|
||||
"41": {
|
||||
"allStar": 41,
|
||||
@ -879,7 +879,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 40
|
||||
"npc": 60042
|
||||
},
|
||||
"42": {
|
||||
"allStar": 42,
|
||||
@ -900,7 +900,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 40
|
||||
"npc": 60043
|
||||
},
|
||||
"43": {
|
||||
"allStar": 43,
|
||||
@ -921,7 +921,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 40
|
||||
"npc": 60044
|
||||
},
|
||||
"44": {
|
||||
"allStar": 44,
|
||||
@ -942,7 +942,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 41
|
||||
"npc": 60045
|
||||
},
|
||||
"45": {
|
||||
"allStar": 45,
|
||||
@ -963,7 +963,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 41
|
||||
"npc": 60046
|
||||
},
|
||||
"46": {
|
||||
"allStar": 46,
|
||||
@ -984,7 +984,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 41
|
||||
"npc": 60047
|
||||
},
|
||||
"47": {
|
||||
"allStar": 47,
|
||||
@ -1005,7 +1005,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 41
|
||||
"npc": 60048
|
||||
},
|
||||
"48": {
|
||||
"allStar": 48,
|
||||
@ -1026,7 +1026,7 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 41
|
||||
"npc": 60049
|
||||
},
|
||||
"49": {
|
||||
"allStar": 49,
|
||||
@ -1047,6 +1047,6 @@
|
||||
"n": 100
|
||||
}
|
||||
],
|
||||
"npc": 42
|
||||
"npc": 60050
|
||||
}
|
||||
}
|
@ -7139,6 +7139,27 @@
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^50011": {
|
||||
"itemId": "item^50011",
|
||||
"name": "新春安宁",
|
||||
"i18nKey": "playerheadFrame_name_25",
|
||||
"detailI18nKey": "intr_item_describe_50011",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^50101": {
|
||||
"itemId": "item^50101",
|
||||
"name": "冰天雪地",
|
||||
@ -7223,6 +7244,27 @@
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^50105": {
|
||||
"itemId": "item^50105",
|
||||
"name": "新年快乐",
|
||||
"i18nKey": "playerChatFrame_name_9",
|
||||
"detailI18nKey": "intr_item_describe_50105",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "item",
|
||||
"typeName": "道具",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"item^50201": {
|
||||
"itemId": "item^50201",
|
||||
"name": "招贤纳士",
|
||||
@ -10669,7 +10711,7 @@
|
||||
},
|
||||
"attr^shengdanExp": {
|
||||
"itemId": "attr^shengdanExp",
|
||||
"name": "圣诞战令经验",
|
||||
"name": "圣诞积分",
|
||||
"i18nKey": "intr_attr_name_13",
|
||||
"detailI18nKey": "intr_attr_describe_13",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
@ -10690,7 +10732,7 @@
|
||||
},
|
||||
"attr^shengdanBullet": {
|
||||
"itemId": "attr^shengdanBullet",
|
||||
"name": "圣诞打靶币",
|
||||
"name": "圣诞喷漆",
|
||||
"i18nKey": "intr_attr_name_14",
|
||||
"detailI18nKey": "intr_attr_describe_14",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
@ -10711,7 +10753,7 @@
|
||||
},
|
||||
"attr^jingxuanbi": {
|
||||
"itemId": "attr^jingxuanbi",
|
||||
"name": "每日精选兑换币",
|
||||
"name": "黑市票券",
|
||||
"i18nKey": "intr_attr_name_15",
|
||||
"detailI18nKey": "intr_attr_describe_15",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
@ -10729,5 +10771,47 @@
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"attr^weiwang": {
|
||||
"itemId": "attr^weiwang",
|
||||
"name": "影响力",
|
||||
"i18nKey": "intr_attr_name_16",
|
||||
"detailI18nKey": "intr_attr_describe_16",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "attr",
|
||||
"typeName": "货币",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 4
|
||||
}
|
||||
},
|
||||
"attr^yuandanyouxi": {
|
||||
"itemId": "attr^yuandanyouxi",
|
||||
"name": "新年庆典币",
|
||||
"i18nKey": "intr_attr_name_17",
|
||||
"detailI18nKey": "intr_attr_describe_17",
|
||||
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
|
||||
"value": 0,
|
||||
"typeId": "attr",
|
||||
"typeName": "货币",
|
||||
"isStoreSupported": true,
|
||||
"isAiSupported": true,
|
||||
"attributes": {
|
||||
"storeDisplayPrice": null,
|
||||
"storeCategory": "",
|
||||
"setQuantity": 1,
|
||||
"purchaseLimit": 0,
|
||||
"sellMinCp": 100,
|
||||
"sellMaxCp": 500,
|
||||
"rarity": 5
|
||||
}
|
||||
}
|
||||
}
|
@ -1413,7 +1413,7 @@
|
||||
"triggerType": "openCond",
|
||||
"typeId": "dixialeitai_paiqian",
|
||||
"Type": "finger",
|
||||
"path": "Canvas/draw/uiRoot/uiView_dixialeitai_paiqian/dixialeitai_paiqian/ScrollView/view/content/list/item/ItemClass",
|
||||
"path": "Canvas/draw/uiRoot/uiView_dixialeitai_paiqian/dixialeitai_paiqian/dxlt_txdb/ScrollView/view/content/list/item/ItemClass",
|
||||
"undefined": "点击第一个干部",
|
||||
"initiative": 1,
|
||||
"location": 1,
|
||||
|
@ -2398,7 +2398,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_1',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 600},{'a': 'item', 't': '4', 'n': 10} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 300},{'a': 'attr', 't': 'rmbmoney', 'n': 300},{'a': 'item', 't': '4', 'n': 5},{'a': 'item', 't': '4', 'n': 5} ]
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
@ -2406,7 +2406,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_2',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 1360},{'a': 'item', 't': '4', 'n': 20} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 680},{'a': 'attr', 't': 'rmbmoney', 'n': 680},{'a': 'item', 't': '4', 'n': 10},{'a': 'item', 't': '4', 'n': 10} ]
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
@ -2414,7 +2414,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_3',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 2560},{'a': 'item', 't': '4', 'n': 50} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 1280},{'a': 'attr', 't': 'rmbmoney', 'n': 1280},{'a': 'item', 't': '4', 'n': 25},{'a': 'item', 't': '4', 'n': 25} ]
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
@ -2422,7 +2422,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_4',
|
||||
buyNum: 3,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 6560},{'a': 'item', 't': '4', 'n': 100} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 3280},{'a': 'attr', 't': 'rmbmoney', 'n': 3280},{'a': 'item', 't': '4', 'n': 50},{'a': 'item', 't': '4', 'n': 50} ]
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
@ -2430,7 +2430,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_5',
|
||||
buyNum: 10,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 12960},{'a': 'item', 't': '4', 'n': 200} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 6480},{'a': 'attr', 't': 'rmbmoney', 'n': 6480},{'a': 'item', 't': '4', 'n': 100},{'a': 'item', 't': '4', 'n': 100} ]
|
||||
}
|
||||
],
|
||||
//任务相关 type 1 每日任务(每天刷新) 2 活动任务(轮数) 3 每日登录 4-一次性任务 任务hdid一定要唯一
|
||||
@ -2546,7 +2546,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_1',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 600},{'a': 'item', 't': '4', 'n': 10} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 300},{'a': 'attr', 't': 'rmbmoney', 'n': 300},{'a': 'item', 't': '4', 'n': 5},{'a': 'item', 't': '4', 'n': 5} ]
|
||||
},
|
||||
{
|
||||
index: 2,
|
||||
@ -2554,7 +2554,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_2',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 1360},{'a': 'item', 't': '4', 'n': 20} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 680},{'a': 'attr', 't': 'rmbmoney', 'n': 680},{'a': 'item', 't': '4', 'n': 10},{'a': 'item', 't': '4', 'n': 10} ]
|
||||
},
|
||||
{
|
||||
index: 3,
|
||||
@ -2562,7 +2562,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_3',
|
||||
buyNum: 1,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 2560},{'a': 'item', 't': '4', 'n': 50} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 1280},{'a': 'attr', 't': 'rmbmoney', 'n': 1280},{'a': 'item', 't': '4', 'n': 25},{'a': 'item', 't': '4', 'n': 25} ]
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
@ -2570,7 +2570,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_4',
|
||||
buyNum: 3,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 6560},{'a': 'item', 't': '4', 'n': 100} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 3280},{'a': 'attr', 't': 'rmbmoney', 'n': 3280},{'a': 'item', 't': '4', 'n': 50},{'a': 'item', 't': '4', 'n': 50} ]
|
||||
},
|
||||
{
|
||||
index: 4,
|
||||
@ -2578,7 +2578,7 @@
|
||||
free: false,
|
||||
payId: 'ycmb_2_5',
|
||||
buyNum: 10,
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 12960},{'a': 'item', 't': '4', 'n': 200} ]
|
||||
prize: [ {'a': 'attr', 't': 'rmbmoney', 'n': 6480},{'a': 'attr', 't': 'rmbmoney', 'n': 6480},{'a': 'item', 't': '4', 'n': 100},{'a': 'item', 't': '4', 'n': 100} ]
|
||||
}
|
||||
],
|
||||
//任务相关 type 1 每日任务(每天刷新) 2 活动任务(轮数) 3 每日登录 4-一次性任务 任务hdid一定要唯一
|
||||
@ -2672,7 +2672,7 @@
|
||||
{
|
||||
a: 'item',
|
||||
t: '49',
|
||||
n: 6,
|
||||
n: 4,
|
||||
p: 10,
|
||||
s: 3600
|
||||
}
|
||||
@ -2733,7 +2733,7 @@
|
||||
{
|
||||
a: 'item',
|
||||
t: '49',
|
||||
n: 6,
|
||||
n: 4,
|
||||
p: 10,
|
||||
s: 3600
|
||||
}
|
||||
@ -2892,9 +2892,12 @@
|
||||
free: true,
|
||||
payId: '',
|
||||
buyNum: 1,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 30}],
|
||||
[ {a: 'attr', t: 'jinbi', n: 50000}, {a: 'item', t: '1', n: 50000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 30}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'attr', t: 'jinbi', n: 50000},
|
||||
"2":{a: 'item', t: '1', n: 50000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -2902,43 +2905,69 @@
|
||||
free: false,
|
||||
payId: 'zixuanlibao6',
|
||||
buyNum: 1,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 60} ],
|
||||
[ {a: 'item', t: '2', n: 60}, {a: 'item', t: '12', n: 50} ],
|
||||
[ {a: 'item', t: '27', n: 1500}, {a: 'item', t: '1', n: 100000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 60}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '2', n: 60},
|
||||
"2":{a: 'item', t: '12', n: 50}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 1500},
|
||||
"2":{a: 'item', t: '1', n: 100000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
{
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'zixuanlibao30',
|
||||
buyNum: 2,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 300} ],
|
||||
[ {a: 'item', t: '2', n: 200}, {a: 'item', t: '12', n: 100} ],
|
||||
[ {a: 'item', t: '27', n: 7000}, {a: 'item', t: '1', n: 200000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 300}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '2', n: 200},
|
||||
"2":{a: 'item', t: '12', n: 100}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 7000},
|
||||
"2":{a: 'item', t: '1', n: 200000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
{
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'zixuanlibao68',
|
||||
buyNum: 2,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 680} ],
|
||||
[ {a: 'item', t: '18', n: 100}, {a: 'item', t: '21', n: 200}, {a: 'item', t: '9', n: 1000} ],
|
||||
[ {a: 'item', t: '27', n: 15000}, {a: 'item', t: '1', n: 300000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 680}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '18', n: 100},
|
||||
"2":{a: 'item', t: '21', n: 200},
|
||||
"3":{a: 'item', t: '9', n: 1000}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 15000},
|
||||
"2":{a: 'item', t: '1', n: 300000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
{
|
||||
need: [],
|
||||
free: false,
|
||||
payId: 'zixuanlibao128',
|
||||
buyNum: 2,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 1280} ],
|
||||
[ {a: 'item', t: '18', n: 200}, {a: 'item', t: '9', n: 2000}, {a: 'item', t: '10', n: 200} ],
|
||||
[ {a: 'item', t: '27', n: 20000}, {a: 'item', t: '1', n: 500000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 1280}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '18', n: 200},
|
||||
"2":{a: 'item', t: '9', n: 2000},
|
||||
"3":{a: 'item', t: '10', n: 200}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 20000},
|
||||
"2":{a: 'item', t: '1', n: 500000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -2946,10 +2975,17 @@
|
||||
free: false,
|
||||
payId: 'zixuanlibao328',
|
||||
buyNum: 3,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 3280} ],
|
||||
[ {a: 'item', t: '600', n: 20}, {a: 'item', t: '601', n: 20}, {a: 'item', t: '616', n: 40} ],
|
||||
[ {a: 'item', t: '27', n: 50000}, {a: 'item', t: '1', n: 700000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 3280}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '600', n: 20},
|
||||
"2":{a: 'item', t: '601', n: 20},
|
||||
"3":{a: 'item', t: '616', n: 40}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 50000},
|
||||
"2":{a: 'item', t: '1', n: 700000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -2957,10 +2993,17 @@
|
||||
free: false,
|
||||
payId: 'zixuanlibao648',
|
||||
buyNum: 3,
|
||||
prize: [
|
||||
[ {a: 'attr', t: 'rmbmoney', n: 6480} ],
|
||||
[ {a: 'item', t: '600', n: 40}, {a: 'item', t: '601', n: 40}, {a: 'item', t: '616', n: 80} ],
|
||||
[ {a: 'item', t: '27', n: 100000}, {a: 'item', t: '1', n: 1000000} ]
|
||||
prize: [{a: 'attr', t: 'rmbmoney', n: 6480}],
|
||||
dlz: [
|
||||
{
|
||||
"1":{a: 'item', t: '600', n: 40},
|
||||
"2":{a: 'item', t: '601', n: 40},
|
||||
"3":{a: 'item', t: '616', n: 80}
|
||||
},
|
||||
{
|
||||
"1":{a: 'item', t: '27', n: 100000},
|
||||
"2":{a: 'item', t: '1', n: 1000000}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@ -2980,15 +3023,17 @@
|
||||
"showtime" : "仅供参考,会复写正确值",
|
||||
"data" : {
|
||||
tasks: [
|
||||
{ total: 100, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 200, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 500, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 3000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 10000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 20000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 30000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 50000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 5001, // 唯一活动id 累计充值
|
||||
"htype" : 5, // 后端唯一识别标识
|
||||
"stype" : 500, // 前端唯一识别标识(看前端需要是否修改)
|
||||
@ -3001,15 +3046,17 @@
|
||||
"showtime" : "仅供参考,会复写正确值",
|
||||
"data" : {
|
||||
tasks: [
|
||||
{ total: 100, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 200, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 500, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 3000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 10000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 20000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 30000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 50000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 5002, // 唯一活动id 累计充值
|
||||
"htype" : 5, // 后端唯一识别标识
|
||||
"stype" : 500, // 前端唯一识别标识(看前端需要是否修改)
|
||||
@ -3022,15 +3069,17 @@
|
||||
"showtime" : "仅供参考,会复写正确值",
|
||||
"data" : {
|
||||
tasks: [
|
||||
{ total: 100, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 200, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 500, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 3000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 10000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 20000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 30000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 50000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 5003, // 唯一活动id 累计充值
|
||||
"htype" : 5, // 后端唯一识别标识
|
||||
"stype" : 500, // 前端唯一识别标识(看前端需要是否修改)
|
||||
@ -3043,16 +3092,16 @@
|
||||
"showtime" : "仅供参考,会复写正确值",
|
||||
"data" : {
|
||||
tasks: [
|
||||
{ total: 100, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 200, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 500, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 3000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{ total: 1000, prize: [{a: 'attr', t: 'rmbmoney', n: 500},{a: 'item', t: '4', n: 2}] },
|
||||
{ total: 2000, prize: [{a: 'attr', t: 'rmbmoney', n: 1000},{a: 'item', t: '12', n: 500}]},
|
||||
{ total: 5000, prize: [{a: 'attr', t: 'rmbmoney', n: 1500},{a: 'item', t: '4', n: 5}]},
|
||||
{ total: 10000, prize: [{a: 'attr', t: 'rmbmoney', n: 2000},{a: 'item', t: '600', n: 20}]},
|
||||
{ total: 20000, prize: [{a: 'attr', t: 'rmbmoney', n: 3000},{a: 'item', t: '609', n: 1}]},
|
||||
{ total: 30000, prize: [{a: 'attr', t: 'rmbmoney', n: 6000},{a: 'item', t: '611', n: 1}]},
|
||||
{ total: 50000, prize: [{a: 'attr', t: 'rmbmoney', n: 10000},{a: 'item', t: '610', n: 1}]}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 6000, // 唯一活动id 七日登录
|
||||
"htype" : 6, // 后端唯一识别标识
|
||||
@ -4283,5 +4332,594 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 14000, // 唯一活动id 元旦活动
|
||||
"htype" : 14,
|
||||
"stype" : 1400,
|
||||
"ttype" : 4, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"stime" : 60,
|
||||
"rtime" : 90,
|
||||
"etime" : 90,
|
||||
"name" : "xnhd_tips_1",
|
||||
"icon" : "icon_xfdj",
|
||||
"showtime" : "根据玩家注册时间,游戏返回时复写",
|
||||
"data" : {
|
||||
//任务
|
||||
"task" : {
|
||||
"1": {
|
||||
"pval" : 1,
|
||||
"stype" : "128",
|
||||
"cond": [],
|
||||
"tiaozhuan": 4,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 100
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "rmbmoney",
|
||||
"n" : 200
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 100000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_1"
|
||||
},
|
||||
"2": {
|
||||
"pval" : 300,
|
||||
"stype" : "116",
|
||||
"cond": [],
|
||||
"tiaozhuan": 5,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 200
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 3
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "600",
|
||||
"n" : 5
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 500000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_2"
|
||||
},
|
||||
"3": {
|
||||
"pval" : 1000,
|
||||
"stype" : "116",
|
||||
"cond": [],
|
||||
"tiaozhuan": 2,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 300
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 5
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "600",
|
||||
"n" : 10
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 1000000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_3"
|
||||
},
|
||||
"4": {
|
||||
"pval" : 2000,
|
||||
"stype" : "116",
|
||||
"cond": [],
|
||||
"tiaozhuan": 1,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 150
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "6",
|
||||
"n" : 10
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 200000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_4"
|
||||
},
|
||||
"5": {
|
||||
"pval" : 3,
|
||||
"stype" : "142",
|
||||
"cond": [2],
|
||||
"tiaozhuan": 6,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 100
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "2",
|
||||
"n" : 500
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 200000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_5"
|
||||
},
|
||||
"6": {
|
||||
"pval" : 3,
|
||||
"stype" : "122",
|
||||
"cond": [],
|
||||
"tiaozhuan": 7,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 200
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "12",
|
||||
"n" : 400
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 200000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_6"
|
||||
},
|
||||
"7": {
|
||||
"pval" : 1,
|
||||
"stype" : "155",
|
||||
"cond": [],
|
||||
"tiaozhuan": 8,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 100
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "rmbmoney",
|
||||
"n" : 200
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 100000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_7"
|
||||
},
|
||||
"8": {
|
||||
"pval" : 1,
|
||||
"stype" : "127",
|
||||
"cond": [],
|
||||
"tiaozhuan": 10,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 100
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "21",
|
||||
"n" : 50
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 100000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_8"
|
||||
},
|
||||
"9": {
|
||||
"pval" : 1,
|
||||
"stype" : "154",
|
||||
"cond": [],
|
||||
"tiaozhuan": 11,
|
||||
"prize" : [
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanExp",
|
||||
"n" : 100
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "shengdanBullet",
|
||||
"n" : 2
|
||||
},
|
||||
{
|
||||
"a" : "attr",
|
||||
"t" : "jinbi",
|
||||
"n" : 100000
|
||||
},
|
||||
{
|
||||
"a" : "item",
|
||||
"t" : "1",
|
||||
"n" : 100000
|
||||
}
|
||||
],
|
||||
"des" : "intr_cszl_des_9"
|
||||
},
|
||||
},
|
||||
//玩游戏需要消耗
|
||||
"gameneed": [{"a": "attr", "t":"yuandanyouxi", "n": 1}],
|
||||
//游戏奖品池
|
||||
"game": [
|
||||
//P是权重
|
||||
//gailv是显示的概率
|
||||
{"a": "item", "t":"1", "n": 10000000, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"12", "n": 1000, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"2", "n": 2000, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"18", "n": 100, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"18", "n": 200, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"18", "n": 300, "p": 10, "gailv": 10},
|
||||
{"a": "item", "t":"18", "n": 400, "p": 10, "gailv": 10}
|
||||
],
|
||||
//免费玩游戏次数
|
||||
"gamefree": 3,
|
||||
//钻石兑换
|
||||
"duihuan": [
|
||||
{id:1, need: [{a: 'attr', t: 'rmbmoney', n: 1000}], prize: [{a: 'item', t: '610', n: 1},{a: 'item', t: '2', n: 500},{a: 'item', t: '1', n: 1000}], buyNum: 2 },
|
||||
{id:2, need: [{a: 'attr', t: 'rmbmoney', n: 2000}], prize: [{a: 'item', t: '610', n: 2},{a: 'item', t: '2', n: 600},{a: 'item', t: '1', n: 550}], buyNum: 1 },
|
||||
{id:3, need: [{a: 'attr', t: 'rmbmoney', n: 3000}], prize: [{a: 'item', t: '610', n: 3},{a: 'item', t: '2', n: 700},{a: 'item', t: '1', n: 230}], buyNum: 1 },
|
||||
{id:4, need: [{a: 'attr', t: 'rmbmoney', n: 4000}], prize: [{a: 'item', t: '610', n: 4},{a: 'item', t: '2', n: 800},{a: 'item', t: '1', n: 690}], buyNum: 3 },
|
||||
{id:5, need: [{a: 'attr', t: 'rmbmoney', n: 5000}], prize: [{a: 'item', t: '610', n: 5},{a: 'item', t: '2', n: 900},{a: 'item', t: '1', n: 3300}], buyNum: 5 },
|
||||
{id:6, need: [{a: 'attr', t: 'rmbmoney', n: 6000}], prize: [{a: 'item', t: '610', n: 6},{a: 'item', t: '2', n: 1000},{a: 'item', t: '1', n: 130}], buyNum: 6 }
|
||||
],
|
||||
//活动礼包
|
||||
"gift": [
|
||||
{
|
||||
"id": 1,
|
||||
"free": true,
|
||||
"payId": "",
|
||||
"buynum": 1,
|
||||
//固定奖励
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 100}],
|
||||
"des" : "intr_cszl_des_10",
|
||||
//自选池
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "attr", "t":"jinbi", "n": 100000},
|
||||
"2": {"a": "item", "t":"1", "n": 50000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_1",
|
||||
"buynum": 2,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 120}],
|
||||
"des" : "intr_cszl_des_11",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"2", "n": 400},
|
||||
"2": {"a": "item", "t":"12", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "attr", "t":"jinbi", "n": 1000000},
|
||||
"2": {"a": "item", "t":"1", "n": 500000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_2",
|
||||
"buynum": 2,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 300}],
|
||||
"des" : "intr_cszl_des_12",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_3",
|
||||
"buynum": 5,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 680}],
|
||||
"des" : "intr_cszl_des_12",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_4",
|
||||
"buynum": 9,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 1280}],
|
||||
"des" : "intr_cszl_des_13",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 10},
|
||||
"2": {"a": "item", "t":"605", "n": 2},
|
||||
"3": {"a": "item", "t":"606", "n": 1}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 10},
|
||||
"2": {"a": "item", "t":"605", "n": 2},
|
||||
"3": {"a": "item", "t":"606", "n": 1}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"1", "n": 5000000},
|
||||
"2": {"a": "attr", "t":"jinbi", "n": 10000000}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_5",
|
||||
"buynum": 9,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 3280}],
|
||||
"des" : "intr_cszl_des_14",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 20},
|
||||
"2": {"a": "item", "t":"5002", "n": 10},
|
||||
"3": {"a": "item", "t":"5004", "n": 10}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 20},
|
||||
"2": {"a": "item", "t":"5002", "n": 10},
|
||||
"3": {"a": "item", "t":"5004", "n": 10}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"1", "n": 10000000},
|
||||
"2": {"a": "item", "t":"12", "n": 1000},
|
||||
"3": {"a": "item", "t":"2", "n": 2000},
|
||||
"4": {"a": "item", "t":"18", "n": 500}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"free": false,
|
||||
"payId": "xnhd_libao_6",
|
||||
"buynum": 9,
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 6480}],
|
||||
"des" : "intr_cszl_des_14",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 30},
|
||||
"2": {"a": "item", "t":"5002", "n": 20},
|
||||
"3": {"a": "item", "t":"5004", "n": 20}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 30},
|
||||
"2": {"a": "item", "t":"5002", "n": 20},
|
||||
"3": {"a": "item", "t":"5004", "n": 20}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"605", "n": 4},
|
||||
"2": {"a": "item", "t":"606", "n": 2},
|
||||
"3": {"a": "item", "t":"18", "n": 1000},
|
||||
"4": {"a": "item", "t":"23", "n": 1000000}
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
//签到奖励
|
||||
"qiandao": {
|
||||
"1": {
|
||||
//固定奖励
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 100}],
|
||||
"des" : "intr_cszl_des_10",
|
||||
//自选池
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "attr", "t":"jinbi", "n": 100000},
|
||||
"2": {"a": "item", "t":"1", "n": 50000}
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 120}],
|
||||
"des" : "intr_cszl_des_11",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"2", "n": 400},
|
||||
"2": {"a": "item", "t":"12", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "attr", "t":"jinbi", "n": 1000000},
|
||||
"2": {"a": "item", "t":"1", "n": 500000}
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 300}],
|
||||
"des" : "intr_cszl_des_12",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"9", "n": 500},
|
||||
"2": {"a": "item", "t":"10", "n": 100}
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 680}],
|
||||
"des" : "intr_cszl_des_12",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"615", "n": 1},
|
||||
"2": {"a": "item", "t":"18", "n": 200}
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 1280}],
|
||||
"des" : "intr_cszl_des_13",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 10},
|
||||
"2": {"a": "item", "t":"605", "n": 2},
|
||||
"3": {"a": "item", "t":"606", "n": 1}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 10},
|
||||
"2": {"a": "item", "t":"605", "n": 2},
|
||||
"3": {"a": "item", "t":"606", "n": 1}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"1", "n": 5000000},
|
||||
"2": {"a": "attr", "t":"jinbi", "n": 10000000}
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 3280}],
|
||||
"des" : "intr_cszl_des_14",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 20},
|
||||
"2": {"a": "item", "t":"5002", "n": 10},
|
||||
"3": {"a": "item", "t":"5004", "n": 10}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 20},
|
||||
"2": {"a": "item", "t":"5002", "n": 10},
|
||||
"3": {"a": "item", "t":"5004", "n": 10}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"1", "n": 10000000},
|
||||
"2": {"a": "item", "t":"12", "n": 1000},
|
||||
"3": {"a": "item", "t":"2", "n": 2000},
|
||||
"4": {"a": "item", "t":"18", "n": 500}
|
||||
}
|
||||
]
|
||||
},
|
||||
"7": {
|
||||
"prize": [{"a": "attr", "t":"rmbmoney", "n": 6480}],
|
||||
"des" : "intr_cszl_des_14",
|
||||
"dlz": [
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 30},
|
||||
"2": {"a": "item", "t":"5002", "n": 20},
|
||||
"3": {"a": "item", "t":"5004", "n": 20}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"600", "n": 30},
|
||||
"2": {"a": "item", "t":"5002", "n": 20},
|
||||
"3": {"a": "item", "t":"5004", "n": 20}
|
||||
},
|
||||
{
|
||||
"1": {"a": "item", "t":"605", "n": 4},
|
||||
"2": {"a": "item", "t":"606", "n": 2},
|
||||
"3": {"a": "item", "t":"18", "n": 1000},
|
||||
"4": {"a": "item", "t":"23", "n": 1000000}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
@ -804,7 +804,7 @@
|
||||
"40": {
|
||||
"id": 40,
|
||||
"name": "intr_item_name_40",
|
||||
"undefined": "丛林狩猎霸主级玩家的特殊身份标识",
|
||||
"undefined": "丛林狩猎霸主级玩家的特殊身份标识,使用后持续7天",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 5,
|
||||
@ -1230,6 +1230,16 @@
|
||||
"a": "item",
|
||||
"t": "4013",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4002",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4012",
|
||||
"n": 1
|
||||
}
|
||||
],
|
||||
"payId": "",
|
||||
@ -2087,30 +2097,15 @@
|
||||
"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": "",
|
||||
@ -2889,10 +2884,7 @@
|
||||
"type": 3,
|
||||
"sort": 3,
|
||||
"colour": 6,
|
||||
"way": [
|
||||
9,
|
||||
75
|
||||
],
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_gbsp_5002",
|
||||
"describe": "intr_item_describe_5002",
|
||||
@ -2933,10 +2925,7 @@
|
||||
"type": 3,
|
||||
"sort": 3,
|
||||
"colour": 6,
|
||||
"way": [
|
||||
9,
|
||||
75
|
||||
],
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "icon_gbsp_5004",
|
||||
"describe": "intr_item_describe_5004",
|
||||
@ -4024,6 +4013,7 @@
|
||||
"50010": {
|
||||
"id": 50010,
|
||||
"name": "playerheadFrame_name_24",
|
||||
"undefined": "使用后解锁头像框“披星戴月”",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
@ -4039,6 +4029,25 @@
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50011": {
|
||||
"id": 50011,
|
||||
"name": "playerheadFrame_name_25",
|
||||
"undefined": "使用后解锁头像框“新春安宁”",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_029",
|
||||
"sicon": "txk_029",
|
||||
"describe": "intr_item_describe_50011",
|
||||
"diaoluo": 25,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50101": {
|
||||
"id": 50101,
|
||||
"name": "playerChatFrame_name_6",
|
||||
@ -4115,6 +4124,25 @@
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50105": {
|
||||
"id": 50105,
|
||||
"name": "playerChatFrame_name_9",
|
||||
"undefined": "使用后解锁聊天框“新年快乐”",
|
||||
"type": 8,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "lt_dhk15",
|
||||
"sicon": "lt_dhk15",
|
||||
"describe": "intr_item_describe_50105",
|
||||
"diaoluo": 9,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50201": {
|
||||
"id": 50201,
|
||||
"name": "playerheadFrame_name_16",
|
||||
|
3450
src/json/npc.json
3450
src/json/npc.json
File diff suppressed because it is too large
Load Diff
@ -1378,5 +1378,18 @@
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
},
|
||||
"weiwang": {
|
||||
"name": "weiwang",
|
||||
"undefined": "威望",
|
||||
"and": {
|
||||
"lv": 15
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
}
|
||||
}
|
8000
src/json/pata.json
8000
src/json/pata.json
File diff suppressed because it is too large
Load Diff
@ -878,5 +878,355 @@
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"510": {
|
||||
"id": 510,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1020000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"520": {
|
||||
"id": 520,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1040000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "3009",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"530": {
|
||||
"id": 530,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1060000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"540": {
|
||||
"id": 540,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1080000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "2009",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"550": {
|
||||
"id": 550,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1100000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"560": {
|
||||
"id": 560,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1120000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "1009",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"570": {
|
||||
"id": 570,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1140000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"580": {
|
||||
"id": 580,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1160000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "4003",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"590": {
|
||||
"id": 590,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1180000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"600": {
|
||||
"id": 600,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1200000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "3003",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"610": {
|
||||
"id": 610,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1220000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"620": {
|
||||
"id": 620,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1240000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "2003",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"630": {
|
||||
"id": 630,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1260000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"640": {
|
||||
"id": 640,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1280000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "1003",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"650": {
|
||||
"id": 650,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1300000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"660": {
|
||||
"id": 660,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1320000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "4004",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"670": {
|
||||
"id": 670,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1340000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"680": {
|
||||
"id": 680,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1360000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "3004",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"690": {
|
||||
"id": 690,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1380000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
}
|
||||
]
|
||||
},
|
||||
"700": {
|
||||
"id": 700,
|
||||
"prize": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1400000
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 300
|
||||
},
|
||||
{
|
||||
"a": "equip",
|
||||
"t": "2004",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -630,7 +630,7 @@
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 1000000
|
||||
"n": 2000000
|
||||
}
|
||||
],
|
||||
"firstPayPrize": [],
|
||||
@ -661,7 +661,7 @@
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 2000000
|
||||
"n": 5000000
|
||||
}
|
||||
],
|
||||
"firstPayPrize": [],
|
||||
@ -764,7 +764,7 @@
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 12000000
|
||||
"n": 30000000
|
||||
}
|
||||
],
|
||||
"firstPayPrize": [],
|
||||
@ -4246,7 +4246,7 @@
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_mingwang_4",
|
||||
"undefined": "名望礼包_128元",
|
||||
"time": -1,
|
||||
"time": 86400,
|
||||
"buys": 1,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4265,8 +4265,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_1",
|
||||
"undefined": "周末礼包_1元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_1元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4285,8 +4285,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_2",
|
||||
"undefined": "周末礼包_6元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_6元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4305,8 +4305,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_3",
|
||||
"undefined": "周末礼包_30元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_30元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4325,8 +4325,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_4",
|
||||
"undefined": "周末礼包_68元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_68元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4345,8 +4345,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_5",
|
||||
"undefined": "周末礼包_128元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_128元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4365,8 +4365,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_6",
|
||||
"undefined": "周末礼包_328元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_328元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -4385,8 +4385,8 @@
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_wkdlibao_7",
|
||||
"undefined": "周末礼包_648元",
|
||||
"time": 86400,
|
||||
"undefined": "期间限定_648元",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
@ -6473,5 +6473,205 @@
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_1": {
|
||||
"id": "xnhd_libao_1",
|
||||
"money": 0.5,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 5
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_1",
|
||||
"undefined": "新年活动_1",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_2": {
|
||||
"id": "xnhd_libao_2",
|
||||
"money": 1,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 10
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_2",
|
||||
"undefined": "新年活动_2",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_3": {
|
||||
"id": "xnhd_libao_3",
|
||||
"money": 6,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 60
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_3",
|
||||
"undefined": "新年活动_3",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_4": {
|
||||
"id": "xnhd_libao_4",
|
||||
"money": 18,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 180
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_4",
|
||||
"undefined": "新年活动_4",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_5": {
|
||||
"id": "xnhd_libao_5",
|
||||
"money": 30,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 300
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_5",
|
||||
"undefined": "新年活动_5",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_6": {
|
||||
"id": "xnhd_libao_6",
|
||||
"money": 68,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 680
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_6",
|
||||
"undefined": "新年活动_6",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_7": {
|
||||
"id": "xnhd_libao_7",
|
||||
"money": 128,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 1280
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_7",
|
||||
"undefined": "新年活动_7",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_8": {
|
||||
"id": "xnhd_libao_8",
|
||||
"money": 198,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 1980
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_8",
|
||||
"undefined": "新年活动_8",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_9": {
|
||||
"id": "xnhd_libao_9",
|
||||
"money": 328,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 3280
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_9",
|
||||
"undefined": "新年活动_9",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
},
|
||||
"xnhd_libao_10": {
|
||||
"id": "xnhd_libao_10",
|
||||
"money": 648,
|
||||
"payExp": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "payExp",
|
||||
"n": 6480
|
||||
}
|
||||
],
|
||||
"prize": [],
|
||||
"firstPayPrize": [],
|
||||
"name": "pay_name_xnhd_libao_10",
|
||||
"undefined": "新年活动_10",
|
||||
"time": -1,
|
||||
"buys": 0,
|
||||
"needVip": 0,
|
||||
"front": {},
|
||||
"currency": "CNY"
|
||||
}
|
||||
}
|
@ -241,7 +241,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
0.6
|
||||
0.006
|
||||
],
|
||||
"suit": 0,
|
||||
"rmPrize": [
|
||||
@ -403,7 +403,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.2
|
||||
0.012
|
||||
],
|
||||
"suit": 0,
|
||||
"rmPrize": [
|
||||
@ -590,7 +590,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 1,
|
||||
"rmPrize": [
|
||||
@ -782,7 +782,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 2,
|
||||
"rmPrize": [
|
||||
@ -974,7 +974,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 3,
|
||||
"rmPrize": [
|
||||
@ -1166,7 +1166,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 4,
|
||||
"rmPrize": [
|
||||
@ -1358,7 +1358,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 5,
|
||||
"rmPrize": [
|
||||
@ -1550,7 +1550,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 6,
|
||||
"rmPrize": [
|
||||
@ -1742,7 +1742,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 7,
|
||||
"rmPrize": [
|
||||
@ -1934,7 +1934,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
1.8
|
||||
0.018
|
||||
],
|
||||
"suit": 8,
|
||||
"rmPrize": [
|
||||
@ -2126,7 +2126,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 1,
|
||||
"rmPrize": [
|
||||
@ -2318,7 +2318,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 2,
|
||||
"rmPrize": [
|
||||
@ -2510,7 +2510,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 3,
|
||||
"rmPrize": [
|
||||
@ -2702,7 +2702,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 4,
|
||||
"rmPrize": [
|
||||
@ -2894,7 +2894,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 5,
|
||||
"rmPrize": [
|
||||
@ -3086,7 +3086,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 6,
|
||||
"rmPrize": [
|
||||
@ -3278,7 +3278,7 @@
|
||||
"conversion": [],
|
||||
"buff": [
|
||||
"baoshangpro",
|
||||
3
|
||||
0.03
|
||||
],
|
||||
"suit": 7,
|
||||
"rmPrize": [
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -133,7 +133,24 @@
|
||||
"buff": {
|
||||
"defpro": 0.01
|
||||
},
|
||||
"colour": 3,
|
||||
"colour": 4,
|
||||
"ani": ""
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"name": "playerChatFrame_name_9",
|
||||
"img": "lt_dhk15",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"undefined": "新年庆典获得",
|
||||
"intr": "playerChatFrame_des_9",
|
||||
"sort": 9,
|
||||
"buff": {
|
||||
"defpro": 0.01
|
||||
},
|
||||
"colour": 4,
|
||||
"ani": ""
|
||||
}
|
||||
}
|
@ -408,5 +408,22 @@
|
||||
},
|
||||
"colour": 5,
|
||||
"ani": ""
|
||||
},
|
||||
"25": {
|
||||
"id": 25,
|
||||
"name": "playerheadFrame_name_25",
|
||||
"undefined": "新年庆典活动获得,解锁后生命加成+1%",
|
||||
"img": "txk_029",
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerheadFrame_des_25",
|
||||
"sort": 25,
|
||||
"buff": {
|
||||
"hppro": 0.01
|
||||
},
|
||||
"colour": 4,
|
||||
"ani": ""
|
||||
}
|
||||
}
|
5002
src/json/renown_chanchu.json
Normal file
5002
src/json/renown_chanchu.json
Normal file
File diff suppressed because it is too large
Load Diff
362
src/json/renown_level.json
Normal file
362
src/json/renown_level.json
Normal file
@ -0,0 +1,362 @@
|
||||
{
|
||||
"1": {
|
||||
"id": 1,
|
||||
"renownlevel": 1,
|
||||
"maxlevel": 250,
|
||||
"cost": 5,
|
||||
"atk": 2,
|
||||
"def": 1,
|
||||
"hp": 8
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"renownlevel": 2,
|
||||
"maxlevel": 500,
|
||||
"cost": 6,
|
||||
"atk": 2,
|
||||
"def": 1,
|
||||
"hp": 9
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"renownlevel": 3,
|
||||
"maxlevel": 750,
|
||||
"cost": 7,
|
||||
"atk": 2,
|
||||
"def": 1,
|
||||
"hp": 10
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"renownlevel": 4,
|
||||
"maxlevel": 1000,
|
||||
"cost": 9,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 11
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"renownlevel": 5,
|
||||
"maxlevel": 1250,
|
||||
"cost": 11,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 12
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"renownlevel": 6,
|
||||
"maxlevel": 1500,
|
||||
"cost": 13,
|
||||
"atk": 4,
|
||||
"def": 2,
|
||||
"hp": 13
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"renownlevel": 7,
|
||||
"maxlevel": 1750,
|
||||
"cost": 15,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 14
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"renownlevel": 8,
|
||||
"maxlevel": 2000,
|
||||
"cost": 17,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 15
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"renownlevel": 9,
|
||||
"maxlevel": 2500,
|
||||
"cost": 19,
|
||||
"atk": 6,
|
||||
"def": 3,
|
||||
"hp": 16
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"renownlevel": 10,
|
||||
"maxlevel": 3000,
|
||||
"cost": 21,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 17
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"renownlevel": 11,
|
||||
"maxlevel": 3500,
|
||||
"cost": 23,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 18
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"renownlevel": 12,
|
||||
"maxlevel": 4000,
|
||||
"cost": 25,
|
||||
"atk": 8,
|
||||
"def": 4,
|
||||
"hp": 19
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"renownlevel": 13,
|
||||
"maxlevel": 4500,
|
||||
"cost": 27,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 20
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"renownlevel": 14,
|
||||
"maxlevel": 5000,
|
||||
"cost": 30,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 21
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"renownlevel": 15,
|
||||
"maxlevel": 5000,
|
||||
"cost": 33,
|
||||
"atk": 10,
|
||||
"def": 5,
|
||||
"hp": 21
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
"renownlevel": 16,
|
||||
"maxlevel": 5000,
|
||||
"cost": 36,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"renownlevel": 17,
|
||||
"maxlevel": 5000,
|
||||
"cost": 39,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
"renownlevel": 18,
|
||||
"maxlevel": 5000,
|
||||
"cost": 42,
|
||||
"atk": 12,
|
||||
"def": 6,
|
||||
"hp": 22
|
||||
},
|
||||
"19": {
|
||||
"id": 19,
|
||||
"renownlevel": 19,
|
||||
"maxlevel": 5000,
|
||||
"cost": 45,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
},
|
||||
"20": {
|
||||
"id": 20,
|
||||
"renownlevel": 20,
|
||||
"maxlevel": 5000,
|
||||
"cost": 48,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
},
|
||||
"21": {
|
||||
"id": 21,
|
||||
"renownlevel": 21,
|
||||
"maxlevel": 5000,
|
||||
"cost": 51,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
},
|
||||
"22": {
|
||||
"id": 22,
|
||||
"renownlevel": 22,
|
||||
"maxlevel": 5000,
|
||||
"cost": 54,
|
||||
"atk": 14,
|
||||
"def": 7,
|
||||
"hp": 23
|
||||
},
|
||||
"23": {
|
||||
"id": 23,
|
||||
"renownlevel": 23,
|
||||
"maxlevel": 5000,
|
||||
"cost": 57,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
},
|
||||
"24": {
|
||||
"id": 24,
|
||||
"renownlevel": 24,
|
||||
"maxlevel": 5000,
|
||||
"cost": 60,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
},
|
||||
"25": {
|
||||
"id": 25,
|
||||
"renownlevel": 25,
|
||||
"maxlevel": 5000,
|
||||
"cost": 63,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
},
|
||||
"26": {
|
||||
"id": 26,
|
||||
"renownlevel": 26,
|
||||
"maxlevel": 5000,
|
||||
"cost": 66,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
},
|
||||
"27": {
|
||||
"id": 27,
|
||||
"renownlevel": 27,
|
||||
"maxlevel": 5000,
|
||||
"cost": 69,
|
||||
"atk": 16,
|
||||
"def": 8,
|
||||
"hp": 24
|
||||
},
|
||||
"28": {
|
||||
"id": 28,
|
||||
"renownlevel": 28,
|
||||
"maxlevel": 5000,
|
||||
"cost": 72,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
},
|
||||
"29": {
|
||||
"id": 29,
|
||||
"renownlevel": 29,
|
||||
"maxlevel": 5000,
|
||||
"cost": 75,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
},
|
||||
"30": {
|
||||
"id": 30,
|
||||
"renownlevel": 30,
|
||||
"maxlevel": 5000,
|
||||
"cost": 78,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
},
|
||||
"31": {
|
||||
"id": 31,
|
||||
"renownlevel": 31,
|
||||
"maxlevel": 5000,
|
||||
"cost": 81,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
},
|
||||
"32": {
|
||||
"id": 32,
|
||||
"renownlevel": 32,
|
||||
"maxlevel": 5000,
|
||||
"cost": 84,
|
||||
"atk": 18,
|
||||
"def": 9,
|
||||
"hp": 25
|
||||
},
|
||||
"33": {
|
||||
"id": 33,
|
||||
"renownlevel": 33,
|
||||
"maxlevel": 5000,
|
||||
"cost": 87,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"34": {
|
||||
"id": 34,
|
||||
"renownlevel": 34,
|
||||
"maxlevel": 5000,
|
||||
"cost": 90,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"35": {
|
||||
"id": 35,
|
||||
"renownlevel": 35,
|
||||
"maxlevel": 5000,
|
||||
"cost": 93,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"36": {
|
||||
"id": 36,
|
||||
"renownlevel": 36,
|
||||
"maxlevel": 5000,
|
||||
"cost": 97,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"37": {
|
||||
"id": 37,
|
||||
"renownlevel": 37,
|
||||
"maxlevel": 5000,
|
||||
"cost": 101,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"38": {
|
||||
"id": 38,
|
||||
"renownlevel": 38,
|
||||
"maxlevel": 5000,
|
||||
"cost": 105,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"39": {
|
||||
"id": 39,
|
||||
"renownlevel": 39,
|
||||
"maxlevel": 5000,
|
||||
"cost": 109,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
},
|
||||
"40": {
|
||||
"id": 40,
|
||||
"renownlevel": 40,
|
||||
"maxlevel": 5000,
|
||||
"cost": 113,
|
||||
"atk": 18,
|
||||
"def": 10,
|
||||
"hp": 25
|
||||
}
|
||||
}
|
@ -393,8 +393,8 @@
|
||||
"payId": [
|
||||
"lv15"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "djlb"
|
||||
},
|
||||
@ -408,8 +408,8 @@
|
||||
"payId": [
|
||||
"lv25"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"time": 10800,
|
||||
"displayCD": 10800,
|
||||
"scale": 3000,
|
||||
"icon": "djlb"
|
||||
},
|
||||
|
@ -23,6 +23,7 @@ import {ResOpen as ResOpenKaifujingsai} from '../shared/protocols/kaifujingsai/P
|
||||
import {ResOpen as ResOpenZhoumolibao} from '../shared/protocols/event/zhoumolibao/PtlOpen';
|
||||
import {ResOpen as ResOpenPobinglibao} from '../shared/protocols/event/pobinglibao/PtlOpen';
|
||||
import {ResOpen as ResOpenLeiChongLiBao} from '../shared/protocols/event/leichonglibao/PtlOpen';
|
||||
import {event as ResOpenYuandan} from '../shared/protocols/event/yuandan/PtlOpen';
|
||||
|
||||
export type eventType = {
|
||||
shouchong: {
|
||||
@ -57,6 +58,7 @@ export type eventType = {
|
||||
payForDiamond: {
|
||||
[time: number]: number
|
||||
}
|
||||
|
||||
} & {
|
||||
[k: `${number}jijin`]: ResOpenYuedujijin;
|
||||
[k: `yangchengmubiao${number}`]: yangchengmubiao;
|
||||
@ -67,6 +69,7 @@ export type eventType = {
|
||||
[k: `leijichongzhi${number}`]: Omit<ResOpenLeijichongzhi, 'payNum'>;
|
||||
[k: `qiridenglu${number}`]: Pick<ResOpenQiridenglu, 'recPrize'>;
|
||||
[k: `leichonglibao${number}`]: ResOpenLeiChongLiBao & { opentime: number };
|
||||
[k: `yuandan${number}`]: ResOpenYuandan;
|
||||
};
|
||||
|
||||
export type CollectionEvent<T extends keyof eventType> = {
|
||||
|
@ -133,4 +133,6 @@ export type MongodbCollections = {
|
||||
fightLog: CollectionFightLog
|
||||
shop: CollectionShop
|
||||
pushgift:CollectionPushGift
|
||||
|
||||
huodong_user: CollectionUser;
|
||||
};
|
@ -252,6 +252,10 @@ export class PayFun {
|
||||
console.log("Christmasfun.payChristmas Error", e);
|
||||
}
|
||||
|
||||
/**
|
||||
* 如果是自选奖励,payArgs里传入自选项,直接发奖
|
||||
* 在check里判断拦截自选项的奖励
|
||||
*/
|
||||
if (payArgs && payArgs?.htype && payArgs?.selectList) {
|
||||
let selectPrize = await G.ioredis.get(`pay:${payId}:${player.uid}`);
|
||||
if (selectPrize) {
|
||||
|
@ -214,7 +214,6 @@ export class PlayerFun {
|
||||
}
|
||||
|
||||
static async changeAttrLog(uid: string, change, atn, before) {
|
||||
|
||||
let data = {
|
||||
uid,
|
||||
before,
|
||||
@ -225,6 +224,13 @@ export class PlayerFun {
|
||||
atn
|
||||
}
|
||||
G.mongodb.collection('rmbuse').insertOne(data);
|
||||
// 消费竞赛开启时写入跨服数据库
|
||||
if (G.huodong.xfjs && !data.isAdd) {
|
||||
G.crossmongodb.collection('rmbuse').updateOne({uid: data.uid}, {
|
||||
time: G.time,
|
||||
$inc: {change: data.change}
|
||||
}, {upsert: true});
|
||||
}
|
||||
}
|
||||
|
||||
static async changeAttr(uid: string, change: Partial<player>) {
|
||||
|
@ -63,7 +63,7 @@ export abstract class Rank {
|
||||
/**
|
||||
* 根据RankInfo数据,获取用于排名的积分值得
|
||||
* 注:可能重写,具体根据type类型判断
|
||||
* @param info
|
||||
* @param info
|
||||
* @returns 积分值
|
||||
*/
|
||||
getValArr(info: rankInfo): number | string {
|
||||
@ -84,7 +84,7 @@ export abstract class Rank {
|
||||
* 页面转换,根据page和offset转换出min和max
|
||||
* @param page 页面
|
||||
* @param offset 每页数量
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
static pageToMin(page: number, offset: number) {
|
||||
let res = {
|
||||
@ -131,7 +131,7 @@ export abstract class Rank {
|
||||
async cotr() {
|
||||
clusterRunOnce(async () => {
|
||||
// redis已存在则不初始化
|
||||
//if(await this.getRankLen() > 0) return
|
||||
//if(await this.getRankLen() > 0) return
|
||||
|
||||
//将db里的数据,写入到 rank:xxx:sort里
|
||||
//写入的单条数据为: {uid:score}
|
||||
@ -158,7 +158,7 @@ export abstract class Rank {
|
||||
* 更新玩家的积分
|
||||
* @param uid uid,在rank里通常保存于idKey这个字段
|
||||
* @param data 积分数据,主要是需要里面的data.valArr字段
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
async setRankData(uid: string, data: rankInfo) {
|
||||
let keySort = this.getRedisKeySort
|
||||
@ -176,7 +176,7 @@ export abstract class Rank {
|
||||
/**
|
||||
* 获取单个用户的数据
|
||||
* @param uid uid
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
async getRankData(uid: string) {
|
||||
let data: rankInfo;
|
||||
@ -208,8 +208,8 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 获取单个用户的排序分数
|
||||
* @param uid
|
||||
* @returns
|
||||
* @param uid
|
||||
* @returns
|
||||
*/
|
||||
async getRankScore(uid: string): Promise<number> {
|
||||
let score = await G.redis.zScore(this.getRedisKeySort, uid)
|
||||
@ -218,8 +218,8 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 从redis中获取单个用户的排名 *降序
|
||||
* @param uid
|
||||
* @returns
|
||||
* @param uid
|
||||
* @returns
|
||||
*/
|
||||
async getRankSortByOne(uid: string): Promise<number> {
|
||||
let rank = await G.redis.zRevRank(this.getRedisKeySort, uid)
|
||||
@ -240,9 +240,9 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 获取指定排名范围的数据 *降序
|
||||
* @param min
|
||||
* @param max
|
||||
* @returns
|
||||
* @param min
|
||||
* @param max
|
||||
* @returns
|
||||
*/
|
||||
async getRankListRange(min: number = 0, max: number = 50): Promise<rankInfo[]> {
|
||||
let uids = await this.getRankListIdKeyRange(min, max)
|
||||
@ -309,8 +309,8 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 从redis中获取指定排名范围的uid集合 *降序
|
||||
* @param min
|
||||
* @param max
|
||||
* @param min
|
||||
* @param max
|
||||
* @returns uid集合数组
|
||||
*/
|
||||
async getRankListIdKeyRange(min: number = 0, max: number = 50): Promise<string[]> {
|
||||
@ -320,7 +320,7 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 获取指定类型的全部rank列表,返回为积分排序后的数组
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
async getRankListAll(): Promise<rankInfo[]> {
|
||||
// let res = await G.redis.hGetAll(this.getRedisKey)
|
||||
@ -335,7 +335,7 @@ export abstract class Rank {
|
||||
|
||||
/**
|
||||
* 按排名获取全部的idKey
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
async getRankListIdKeyAll(): Promise<string[]> {
|
||||
let res = this.getRankListIdKeyRange(0, -1)
|
||||
@ -354,7 +354,7 @@ export abstract class Rank {
|
||||
// })
|
||||
// if(updateUid.length > 0) {
|
||||
// let newUserArr = await G.mongodb.collection('user').find({uid:{$in: updateUid}}).toArray()
|
||||
// // let newUserArr = await G.redis.gets('user', ...updateUid.map(uid => [uid] as [string]))
|
||||
// // let newUserArr = await G.redis.gets('user', ...updateUid.map(uid => [uid] as [string]))
|
||||
// // let newUserArr = await G.mongodb.collection('user').find({uid:{$in: updateUid}}).toArray()
|
||||
// newUserArr.forEach(item => {
|
||||
// let index = rankList.findIndex( x => x.player.uid == item.uid);
|
||||
@ -380,8 +380,8 @@ export abstract class Rank {
|
||||
}
|
||||
|
||||
/**
|
||||
* 原逻辑前50(countMaxNum)名才更新数据(上榜),多余的数据会删除。
|
||||
* @param info
|
||||
* 原逻辑前50(countMaxNum)名才更新数据(上榜),多余的数据会删除。
|
||||
* @param info
|
||||
* @returns
|
||||
*/
|
||||
async addNew(info: rankInfo) {
|
||||
|
@ -38,14 +38,15 @@ export class Scheduler_xfjs_Local_Ctor extends Scheduler {
|
||||
if (!_hd) return
|
||||
|
||||
let limit = _hd.data?.rank?.slice(-1)?.[0]?.rank?.slice(-1)?.[0] || 100
|
||||
let rmbuse = await G.mongodb.collection('rmbuse').aggregate([
|
||||
{$match: {isAdd: false, cTime: {$gte: _hd.stime, $lte: _hd.etime}}},
|
||||
{$group: {_id: "$uid", total: {$sum: "$change"}}},
|
||||
{$sort: {total: 1}},
|
||||
{$limit: limit}
|
||||
]).toArray()
|
||||
|
||||
let list: any = rmbuse.map(i => ({...i, total: R.negate(i.total)}))
|
||||
let rmbuse = await G.crossmongodb.collection('rmbuse').find({
|
||||
time: {
|
||||
$gte: _hd.stime,
|
||||
$lte: _hd.etime + 10
|
||||
}
|
||||
}).sort({change: 1}).limit(limit).toArray()
|
||||
|
||||
let list: any = rmbuse.map(i => ({...i, total: R.negate(i.change)}))
|
||||
|
||||
let ranklist = sortRankList(_hd.data.rank, list)
|
||||
|
||||
@ -53,6 +54,7 @@ export class Scheduler_xfjs_Local_Ctor extends Scheduler {
|
||||
let users = R.slice(i.rank[0] - 1, i.rank[1])(ranklist)
|
||||
users.map(v => {
|
||||
if (v._id == 'system') return
|
||||
if (G.config.serverId != users.sid) return;
|
||||
EmailFun.addEmail({
|
||||
uid: v._id,
|
||||
type: 'system',
|
||||
|
@ -13,6 +13,7 @@ import {weixiuchangType} from "../shared/protocols/weixiuchang/type";
|
||||
import {FunWeiXiuChang} from "./weixiuchang";
|
||||
import {JJCFun} from "./jjc";
|
||||
import {getGud} from "./gud";
|
||||
import {Yuandanfun} from "../api_s2c/event/yuandan/fun";
|
||||
|
||||
let _classNameFunc = {}
|
||||
/**
|
||||
@ -76,6 +77,8 @@ export module manager {
|
||||
YangChengMuBiaofun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
// 圣诞活动任务计数
|
||||
Christmasfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
// 元旦活动任务计数
|
||||
Yuandanfun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg)
|
||||
}
|
||||
|
||||
// 任务数值, 和检测值,看情况需要上层复写
|
||||
|
@ -438,7 +438,12 @@ const crossIndexs: Partial<{ [k in keyof MongodbCollections]: IndexDescription[]
|
||||
{
|
||||
key: {zkey: 1}
|
||||
},
|
||||
]
|
||||
],
|
||||
huodong_user: [
|
||||
{
|
||||
key: {uid: 1}, unique: true,
|
||||
}
|
||||
],
|
||||
};
|
||||
|
||||
export async function initMongoDB() {
|
||||
|
12
src/shared/protocols/event/yuandan/PtlDMRec.ts
Normal file
12
src/shared/protocols/event/yuandan/PtlDMRec.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import {prizeType} from "../../type";
|
||||
|
||||
/**
|
||||
* 元旦达摩领奖
|
||||
*/
|
||||
export type ReqDMRec = {
|
||||
id: 1 | 0
|
||||
}
|
||||
|
||||
export type ResDMRec = {
|
||||
prize: prizeType[]
|
||||
}
|
11
src/shared/protocols/event/yuandan/PtlDZRec.ts
Normal file
11
src/shared/protocols/event/yuandan/PtlDZRec.ts
Normal file
@ -0,0 +1,11 @@
|
||||
/**
|
||||
* 元旦定制领奖
|
||||
*/
|
||||
export type ReqDZRec = {
|
||||
id: string
|
||||
dlz: { a: string, t: string, n: number }[]
|
||||
}
|
||||
|
||||
export type ResDZRec = {
|
||||
[k: string]: any;
|
||||
}
|
11
src/shared/protocols/event/yuandan/PtlExchange.ts
Normal file
11
src/shared/protocols/event/yuandan/PtlExchange.ts
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/**
|
||||
* 元旦兑换领奖
|
||||
*/
|
||||
export type ReqExchange = {
|
||||
id: string
|
||||
}
|
||||
|
||||
export type ResExchange = {
|
||||
|
||||
}
|
22
src/shared/protocols/event/yuandan/PtlOpen.ts
Normal file
22
src/shared/protocols/event/yuandan/PtlOpen.ts
Normal file
@ -0,0 +1,22 @@
|
||||
/**
|
||||
* 元旦
|
||||
*/
|
||||
export type ReqOpen = {}
|
||||
|
||||
export type ResOpen = {
|
||||
data: any
|
||||
payLog: any
|
||||
[k: string]: any;
|
||||
}
|
||||
|
||||
export type event = {
|
||||
qiandao: { [k: string]: any };
|
||||
gift: { [k: string]: any };
|
||||
taskfinish: string[];
|
||||
taskval: { [k: string]: any }
|
||||
exchange: { [k: string]: any }
|
||||
gameNum: number
|
||||
refreshTime: number;
|
||||
qiandaoTime: number;
|
||||
[k: string]: any;
|
||||
}
|
10
src/shared/protocols/event/yuandan/PtlTaskRec.ts
Normal file
10
src/shared/protocols/event/yuandan/PtlTaskRec.ts
Normal file
@ -0,0 +1,10 @@
|
||||
/**
|
||||
* 元旦任务领奖
|
||||
*/
|
||||
export type ReqTaskRec = {
|
||||
taskid: string
|
||||
}
|
||||
|
||||
export type ResTaskRec = {
|
||||
[k: string]: any;
|
||||
}
|
12
src/shared/protocols/event/yuandan/PtlZLRec.ts
Normal file
12
src/shared/protocols/event/yuandan/PtlZLRec.ts
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
/**
|
||||
* 元旦赠礼领奖
|
||||
*/
|
||||
export type ReqZLRec = {
|
||||
id: string,
|
||||
dlz: { a: string, t: string, n: number }[]
|
||||
}
|
||||
|
||||
export type ResZLRec = {
|
||||
[k: string]: any;
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
/**
|
||||
* 周末礼包领奖
|
||||
*/
|
||||
export interface ReqReceive {
|
||||
export type ReqReceive = {
|
||||
id: string
|
||||
}
|
||||
|
||||
export interface ResReceive {
|
||||
export type ResReceive = {
|
||||
|
||||
}
|
||||
|
@ -54,7 +54,8 @@ export type hongdianKey =
|
||||
| 'zhoumolibao'
|
||||
| 'pobinglibao'
|
||||
| 'payForDiamond'
|
||||
| 'leichonglibao';
|
||||
| 'leichonglibao'
|
||||
| 'yuandan';
|
||||
export type hongdianVal = {
|
||||
show?: boolean;
|
||||
// 看功能需要
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -73,6 +73,7 @@ export class PublicShared {
|
||||
* 随机掉落组
|
||||
* @param id 掉落组id
|
||||
* @param num 随机次数
|
||||
* @param conf
|
||||
*/
|
||||
static randomDropGroup(id: string | number, num = 1, conf = G.gc.diaoluo): prizeType[] {
|
||||
let prize = [];
|
||||
|
Loading…
Reference in New Issue
Block a user