Files
bcm-tool/dist/bcm_tool.js
T
2026-01-20 16:24:17 +08:00

109 lines
3.2 KiB
JavaScript

"use strict";
class BcmTool {
constructor() {
this.mgrTeamInfo = g_game.mgr.mgr_team_player_team_info;
this.logger = new Logger();
}
queryPlayerInfo(playersToQuery) {
const attributes = [
['速度', 1],
['力量', 2],
['内攻', 3],
['中投', 4],
['三分', 5],
['三分急停跳投倾向', 6],
['内线防守能力', 7],
['外线防守能力', 8],
['突破能力', 9],
['上篮能力', 10],
['控球能力', 11],
['传球能力', 12],
['传球视野', 13],
['干扰投篮', 14],
['篮板能力', 15],
['*出手时间', 16],
['*进攻IQ', 17],
['*防守IQ', 18],
['体能', 19],
['卡位能力', 20],
['罚球能力', 21],
['抢断能力', 22],
['盖帽能力', 23],
['*进攻犯规', 24],
['*防守犯规', 25],
['扣篮能力', 26],
['勾手倾向', 27],
['*后仰倾向', 28],
['打板倾向', 29],
['*反应时间', 30],
['拉开空间', 31],
['补防、协防', 32],
['*造进攻犯规', 33],
['快下', 34],
['无球跑动', 35],
['挡拆', 36],
['*造防守犯规', 37],
['无球掩护', 38],
['进攻篮板', 39],
['*假动作', 40],
['攻转守', 41],
['进攻技能', 44],
['防守技能', 48],
['身体素质', 50],
];
for (const playerId of playersToQuery) {
if (!this.checkInfo(playerId)) {
console.log('找不到id', playerId);
continue;
}
this.logger.Info(this.queryName(playerId));
for (const info of attributes) {
const name = info[0];
const id = info[1];
const record = this.queryInfo(playerId, id);
this.logger.Info(name, record);
}
g_game.mgr.tools.CopyStrToClipboard(this.logger.GetOutput());
this.logger.Clear();
}
}
checkInfo(playerId) {
const data = this.mgrTeamInfo.GetPlayerData(playerId);
return data != null;
}
queryName(playerId) {
const data = this.mgrTeamInfo.GetPlayerData(playerId);
return data.playerName;
}
queryInfo(playerId, attri) {
const data = this.mgrTeamInfo.GetPlayerData(playerId);
return data.GetSingleAttribute(attri).toFixed(2);
}
listPlayers() {
const ids = Object.keys(this.mgrTeamInfo._map_player_detail);
for (const id of ids) {
console.log(this.queryName(id), id);
}
}
}
class Logger {
constructor() {
this.msgs = '';
}
Info(...msgs) {
for (const msg of msgs) {
this.msgs += String(msg);
}
this.msgs += '\n';
}
GetOutput() {
return this.msgs;
}
Clear() {
this.msgs = '';
}
}
(() => {
g_game.bcm_tool = new BcmTool();
})();