js: Language (#1452)
This commit is contained in:
17
repo/js/Language/README.md
Normal file
17
repo/js/Language/README.md
Normal file
@@ -0,0 +1,17 @@
|
||||
更改游戏语言。
|
||||
更改遊戲語言。
|
||||
Change the game language.
|
||||
ゲーム言語を変更します。
|
||||
게임 언어를 변경하십시오.
|
||||
|
||||
默认情况下会切换至简体中文。
|
||||
默認情況下會切換至簡體中文。
|
||||
By default, it will switch to Simplified Chinese.
|
||||
デフォルトでは簡体字中国語に切り替わります。
|
||||
기본적으로 간체 중국어로 전환됩니다.
|
||||
|
||||
如果需要切换至其他语言,将脚本加入调度器中,右键脚本并选择修改JS脚本自定义配置。
|
||||
如果需要切換至其他語言,將腳本加入調度器中,右鍵腳本並選擇修改JS腳本自定義配置。
|
||||
If you need to switch to another language, add the script to the scheduler, right-click the script, and select "Modify JS Script Custom Configuration".
|
||||
別の言語に切り替える必要がある場合は、スクリプトをスケジューラに追加し、スクリプトを右クリックして、JSスクリプトカスタム構成の変更を選択します。
|
||||
언어를 다른 언어로 전환하려면 스크립트를 스케줄러에 추가하고 스크립트를 마우스 오른쪽 버튼으로 클릭한 다음 JS 스크립트 사용자 정의 구성을 수정하십시오.
|
||||
67
repo/js/Language/main.js
Normal file
67
repo/js/Language/main.js
Normal file
@@ -0,0 +1,67 @@
|
||||
(async function () {
|
||||
setGameMetrics(1920, 1080, 1);
|
||||
await genshin.returnMainUi();
|
||||
|
||||
let language = settings.language;
|
||||
|
||||
const languageMessages = {
|
||||
"简体中文": ["切换至简体中文", 260],
|
||||
"繁體中文": ["切換至繁體中文", 310],
|
||||
"English": ["Switch to English", 360],
|
||||
"日本語": ["日本語に切り替え", 460],
|
||||
"한국어": ["한국어로 전환", 410]
|
||||
};
|
||||
|
||||
const [message, yPos] = languageMessages[language] || ["Unknown language, switch to Chinese", 260];
|
||||
log.info(message);
|
||||
|
||||
keyPress("ESCAPE");
|
||||
await sleep(1000);
|
||||
click(50, 830); //点击设置
|
||||
await sleep(1000);
|
||||
click(180, 510); //点击语言
|
||||
await sleep(1000);
|
||||
click(1630, 210); //点击选项
|
||||
await sleep(1000);
|
||||
moveMouseTo(1630, 260);
|
||||
await PageScroll(1);
|
||||
await sleep(1000);
|
||||
click(1630, yPos);
|
||||
await genshin.returnMainUi();
|
||||
})();
|
||||
|
||||
// 自动执行划页操作
|
||||
async function PageScroll(scrollCount) {
|
||||
try {
|
||||
const clickX = 1630; // 假设点击的起始坐标
|
||||
const clickY = 260;
|
||||
const totalDistance = 200; // 假设每次滑动的总距离
|
||||
const stepDistance = 15; // 每步移动的距离
|
||||
|
||||
for (let i = 0; i < scrollCount; ++i) {
|
||||
// 如果点击坐标为 (0, 0),则跳过点击
|
||||
if (clickX !== 0 || clickY !== 0) {
|
||||
moveMouseTo(clickX, clickY); // 移动到指定坐标
|
||||
await sleep(100);
|
||||
}
|
||||
|
||||
// 按住鼠标左键
|
||||
leftButtonDown();
|
||||
|
||||
// 将鼠标移动到目标位置,模拟更自然的拖动操作
|
||||
const steps = totalDistance / stepDistance; // 分成若干步移动
|
||||
|
||||
for (let j = 0; j < steps; j++) {
|
||||
moveMouseBy(0, stepDistance); // 每次移动 stepDistance 像素
|
||||
await sleep(10); // 每次移动后延迟10毫秒
|
||||
}
|
||||
|
||||
// 释放鼠标左键
|
||||
await sleep(700);
|
||||
leftButtonUp();
|
||||
await sleep(100);
|
||||
}
|
||||
} catch (error) {
|
||||
log.error(`执行滑动操作时发生错误:${error.message}`);
|
||||
}
|
||||
}
|
||||
16
repo/js/Language/manifest.json
Normal file
16
repo/js/Language/manifest.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"manifest_version": 1,
|
||||
"name": "语言 / 語言 / Language / 言語 / 언어",
|
||||
"version": "1.0",
|
||||
"bgi_version": "0.45.0",
|
||||
"description": "更改游戏语言。\n更改遊戲語言。\nChange the game language.\nゲーム言語を変更します。\n게임 언어를 변경하십시오.",
|
||||
"authors": [
|
||||
{
|
||||
"name": "ddaodan",
|
||||
"link": "https://github.com/ddaodan"
|
||||
}
|
||||
],
|
||||
"settings_ui": "settings.json",
|
||||
"main": "main.js"
|
||||
}
|
||||
|
||||
15
repo/js/Language/settings.json
Normal file
15
repo/js/Language/settings.json
Normal file
@@ -0,0 +1,15 @@
|
||||
[
|
||||
{
|
||||
"name": "language",
|
||||
"type": "select",
|
||||
"label": "语言 / 語言 / Language / 言語 / 언어",
|
||||
"options": [
|
||||
"简体中文",
|
||||
"繁體中文",
|
||||
"English",
|
||||
"日本語",
|
||||
"한국어"
|
||||
],
|
||||
"default": "简体中文"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user