说明:
安装:
执行如下命令:(#
打头的不用执行)
# 切换盘符
C:\Users\abc> W:
# 切换到项目根目录
W:\> cd W:\dev\tc-games-scripts
# 安装 gulp-cli
W:\dev\tc-games-scripts> npm i -g gulp-cli
# 安装 gulp
W:\dev\tc-games-scripts> npm i gulp
# 安装项目依赖
W:\dev\tc-games-scripts> npm i
# 构建图片:
# 1. 删除 "TC Games\resource\game\smartkey\com.tencent.tmgp.pubgmhd" 目录
# 2. 将 "src/images/" 下的图片拷贝过去
W:\dev\tc-games-scripts> npm run build:image
# 构建 nova9 可以使用的脚本(根据自己的设备选择,执行一个即可)
W:\dev\tc-games-scripts> npm run build:script:nova9
# 构建 matepad11 可以使用的脚本(根据自己的设备选择,执行一个即可)
W:\dev\tc-games-scripts> npm run build:script:matepad11
# 构建 XiaoMiPad6Max14 可以使用的脚本(根据自己的设备选择,执行一个即可)
W:\dev\tc-games-scripts> npm run build:script:XiaoMiPad6Max14
键位:
宏按键绑定:
按键 | 说明 | 宏 |
---|---|---|
Ctrl | 1. 重置 准心 2. 重置 方向键 3. 重置点头操作 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.reset(); }); } ()); |
F1 | 1. 拾取 2. 切 雷 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.bindKeyF1(); }); } ()); |
F11 | 记录不准确的压枪参数 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.logErrorPressArgs(); }); } ()); |
F12 | 启用/禁用 utils.showTip() | (function() { import('keymap') .then(({ default: keymap }) => { keymap.toggleEnableOfTip(); }); } ()); |
F2 | 1. 拾取 2. 切 烟 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.bindKeyF2(); }); } ()); |
F3 | 1. 拾取 2. 切 火 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.bindKeyF3(); }); } ()); |
F4 | 收枪 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.hideGun(); }); } ()); |
F5 | 左右枪互换 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.swapGuns(); }); } ()); |
Num1 | 吃 能量饮料 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatEnergyDrink(); }); } ()); |
Num2 | 吃 止痛药 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatPainkiller(); }); } ()); |
Num3 | 吃 肾上腺素注射剂 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatEpinephrineInjection(); }); } ()); |
Num4 | 吃 绷带 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatBandage(); }); } ()); |
Num5 | 吃 急救包 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatFirstAidKit(); }); } ()); |
Num6 | 吃 医疗急救箱 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.eatMedicalFirstAidKit(); }); } ()); |
Num7 | 切换 破片手榴弹 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.switchFragmentBomb(); }); } ()); |
Num8 | 切换 烟雾弹 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.switchSmokeBomb(); }); } ()); |
Num9 | 切换 燃烧瓶 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.switchMolotovCocktail(); }); } ()); |
Tab | 切枪 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.switchGun(); }); } ()); |
上箭头 | 动态调整压枪参数, +1 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.addDelayOfGunPressArgs(); }); } ()); |
下箭头 | 动态调整压枪参数, -1 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.subtractDelay(); }); } ()); |
鼠标右键 | 复合按键: 1. 丢弃背包中光标所指位置的配件 (一旦执行,后续操作都取消) 2. 取消投掷 (一旦执行,后续操作都取消) 3. 开镜 4. 更新压枪参数 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.bindKeyMouseRight(); }); } ()); |
鼠标左键 | 开火 | (function() { import('keymap') .then(({ default: keymap }) => { keymap.fire(); }); } ()); |
鼠标滚轮-滚上 | 调整 6 倍镜 并存储调整过 6 倍镜倍率的枪及倍率 |
(function() { import('keymap') .then(({ default: keymap }) => { keymap.toggleX6Sight(); }); } ()); |
说明:
图示:
目前主要使用
参数:
类别 | 描述 |
---|---|
品牌 | 小米 Pad 6 Max 14 |
分辨率 | 2880 × 1800 |
参数:
类别 | 描述 |
---|---|
品牌 | 华为 MatePad 11 |
分辨率 | 2560 × 1600 |
参数:
类别 | 描述 |
---|---|
品牌 | 华为 nova9 (NAM-AL00) |
分辨率 | 2430 × 1080 |
刷新率 | 智能(最高 120 Hz) |
屏幕顶部显示 | 自动匹配 |
参数:
类别 | 描述 |
---|---|
品牌 | 联想笔记本,拯救者 R7000 2021 |
系统 | win10 |
分辨率 | 2560 × 1600 |
参数:
类别 | 描述 |
---|---|
品牌 | iMac,2017年款 |
系统 | win10 |
分辨率 | 4096 × 2304, 缩放 200% |
位置:
C:\Users\abc\AppData\Roaming\Sigma-RT\TC Games\resource\Scripts
(简称“脚本目录”)说明:
输入设置 中 快捷键:
修改了 “脚本目录” 中的 JS 文件后,按 Ctrl + F5
后就生效了
说明:
示例:
目录:
.../TC Games/resource/Scripts/
main.js
gun.js
gun.js:
// 暴露一个函数
export function getCurrentGunName() {
// ...
}
main.js:
// 导入 gun 模块(gun.js)
import gun from 'gun';
const gunName = gun.getCurrentGunName();
mapi.tip(gunName, 2);
什么是宏按键:
宏按键里的 JS 代码必须用立即执行的函数包裹起来:
(function() {
// 你的代码
}());
在宏按键里使用 “脚本目录” 中的 JS 文件(模块):
// 使用 gun.js
(function() {
import('gun').then((gun) =>{
const gunName = gun.getCurrentGunName();
mapi.tip(gunName, 2);
});
}());
模块实例问题:
// test.js
export default {
count: 1,
add() {
this.count += 1;
}
};
// 绑定 num1
(function() {
import('test').then(({ default: test }) => {
const prev = test.count;
test.add();
const curr = test.count;
mapi.tip(`prev = ${prev}; curr = ${curr}`); // 显示累加的结果
});
}());
// 绑定 num2
(function() {
import('test').then(({ default: test }) => {
mapi.tip(`count = ${test.count}`); // 一直显示初始值
});
}());
// num1 宏,多次执行只产生一个 test 模块对象 A
// num2 宏,多次执行只产生一个 test 模块对象 B
// A !== B
JS 宏日志:
C:\Users\abc\AppData\Roaming\Sigma-RT\TC Games\log\macro_javascript.log
tail -f ~/AppData/Roaming/Sigma-RT/TC\ Games/log/macro_javascript.log
说明:
mapi.findimage(图片名称, ....)
注意:
位置:
C:\Users\abc\AppData\Roaming\Sigma-RT\TC Games\resource\game\smartkey\com.tencent.tmgp.pubgmhd
目录:
com.tencent.tmgp.pubgmhd/
1080/ # 存放分辨率高度为 1080 设备的图片
1600/ # 存放分辨率高度为 1600 设备的图片
查找图片的规则:
mapi.findimage('AKM', ....)
1080
目录找,找不到则去 1600
目录找全局对象,JSAPI 接口
类型说明文件:types/mapi.d.ts
官方文档:http://www.sigma-rt.com/tcgames/help/?u=15
说明:
API:
mapi.findcolor
示例:
const point = mapi.findimage('255:254:247:142', '1475:648+1477:648+1475:650+1477:650');
if (point.X !== 0 || point.Y !== 0) {
// 找到了
}
说明:
API:
mapi.setglobalmap
: 写mapi.getglobalmap
: 读示例:
说明:
API:
logdebug
loginfo
logwarning
logerror
logfatal
注意:
描述:
拾取方案: