Merge branch 'bugfix' of http://git.legu.cc/qixin/HJ_Server into bugfix
This commit is contained in:
commit
7ca6fe75e3
@ -11,4 +11,6 @@ WORKDIR /app
|
||||
|
||||
RUN npm config set registry http://registry.npm.taobao.org/ && npm install pm2@5.2.2 -g
|
||||
|
||||
RUN rm -rf node_modules/tsbuffer-validator/index.js && cp tsbufferIndex.js node_modules/tsbuffer-validator/index.js
|
||||
|
||||
CMD cd /app && sh zoeninfo.sh "Asia/Tokyo" && pm2-runtime start js_pm2.config.js -- ${Param}
|
||||
|
1792
package-lock.json
generated
1792
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -6,9 +6,9 @@
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "tsrpc-cli dev",
|
||||
"build": "tsrpc-cli build && copy js_pm2.config.js dist && copy zoeninfo.sh dist && mkdir dist\\json && xcopy src\\json dist\\json /e ",
|
||||
"build_win": "tsrpc-cli build && copy js_pm2.config.js dist && copy zoeninfo.sh dist && mkdir dist\\json && xcopy src\\json dist\\json /e ",
|
||||
"build_linux": "tsrpc-cli build && cp js_pm2.config.js dist && cp zoeninfo.sh dist && cp src/json/ -a dist ",
|
||||
"build": "tsrpc-cli build && copy js_pm2.config.js dist && copy zoeninfo.sh dist && copy tsbufferIndex.js dist && mkdir dist\\json && xcopy src\\json dist\\json /e ",
|
||||
"build_win": "tsrpc-cli build && copy js_pm2.config.js dist && copy zoeninfo.sh dist && copy tsbufferIndex.js dist && mkdir dist\\json && xcopy src\\json dist\\json /e ",
|
||||
"build_linux": "tsrpc-cli build && cp js_pm2.config.js dist && cp zoeninfo.sh dist && cp tsbufferIndex.js dist && cp src/json/ -a dist ",
|
||||
"build_docker_win": "npm run build_win && cd dist && npm i --omit=dev",
|
||||
"build_docker_linux": "npm run build_linux && cd dist && npm i --omit=dev",
|
||||
"doc": "tsrpc-cli doc && node js_uploadDoc.js",
|
||||
@ -42,6 +42,7 @@
|
||||
"json5": "^2.2.3",
|
||||
"mathjs": "^11.4.0",
|
||||
"mongodb": "^4.17.1",
|
||||
"node-gyp": "^10.0.1",
|
||||
"ramda": "^0.29.1",
|
||||
"redis": "^4.3.1",
|
||||
"shelljs": "^0.8.5",
|
||||
|
@ -5,7 +5,7 @@ export default async function (call: ApiCall<ReqDelCrossEmail, ResDelCrossEmail>
|
||||
let eids = call.req.eids;
|
||||
G.mongodb.collection("email").updateMany({
|
||||
_id: {$in: eids.map((i) => G.mongodb.conversionId(i))}
|
||||
}, {isdel: true})
|
||||
}, {$set: {isdel: true}})
|
||||
|
||||
call.succ({result:true})
|
||||
}
|
@ -39,15 +39,15 @@ export default async function (call: ApiCall<ReqSyncBtn, ResSyncBtn>) {
|
||||
}
|
||||
break;
|
||||
case 'christmas':
|
||||
//领完消失
|
||||
if (!data[key]) {
|
||||
let _hdList = await HuoDongFun.gethdList(call, 8)
|
||||
if (_hdList) {
|
||||
// 无此活动
|
||||
data[key] = {active: true};
|
||||
change[key] = data[key];
|
||||
}
|
||||
}
|
||||
//领完消失
|
||||
data[key] = {active: false};
|
||||
change[key] = data[key];
|
||||
let _hdList = await HuoDongFun.gethdList(call, 8)
|
||||
if (_hdList.length > 0) {
|
||||
// 无此活动
|
||||
data[key] = {active: true};
|
||||
change[key] = data[key];
|
||||
}
|
||||
break;
|
||||
case 'dayjijin':
|
||||
case 'dengjijijin':
|
||||
|
@ -27,7 +27,6 @@ export default async function (call: ApiCall<ReqLiBao, ResLiBao>) {
|
||||
// 判断是否选择奖励了
|
||||
return call.error('', { code: -3, message: globalThis.lng.yangchengmubiao_2 })
|
||||
}
|
||||
|
||||
let _prize: atn[] = _con.basep
|
||||
|
||||
for (let key in _select) {
|
||||
|
@ -19,17 +19,23 @@ export default async function (call: ApiCall<ReqQianDao, ResQianDao>) {
|
||||
_mydata.qiandao.push(i)
|
||||
_prize = _prize.concat(_con[i])
|
||||
}
|
||||
|
||||
if (!_prize){
|
||||
if (_prize.length <= 0){
|
||||
// 没有奖励可以领取
|
||||
return call.error('', { code: -1, message: globalThis.lng.yangchengmubiao_2 })
|
||||
}
|
||||
|
||||
|
||||
let _setData = {}
|
||||
let _addVal = 0
|
||||
// 懒得喊后台和前端修改了,直接取prize里面的对应的经验字段去添加zhanling经验
|
||||
for (const p of _prize) {
|
||||
// 战令经验
|
||||
if (p.t == "shengdanExp") {
|
||||
_addVal += p.n
|
||||
}
|
||||
}
|
||||
_mydata["val"] += _addVal
|
||||
_setData["val"] = _mydata.val
|
||||
_setData["qiandao"] = _mydata.qiandao
|
||||
await Christmasfun.setMyData(call.uid, call.req.hdid, { $set: _setData })
|
||||
|
||||
await PlayerFun.sendPrize(call, _prize);
|
||||
let changedata = { mydata: _mydata, prize: _prize}
|
||||
// 推送红点
|
||||
|
@ -22,11 +22,14 @@ export default async function (call: ApiCall<ReqTaskRec, ResTaskRec>) {
|
||||
return call.error('', { code: -3, message: globalThis.lng.yangchengmubiao_4 })
|
||||
}
|
||||
_mydata.taskfinish.push(taskid)
|
||||
|
||||
let _addval = _con.addval
|
||||
let _setData = {}
|
||||
_mydata["val"] += _addval
|
||||
_setData["val"] = _mydata.val
|
||||
_setData["taskfinish"] = _mydata.taskfinish
|
||||
await Christmasfun.setMyData(call.uid, call.req.hdid, { $set: _setData })
|
||||
let _prize = _con.prize
|
||||
|
||||
await PlayerFun.sendPrize(call, _prize);
|
||||
let changedata = { mydata: _mydata, prize: _prize}
|
||||
// 推送红点
|
||||
|
@ -30,7 +30,7 @@ export default async function (call: ApiCall<ReqZhanLingRec, ResZhanLingRec>) {
|
||||
|
||||
_mydata.gj.push(index)
|
||||
}
|
||||
if (!_prize) {
|
||||
if (_prize.length <= 0) {
|
||||
// 没有奖励可以领取
|
||||
return call.error('', { code: -1, message: globalThis.lng.yangchengmubiao_2 })
|
||||
}
|
||||
|
@ -113,11 +113,17 @@ export class Christmasfun {
|
||||
mydata.taskval = await this.getTaskVal(call, hdid)
|
||||
mydata.refresh = G.time
|
||||
mydata.gamenum = 0
|
||||
await this.setMyData(call.uid, hdid, { $set: { refresh: mydata.refresh, taskfinish: mydata.taskfinish, taskval: mydata.taskval, gamenum: mydata.gamenum} })
|
||||
mydata.libao = {}
|
||||
await this.setMyData(call.uid, hdid, { $set: {
|
||||
refresh: mydata.refresh,
|
||||
taskfinish: mydata.taskfinish,
|
||||
taskval: mydata.taskval,
|
||||
gamenum: mydata.gamenum,
|
||||
libao:mydata.libao} })
|
||||
return mydata
|
||||
}
|
||||
|
||||
static async payChristmas(payid, call: ApiCall) {
|
||||
static async payChristmas(payid, call: any) {
|
||||
let _hd = await HuoDongFun.gethdList(call, 8)
|
||||
for (let index = 0; index < _hd.length; index++) {
|
||||
const hdinfo = _hd[index];
|
||||
@ -126,8 +132,8 @@ export class Christmasfun {
|
||||
let _mydata = await Christmasfun.getMyData(call, _hdid)
|
||||
if (_mydata.pay) continue
|
||||
await this.setMyData(call.uid, _hdid, { $set: { pay: true} })
|
||||
let _prize = hdinfo.data.zlpayprize
|
||||
await PlayerFun.sendPrize(call, _prize);
|
||||
// let _prize = hdinfo.data.zlpayprize
|
||||
// await PlayerFun.sendPrize(call, _prize);
|
||||
}
|
||||
else{
|
||||
const libaos = hdinfo.data.libao
|
||||
@ -140,6 +146,12 @@ export class Christmasfun {
|
||||
if (_buyNum >= _tmp["buynum"]) continue
|
||||
_mydata.libao[lbid] = _buyNum + 1
|
||||
this.setMyData(call.uid, _hdid, { $set: { libao: _mydata.libao} })
|
||||
let _select = _mydata.select[lbid] || {}
|
||||
let _prize: atn[] = _tmp["basep"]
|
||||
for (let key in _select) {
|
||||
_prize.push(_tmp["dlz"][parseInt(key)][_select[key]])
|
||||
}
|
||||
await PlayerFun.sendPrize(call, _prize);
|
||||
break
|
||||
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ let enemyObject: object = {}
|
||||
async function checkAndRefreshEnemy() {
|
||||
if (lastRefreshTime + 3600 > G.time) return
|
||||
lastRefreshTime = G.time
|
||||
for (let i = 3; i <= 8; i ++) {
|
||||
for (let i = 3; i <= 8; i++) {
|
||||
let users = await G.mongodb.collection('user').aggregate([
|
||||
{
|
||||
$match: {
|
||||
@ -85,7 +85,9 @@ async function checkAndRefreshEnemy() {
|
||||
export async function refreshEnemys(call: ApiCall) {
|
||||
if (!lastRefreshTime) await checkAndRefreshEnemy()
|
||||
|
||||
let dbUser = enemyObject[Math.floor(call.conn.gud.lv / 10)]
|
||||
let lvDw = Math.floor(call.conn.gud.lv / 10 > 8 ? 8 : call.conn.gud.lv / 10)
|
||||
|
||||
let dbUser = enemyObject[lvDw] || []
|
||||
|
||||
let enemys: joinFightData[] = [];
|
||||
|
||||
|
@ -57,6 +57,8 @@ export default async function (call: ApiCall<ReqChangePos, ResChangePos>) {
|
||||
}
|
||||
fightHeros.push(hero.heroId.toString());
|
||||
|
||||
fightHeros = await checkFightHerosAndFix(call.uid, heroPos, fightHeros)
|
||||
|
||||
Wjjl.setVal(call.uid, 'fight_hero_colour_4', fightHeros.map(id => G.gc.hero[id].colour).filter(c => c >= 4).length);
|
||||
|
||||
let checkMatrixPos = HeroFun.checkMatrixPosAndChange(call, heroPos, matrixPos)
|
||||
@ -65,4 +67,12 @@ export default async function (call: ApiCall<ReqChangePos, ResChangePos>) {
|
||||
|
||||
call.conn.refreshPower();
|
||||
kfjsFun.setHeroLvCount(call)
|
||||
}
|
||||
|
||||
async function checkFightHerosAndFix(uid, heroPos, fightHeros) {
|
||||
if (fightHeros.length == R.values(heroPos).length) {
|
||||
return fightHeros
|
||||
}
|
||||
let heros = await HeroFun.getHeros({uid}, R.values(heroPos));
|
||||
return heros.map(i => i.heroId)
|
||||
}
|
@ -364,6 +364,10 @@ export class HuoDongHongDianFun {
|
||||
// 检测 htype 6 七日登录活动红点
|
||||
ishd = await this.qiridengluHongDian(call, element)
|
||||
}
|
||||
if (element.htype == 8) {
|
||||
// 检测 htype 8 圣诞活动红点
|
||||
ishd = await this.christmasHongDian(call, element)
|
||||
}
|
||||
|
||||
// 此活动有红点
|
||||
if (ishd.show) {
|
||||
@ -704,7 +708,7 @@ export class HuoDongHongDianFun {
|
||||
for (let indextask = 0; indextask < Object.keys(_tasks).length; indextask++) {
|
||||
const elementtask = Object.keys(_tasks)[indextask];
|
||||
let _tmp = _tasks[elementtask];
|
||||
if (_tmp.pval <= (_mydata.taskval[elementtask] || 0) && !_mydata.taskfinsih.includes(elementtask)) {
|
||||
if (_tmp.pval <= (_mydata.taskval[elementtask] || 0) && !_mydata.taskfinish.includes(elementtask)) {
|
||||
// 任务完成且没有领取
|
||||
_res.show = true;
|
||||
return _res;
|
||||
|
@ -6,7 +6,7 @@ import {PublicShared} from '../../shared/public/public';
|
||||
import {TanXianShared} from '../../shared/public/tanxian';
|
||||
import {event_dldh_addPrize} from '../event/diaoluoduihuan/ApiOpen';
|
||||
import {getEventPrize} from '../tanxian/ApiEvent';
|
||||
import { getItemByItemId } from "../../public/item";
|
||||
import {getItemByItemId} from "../../public/item";
|
||||
|
||||
const iType = {
|
||||
3: 'hero',
|
||||
@ -15,10 +15,10 @@ const iType = {
|
||||
};
|
||||
|
||||
export default async function (call: ApiCall<ReqUse, ResUse>) {
|
||||
|
||||
//ȥ<><C8A5>item Redis<69><73><EFBFBD>
|
||||
let itemInfo = await getItemByItemId(call.uid,call.req.itemId); //call.conn.item[call.req.itemId];
|
||||
if(!itemInfo[call.req.itemId]) return call.error(globalThis.lng.item_1);
|
||||
|
||||
//ȥ<><C8A5>item Redis<69><73><EFBFBD>
|
||||
let itemInfo = await getItemByItemId(call.uid, call.req.itemId); //call.conn.item[call.req.itemId];
|
||||
if (!itemInfo[call.req.itemId]) return call.error(globalThis.lng.item_1);
|
||||
let item = itemInfo[call.req.itemId];
|
||||
|
||||
let useNum = call.req.useNum;
|
||||
@ -105,8 +105,9 @@ export default async function (call: ApiCall<ReqUse, ResUse>) {
|
||||
n: useNum
|
||||
}
|
||||
];
|
||||
} else if ([7, 8].includes(itemConf.type)) {
|
||||
} else if ([6, 7, 8].includes(itemConf.type)) {
|
||||
if (useNum > item.num) return call.error(globalThis.lng.item_3);
|
||||
if (itemConf.type == 6) UserFun.activeModel(call.uid, itemConf.diaoluo.toString(), useNum);
|
||||
if (itemConf.type == 7) UserFun.activeHeadFrame(call.uid, itemConf.diaoluo.toString(), useNum);
|
||||
if (itemConf.type == 8) UserFun.activeChatFrame(call.uid, itemConf.diaoluo.toString(), useNum);
|
||||
|
||||
|
@ -1,16 +1,27 @@
|
||||
import { ApiCall } from "tsrpc";
|
||||
import { PlayerFun } from '../../public/player';
|
||||
import { ReqChangeInfo, ResChangeInfo } from "../../shared/protocols/user/PtlChangeInfo";
|
||||
import { ResLogin } from '../../shared/protocols/user/PtlLogin';
|
||||
import { UserShared } from '../../shared/public/user';
|
||||
import {ApiCall} from "tsrpc";
|
||||
import {PlayerFun} from '../../public/player';
|
||||
import {ReqChangeInfo, ResChangeInfo} from "../../shared/protocols/user/PtlChangeInfo";
|
||||
import {ResLogin} from '../../shared/protocols/user/PtlLogin';
|
||||
import {UserShared} from '../../shared/public/user';
|
||||
|
||||
export default async function (call: ApiCall<ReqChangeInfo, ResChangeInfo>) {
|
||||
|
||||
if (call.req.type == 'model' && !call.req.pos) return call.error(globalThis.lng.shiwu_6);
|
||||
// if (call.req.type == 'model' && !call.req.pos) return call.error(globalThis.lng.shiwu_6);
|
||||
|
||||
const active = (await G.mongodb.collection('playerInfo', 'playerInfo').findOne({ uid: call.uid, type: 'playerInfo' }))?.active || {};
|
||||
const fmtId = UserShared.getInfoId(call.req.type, call.req.id, call.req.pos || '');
|
||||
const isMeet = UserShared.chechIsActive(fmtId, { lv: call.conn.gud.lv, vip: call.conn.gud.vip, lsyx: call.conn.lshd.hero, active: active });
|
||||
let active = (await G.mongodb.collection('playerInfo', 'playerInfo').findOne({
|
||||
uid: call.uid,
|
||||
type: 'playerInfo'
|
||||
}))?.active || {};
|
||||
const fmtId = UserShared.getInfoId(call.req.type, call.req.id);
|
||||
if (R.values(active).length == 0) active = UserShared.getActive(fmtId, call.conn.gud, call.req.type, call.req.id)
|
||||
|
||||
const isMeet = UserShared.chechIsActive(fmtId, {
|
||||
lv: call.conn.gud.lv,
|
||||
vip: call.conn.gud.vip,
|
||||
lsyx: call.conn.lshd.hero,
|
||||
model: call.conn.gud.model,
|
||||
active: active
|
||||
});
|
||||
|
||||
if (!isMeet && call.req.type != 'headFrame' && call.req.type != 'chatFrame') return call.error(globalThis.lng.user_1);
|
||||
|
||||
@ -18,10 +29,12 @@ export default async function (call: ApiCall<ReqChangeInfo, ResChangeInfo>) {
|
||||
|
||||
if (call.req.type == 'model') {
|
||||
let d = JSON.parse(JSON.stringify(call.conn.gud.model));
|
||||
d[call.req.pos] = {
|
||||
let changeItem = {
|
||||
id: call.req.id,
|
||||
time: active[fmtId] || -1
|
||||
};
|
||||
}
|
||||
d[call.req.id] = changeItem
|
||||
change.upModel = changeItem
|
||||
change.model = d;
|
||||
} else {
|
||||
change[call.req.type] = {
|
||||
|
@ -2,13 +2,14 @@ import {RedisClientType, createClient} from "redis";
|
||||
import {redisClient} from "./setRedis";
|
||||
import {ConnectionStatus, WsServer} from "tsrpc";
|
||||
import cluster from 'cluster';
|
||||
import { clusterFun } from "./clusterFunction";
|
||||
import {clusterFun} from "./clusterFunction";
|
||||
|
||||
//维护当前uid和pid的对应关系
|
||||
let uid2processId = {};
|
||||
//订阅redis
|
||||
let subscribeRedis: RedisClientType
|
||||
let firstPid = null;
|
||||
|
||||
//发布和可写redis复用原 setRedis 里的redisClient
|
||||
|
||||
|
||||
@ -20,10 +21,10 @@ let firstPid = null;
|
||||
*/
|
||||
export function clusterSubscribe(key: string, callback: Function) {
|
||||
subscribeRedis.subscribe(G.redis.fromatKey(key), function (msg) {
|
||||
try{
|
||||
try {
|
||||
callback(msg);
|
||||
}catch(e){
|
||||
console.error("clusterSubscribe error",e);
|
||||
} catch (e) {
|
||||
console.error("clusterSubscribe error", e);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -43,14 +44,19 @@ export function clusterPublish(key: string, data: any) {
|
||||
* 在集群的N个进程中,只运行一次,在业务逻辑中也可使用
|
||||
*/
|
||||
export function clusterRunOnce(fun) {
|
||||
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)
|
||||
fun();
|
||||
return;
|
||||
}
|
||||
|
||||
if(firstPid == process.pid){
|
||||
if(G.config.isG123)return;
|
||||
|
||||
if (firstPid == process.pid) {
|
||||
//pm2的其中一个进程
|
||||
console.log("run clusterRunOnce2 ===>", process.pid)
|
||||
fun();
|
||||
return;
|
||||
}
|
||||
@ -60,16 +66,16 @@ export function clusterRunOnce(fun) {
|
||||
* 对外方法:
|
||||
* 在uid所在的进程执行fun方法,如果uid不在任何进程的话,则在当前进程执行
|
||||
*/
|
||||
export function clusterFunctionRunAtUidProcess(uid:string, fun:string, ...arg:any[]) {
|
||||
if(!uid2processId[uid] || uid2processId[uid] == process.pid){
|
||||
clusterFun[ fun ].call(this, ...arg);
|
||||
export function clusterFunctionRunAtUidProcess(uid: string, fun: string, ...arg: any[]) {
|
||||
if (!uid2processId[uid] || uid2processId[uid] == process.pid) {
|
||||
clusterFun[fun].call(this, ...arg);
|
||||
return;
|
||||
}
|
||||
|
||||
clusterPublish("RunclusterFunction", JSON.stringify({
|
||||
"uid": uid,
|
||||
"fun": fun,
|
||||
"arg" : arg
|
||||
"arg": arg
|
||||
}))
|
||||
}
|
||||
|
||||
@ -159,17 +165,17 @@ async function initSubscribeRedis() {
|
||||
clusterSubscribe('broadcastClusterMsg', function (msg) {
|
||||
let data = JSON.parse(msg);
|
||||
|
||||
if(!data.filter){
|
||||
if (!data.filter) {
|
||||
//如果不是有条件发送的话
|
||||
G.server.broadcastMsg(data.msgName, data.msg);
|
||||
}else {
|
||||
} else {
|
||||
//但是如果是有条件发送的话
|
||||
//条件里可能需要进程内的信息,则需要每个进程都分别筛选后执行
|
||||
if (data.filter.ghId != null) {
|
||||
//指定公会
|
||||
let conns = G.server.connections;
|
||||
conns = conns.filter(c => c?.gud?.ghId == data.filter.ghId);
|
||||
conns.length>0 && G.server.broadcastMsg(data.msgName, data.msg, conns);
|
||||
conns.length > 0 && G.server.broadcastMsg(data.msgName, data.msg, conns);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -178,7 +184,7 @@ async function initSubscribeRedis() {
|
||||
clusterSubscribe('RunclusterFunction', function (msg) {
|
||||
let data = JSON.parse(msg);
|
||||
if (uid2processId[data.uid] == process.pid) {
|
||||
clusterFun[ data.fun ].call(this, ...data.arg);
|
||||
clusterFun[data.fun].call(this, ...data.arg);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -193,8 +199,8 @@ export async function clusterMain() {
|
||||
});
|
||||
//初始化订阅redis
|
||||
await initSubscribeRedis();
|
||||
|
||||
if(process.env.pm_id != null){
|
||||
|
||||
if (process.env.pm_id != null) {
|
||||
//pm2启动的,设置key为我的pid
|
||||
firstPid = await redisClient.get(G.redis.fromatKey("firstPid"));
|
||||
if (!firstPid) {
|
||||
@ -207,7 +213,7 @@ export async function clusterMain() {
|
||||
redisClient.del(G.redis.fromatKey("uid2processId"));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//初始化玩家pid信息
|
||||
await initUid2processId();
|
||||
|
@ -875,6 +875,29 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "upModel",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"properties": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "id",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "time",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "model",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -903,14 +926,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 7,
|
||||
"name": "renown",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 8,
|
||||
"name": "wxcLv",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -936,14 +959,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 9,
|
||||
"name": "mapId",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 10,
|
||||
"name": "shoucangping",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -956,14 +979,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 11,
|
||||
"name": "useTujianLvPoint",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 12,
|
||||
"name": "skills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -976,7 +999,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 13,
|
||||
"name": "fightSkills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -989,7 +1012,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 14,
|
||||
"name": "heroPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1002,21 +1025,21 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 15,
|
||||
"name": "ghId",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"id": 16,
|
||||
"name": "ghName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"id": 17,
|
||||
"name": "ghLevel",
|
||||
"type": {
|
||||
"type": "Reference",
|
||||
@ -1024,7 +1047,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"id": 18,
|
||||
"name": "ghwz",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1038,7 +1061,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"id": 19,
|
||||
"name": "ghExitTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1046,7 +1069,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"id": 20,
|
||||
"name": "loginTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1054,7 +1077,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"id": 21,
|
||||
"name": "logoutTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1062,7 +1085,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"id": 22,
|
||||
"name": "cTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1070,7 +1093,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 23,
|
||||
"name": "loginDays",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1078,7 +1101,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 24,
|
||||
"name": "serverName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -1086,7 +1109,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 25,
|
||||
"name": "sid",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1094,7 +1117,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 26,
|
||||
"name": "onlineTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1102,7 +1125,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 27,
|
||||
"name": "newonlinetime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1110,7 +1133,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 28,
|
||||
"name": "isNpc",
|
||||
"type": {
|
||||
"type": "Boolean"
|
||||
@ -1118,7 +1141,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 29,
|
||||
"name": "matrix",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1132,7 +1155,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 30,
|
||||
"name": "matrixPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1152,7 +1175,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 31,
|
||||
"name": "selectMatrix",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -1160,7 +1183,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 32,
|
||||
"name": "fightHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -1171,7 +1194,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"id": 33,
|
||||
"name": "helpHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -1248,7 +1271,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 34,
|
||||
"name": "changeNameNum",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -1256,7 +1279,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 35,
|
||||
"name": "peijianUnlock",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1270,7 +1293,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 36,
|
||||
"name": "headFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -1284,7 +1307,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 37,
|
||||
"name": "chatFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
|
27
src/fix_patch/patch_hdinfo_20231221.ts
Normal file
27
src/fix_patch/patch_hdinfo_20231221.ts
Normal file
@ -0,0 +1,27 @@
|
||||
import {ctor} from "../global";
|
||||
import {initMongoDB} from "../setMongodb";
|
||||
|
||||
async function start() {
|
||||
await initMongoDB()
|
||||
|
||||
// 刷新活动配置
|
||||
console.log(`删除错误活动数据开始...`);
|
||||
|
||||
|
||||
await G.mongodb.collection("hdinfo").deleteOne({hdid: 8000})
|
||||
|
||||
console.log(`删除错误活动数据完成...`);
|
||||
}
|
||||
|
||||
ctor();
|
||||
start().then(() => {
|
||||
let s = 0;
|
||||
setInterval(() => {
|
||||
s += 1;
|
||||
console.log(new Date().format("MM-dd hh:mm:ss"));
|
||||
if (s >= 3) process.exit(1);
|
||||
}, 1000)
|
||||
console.log("逻辑执行完成...等待退出!!!");
|
||||
});
|
||||
|
||||
|
@ -143,6 +143,10 @@ export type gEventType = {
|
||||
Class_task_154: (eventname, call, val, chkVal) => void;
|
||||
/**每日任务宝箱领取 */
|
||||
Class_task_155: (eventname, call, val, chkVal) => void;
|
||||
/**每日钻石消耗 */
|
||||
Class_task_156: (eventname, call, val, chkVal) => void;
|
||||
/**每日获取vip经验 */
|
||||
Class_task_157: (eventname, call, val, chkVal) => void;
|
||||
};
|
||||
|
||||
export function addListener() {
|
||||
@ -177,8 +181,6 @@ export function addListener() {
|
||||
ActionLog.addRetainLog(player.uid, { key: 'pay', val: conf.payExp[0].n });
|
||||
|
||||
if (payId == G.gc.zhanling.payId) payZhanLing(player);
|
||||
//圣诞节活动充值
|
||||
Christmasfun.payChristmas(payId, call);
|
||||
let payEmailConf = G.gc.payEmail[payId] as _gcType['payEmail']['caifutequan'];
|
||||
if (payEmailConf?.length > 0) {
|
||||
let sendEmailConfs = payEmailConf;
|
||||
|
@ -3828,7 +3828,7 @@
|
||||
"hdid" : 10000, // 唯一活动id 超值好礼
|
||||
"htype" : 10, // 后端唯一识别标识
|
||||
"stype" : 1000, // 前端唯一识别标识(看前端需要是否修改)
|
||||
"ttype" : 0, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"ttype" : 4, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"stime" : 0, // 活动开始天数
|
||||
"rtime" : 30, // 活动显示结束天数
|
||||
"etime" : 30, // 活动实际结束
|
||||
@ -3849,27 +3849,33 @@
|
||||
free: false,
|
||||
payId: 'czlb_1',
|
||||
buyNum: 1,
|
||||
equal: 15000,
|
||||
prize: [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"n": 601
|
||||
}
|
||||
],
|
||||
"recPrize1": [
|
||||
],
|
||||
"recPrize1": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"t": "12",
|
||||
"n": 600
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 333
|
||||
}
|
||||
],
|
||||
"recPrize2": [
|
||||
],
|
||||
"recPrize2": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"t": "4",
|
||||
"n": 10
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
@ -3878,27 +3884,62 @@
|
||||
free: false,
|
||||
payId: 'czlb_2',
|
||||
buyNum: 1,
|
||||
equal: 35000,
|
||||
prize: [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"t": "1",
|
||||
"n": 1200
|
||||
}
|
||||
],
|
||||
"recPrize1": [
|
||||
],
|
||||
"recPrize1": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"t": "2",
|
||||
"n": 4400
|
||||
}
|
||||
],
|
||||
"recPrize2": [
|
||||
],
|
||||
"recPrize2": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "9",
|
||||
"n": 63300
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi",
|
||||
"n": 114514
|
||||
},
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 31313
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 111
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"n": 515
|
||||
},{
|
||||
"a": "item",
|
||||
"t": "601",
|
||||
"n": 1
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "633",
|
||||
"n": 2
|
||||
},
|
||||
{
|
||||
"a": "hero",
|
||||
"t": "5001",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
@ -3907,27 +3948,28 @@
|
||||
free: false,
|
||||
payId: 'czlb_3',
|
||||
buyNum: 1,
|
||||
equal: 65000,
|
||||
prize: [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"n": 123
|
||||
}
|
||||
],
|
||||
"recPrize1": [
|
||||
],
|
||||
"recPrize1": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"n": 321
|
||||
}
|
||||
],
|
||||
"recPrize2": [
|
||||
],
|
||||
"recPrize2": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 600
|
||||
"n": 548
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -3986,5 +4028,201 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"hdid" : 12000, // 唯一活动id 累计购买礼包
|
||||
"htype" : 12, // 后端唯一识别标识
|
||||
"stype" : 1200, // 前端唯一识别标识(看前端需要是否修改)
|
||||
"ttype" : 0, // 0 按照开服时间计算,1 玩家注册时间计算 4 屏蔽此活动
|
||||
"stime" : 0, // 活动开始天数
|
||||
"rtime" : 30, // 活动显示结束天数
|
||||
"etime" : 30, // 活动实际结束
|
||||
"name": "ljlibao",
|
||||
"icon": "icon_ljlibao",
|
||||
"showtime" : "仅供参考,会复写正确值", // 自选礼包,如果存在多个活动,计费点不要设置一样;如果是一样,可能会存在付费一次,购买多次。
|
||||
"data" : {
|
||||
//活动文本描述
|
||||
intr: "ljlibaotips_1",
|
||||
intr: "ljlibaotips_2",
|
||||
//礼包
|
||||
gift: [
|
||||
{
|
||||
id: '1',
|
||||
name: 'ljlibaotips_3',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_1',
|
||||
scale: 200,
|
||||
buynum: 1,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 123
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
name: 'ljlibaotips_4',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_2',
|
||||
buynum: 1,
|
||||
scale: 201,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "12",
|
||||
"n": 111
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
name: 'ljlibaotips_5',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_3',
|
||||
buynum: 1,
|
||||
scale: 203,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 111111
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '4',
|
||||
name: 'ljlibaotips_6',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_4',
|
||||
buynum: 1,
|
||||
scale: 204,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 123
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 123
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '5',
|
||||
name: 'ljlibaotips_7',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_5',
|
||||
buynum: 1,
|
||||
scale: 201,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "13",
|
||||
"n": 12
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 31
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '6',
|
||||
name: 'ljlibaotips_8',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_6',
|
||||
buynum: 1,
|
||||
scale: 200,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1",
|
||||
"n": 123
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 123
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
id: '7',
|
||||
name: 'ljlibaotips_9',
|
||||
need:[],
|
||||
free: false,
|
||||
payId: 'ljlibao_7',
|
||||
buynum: 1,
|
||||
scale: 300,
|
||||
prize:[
|
||||
{
|
||||
"a": "item",
|
||||
"t": "4",
|
||||
"n": 123
|
||||
},
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2",
|
||||
"n": 123
|
||||
}
|
||||
]
|
||||
},
|
||||
],
|
||||
//自选框掉落池
|
||||
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}
|
||||
},
|
||||
{
|
||||
"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":"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":"600", "n": 20},
|
||||
"2": {"a": "item", "t":"5002", "n": 10},
|
||||
"3": {"a": "item", "t":"5004", "n": 10}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
@ -3860,6 +3860,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_019",
|
||||
"sicon": "txk_019",
|
||||
"describe": "intr_item_describe_50001",
|
||||
"diaoluo": 3,
|
||||
"useNeed": [],
|
||||
@ -3878,6 +3879,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_016",
|
||||
"sicon": "txk_016",
|
||||
"describe": "intr_item_describe_50002",
|
||||
"diaoluo": 4,
|
||||
"useNeed": [],
|
||||
@ -3896,6 +3898,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_023",
|
||||
"sicon": "txk_023",
|
||||
"describe": "intr_item_describe_50003",
|
||||
"diaoluo": 6,
|
||||
"useNeed": [],
|
||||
@ -3914,6 +3917,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_009",
|
||||
"sicon": "txk_009",
|
||||
"describe": "intr_item_describe_50004",
|
||||
"diaoluo": 7,
|
||||
"useNeed": [],
|
||||
@ -3932,6 +3936,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_026",
|
||||
"sicon": "txk_026",
|
||||
"describe": "intr_item_describe_50005",
|
||||
"diaoluo": 8,
|
||||
"useNeed": [],
|
||||
@ -3950,6 +3955,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_018",
|
||||
"sicon": "txk_018",
|
||||
"describe": "intr_item_describe_50006",
|
||||
"diaoluo": 9,
|
||||
"useNeed": [],
|
||||
@ -3968,6 +3974,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_014",
|
||||
"sicon": "txk_014",
|
||||
"describe": "intr_item_describe_50007",
|
||||
"diaoluo": 10,
|
||||
"useNeed": [],
|
||||
@ -3986,6 +3993,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_022",
|
||||
"sicon": "txk_022",
|
||||
"describe": "intr_item_describe_50008",
|
||||
"diaoluo": 11,
|
||||
"useNeed": [],
|
||||
@ -4004,6 +4012,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_028",
|
||||
"sicon": "txk_028",
|
||||
"describe": "intr_item_describe_50009",
|
||||
"diaoluo": 23,
|
||||
"useNeed": [],
|
||||
@ -4012,6 +4021,24 @@
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50010": {
|
||||
"id": 50010,
|
||||
"name": "playerheadFrame_name_24",
|
||||
"type": 7,
|
||||
"sort": 1,
|
||||
"colour": 4,
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_025",
|
||||
"sicon": "txk_025",
|
||||
"describe": "intr_item_describe_50010",
|
||||
"diaoluo": 24,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
"selecPrize": [],
|
||||
"payId": "",
|
||||
"advancedEffects": ""
|
||||
},
|
||||
"50101": {
|
||||
"id": 50101,
|
||||
"name": "playerChatFrame_name_6",
|
||||
@ -4022,6 +4049,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "lt_dhk11",
|
||||
"sicon": "lt_dhk11",
|
||||
"describe": "intr_item_describe_50101",
|
||||
"diaoluo": 6,
|
||||
"useNeed": [],
|
||||
@ -4040,6 +4068,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "lt_dhk10",
|
||||
"sicon": "lt_dhk10",
|
||||
"describe": "intr_item_describe_50102",
|
||||
"diaoluo": 7,
|
||||
"useNeed": [],
|
||||
@ -4058,6 +4087,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_020",
|
||||
"sicon": "txk_020",
|
||||
"describe": "intr_item_describe_50103",
|
||||
"diaoluo": 15,
|
||||
"useNeed": [],
|
||||
@ -4076,6 +4106,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "lt_dhk14",
|
||||
"sicon": "lt_dhk14",
|
||||
"describe": "intr_item_describe_50104",
|
||||
"diaoluo": 8,
|
||||
"useNeed": [],
|
||||
@ -4094,6 +4125,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_017",
|
||||
"sicon": "txk_017",
|
||||
"describe": "intr_item_describe_50201",
|
||||
"diaoluo": 16,
|
||||
"useNeed": [],
|
||||
@ -4112,6 +4144,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_011",
|
||||
"sicon": "txk_011",
|
||||
"describe": "intr_item_describe_50202",
|
||||
"diaoluo": 17,
|
||||
"useNeed": [],
|
||||
@ -4130,6 +4163,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_005",
|
||||
"sicon": "txk_005",
|
||||
"describe": "intr_item_describe_50203",
|
||||
"diaoluo": 18,
|
||||
"useNeed": [],
|
||||
@ -4148,6 +4182,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_004",
|
||||
"sicon": "txk_004",
|
||||
"describe": "intr_item_describe_50204",
|
||||
"diaoluo": 19,
|
||||
"useNeed": [],
|
||||
@ -4166,6 +4201,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_024",
|
||||
"sicon": "txk_024",
|
||||
"describe": "intr_item_describe_50205",
|
||||
"diaoluo": 20,
|
||||
"useNeed": [],
|
||||
@ -4184,6 +4220,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_013",
|
||||
"sicon": "txk_013",
|
||||
"describe": "intr_item_describe_50206",
|
||||
"diaoluo": 21,
|
||||
"useNeed": [],
|
||||
@ -4202,6 +4239,7 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": "txk_021",
|
||||
"sicon": "txk_021",
|
||||
"describe": "intr_item_describe_50207",
|
||||
"diaoluo": 22,
|
||||
"useNeed": [],
|
||||
@ -4220,7 +4258,8 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": 100011,
|
||||
"describe": "intr_item_describe_50208",
|
||||
"sicon": 100011,
|
||||
"describe": "intr_item_describe_50301",
|
||||
"diaoluo": 3,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
@ -4238,7 +4277,8 @@
|
||||
"way": [],
|
||||
"go": "",
|
||||
"icon": 100021,
|
||||
"describe": "intr_item_describe_50209",
|
||||
"sicon": 100021,
|
||||
"describe": "intr_item_describe_50302",
|
||||
"diaoluo": 4,
|
||||
"useNeed": [],
|
||||
"usePrize": [],
|
||||
|
@ -718,7 +718,7 @@
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_53",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
@ -839,7 +839,7 @@
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_60",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
@ -904,7 +904,7 @@
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_65",
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
@ -1339,5 +1339,31 @@
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
},
|
||||
"czlibao": {
|
||||
"name": "czlibao",
|
||||
"undefined": "超值礼包破冰",
|
||||
"and": {
|
||||
"lv": 15
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
},
|
||||
"xiaofeijingsai": {
|
||||
"name": "xiaofeijingsai",
|
||||
"undefined": "钻石消费竞赛",
|
||||
"and": {
|
||||
"lv": 15
|
||||
},
|
||||
"or": {},
|
||||
"time": 0,
|
||||
"tips": "openCond_tips_96",
|
||||
"display": {
|
||||
"lv": 15
|
||||
}
|
||||
}
|
||||
}
|
1764
src/json/pay.json
1764
src/json/pay.json
File diff suppressed because it is too large
Load Diff
@ -29,6 +29,36 @@
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"name": "intr_playerinfo_name_3",
|
||||
"undefined": "获得圣诞活动皮肤【圣诞庆典:男】后解锁",
|
||||
"img": 100011,
|
||||
"cond": [
|
||||
"model",
|
||||
3
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3",
|
||||
"sort": 3,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"name": "intr_playerinfo_name_4",
|
||||
"undefined": "获得圣诞活动皮肤【圣诞庆典:女】后解锁",
|
||||
"img": 100021,
|
||||
"cond": [
|
||||
"model",
|
||||
4
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4",
|
||||
"sort": 4,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
},
|
||||
"1001": {
|
||||
"id": 1001,
|
||||
"name": "intr_playerinfo_name_1001",
|
||||
@ -39,7 +69,7 @@
|
||||
1001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_1001",
|
||||
"sort": 40,
|
||||
"sort": 42,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -54,7 +84,7 @@
|
||||
1002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_1002",
|
||||
"sort": 41,
|
||||
"sort": 43,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -69,7 +99,7 @@
|
||||
2001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_2001",
|
||||
"sort": 38,
|
||||
"sort": 40,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -84,7 +114,7 @@
|
||||
2002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_2002",
|
||||
"sort": 39,
|
||||
"sort": 41,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -99,7 +129,7 @@
|
||||
3001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3001",
|
||||
"sort": 23,
|
||||
"sort": 25,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -114,7 +144,7 @@
|
||||
3002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3002",
|
||||
"sort": 24,
|
||||
"sort": 26,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -129,7 +159,7 @@
|
||||
3003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3003",
|
||||
"sort": 25,
|
||||
"sort": 27,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -144,7 +174,7 @@
|
||||
3004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3004",
|
||||
"sort": 26,
|
||||
"sort": 28,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -159,7 +189,7 @@
|
||||
3005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3005",
|
||||
"sort": 27,
|
||||
"sort": 29,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -174,7 +204,7 @@
|
||||
3006
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3006",
|
||||
"sort": 28,
|
||||
"sort": 30,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -189,7 +219,7 @@
|
||||
3007
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3007",
|
||||
"sort": 29,
|
||||
"sort": 31,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -204,7 +234,7 @@
|
||||
3008
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3008",
|
||||
"sort": 30,
|
||||
"sort": 32,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -219,7 +249,7 @@
|
||||
3009
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3009",
|
||||
"sort": 31,
|
||||
"sort": 33,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -234,7 +264,7 @@
|
||||
3010
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3010",
|
||||
"sort": 32,
|
||||
"sort": 34,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -249,7 +279,7 @@
|
||||
3011
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3011",
|
||||
"sort": 33,
|
||||
"sort": 35,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -264,7 +294,7 @@
|
||||
3012
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3012",
|
||||
"sort": 34,
|
||||
"sort": 36,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -279,7 +309,7 @@
|
||||
3013
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3013",
|
||||
"sort": 35,
|
||||
"sort": 37,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -294,7 +324,7 @@
|
||||
3014
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3014",
|
||||
"sort": 36,
|
||||
"sort": 38,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -309,7 +339,7 @@
|
||||
3015
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_3015",
|
||||
"sort": 37,
|
||||
"sort": 39,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -324,7 +354,7 @@
|
||||
4001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4001",
|
||||
"sort": 8,
|
||||
"sort": 10,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -339,7 +369,7 @@
|
||||
4002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4002",
|
||||
"sort": 9,
|
||||
"sort": 11,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -354,7 +384,7 @@
|
||||
4003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4003",
|
||||
"sort": 10,
|
||||
"sort": 12,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -369,7 +399,7 @@
|
||||
4004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4004",
|
||||
"sort": 11,
|
||||
"sort": 13,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -384,7 +414,7 @@
|
||||
4005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4005",
|
||||
"sort": 12,
|
||||
"sort": 14,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -399,7 +429,7 @@
|
||||
4006
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4006",
|
||||
"sort": 13,
|
||||
"sort": 15,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -414,7 +444,7 @@
|
||||
4007
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4007",
|
||||
"sort": 14,
|
||||
"sort": 16,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -429,7 +459,7 @@
|
||||
4008
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4008",
|
||||
"sort": 15,
|
||||
"sort": 17,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -444,7 +474,7 @@
|
||||
4009
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4009",
|
||||
"sort": 16,
|
||||
"sort": 18,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -459,7 +489,7 @@
|
||||
4010
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4010",
|
||||
"sort": 17,
|
||||
"sort": 19,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -474,7 +504,7 @@
|
||||
4011
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4011",
|
||||
"sort": 18,
|
||||
"sort": 20,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -489,7 +519,7 @@
|
||||
4012
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4012",
|
||||
"sort": 19,
|
||||
"sort": 21,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -504,7 +534,7 @@
|
||||
4013
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4013",
|
||||
"sort": 20,
|
||||
"sort": 22,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -519,7 +549,7 @@
|
||||
4014
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4014",
|
||||
"sort": 21,
|
||||
"sort": 23,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -534,7 +564,7 @@
|
||||
4015
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_4015",
|
||||
"sort": 22,
|
||||
"sort": 24,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -549,7 +579,7 @@
|
||||
5001
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5001",
|
||||
"sort": 3,
|
||||
"sort": 5,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -564,7 +594,7 @@
|
||||
5002
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5002",
|
||||
"sort": 4,
|
||||
"sort": 6,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -579,7 +609,7 @@
|
||||
5003
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5003",
|
||||
"sort": 5,
|
||||
"sort": 7,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -594,7 +624,7 @@
|
||||
5004
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5004",
|
||||
"sort": 6,
|
||||
"sort": 8,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
@ -609,7 +639,7 @@
|
||||
5005
|
||||
],
|
||||
"intr": "intr_playerinfo_intr_5005",
|
||||
"sort": 7,
|
||||
"sort": 9,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"ani": ""
|
||||
|
@ -391,5 +391,22 @@
|
||||
},
|
||||
"colour": 4,
|
||||
"ani": ""
|
||||
},
|
||||
"24": {
|
||||
"id": 24,
|
||||
"name": "playerheadFrame_name_24",
|
||||
"undefined": "消费竞赛活动前三名获得,解锁后伤害加成+1%(限时7天)",
|
||||
"img": "txk_025",
|
||||
"cond": [
|
||||
"time",
|
||||
604800
|
||||
],
|
||||
"intr": "playerheadFrame_des_24",
|
||||
"sort": 24,
|
||||
"buff": {
|
||||
"dpspro": 0.01
|
||||
},
|
||||
"colour": 5,
|
||||
"ani": ""
|
||||
}
|
||||
}
|
@ -1,76 +1,74 @@
|
||||
{
|
||||
"1": {
|
||||
"1": {
|
||||
"type": 1,
|
||||
"id": 1,
|
||||
"name": "playerModel_name_1",
|
||||
"head": 10001,
|
||||
"img": "zhu_10001",
|
||||
"cond": [
|
||||
"lv",
|
||||
1
|
||||
],
|
||||
"intr": "playerModel_des_1",
|
||||
"sort": 1,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"mwSpine": "ani_mingwangnan",
|
||||
"fireHead": "img_lih2"
|
||||
"id": 1,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_1",
|
||||
"head": 10001,
|
||||
"img": "zhu_10001",
|
||||
"cond": [
|
||||
"lv",
|
||||
1
|
||||
],
|
||||
"intr": "playerModel_des_1",
|
||||
"sort": 1,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"mwSpine": "ani_mingwangnan",
|
||||
"fireHead": "img_lih2"
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_2",
|
||||
"head": 10002,
|
||||
"img": "zhu_10002",
|
||||
"cond": [
|
||||
"lv",
|
||||
1
|
||||
],
|
||||
"intr": "playerModel_des_2",
|
||||
"sort": 2,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"mwSpine": "ani_mingwangnv",
|
||||
"fireHead": "img_lih1"
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_3",
|
||||
"head": 100011,
|
||||
"img": 100011,
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerModel_des_3",
|
||||
"sort": 3,
|
||||
"buff": {
|
||||
"defpro": 0.02
|
||||
},
|
||||
"2": {
|
||||
"type": 1,
|
||||
"id": 2,
|
||||
"name": "playerModel_name_2",
|
||||
"head": 10002,
|
||||
"img": "zhu_10002",
|
||||
"cond": [
|
||||
"lv",
|
||||
1
|
||||
],
|
||||
"intr": "playerModel_des_2",
|
||||
"sort": 2,
|
||||
"buff": {},
|
||||
"colour": 1,
|
||||
"mwSpine": "ani_mingwangnv",
|
||||
"fireHead": "img_lih1"
|
||||
"colour": 5,
|
||||
"mwSpine": "ani_mingwangnan",
|
||||
"fireHead": "img_lih21"
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"type": 1,
|
||||
"name": "playerModel_name_4",
|
||||
"head": 100021,
|
||||
"img": 100021,
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerModel_des_4",
|
||||
"sort": 4,
|
||||
"buff": {
|
||||
"atkpro": 0.02
|
||||
},
|
||||
"3": {
|
||||
"type": 1,
|
||||
"id": 3,
|
||||
"name": "playerModel_name_3",
|
||||
"head": 100011,
|
||||
"img": 100011,
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerModel_des_3",
|
||||
"sort": 3,
|
||||
"buff": {
|
||||
"defpro": 0.02
|
||||
},
|
||||
"colour": 5,
|
||||
"mwSpine": "ani_mingwangnan",
|
||||
"fireHead": "img_lih21"
|
||||
},
|
||||
"4": {
|
||||
"type": 1,
|
||||
"id": 4,
|
||||
"name": "playerModel_name_4",
|
||||
"head": 100021,
|
||||
"img": 100021,
|
||||
"cond": [
|
||||
"time",
|
||||
-1
|
||||
],
|
||||
"intr": "playerModel_des_4",
|
||||
"sort": 4,
|
||||
"buff": {
|
||||
"atkpro": 0.02
|
||||
},
|
||||
"colour": 5,
|
||||
"mwSpine": "ani_mingwangnv",
|
||||
"fireHead": "img_lih11"
|
||||
}
|
||||
"colour": 5,
|
||||
"mwSpine": "ani_mingwangnv",
|
||||
"fireHead": "img_lih11"
|
||||
}
|
||||
}
|
@ -499,8 +499,8 @@
|
||||
"13": {
|
||||
"id": 13,
|
||||
"type": 12,
|
||||
"name": "wsw_wz_dhsd",
|
||||
"undefined": "兑换商店",
|
||||
"name": "wsw_wz_mrjxdh",
|
||||
"undefined": "每日精选兑换商店",
|
||||
"openCond": [
|
||||
"lv",
|
||||
15
|
||||
@ -511,7 +511,7 @@
|
||||
"freeRefreshInterval": 0,
|
||||
"freeRefreshNum": 0,
|
||||
"shopItems": [
|
||||
4001
|
||||
10001
|
||||
],
|
||||
"showItem": [
|
||||
{
|
||||
|
@ -3918,31 +3918,6 @@
|
||||
9999
|
||||
],
|
||||
"vipAddbuyNum": []
|
||||
},
|
||||
{
|
||||
"id": 4001,
|
||||
"a": "item",
|
||||
"t": 4,
|
||||
"n": 10,
|
||||
"p": 1,
|
||||
"colour": 4,
|
||||
"buyNum": -1,
|
||||
"openDay": 1,
|
||||
"buyNeed": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "15",
|
||||
"n": 2800
|
||||
}
|
||||
],
|
||||
"sale": 10,
|
||||
"needVip": 0,
|
||||
"needZCCG": 0,
|
||||
"lv": [
|
||||
1,
|
||||
9999
|
||||
],
|
||||
"vipAddbuyNum": []
|
||||
}
|
||||
],
|
||||
"4002": [
|
||||
@ -6294,6 +6269,33 @@
|
||||
"vipAddbuyNum": []
|
||||
}
|
||||
],
|
||||
"10001": [
|
||||
{
|
||||
"id": 10001,
|
||||
"a": "item",
|
||||
"t": 4,
|
||||
"n": 10,
|
||||
"p": 1,
|
||||
"colour": 4,
|
||||
"buyNum": -1,
|
||||
"openDay": 1,
|
||||
"buyNeed": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "15",
|
||||
"n": 2800
|
||||
}
|
||||
],
|
||||
"sale": 10,
|
||||
"needVip": 0,
|
||||
"needZCCG": 0,
|
||||
"lv": [
|
||||
1,
|
||||
9999
|
||||
],
|
||||
"vipAddbuyNum": []
|
||||
}
|
||||
],
|
||||
"120001": [
|
||||
{
|
||||
"id": 120001,
|
||||
|
@ -198,5 +198,22 @@
|
||||
"npcImg": "img_sd_3015",
|
||||
"npcText": "intr_shopCom_text_10",
|
||||
"helpText": "intr_shopCom_helpText_10"
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"shopId": 13,
|
||||
"shopType": 12,
|
||||
"title": "wsw_wz_dhsd",
|
||||
"undefined": "兑换商店",
|
||||
"openCond": "shop_13",
|
||||
"des": "intr_shop_des_13",
|
||||
"img": "wsw_wz_dhsd",
|
||||
"cost": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "rmbmoney",
|
||||
"n": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -2,8 +2,39 @@
|
||||
"1": {
|
||||
"id": 1,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
5
|
||||
100
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
140
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
180
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
@ -11,78 +42,257 @@
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 500
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"type": 1,
|
||||
"num": [
|
||||
10
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 501
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"type": 1,
|
||||
"num": [
|
||||
20
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 502
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"4": {
|
||||
"id": 4,
|
||||
"type": 2,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "1"
|
||||
}
|
||||
240
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_1",
|
||||
"daojulibao_2"
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 503
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"5": {
|
||||
"id": 5,
|
||||
"type": 2,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "2"
|
||||
}
|
||||
300
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_1",
|
||||
"daojulibao_3"
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 504
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"6": {
|
||||
"id": 6,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
360
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
400
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
460
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
490
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
520
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
550
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
580
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
610
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
640
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
670
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
700
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
730
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
"type": 1,
|
||||
"typeName": "tuisonglibao_name_2",
|
||||
"num": [
|
||||
760
|
||||
],
|
||||
"payId": [
|
||||
"guanqialibao_1",
|
||||
"guanqialibao_2",
|
||||
"guanqialibao_4"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"101": {
|
||||
"id": 101,
|
||||
"type": 2,
|
||||
"typeName": "tuisonglibao_name_3",
|
||||
"num": [
|
||||
{
|
||||
"a": "attr",
|
||||
"t": "jinbi"
|
||||
"a": "item",
|
||||
"t": "9"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
@ -91,167 +301,227 @@
|
||||
"daojulibao_3"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 505
|
||||
"displayCD": 86400,
|
||||
"scale": 3000
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"type": 3,
|
||||
"102": {
|
||||
"id": 102,
|
||||
"type": 2,
|
||||
"typeName": "tuisonglibao_name_3",
|
||||
"num": [
|
||||
1
|
||||
{
|
||||
"a": "item",
|
||||
"t": "28"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"zhanbailibao_1",
|
||||
"zhanbailibao_2",
|
||||
"zhanbailibao_3"
|
||||
"daojulibao_4",
|
||||
"daojulibao_5",
|
||||
"daojulibao_6"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 506
|
||||
"displayCD": 86400,
|
||||
"scale": 3000
|
||||
},
|
||||
"8": {
|
||||
"id": 8,
|
||||
"type": 4,
|
||||
"103": {
|
||||
"id": 103,
|
||||
"type": 2,
|
||||
"typeName": "tuisonglibao_name_3",
|
||||
"num": [
|
||||
3
|
||||
{
|
||||
"a": "item",
|
||||
"t": "18"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"choukalibao_1",
|
||||
"choukalibao_2",
|
||||
"choukalibao_3"
|
||||
"daojulibao_7",
|
||||
"daojulibao_8",
|
||||
"daojulibao_9"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 7200,
|
||||
"scale": 507
|
||||
"displayCD": 86400,
|
||||
"scale": 3000
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"104": {
|
||||
"id": 104,
|
||||
"type": 2,
|
||||
"typeName": "tuisonglibao_name_3",
|
||||
"num": [
|
||||
{
|
||||
"a": "item",
|
||||
"t": "19"
|
||||
}
|
||||
],
|
||||
"payId": [
|
||||
"daojulibao_10",
|
||||
"daojulibao_11",
|
||||
"daojulibao_12"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 86400,
|
||||
"scale": 3000
|
||||
},
|
||||
"401": {
|
||||
"id": 401,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
31
|
||||
15
|
||||
],
|
||||
"payId": [
|
||||
"lv30"
|
||||
"lv15"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3300
|
||||
"scale": 3000
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"402": {
|
||||
"id": 402,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
45
|
||||
25
|
||||
],
|
||||
"payId": [
|
||||
"lv40"
|
||||
"lv25"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3300
|
||||
"scale": 3000
|
||||
},
|
||||
"11": {
|
||||
"id": 11,
|
||||
"403": {
|
||||
"id": 403,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
40
|
||||
],
|
||||
"payId": [
|
||||
"lv40",
|
||||
"lv40_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
},
|
||||
"404": {
|
||||
"id": 404,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
50
|
||||
],
|
||||
"payId": [
|
||||
"lv55"
|
||||
"lv50_1",
|
||||
"lv50_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
"scale": 3000
|
||||
},
|
||||
"12": {
|
||||
"id": 12,
|
||||
"405": {
|
||||
"id": 405,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
53
|
||||
55
|
||||
],
|
||||
"payId": [
|
||||
"lv58"
|
||||
"lv55",
|
||||
"lv55_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
"scale": 3000
|
||||
},
|
||||
"13": {
|
||||
"id": 13,
|
||||
"type": 5,
|
||||
"num": [
|
||||
56
|
||||
],
|
||||
"payId": [
|
||||
"lv60"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"406": {
|
||||
"id": 406,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
60
|
||||
],
|
||||
"payId": [
|
||||
"lv63"
|
||||
"lv60",
|
||||
"lv60_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
"scale": 3000
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"407": {
|
||||
"id": 407,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
63
|
||||
],
|
||||
"payId": [
|
||||
"lv66"
|
||||
"lv63",
|
||||
"lv63_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 2000
|
||||
"scale": 3000
|
||||
},
|
||||
"16": {
|
||||
"id": 16,
|
||||
"408": {
|
||||
"id": 408,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
66
|
||||
],
|
||||
"payId": [
|
||||
"lv69"
|
||||
"lv66",
|
||||
"lv66_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
"scale": 3000
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"409": {
|
||||
"id": 409,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
68
|
||||
69
|
||||
],
|
||||
"payId": [
|
||||
"lv72"
|
||||
"lv69",
|
||||
"lv69_1"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
"scale": 3000
|
||||
},
|
||||
"18": {
|
||||
"id": 18,
|
||||
"410": {
|
||||
"id": 410,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
70
|
||||
73
|
||||
],
|
||||
"payId": [
|
||||
"lv75"
|
||||
"lv73_1",
|
||||
"lv73_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 1800
|
||||
"scale": 3000
|
||||
},
|
||||
"411": {
|
||||
"id": 411,
|
||||
"type": 5,
|
||||
"typeName": "tuisonglibao_name_1",
|
||||
"num": [
|
||||
82
|
||||
],
|
||||
"payId": [
|
||||
"lv82_1",
|
||||
"lv82_2"
|
||||
],
|
||||
"time": 3600,
|
||||
"displayCD": 3600,
|
||||
"scale": 3000
|
||||
}
|
||||
}
|
@ -1032,7 +1032,7 @@ type gc_playerLv = k_v<{
|
||||
'tujianlv': number
|
||||
}>;
|
||||
|
||||
type gc_playerModel = k_v<k_v<{
|
||||
type gc_playerModel = k_v<{
|
||||
/** 类型 */
|
||||
'type': number
|
||||
/** id */
|
||||
@ -1057,7 +1057,7 @@ type gc_playerModel = k_v<k_v<{
|
||||
'mwSpine': string
|
||||
/** 战斗半身像 */
|
||||
'fireHead': string
|
||||
}>>;
|
||||
}>;
|
||||
|
||||
type gc_pmd = { "get_hero_star5_pmd": string, "glkb_pmd": string, "jinjie_peijian": string, "guild_pmd": string, "tlsd_pmd": string, "hbzb_pmd1": string, "hbzb_pmd2": string, "hbzb_pmd3": string, [x: string]: any }
|
||||
|
||||
|
@ -2193,6 +2193,29 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "upModel",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"properties": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "id",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "time",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "model",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2221,14 +2244,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 7,
|
||||
"name": "renown",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 8,
|
||||
"name": "wxcLv",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2254,14 +2277,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 9,
|
||||
"name": "mapId",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 10,
|
||||
"name": "shoucangping",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2274,14 +2297,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 11,
|
||||
"name": "useTujianLvPoint",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 12,
|
||||
"name": "skills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2294,7 +2317,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 13,
|
||||
"name": "fightSkills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2307,7 +2330,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 14,
|
||||
"name": "heroPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2320,21 +2343,21 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 15,
|
||||
"name": "ghId",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"id": 16,
|
||||
"name": "ghName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"id": 17,
|
||||
"name": "ghLevel",
|
||||
"type": {
|
||||
"type": "Reference",
|
||||
@ -2342,7 +2365,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"id": 18,
|
||||
"name": "ghwz",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2356,7 +2379,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"id": 19,
|
||||
"name": "ghExitTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2364,7 +2387,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"id": 20,
|
||||
"name": "loginTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2372,7 +2395,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"id": 21,
|
||||
"name": "logoutTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2380,7 +2403,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"id": 22,
|
||||
"name": "cTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2388,7 +2411,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 23,
|
||||
"name": "loginDays",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2396,7 +2419,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 24,
|
||||
"name": "serverName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -2404,7 +2427,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 25,
|
||||
"name": "sid",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2412,7 +2435,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 26,
|
||||
"name": "onlineTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2420,7 +2443,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 27,
|
||||
"name": "newonlinetime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2428,7 +2451,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 28,
|
||||
"name": "isNpc",
|
||||
"type": {
|
||||
"type": "Boolean"
|
||||
@ -2436,7 +2459,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 29,
|
||||
"name": "matrix",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2450,7 +2473,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 30,
|
||||
"name": "matrixPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2470,7 +2493,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 31,
|
||||
"name": "selectMatrix",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -2478,7 +2501,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 32,
|
||||
"name": "fightHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -2489,7 +2512,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"id": 33,
|
||||
"name": "helpHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -2566,7 +2589,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 34,
|
||||
"name": "changeNameNum",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -2574,7 +2597,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 35,
|
||||
"name": "peijianUnlock",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2588,7 +2611,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 36,
|
||||
"name": "headFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -2602,7 +2625,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 37,
|
||||
"name": "chatFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
|
35
src/patch_player_model_20231221.ts
Normal file
35
src/patch_player_model_20231221.ts
Normal file
@ -0,0 +1,35 @@
|
||||
import {ctor} from "./global";
|
||||
import {initMongoDB} from "./setMongodb";
|
||||
|
||||
async function start() {
|
||||
await initMongoDB()
|
||||
|
||||
// 刷新活动配置
|
||||
console.log(`修复玩家model数据开始...`);
|
||||
|
||||
|
||||
await G.mongodb.collection("user").updateMany({},{
|
||||
$set:{
|
||||
upModel:{id: "1", time: -1},
|
||||
model: {
|
||||
'1': {id: "1", time: -1},
|
||||
'2': {id: "2", time: -1}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
console.log(`修复玩家model数据完成...`);
|
||||
}
|
||||
|
||||
ctor();
|
||||
start().then(() => {
|
||||
let s = 0;
|
||||
setInterval(() => {
|
||||
s += 1;
|
||||
console.log(new Date().format("MM-dd hh:mm:ss"));
|
||||
if (s >= 3) process.exit(1);
|
||||
}, 1000)
|
||||
console.log("逻辑执行完成...等待退出!!!");
|
||||
});
|
||||
|
||||
|
121
src/path_20231221.ts
Normal file
121
src/path_20231221.ts
Normal file
@ -0,0 +1,121 @@
|
||||
import {ctor} from "./global";
|
||||
import {initMongoDB} from "./setMongodb";
|
||||
import {yangchengmubiao} from "./shared/protocols/event/yangchengmubiao/PtlOpen";
|
||||
|
||||
async function start() {
|
||||
await initMongoDB()
|
||||
|
||||
const hdid = [100, 101];
|
||||
const task = {
|
||||
'2001': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 50,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2002': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 5}, {'a': 'item', 't': '626', 'n': 10}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 100,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2003': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '626', 'n': 20}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 200,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2004': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 250,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2005': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '600', 'n': 20}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 300,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2006': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 400,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
},
|
||||
'2007': {
|
||||
'prize': [{'a': 'item', 't': '4', 'n': 10}, {'a': 'item', 't': '619', 'n': 1}],
|
||||
'tujing': '',
|
||||
'title': 'intr_yczm_day_des_2',
|
||||
'type': 2,
|
||||
'pval': 500,
|
||||
'cond': [],
|
||||
'stype': 118
|
||||
}
|
||||
};
|
||||
// 中间插入了2004 所以之前的任务id一次往后顺延
|
||||
const change = {2004: 2005, 2005: 2006, 2006: 2007};
|
||||
// 刷新活动配置
|
||||
await G.mongodb.collection("hdinfo").updateMany({hdid: {$in: hdid}}, {
|
||||
"$set": {'data.tasklist.2': task}
|
||||
})
|
||||
|
||||
let datas: yangchengmubiao[] = [];
|
||||
// 刷新玩家领取记录
|
||||
datas = datas.concat(await G.mongodb.cEvent(`yangchengmubiao${hdid[0]}`).find(
|
||||
{type: `yangchengmubiao${hdid[0]}`}
|
||||
).toArray());
|
||||
|
||||
datas = datas.concat(await G.mongodb.cEvent(`yangchengmubiao${hdid[1]}`).find(
|
||||
{type: `yangchengmubiao${hdid[1]}`}
|
||||
).toArray());
|
||||
|
||||
for (let i = 0; i < datas.length; i++) {
|
||||
let data = datas[i];
|
||||
let finished = data.finishid["2"].map((task) => {
|
||||
return change[task] ? change[task] : task
|
||||
});
|
||||
let maxtaskval = Math.max(...Object.values(data.taskval));
|
||||
|
||||
let taskval = {};
|
||||
for (let taskid in task) {
|
||||
taskval[taskid] = maxtaskval;
|
||||
}
|
||||
|
||||
await G.mongodb.collection("event").updateOne(
|
||||
{uid: data.uid, type: data.type}, {$set: {taskval: taskval, "finishid.2": finished}}
|
||||
)
|
||||
console.log(`修复玩家${data.uid}人才计划数据完成...`);
|
||||
}
|
||||
}
|
||||
|
||||
ctor();
|
||||
start().then(() => {
|
||||
let s = 0;
|
||||
setInterval(() => {
|
||||
s += 1;
|
||||
console.log(new Date().format("MM-dd hh:mm:ss"));
|
||||
if (s >= 3) process.exit(1);
|
||||
}, 1000)
|
||||
console.log("逻辑执行完成...等待退出!!!");
|
||||
});
|
||||
|
||||
|
@ -54,7 +54,6 @@ export class HuoDongFun {
|
||||
if (htype != 0) _where["htype"] = htype
|
||||
|
||||
let _res = await this.catAllHD(_where)
|
||||
|
||||
let result = []
|
||||
for (let index = 0; index < _res.length; index++) {
|
||||
const element = _res[index];
|
||||
|
@ -10,6 +10,7 @@ import {call, PlayerFun} from './player';
|
||||
import {number} from "mathjs";
|
||||
import {getGud} from './gud';
|
||||
import {getConf as zmlbGetConf} from '../api_s2c/event/zhoumolibao/ApiOpen';
|
||||
import {Christmasfun} from "../api_s2c/event/christmas/fun";
|
||||
|
||||
async function checkPayIsActive(payId: string, logs: payLog[], payArgs) {
|
||||
let conf: any = await this.getConf(payId, payArgs);
|
||||
@ -177,8 +178,13 @@ export class PayFun {
|
||||
if (payed) {
|
||||
console.log(uid, payId, payArgs, orderNo);
|
||||
console.log('订单号已存在');
|
||||
return;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 不要轻易改动这个方法,不允许集成业务逻辑在内部
|
||||
* 如果有业务逻辑通过事件驱动,在支付成功后emit事件
|
||||
*/
|
||||
|
||||
let conf: any = await this.getConf(payId, payArgs);
|
||||
|
||||
@ -230,16 +236,21 @@ export class PayFun {
|
||||
let conf = await zmlbGetConf(call, {payId})
|
||||
prize.push(...conf.prize)
|
||||
}
|
||||
//圣诞节活动充值
|
||||
try{
|
||||
await Christmasfun.payChristmas(payId, call);
|
||||
}catch (e) {
|
||||
console.log("Christmasfun.payChristmas Error",e);
|
||||
}
|
||||
|
||||
let isReplaceConf = await this.checkBuysAfterPay(uid, payId, conf, payArgs, player)
|
||||
if (isReplaceConf) {
|
||||
let prizePayId = `zuanshi_${conf.money}`
|
||||
payArgs.toPrizePayId = prizePayId
|
||||
conf = this.replacePrizeToChongzhi(prizePayId, conf)
|
||||
prize = [...conf.prize]
|
||||
prize = conf.prize;
|
||||
}
|
||||
|
||||
|
||||
await PlayerFun.sendPrize(call, prize);
|
||||
await PlayerFun.addAttr(call, conf.payExp);
|
||||
if (payId == 'G123SendGift') {
|
||||
@ -285,7 +296,7 @@ export class PayFun {
|
||||
* @param payId
|
||||
* @param conf
|
||||
*/
|
||||
static async replacePrizeToChongzhi(payId, conf) {
|
||||
static replacePrizeToChongzhi(payId, conf) {
|
||||
return {
|
||||
id: payId,
|
||||
money: conf.money,
|
||||
|
@ -169,6 +169,15 @@ export class PlayerFun {
|
||||
change[atn.t] = this.fixAttrLteZero(atn.t, await this.getAtnNum(call, atn) + atn.n);
|
||||
if (atn.t == 'rmbmoney') {
|
||||
this.changeAttrLog(call.conn.uid, change[atn.t], atn, call.conn.gud.rmbmoney)
|
||||
// 扣除钻石时
|
||||
if (atn.n < 0) {
|
||||
// 监听任务消耗任务
|
||||
G.emit("Class_task_156", 'Class_task_156', call, -atn.n, 0);
|
||||
}
|
||||
}
|
||||
// 增加vip经验的任务监听
|
||||
if (atn.t == "payExp" && atn.n > 0) {
|
||||
G.emit("Class_task_157", 'Class_task_157', call, atn.n, 0);
|
||||
}
|
||||
all.push(this.changeAttr(call.conn.uid, change));
|
||||
all.push(this.upAttr(call, {...atn, n: change[atn.t]}));
|
||||
|
@ -22,7 +22,7 @@ export class CrossEmailPull extends Scheduler {
|
||||
G.clientCross.callApi("email/GetCrossEmail", {server_id: G.config.serverId + ""}).then((res) => {
|
||||
if (!res.isSucc) return;
|
||||
res.res.emails.forEach(async (email) => {
|
||||
let _prize = email?.prizeData?.prize || [];
|
||||
let _prize = R.clone(email?.prizeData?.prize) || [];
|
||||
if (email?.prizeData) delete email.prizeData;
|
||||
|
||||
email["prize"] = _prize;
|
||||
|
@ -788,7 +788,7 @@ export class TaskAllEmitFun {
|
||||
let _val = node.call.req.num;
|
||||
G.emit("Class_task_136", 'Class_task_136', node.call, _val, 0);
|
||||
// todo 统计藏品修复胶,此处只是临时处理,防止线上任务数据出错,正确做法是,统计修复胶的消耗,走136任务的统计
|
||||
G.emit("Class_task_134", 'Class_task_134', node.call, _val, 0, {});
|
||||
G.emit("Class_task_134", 'Class_task_134', node.call, _val, 0, []);
|
||||
}
|
||||
|
||||
if (node.call.service.name == 'peijian/LvUp' && node.return.isSucc) {
|
||||
|
@ -390,7 +390,10 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
const data = await TanXianFun.getData(call);
|
||||
return data.useFastGuaJiNum || 0
|
||||
if (data?.resetTime > PublicShared.getToDayZeroTime()) {
|
||||
return data.useFastGuaJiNum || 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -401,7 +404,10 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let data = await JJCFun.getData(call);
|
||||
return data?.useFightNum || 0
|
||||
if (data?.resetTime >= PublicShared.getToDayZeroTime()) {
|
||||
return data?.useFightNum || 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -418,7 +424,10 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let myData = await G.mongodb.cPlayerInfo('meirishilian').findOne({uid: call.uid, type: 'meirishilian'});
|
||||
return R.compose(R.sum(), R.map(i => i[0].useFightNum), R.values())(myData.data.numInfo) || 0
|
||||
if (myData.data.refreshTime > PublicShared.getToDayZeroTime()) {
|
||||
return R.compose(R.sum(), R.map(i => i[0].useFightNum), R.values())(myData.data.numInfo) || 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -435,7 +444,10 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let myData = await G.mongodb.cPlayerInfo('qjzzd').findOne({uid: call.uid, type: 'qjzzd'});
|
||||
return myData.useFightNum || 0
|
||||
if (myData?.refreFightTime > PublicShared.getToDayZeroTime()) {
|
||||
return myData?.useFightNum || 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -491,7 +503,10 @@ export module manager {
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
let data: Partial<CollectionWanted> = await G.mongodb.collection('wanted').findOne({uid: call.uid}) || {};
|
||||
return data.toDayUseNum || 0
|
||||
if (data.refreshTime > PublicShared.getToDayZeroTime()) {
|
||||
return data.toDayUseNum || 0
|
||||
}
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
@ -766,24 +781,44 @@ export module manager {
|
||||
return call.conn.gud?.helpHeros?.length || 0;
|
||||
}
|
||||
}
|
||||
|
||||
// 第56个任务 完成圣诞活动小游戏
|
||||
export class Class_task_154 extends BaseClass {
|
||||
stype = 154
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
// 第57个任务 领取每日任务最终宝箱
|
||||
export class Class_task_155 extends BaseClass {
|
||||
stype = 155
|
||||
isinc = 0
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
// 第58个任务 每日钻石消耗
|
||||
export class Class_task_156 extends BaseClass {
|
||||
stype = 156
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
// 第59个任务 获得vip经验
|
||||
export class Class_task_157 extends BaseClass {
|
||||
stype = 157
|
||||
isinc = 1
|
||||
|
||||
async initVal(call: ApiCall, con) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
import CryptoJS from 'crypto-js';
|
||||
import { ObjectId, OptionalId, WithId } from 'mongodb';
|
||||
import { BaseConnection } from 'tsrpc';
|
||||
import { Wjjl } from '../module/collection_wjjl';
|
||||
import { ServiceType } from '../shared/protocols/serviceProto';
|
||||
import { ReqLogin, ResLogin, playerAppend, playerAttr, playerInfo } from '../shared/protocols/user/PtlLogin';
|
||||
import { player } from '../shared/protocols/user/type';
|
||||
import { PublicShared } from '../shared/public/public';
|
||||
import { PlayerFun } from './player';
|
||||
import { ZhanLingTasks } from './zhanling';
|
||||
import { getGud, setGud } from './gud';
|
||||
import {ObjectId, OptionalId, WithId} from 'mongodb';
|
||||
import {BaseConnection} from 'tsrpc';
|
||||
import {Wjjl} from '../module/collection_wjjl';
|
||||
import {ServiceType} from '../shared/protocols/serviceProto';
|
||||
import {ReqLogin, ResLogin, playerAppend, playerAttr, playerInfo} from '../shared/protocols/user/PtlLogin';
|
||||
import {player} from '../shared/protocols/user/type';
|
||||
import {PublicShared} from '../shared/public/public';
|
||||
import {PlayerFun} from './player';
|
||||
import {ZhanLingTasks} from './zhanling';
|
||||
import {getGud, setGud} from './gud';
|
||||
|
||||
export const defaultUserInfo: playerInfo = {
|
||||
lv: 1,
|
||||
@ -30,14 +30,13 @@ export const defaultUserAttr: playerAttr = {
|
||||
export const defaultUserAppend: playerAppend = {
|
||||
name: '',
|
||||
tujianLv: 0,
|
||||
head: { id: "1", time: -1 },
|
||||
headFrame: { id: "1", time: -1 },
|
||||
chatFrame: { id: "1", time: -1 },
|
||||
head: {id: "1", time: -1},
|
||||
headFrame: {id: "1", time: -1},
|
||||
chatFrame: {id: "1", time: -1},
|
||||
upModel: {id: "1", time: -1},
|
||||
model: {
|
||||
1: { id: "1", time: -1 },
|
||||
2: { id: "1", time: -1 },
|
||||
3: { id: "1", time: -1 },
|
||||
4: { id: "1", time: -1 },
|
||||
1: {id: "1", time: -1},
|
||||
2: {id: "2", time: -1}
|
||||
},
|
||||
renown: 0,
|
||||
wxcLv: {
|
||||
@ -60,12 +59,12 @@ export const defaultUserAppend: playerAppend = {
|
||||
ghId: '',
|
||||
ghName: '',
|
||||
ghLevel: 0,
|
||||
ghwz: { 1: 0, 2: 0, 3: 0, 4: 0 }
|
||||
ghwz: {1: 0, 2: 0, 3: 0, 4: 0}
|
||||
};
|
||||
|
||||
export class UserFun {
|
||||
static create(bUid: string) {
|
||||
let { bindUid, ...userInfo } = defaultUserInfo;
|
||||
let {bindUid, ...userInfo} = defaultUserInfo;
|
||||
|
||||
return {
|
||||
bindUid: bUid,
|
||||
@ -73,6 +72,7 @@ export class UserFun {
|
||||
...defaultUserAttr
|
||||
};
|
||||
}
|
||||
|
||||
static async check(gud: ResLogin['gud'], req: ReqLogin) {
|
||||
let obj: k_v<any> = {};
|
||||
let add: k_v<any> = {};
|
||||
@ -126,14 +126,14 @@ export class UserFun {
|
||||
if (h_ids.length < 1) {
|
||||
gud.fightHeros = [];
|
||||
} else {
|
||||
let dHeros = await G.mongodb.collection('hero').find({ _id: { $in: h_ids.map(id => G.mongodb.conversionId(id)) } }).toArray();
|
||||
let dHeros = await G.mongodb.collection('hero').find({_id: {$in: h_ids.map(id => G.mongodb.conversionId(id))}}).toArray();
|
||||
gud.fightHeros = dHeros.map(h => h.heroId.toString());
|
||||
}
|
||||
add.fightHeros = gud.fightHeros;
|
||||
}
|
||||
|
||||
if (!gud.matrixPos) {
|
||||
gud.matrixPos = Object.fromEntries(Object.keys(G.gc.fightPlan).map(pos => [pos, { ...gud.heroPos }]));
|
||||
gud.matrixPos = Object.fromEntries(Object.keys(G.gc.fightPlan).map(pos => [pos, {...gud.heroPos}]));
|
||||
add.matrixPos = gud.matrixPos;
|
||||
}
|
||||
|
||||
@ -197,7 +197,7 @@ export class UserFun {
|
||||
add.loginTime = G.time;
|
||||
|
||||
if (Object.keys(add).length > 0) {
|
||||
G.mongodb.collection('user').updateOne({ bindUid: gud.bindUid,sid:gud.sid }, {
|
||||
G.mongodb.collection('user').updateOne({bindUid: gud.bindUid, sid: gud.sid}, {
|
||||
$set: {
|
||||
...add
|
||||
}
|
||||
@ -211,24 +211,25 @@ export class UserFun {
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
|
||||
// 检查空数据并修复
|
||||
static async checkUidOrName() {
|
||||
let users = await G.mongodb.collection('user').findOne({$or: [{uid: {$in:['', null]}},{name: {$in: ['', null]}}]})
|
||||
if(users) {
|
||||
let users = await G.mongodb.collection('user').findOne({$or: [{uid: {$in: ['', null]}}, {name: {$in: ['', null]}}]})
|
||||
if (users) {
|
||||
let {bindUid, sid, _id} = users
|
||||
let uid = users.uid || (sid + '_' + _id)
|
||||
// 随机创建name
|
||||
let b64 = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(bindUid + sid));
|
||||
let name = users.name || `temp_${b64}`.toLocaleLowerCase();
|
||||
await G.mongodb.collection('user').updateOne({ bindUid, sid }, {
|
||||
await G.mongodb.collection('user').updateOne({bindUid, sid}, {
|
||||
$set: {
|
||||
uid, name
|
||||
}
|
||||
});
|
||||
}
|
||||
return
|
||||
return
|
||||
}
|
||||
|
||||
/**创建账号数据 */
|
||||
static async createUser(client: BaseConnection<ServiceType>, bindUid: string, sid: number): Promise<WithId<OptionalId<ResLogin['gud']>>> {
|
||||
// 开启事务
|
||||
@ -258,14 +259,17 @@ export class UserFun {
|
||||
// session.endSession() // 结束事务
|
||||
return gud as WithId<OptionalId<ResLogin['gud']>>;
|
||||
}
|
||||
|
||||
/**获取玩家附带的buff加成 */
|
||||
static getOtherBuff(gud: ResLogin['gud']) {
|
||||
return gud;
|
||||
}
|
||||
|
||||
static async getGud(uid: string) {
|
||||
//return await G.redis.get('user', uid);
|
||||
return await getGud(uid);
|
||||
}
|
||||
|
||||
/**激活头像框 */
|
||||
static async activeHeadFrame(uid: string, k: string, v: number) {
|
||||
let gud: player;
|
||||
@ -312,11 +316,12 @@ export class UserFun {
|
||||
}
|
||||
|
||||
if (change) {
|
||||
PlayerFun.changeAttr(uid, { headFrames: gud.headFrames });
|
||||
G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', { headFrames: gud.headFrames });
|
||||
PlayerFun.changeAttr(uid, {headFrames: gud.headFrames});
|
||||
G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', {headFrames: gud.headFrames});
|
||||
G.server.uid_connections[uid]?.refreshPower();
|
||||
}
|
||||
}
|
||||
|
||||
/**激活聊天框 */
|
||||
static async activeChatFrame(uid: string, k: string, v: number) {
|
||||
let gud: player;
|
||||
@ -363,8 +368,60 @@ export class UserFun {
|
||||
}
|
||||
|
||||
if (change) {
|
||||
PlayerFun.changeAttr(uid, { chatFrames: gud.chatFrames });
|
||||
G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', { chatFrames: gud.chatFrames });
|
||||
PlayerFun.changeAttr(uid, {chatFrames: gud.chatFrames});
|
||||
G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', {chatFrames: gud.chatFrames});
|
||||
G.server.uid_connections[uid]?.refreshPower();
|
||||
}
|
||||
}
|
||||
|
||||
/**激活造型 */
|
||||
static async activeModel(uid: string, k: string, v: number) {
|
||||
let gud: player;
|
||||
// if (G.server.uid_connections[uid]) {
|
||||
// gud = G.server.uid_connections[uid].gud;
|
||||
// } else {
|
||||
// gud = await G.redis.get('user', uid);
|
||||
// }
|
||||
gud = await getGud(uid);
|
||||
|
||||
let change = false;
|
||||
let model = G.gc.playerModel;
|
||||
let checks = Object.values(model).filter(v => v.cond[0] == k);
|
||||
if (checks.length > 0) {
|
||||
checks.forEach(conf => {
|
||||
let val = v;
|
||||
if (k == 'wxcLv') val = gud.wxcLv.lv;
|
||||
else if (gud[k] != undefined) val = gud[k];
|
||||
|
||||
if (k == 'jjc_rank' && !gud.model[conf.id] && val <= conf.cond[1]) {
|
||||
gud.model[conf.id] = {id: conf.id + '', time: -1};
|
||||
change = true;
|
||||
} else if (!gud.model[conf.id] && val >= conf.cond[1]) {
|
||||
gud.model[conf.id] = {id: conf.id + '', time: -1};
|
||||
change = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let conf = model[k];
|
||||
if (conf?.cond?.[0] == 'time') {
|
||||
let val = conf.cond[1];
|
||||
|
||||
if (val == -1) {
|
||||
change = true;
|
||||
gud.model[conf.id] = {id: conf.id + '', time: -1};
|
||||
} else if (gud.model[conf.id].time < G.time) {
|
||||
change = true;
|
||||
gud.model[conf.id] = {id: conf.id + '', time: G.time + val * v};
|
||||
} else {
|
||||
change = true;
|
||||
gud.model[conf.id] = {id: conf.id + '', time: gud.model[conf.id].time += val * v}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (change) {
|
||||
PlayerFun.changeAttr(uid, {model: gud.model});
|
||||
G.server.sendMsgByUid(uid, 'msg_s2c/PlayerChange', {model: gud.model});
|
||||
G.server.uid_connections[uid]?.refreshPower();
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ export function getFightDPS(fromRole: FightObj, toRole: FightObj, extData: DPS_E
|
||||
运算速度 自身速度*随机浮动值
|
||||
随机浮动值 0.9-1.1(1位小数) (-10,10)
|
||||
*/
|
||||
|
||||
|
||||
if (fromRole.isDead || toRole.isDead) return { num: 0, dps: 0, miss: false, baoji: false, fromRole: fromRole, toRole: toRole };
|
||||
let miss = false, baoji = false, dps = 0;
|
||||
let fromRoleLv = fromRole.getData('lv'), toRoleLv = toRole.getData('lv');
|
||||
@ -182,6 +182,18 @@ export function getBuffDPS(toRole: FightObj, fromRole: FightObj, extData: { xiao
|
||||
// todo 主角技能还没有限制百分比的最大伤害,以下判断修复技能buff没有伤害
|
||||
if (fromRole.getData('pos') != 7){
|
||||
dps = dps > maxDps ? maxDps : dps;
|
||||
} else {
|
||||
// 主角技能伤害最大值: avg(所有上场干部的maxDps) * 2
|
||||
let sumHeroMaxDps = 0, heroCount = 0;
|
||||
const fromRoleSide = fromRole.getData('side');
|
||||
fromRole.fightControl.fightRolesArr.forEach(role => {
|
||||
if (role.getData('pos') < 7 && role.getData('side') === fromRoleSide) {
|
||||
sumHeroMaxDps += role.getData('maxdps');
|
||||
heroCount++;
|
||||
}
|
||||
});
|
||||
maxDps = sumHeroMaxDps / heroCount * 2;
|
||||
dps = dps > maxDps ? maxDps : dps;
|
||||
}
|
||||
|
||||
return { num: -dps, dps: -dps, miss: miss, baoji: baoji, fromRole: fromRole, toRole: toRole };
|
||||
|
@ -3954,6 +3954,29 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "upModel",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"properties": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "id",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "time",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "model",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -3982,14 +4005,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 7,
|
||||
"name": "renown",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 8,
|
||||
"name": "wxcLv",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4015,14 +4038,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 9,
|
||||
"name": "mapId",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 10,
|
||||
"name": "shoucangping",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4035,14 +4058,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 11,
|
||||
"name": "useTujianLvPoint",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 12,
|
||||
"name": "skills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4055,7 +4078,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 13,
|
||||
"name": "fightSkills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4068,7 +4091,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 14,
|
||||
"name": "heroPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4081,21 +4104,21 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 15,
|
||||
"name": "ghId",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"id": 16,
|
||||
"name": "ghName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"id": 17,
|
||||
"name": "ghLevel",
|
||||
"type": {
|
||||
"type": "Reference",
|
||||
@ -4103,7 +4126,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"id": 18,
|
||||
"name": "ghwz",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4117,7 +4140,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"id": 19,
|
||||
"name": "ghExitTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4125,7 +4148,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"id": 20,
|
||||
"name": "loginTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4133,7 +4156,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"id": 21,
|
||||
"name": "logoutTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4141,7 +4164,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"id": 22,
|
||||
"name": "cTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4149,7 +4172,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 23,
|
||||
"name": "loginDays",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4157,7 +4180,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 24,
|
||||
"name": "serverName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -4165,7 +4188,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 25,
|
||||
"name": "sid",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4173,7 +4196,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 26,
|
||||
"name": "onlineTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4181,7 +4204,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 27,
|
||||
"name": "newonlinetime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4189,7 +4212,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 28,
|
||||
"name": "isNpc",
|
||||
"type": {
|
||||
"type": "Boolean"
|
||||
@ -4197,7 +4220,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 29,
|
||||
"name": "matrix",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4211,7 +4234,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 30,
|
||||
"name": "matrixPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4231,7 +4254,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 31,
|
||||
"name": "selectMatrix",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -4239,7 +4262,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 32,
|
||||
"name": "fightHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -4250,7 +4273,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"id": 33,
|
||||
"name": "helpHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -4327,7 +4350,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 34,
|
||||
"name": "changeNameNum",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -4335,7 +4358,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 35,
|
||||
"name": "peijianUnlock",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4349,7 +4372,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 36,
|
||||
"name": "headFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -4363,7 +4386,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 37,
|
||||
"name": "chatFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5175,6 +5198,29 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "upModel",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"properties": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "id",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "time",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "model",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5203,14 +5249,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 7,
|
||||
"name": "renown",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 8,
|
||||
"name": "wxcLv",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5236,14 +5282,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 9,
|
||||
"name": "mapId",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 10,
|
||||
"name": "shoucangping",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5256,14 +5302,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 11,
|
||||
"name": "useTujianLvPoint",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 12,
|
||||
"name": "skills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5276,7 +5322,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 13,
|
||||
"name": "fightSkills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5289,7 +5335,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 14,
|
||||
"name": "heroPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5302,21 +5348,21 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 15,
|
||||
"name": "ghId",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"id": 16,
|
||||
"name": "ghName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"id": 17,
|
||||
"name": "ghLevel",
|
||||
"type": {
|
||||
"type": "Reference",
|
||||
@ -5324,7 +5370,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"id": 18,
|
||||
"name": "ghwz",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5338,7 +5384,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"id": 19,
|
||||
"name": "ghExitTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5346,7 +5392,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"id": 20,
|
||||
"name": "loginTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5354,7 +5400,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"id": 21,
|
||||
"name": "logoutTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5362,7 +5408,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"id": 22,
|
||||
"name": "cTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5370,7 +5416,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 23,
|
||||
"name": "loginDays",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5378,7 +5424,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 24,
|
||||
"name": "serverName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -5386,7 +5432,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 25,
|
||||
"name": "sid",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5394,7 +5440,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 26,
|
||||
"name": "onlineTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5402,7 +5448,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 27,
|
||||
"name": "newonlinetime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5410,7 +5456,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 28,
|
||||
"name": "isNpc",
|
||||
"type": {
|
||||
"type": "Boolean"
|
||||
@ -5418,7 +5464,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 29,
|
||||
"name": "matrix",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5432,7 +5478,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 30,
|
||||
"name": "matrixPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5452,7 +5498,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 31,
|
||||
"name": "selectMatrix",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -5460,7 +5506,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 32,
|
||||
"name": "fightHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -5471,7 +5517,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"id": 33,
|
||||
"name": "helpHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -5548,7 +5594,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 34,
|
||||
"name": "changeNameNum",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -5556,7 +5602,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 35,
|
||||
"name": "peijianUnlock",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5570,7 +5616,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 36,
|
||||
"name": "headFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -5584,7 +5630,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 37,
|
||||
"name": "chatFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22862,6 +22908,29 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "upModel",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
"properties": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "id",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"name": "time",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "model",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22890,14 +22959,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"id": 7,
|
||||
"name": "renown",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"id": 8,
|
||||
"name": "wxcLv",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22923,14 +22992,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"id": 9,
|
||||
"name": "mapId",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"id": 10,
|
||||
"name": "shoucangping",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22943,14 +23012,14 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"id": 11,
|
||||
"name": "useTujianLvPoint",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"id": 12,
|
||||
"name": "skills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22963,7 +23032,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"id": 13,
|
||||
"name": "fightSkills",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22976,7 +23045,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"id": 14,
|
||||
"name": "heroPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -22989,21 +23058,21 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"id": 15,
|
||||
"name": "ghId",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"id": 16,
|
||||
"name": "ghName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"id": 17,
|
||||
"name": "ghLevel",
|
||||
"type": {
|
||||
"type": "Reference",
|
||||
@ -23011,7 +23080,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"id": 18,
|
||||
"name": "ghwz",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -23025,7 +23094,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"id": 19,
|
||||
"name": "ghExitTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23033,7 +23102,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"id": 20,
|
||||
"name": "loginTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23041,7 +23110,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"id": 21,
|
||||
"name": "logoutTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23049,7 +23118,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"id": 22,
|
||||
"name": "cTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23057,7 +23126,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"id": 23,
|
||||
"name": "loginDays",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23065,7 +23134,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"id": 24,
|
||||
"name": "serverName",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -23073,7 +23142,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"id": 25,
|
||||
"name": "sid",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23081,7 +23150,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"id": 26,
|
||||
"name": "onlineTime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23089,7 +23158,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"id": 27,
|
||||
"name": "newonlinetime",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23097,7 +23166,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"id": 28,
|
||||
"name": "isNpc",
|
||||
"type": {
|
||||
"type": "Boolean"
|
||||
@ -23105,7 +23174,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"id": 29,
|
||||
"name": "matrix",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -23119,7 +23188,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"id": 30,
|
||||
"name": "matrixPos",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -23139,7 +23208,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"id": 31,
|
||||
"name": "selectMatrix",
|
||||
"type": {
|
||||
"type": "String"
|
||||
@ -23147,7 +23216,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"id": 32,
|
||||
"name": "fightHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -23158,7 +23227,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"id": 33,
|
||||
"name": "helpHeros",
|
||||
"type": {
|
||||
"type": "Array",
|
||||
@ -23235,7 +23304,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"id": 34,
|
||||
"name": "changeNameNum",
|
||||
"type": {
|
||||
"type": "Number"
|
||||
@ -23243,7 +23312,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"id": 35,
|
||||
"name": "peijianUnlock",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -23257,7 +23326,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"id": 36,
|
||||
"name": "headFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
@ -23271,7 +23340,7 @@ export const serviceProto: ServiceProto<ServiceType> = {
|
||||
"optional": true
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"id": 37,
|
||||
"name": "chatFrames",
|
||||
"type": {
|
||||
"type": "Interface",
|
||||
|
@ -19,7 +19,7 @@ export type ResLogin = {
|
||||
/**
|
||||
* 开服天数
|
||||
*/
|
||||
openDay:number;
|
||||
openDay: number;
|
||||
/**当前时间 */
|
||||
curTime: number;
|
||||
/**是否第一次登录 */
|
||||
@ -94,6 +94,13 @@ export type playerAppend = {
|
||||
};
|
||||
/**名字 */
|
||||
name: string;
|
||||
/**正在使用的造型 */
|
||||
upModel: {
|
||||
/**id */
|
||||
id: string,
|
||||
/**到期时间戳 -1:永久 */
|
||||
time: number;
|
||||
};
|
||||
/**造型 */
|
||||
model: {
|
||||
[k: string]: {
|
||||
|
@ -70,6 +70,14 @@ export class HeroShared {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (otherBuff.model) {
|
||||
for (let [id, item] of Object.entries(otherBuff.model)) {
|
||||
if (item.time == -1 || item.time > G.time) {
|
||||
PublicShared.mergeProperty(buff, G.gc.playerModel[id].buff);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算装备属性
|
||||
|
@ -1,25 +1,42 @@
|
||||
|
||||
|
||||
export class UserShared {
|
||||
/**获取头像之类id */
|
||||
static getInfoId(type: 'head' | 'headFrame' | 'chatFrame' | 'model', id: string, pos?: string) {
|
||||
return Array.from(arguments).filter(s => s != '').join('_');
|
||||
}
|
||||
|
||||
// todo active始终为空,暂时获取对应的avtive,解决打包上线的圣诞版本,
|
||||
// 后续要理清数据格式,填入playerinfo的active,包括user/infoOpen接口的返回
|
||||
static getActive(fmtId, player, type, id?) {
|
||||
switch (type) {
|
||||
case 'head':
|
||||
return {[fmtId]: player.head?.time}
|
||||
case 'headFrame':
|
||||
return {[fmtId]: player.headFrames[id]}
|
||||
case 'chatFrame':
|
||||
return {[fmtId]: player.chatFrames[id]}
|
||||
case 'model':
|
||||
return {[fmtId]: player.model?.[id]?.time}
|
||||
}
|
||||
return {}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断头像之类是否激活
|
||||
* 判断头像之类是否激活
|
||||
* @param id 请使用 UserShared.getInfo 转化后的id
|
||||
*/
|
||||
static chechIsActive(fmtId: string, collection: Partial<{ lv: number, vip: number, lsyx: k_v<number>, active: k_v<number>; }>) {
|
||||
static chechIsActive(fmtId: string, collection: Partial<{ lv: number, vip: number, lsyx: k_v<number>, model: k_v<any>, active: k_v<number>; }>) {
|
||||
|
||||
const [type, id, pos] = fmtId.split('_');
|
||||
const [type, id] = fmtId.split('_');
|
||||
const jsonName = 'player' + type.slice(0, 1).toLocaleUpperCase() + type.slice(1);
|
||||
const json = G.gc[jsonName] as any;
|
||||
const conf: _gcType['playerHead'][''] = pos ? json[pos][id] : json[id];
|
||||
const conf: _gcType['playerHead'] = json[id];
|
||||
|
||||
if (conf.cond[0] == 'lv') return collection.lv >= conf.cond[1];
|
||||
else if (conf.cond[0] == 'vip') return collection.vip >= conf.cond[1];
|
||||
else if (conf.cond[0] == 'hero') return collection.lsyx[conf.cond[1]] > 0;
|
||||
else if (conf.cond[0] == 'time') return collection.active[fmtId] == -1 || collection.active[fmtId] > G.time;
|
||||
// else if (conf.cond[0] == 'time') return collection.active[fmtId] == -1 || collection.active[fmtId] > G.time;
|
||||
else if (conf.cond[0] == 'time') return conf.cond[1] == -1 || collection.active?.[fmtId] > G.time;
|
||||
else if (conf.cond[0] == 'model') return Object.values(collection.model).find(i => i.id == conf.cond[1]);
|
||||
else return false;
|
||||
}
|
||||
}
|
1122
tsbufferIndex.js
Normal file
1122
tsbufferIndex.js
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user