寻宝:清理匹配成功的玩家信息;修复机器人和匹配条件等bug
This commit is contained in:
@@ -21,7 +21,7 @@ export function getRandBlueprtId(qualityArr: Array<number>, cnt = 1) {
|
||||
}
|
||||
|
||||
export function getRandComBtlRobots(topFiveCe: number, lv: number, cnt: number) {
|
||||
let robotHeroes = getRandRobot(cnt); // 随机两个阵容
|
||||
let robotHeroes = getRandRobot(cnt); // 随机几个阵容
|
||||
// 创建并添加机器人
|
||||
let robotStArr = [], robotIdArr = [];
|
||||
for (let robot of robotHeroes) {
|
||||
|
||||
@@ -154,6 +154,17 @@ export async function setTeamSearchReq(roleId: string, sid: string, qualityArr:
|
||||
}
|
||||
|
||||
// 取出 0 - 2 个某品质的匹配中玩家,并在其它品质中删除此玩家信息
|
||||
|
||||
export async function rmRoleFromQueue(roleId: string, sid: string, qualityArr: Array<number>) {
|
||||
let cmds = [];
|
||||
for (let q of qualityArr) {
|
||||
cmds.push(['srem', `${REDIS_KEY.COM_TEAM_SEARCH_PRE}${q}`, `${roleId}:${sid}`]);
|
||||
};
|
||||
const multiClient = client.multi(cmds) as Redis.Multi;
|
||||
const newMulti = promisifyAll(multiClient) as Redis.Multi;
|
||||
await newMulti.execAsync();
|
||||
}
|
||||
|
||||
export async function getTeamSearchByQuality(quality: number) {
|
||||
// TODO: 操作不具有原子性
|
||||
const userInfos = await client.srandmemberAsync(`${REDIS_KEY.COM_TEAM_SEARCH_PRE}${quality}`, 2);
|
||||
|
||||
Reference in New Issue
Block a user