Merge branch 'feature/yuandan' into release

# Conflicts:
#	src/public/pay.ts
This commit is contained in:
dy 2023-12-27 20:20:01 +08:00
commit 82d323d5c8
29 changed files with 2034 additions and 430 deletions

View 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']);
}

View 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']);
}

View 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']);
}

View 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)
})
}

View 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);
}

View 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']);
}

View 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
)
}
}
}

View File

@ -348,6 +348,10 @@ export class HuoDongHongDianFun {
// 检测 htype 10 破冰活动红点 // 检测 htype 10 破冰活动红点
ishd = await this.pobinglibao(call, element) ishd = await this.pobinglibao(call, element)
} }
if (element.htype == 14) {
// 检测 htype 10 破冰活动红点
ishd = await this.yuandan(call, element)
}
// 此活动有红点 // 此活动有红点
if (ishd.show) { if (ishd.show) {
@ -362,7 +366,7 @@ export class HuoDongHongDianFun {
/**破冰礼包红点 */ /**破冰礼包红点 */
static async pobinglibao(call: ApiCall, _hd: ReqAddHuoDong): Promise<hongdianVal> { 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} if (!gift) return {show: false}
let payLog = await PayFun.getPayLog(call.uid, gift.payId) let payLog = await PayFun.getPayLog(call.uid, gift.payId)
@ -376,6 +380,25 @@ export class HuoDongHongDianFun {
return {show: true} 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}
}
return {show: false}
}
/**开服狂欢红点 */ /**开服狂欢红点 */
static async kfkhHongDian(call: ApiCall) { static async kfkhHongDian(call: ApiCall) {
let _res: hongdianVal = { let _res: hongdianVal = {

View File

@ -44,10 +44,10 @@ export function clusterPublish(key: string, data: any) {
* N个进程中使 * N个进程中使
*/ */
export function clusterRunOnce(fun) { 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') { if (process.env.pm_id == null || process.env.pm_id === '0') {
//非pm2启动的或是pm2下启动的第一个进程 //非pm2启动的或是pm2下启动的第一个进程
console.log("run clusterRunOnce1 ===>", process.pid) // console.log("run clusterRunOnce1 ===>", process.pid)
fun(); fun();
return; return;
} }
@ -56,7 +56,7 @@ export function clusterRunOnce(fun) {
if (firstPid == process.pid) { if (firstPid == process.pid) {
//pm2的其中一个进程 //pm2的其中一个进程
console.log("run clusterRunOnce2 ===>", process.pid) // console.log("run clusterRunOnce2 ===>", process.pid)
fun(); fun();
return; return;
} }

View File

@ -138,5 +138,25 @@
"sicon": "icon_hspj", "sicon": "icon_hspj",
"describe": "intr_attr_describe_15", "describe": "intr_attr_describe_15",
"advancedEffects": "" "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_hspj",
"sicon": "icon_hspj",
"describe": "intr_attr_describe_17",
"advancedEffects": "ani_xiangzikuang"
} }
} }

View File

@ -39,9 +39,9 @@
], ],
//段位奖励 //段位奖励
danPrize: [ 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: [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: '38', n:2 }] }, { 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: '38', n:1 }] }, { 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: [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: [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 }] }, { star: [7, 12], prize: [{ a: 'item', t: '29', n:10 },{ a: 'item', t: '29', n:5 },{ a: 'item', t: '39', n:600 }] },

View File

@ -10669,7 +10669,7 @@
}, },
"attr^shengdanExp": { "attr^shengdanExp": {
"itemId": "attr^shengdanExp", "itemId": "attr^shengdanExp",
"name": "圣诞战令经验", "name": "圣诞积分",
"i18nKey": "intr_attr_name_13", "i18nKey": "intr_attr_name_13",
"detailI18nKey": "intr_attr_describe_13", "detailI18nKey": "intr_attr_describe_13",
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png", "iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
@ -10690,7 +10690,7 @@
}, },
"attr^shengdanBullet": { "attr^shengdanBullet": {
"itemId": "attr^shengdanBullet", "itemId": "attr^shengdanBullet",
"name": "圣诞打靶币", "name": "圣诞喷漆",
"i18nKey": "intr_attr_name_14", "i18nKey": "intr_attr_name_14",
"detailI18nKey": "intr_attr_describe_14", "detailI18nKey": "intr_attr_describe_14",
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png", "iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
@ -10711,7 +10711,7 @@
}, },
"attr^jingxuanbi": { "attr^jingxuanbi": {
"itemId": "attr^jingxuanbi", "itemId": "attr^jingxuanbi",
"name": "每日精选兑换币", "name": "黑市票券",
"i18nKey": "intr_attr_name_15", "i18nKey": "intr_attr_name_15",
"detailI18nKey": "intr_attr_describe_15", "detailI18nKey": "intr_attr_describe_15",
"iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png", "iconUrl": "https://ik.imagekit.io/g123/production-ctw-box/game-box/preview/6ffd84658d75d5247f7f01b2f00ae3e6beda7163237c025ff8f0a58c.png",
@ -10729,5 +10729,47 @@
"sellMaxCp": 500, "sellMaxCp": 500,
"rarity": 4 "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
}
} }
} }

View File

@ -2892,9 +2892,12 @@
free: true, free: true,
payId: '', payId: '',
buyNum: 1, buyNum: 1,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 30}],
[ {a: 'attr', t: 'rmbmoney', n: 30}], dlz: [
[ {a: 'attr', t: 'jinbi', n: 50000}, {a: 'item', t: '1', n: 50000} ] {
"1":{a: 'attr', t: 'jinbi', n: 50000},
"2":{a: 'item', t: '1', n: 50000}
}
] ]
}, },
{ {
@ -2902,10 +2905,16 @@
free: false, free: false,
payId: 'zixuanlibao6', payId: 'zixuanlibao6',
buyNum: 1, buyNum: 1,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 60}],
[ {a: 'attr', t: 'rmbmoney', n: 60} ], dlz: [
[ {a: 'item', t: '2', n: 60}, {a: 'item', t: '12', n: 50} ], {
[ {a: 'item', t: '27', n: 1500}, {a: 'item', t: '1', n: 100000} ] "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}
}
] ]
}, },
{ {
@ -2913,10 +2922,16 @@
free: false, free: false,
payId: 'zixuanlibao30', payId: 'zixuanlibao30',
buyNum: 2, buyNum: 2,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 300}],
[ {a: 'attr', t: 'rmbmoney', n: 300} ], dlz: [
[ {a: 'item', t: '2', n: 200}, {a: 'item', t: '12', n: 100} ], {
[ {a: 'item', t: '27', n: 7000}, {a: 'item', t: '1', n: 200000} ] "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}
}
] ]
}, },
{ {
@ -2924,10 +2939,17 @@
free: false, free: false,
payId: 'zixuanlibao68', payId: 'zixuanlibao68',
buyNum: 2, buyNum: 2,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 680}],
[ {a: 'attr', t: 'rmbmoney', n: 680} ], dlz: [
[ {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} ] "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}
}
] ]
}, },
{ {
@ -2935,10 +2957,17 @@
free: false, free: false,
payId: 'zixuanlibao128', payId: 'zixuanlibao128',
buyNum: 2, buyNum: 2,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 1280}],
[ {a: 'attr', t: 'rmbmoney', n: 1280} ], dlz: [
[ {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} ] "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, free: false,
payId: 'zixuanlibao328', payId: 'zixuanlibao328',
buyNum: 3, buyNum: 3,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 3280}],
[ {a: 'attr', t: 'rmbmoney', n: 3280} ], dlz: [
[ {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} ] "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, free: false,
payId: 'zixuanlibao648', payId: 'zixuanlibao648',
buyNum: 3, buyNum: 3,
prize: [ prize: [{a: 'attr', t: 'rmbmoney', n: 6480}],
[ {a: 'attr', t: 'rmbmoney', n: 6480} ], dlz: [
[ {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} ] "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}
}
] ]
} }
] ]
@ -4283,5 +4326,586 @@
} }
} }
} }
},
{
"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": [],
"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": [],
"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": [],
"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": [],
"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],
"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": [],
"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": [],
"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": [],
"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": [],
"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": [
{"a": "item", "t":"1", "n": 10000000, "p": 10},
{"a": "item", "t":"12", "n": 1000, "p": 20},
{"a": "item", "t":"2", "n": 2000, "p": 30},
{"a": "item", "t":"18", "n": 100, "p": 50},
{"a": "item", "t":"18", "n": 200, "p": 40},
{"a": "item", "t":"18", "n": 300, "p": 100},
{"a": "item", "t":"18", "n": 400, "p": 15}
],
//免费玩游戏次数
"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}
}
]
}
}
]
}
} }
] ]

View File

@ -804,7 +804,7 @@
"40": { "40": {
"id": 40, "id": 40,
"name": "intr_item_name_40", "name": "intr_item_name_40",
"undefined": "丛林狩猎霸主级玩家的特殊身份标识", "undefined": "丛林狩猎霸主级玩家的特殊身份标识使用后持续7天",
"type": 7, "type": 7,
"sort": 1, "sort": 1,
"colour": 5, "colour": 5,
@ -1230,6 +1230,16 @@
"a": "item", "a": "item",
"t": "4013", "t": "4013",
"n": 1 "n": 1
},
{
"a": "item",
"t": "4002",
"n": 1
},
{
"a": "item",
"t": "4012",
"n": 1
} }
], ],
"payId": "", "payId": "",
@ -2087,30 +2097,15 @@
"useNeed": [], "useNeed": [],
"usePrize": [], "usePrize": [],
"selecPrize": [ "selecPrize": [
{
"a": "hero",
"t": "5001",
"n": 1
},
{ {
"a": "hero", "a": "hero",
"t": "5002", "t": "5002",
"n": 1 "n": 1
}, },
{
"a": "hero",
"t": "5003",
"n": 1
},
{ {
"a": "hero", "a": "hero",
"t": "5004", "t": "5004",
"n": 1 "n": 1
},
{
"a": "hero",
"t": "5005",
"n": 1
} }
], ],
"payId": "", "payId": "",
@ -4024,6 +4019,7 @@
"50010": { "50010": {
"id": 50010, "id": 50010,
"name": "playerheadFrame_name_24", "name": "playerheadFrame_name_24",
"undefined": "使用后解锁头像框“披星戴月”",
"type": 7, "type": 7,
"sort": 1, "sort": 1,
"colour": 4, "colour": 4,

View File

@ -1378,5 +1378,18 @@
"display": { "display": {
"lv": 15 "lv": 15
} }
},
"weiwang": {
"name": "weiwang",
"undefined": "威望",
"and": {
"lv": 15
},
"or": {},
"time": 0,
"tips": "openCond_tips_96",
"display": {
"lv": 15
}
} }
} }

View File

@ -630,7 +630,7 @@
{ {
"a": "item", "a": "item",
"t": "1", "t": "1",
"n": 1000000 "n": 2000000
} }
], ],
"firstPayPrize": [], "firstPayPrize": [],
@ -661,7 +661,7 @@
{ {
"a": "item", "a": "item",
"t": "1", "t": "1",
"n": 2000000 "n": 5000000
} }
], ],
"firstPayPrize": [], "firstPayPrize": [],
@ -764,7 +764,7 @@
{ {
"a": "item", "a": "item",
"t": "1", "t": "1",
"n": 12000000 "n": 30000000
} }
], ],
"firstPayPrize": [], "firstPayPrize": [],
@ -6473,5 +6473,205 @@
"needVip": 0, "needVip": 0,
"front": {}, "front": {},
"currency": "CNY" "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"
} }
} }

View File

