forwardNow / tc-games-scripts

和平精英 压枪及辅助 TC Games 脚本
12 stars 2 forks source link

TC Games JS 脚本

1. 介绍

说明:

安装:

  1. 下载此项目并解压,建议解压到桌面
  2. 下载并安装 node.js v16.20.1
  3. 使用 windows 搜索 “cmd”,打开 “命令提示符”
  4. 执行如下命令:(# 打头的不用执行)

    # 切换盘符
    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();
});
} ());

2. 环境

2.1. 和平精英

说明:

图示:

heping-settings.jpg

2.2. TC Games

tcg-settings.png

2.3. 移动设备

目前主要使用

2.3.1. Mi6ProMax

参数:

类别 描述
品牌 小米 Pad 6 Max 14
分辨率 2880 × 1800

2.3.2. matepad11

参数:

类别 描述
品牌 华为 MatePad 11
分辨率 2560 × 1600

2.3.3. nova9

参数:

类别 描述
品牌 华为 nova9 (NAM-AL00)
分辨率 2430 × 1080
刷新率 智能(最高 120 Hz)
屏幕顶部显示 自动匹配

2.4. 电脑

2.4.1. 笔记本

参数:

类别 描述
品牌 联想笔记本,拯救者 R7000 2021
系统 win10
分辨率 2560 × 1600

2.4.2. 一体机

参数:

类别 描述
品牌 iMac,2017年款
系统 win10
分辨率 4096 × 2304, 缩放 200%

3. JS 文件

3.1. 存放位置

位置:

说明:

3.2. 刷新

输入设置 中 快捷键:

修改了 “脚本目录” 中的 JS 文件后,按 Ctrl + F5 后就生效了

3.3. 模块化语法

说明:

示例:

4. 宏按键

什么是宏按键:

宏按键里的 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 宏日志:

5. 图片

说明:

注意:

位置:

目录:

com.tencent.tmgp.pubgmhd/
  1080/   # 存放分辨率高度为 1080 设备的图片
  1600/   # 存放分辨率高度为 1600 设备的图片

查找图片的规则:

6. JS API

6.1. mapi

全局对象,JSAPI 接口

类型说明文件:types/mapi.d.ts

官方文档:http://www.sigma-rt.com/tcgames/help/?u=15

6.2. 多点找色

说明:

API:

示例:

const point = mapi.findimage('255:254:247:142', '1475:648+1477:648+1475:650+1477:650');

if (point.X !== 0 || point.Y !== 0) {
  // 找到了
}

6.3. 全局 map

说明:

API:

示例:

6.4. 日志

说明:

API:

注意:

7. bug

7.1. 分段压枪,自动开枪

描述:

其他

拾取方案:

8. 参考