@ -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 ResOpenZhoumolibao} from '../shared/protocols/event/zhoumolibao/PtlOpen';
import {ResOpen as ResOpenPobinglibao} from '../shared/protocols/event/pobinglibao/PtlOpen'; import {ResOpen as ResOpenPobinglibao} from '../shared/protocols/event/pobinglibao/PtlOpen';
import {ResOpen as ResOpenLeiChongLiBao} from '../shared/protocols/event/leichonglibao/PtlOpen'; import {ResOpen as ResOpenLeiChongLiBao} from '../shared/protocols/event/leichonglibao/PtlOpen';
import {event as ResOpenYuandan} from '../shared/protocols/event/yuandan/PtlOpen';
export type eventType = { export type eventType = {
shouchong: { shouchong: {
@ -57,6 +58,7 @@ export type eventType = {
payForDiamond: { payForDiamond: {
[time: number]: number [time: number]: number
} }
} & { } & {
[k: `${number}jijin`]: ResOpenYuedujijin; [k: `${number}jijin`]: ResOpenYuedujijin;
[k: `yangchengmubiao${number}`]: yangchengmubiao; [k: `yangchengmubiao${number}`]: yangchengmubiao;
@ -67,6 +69,7 @@ export type eventType = {
[k: `leijichongzhi${number}`]: Omit<ResOpenLeijichongzhi, 'payNum'>; [k: `leijichongzhi${number}`]: Omit<ResOpenLeijichongzhi, 'payNum'>;
[k: `qiridenglu${number}`]: Pick<ResOpenQiridenglu, 'recPrize'>; [k: `qiridenglu${number}`]: Pick<ResOpenQiridenglu, 'recPrize'>;
[k: `leichonglibao${number}`]: ResOpenLeiChongLiBao & { opentime: number }; [k: `leichonglibao${number}`]: ResOpenLeiChongLiBao & { opentime: number };
[k: `yuandan${number}`]: ResOpenYuandan;
}; };
export type CollectionEvent<T extends keyof eventType> = { export type CollectionEvent<T extends keyof eventType> = {

View File

@ -250,6 +250,10 @@ export class PayFun {
console.log("Christmasfun.payChristmas Error", e); console.log("Christmasfun.payChristmas Error", e);
} }
/**
* payArgs里传入自选项
* check里判断拦截自选项的奖励
*/
if (payArgs && payArgs?.htype && payArgs?.selectList) { if (payArgs && payArgs?.htype && payArgs?.selectList) {
let selectPrize = await G.ioredis.get(`pay:${payId}:${player.uid}`); let selectPrize = await G.ioredis.get(`pay:${payId}:${player.uid}`);
if (selectPrize) { if (selectPrize) {

View File

@ -13,6 +13,7 @@ import {weixiuchangType} from "../shared/protocols/weixiuchang/type";
import {FunWeiXiuChang} from "./weixiuchang"; import {FunWeiXiuChang} from "./weixiuchang";
import {JJCFun} from "./jjc"; import {JJCFun} from "./jjc";
import {getGud} from "./gud"; import {getGud} from "./gud";
import {Yuandanfun} from "../api_s2c/event/yuandan/fun";
let _classNameFunc = {} let _classNameFunc = {}
/** /**
@ -76,6 +77,8 @@ export module manager {
YangChengMuBiaofun.setTaskVal(call, this.stype, val, this.chkCall, chkval, this.isinc, this.alchangeVal, arg) 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) 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)
} }
// 任务数值, 和检测值,看情况需要上层复写 // 任务数值, 和检测值,看情况需要上层复写

View File

@ -0,0 +1,12 @@
import {prizeType} from "../../type";
/**
*
*/
export type ReqDMRec = {
id: 1 | 0
}
export type ResDMRec = {
prize: prizeType[]
}

View File

@ -0,0 +1,11 @@
/**
*
*/
export type ReqDZRec = {
id: string
dlz: { a: string, t: string, n: number }[]
}
export type ResDZRec = {
[k: string]: any;
}

View File

@ -0,0 +1,11 @@
/**
*
*/
export type ReqExchange = {
id: string
}
export type ResExchange = {
}

View 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;
}

View File

@ -0,0 +1,10 @@
/**
*
*/
export type ReqTaskRec = {
taskid: string
}
export type ResTaskRec = {
[k: string]: any;
}

View File

@ -0,0 +1,12 @@
/**
*
*/
export type ReqZLRec = {
id: string,
dlz: { a: string, t: string, n: number }[]
}
export type ResZLRec = {
[k: string]: any;
}

View File

@ -1,10 +1,10 @@
/** /**
* *
*/ */
export interface ReqReceive { export type ReqReceive = {
id: string id: string
} }
export interface ResReceive { export type ResReceive = {
} }

View File

@ -54,7 +54,8 @@ export type hongdianKey =
| 'zhoumolibao' | 'zhoumolibao'
| 'pobinglibao' | 'pobinglibao'
| 'payForDiamond' | 'payForDiamond'
| 'leichonglibao'; | 'leichonglibao'
| 'yuandan';
export type hongdianVal = { export type hongdianVal = {
show?: boolean; show?: boolean;
// 看功能需要 // 看功能需要

File diff suppressed because it is too large Load Diff

View File

@ -73,6 +73,7 @@ export class PublicShared {
* *
* @param id id * @param id id
* @param num * @param num
* @param conf
*/ */
static randomDropGroup(id: string | number, num = 1, conf = G.gc.diaoluo): prizeType[] { static randomDropGroup(id: string | number, num = 1, conf = G.gc.diaoluo): prizeType[] {
let prize = []; let prize = [];