Skip to content

Instantly share code, notes, and snippets.

@Hunlongyu
Last active July 4, 2019 09:22
Show Gist options
  • Save Hunlongyu/f893c353054d34fb8262b4492da138a1 to your computer and use it in GitHub Desktop.
Save Hunlongyu/f893c353054d34fb8262b4492da138a1 to your computer and use it in GitHub Desktop.
krunker 汉化版
// ==UserScript==
// @author Hunlongyu
// @name 『净网卫士』 Krunker 汉化版
// @namespace https://github.com/Hunlongyu
// @icon https://i.loli.net/2019/04/22/5cbd720718fdb.png
// @description Krunker 是一个最近热门的在线像素风枪战游戏。时间短,节奏快。适合工作之余休息娱乐一下。翻译为中文,精简页面。
// @version 0.1.0
// @include https://krunker.io/*
// @grant GM_addStyle
// @run-at document-end
// @supportURL https://gist.github.com/Hunlongyu/f893c353054d34fb8262b4492da138a1
// @note 2019/07/04 v0.1.0 初始化,完成基础功能。
// ==/UserScript==
(function () {
'use strict'
let css = `
* {
font-family: Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;
}
#aHolder, #infoHolder, #advertiseButton {display: none !important;}
`
GM_addStyle(css)
// MENU
document.getElementById('menuItemContainer').innerHTML = document.getElementById('menuItemContainer').innerHTML
.replace(/>Profile</g, '>个人中心<')
.replace(/>Shop</g, '>商城<')
.replace(/>Social</g, '>社交<')
.replace(/>Maps</g, '>地图<')
.replace(/>Mods</g, '>Mod<')
.replace(/>Settings</g, '>设置<')
document.getElementById('windowHeader').addEventListener('DOMNodeInserted', function (e) {
globalModalEvent(e.target.textContent)
})
function globalModalEvent (e) {
console.log(e, 'globalModalEvent')
if (e === 'Account') { // 个人中心
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Name</g, '>名字<')
.replace(/>Clan</g, '>家族<')
.replace(/>None</g, '>无<')
.replace(/>Level</g, '>等级<')
.replace(/>Score</g, '>积分<')
.replace(/>KR</g, '>KR币<')
.replace(/>Kills</g, '>击杀<')
.replace(/>Deaths</g, '>死亡<')
.replace(/>KDR</g, '>击杀死亡比<')
.replace(/>Games Played</g, '>游戏次数<')
.replace(/>Games Won</g, '>胜利次数<')
.replace(/>W\/L</g, '>胜利失败比<')
.replace(/>Time Played</g, '>游戏时长<')
.replace(/>Logout</g, '>退出账号<')
}
if (e === 'Store') { // 商城
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Prize Wheels</g, '>抽奖转盘<')
.replace(/>Unlock new weapon skins and items</g, '>解锁新的武器皮肤和物品<')
.replace(/>By purchasing you agree to the </g, '>购买即表示您同意<')
.replace(/>Terms</g, '>本条款<')
.replace(/>Purchase KR</g, '>充值 KR<')
.replace(/> Any </g, '> 所有 <')
.replace(/> Snipers Only! </g, '> 狙击手 <')
.replace(/> Outfits Only! </g, '> 服装 <')
.replace(/>Popular!</g, '>流行<')
.replace(/>Off</g, '>折扣<')
.replace(/ in account/g, '')
}
if (e === 'Custom Maps') { // 地图
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Map Editor</g, '>地图编辑器<')
.replace(/>Publish Map</g, '>发布地图<')
.replace(/>Map Community</g, '>地图社区<')
.replace(/>Hot</g, '>热门<')
.replace(/>New</g, '>最新<')
.replace(/>Favorites</g, '>最爱<')
.replace(/>My Maps</g, '>我的地图<')
.replace(/>Search</g, '>搜索<')
.replace(/>No Maps found</g, '>没有发现地图<')
}
if (e === 'Mod Manager') {
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Mod Guide</g, '>Mod指南<')
.replace(/>Mods List</g, '>Mod列表<')
.replace(/>Publish Mod</g, '>发布Mod<')
.replace(/>Viewer</g, '>查看<')
.replace(/>drop mod file here or click</g, '>拖动Mod文件到这里,或者点击加载<')
.replace(/Paste Mod Url/g, '复制Mod链接')
.replace(/>Load Mod</g, '>加载Mod<')
}
if (e === 'Game Settings') { // 游戏设置
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Change Controls</g, '>改变控制方式<')
.replace(/>Reset Settings</g, '>恢复默认设置<')
.replace(/>Servers</g, '>服务器<')
.replace(/>Default Region </g, '>默认地区<')
.replace(/>Frankfurt</g, '>法兰克福(德国)<')
.replace(/>Silicon Valley</g, '>硅谷(美国)<')
.replace(/>Sydney</g, '>悉尼(澳大利亚)<')
.replace(/>Tokyo</g, '>东京(日本)<')
.replace(/>Miami</g, '>迈阿密(美国)<')
.replace(/>Singapore</g, '>新加坡<')
.replace(/>Quality</g, '>画质<')
.replace(/Resolution /g, '分辨率')
.replace(/Particles /g, '粒子效果')
.replace(/Muzzle Flash /g, '枪焰')
.replace(/>Interface</g, '>界面<')
.replace(/Show UI /g, '显示界面')
.replace(/Show Chat Box /g, '显示聊天框')
.replace(/Show Kill Feed /g, '显示杀敌特效')
.replace(/Show Player Messages /g, '显示玩家消息')
.replace(/Show Unboxings /g, '显示 Unboxings')
.replace(/Show Ping /g, '显示 Ping 值')
.replace(/Show FPS /g, '显示 FPS 值')
.replace(/Crosshair Dot /g, '准心圆点')
.replace(/Crosshair Color /g, '准心颜色')
.replace(/Crosshair Shadow /g, '准心阴影')
.replace(/>Gameplay</g, '>游戏<')
.replace(/>Sensitivity /g, '>鼠标灵敏度')
.replace(/>Aim Sensitivity /g, '>瞄准镜灵敏度')
.replace(/Field of View /g, '视野')
.replace(/Weapon FOV /g, '武器视距')
.replace(/Invert Y-Axis /g, '反转Y轴')
.replace(/>Audio</g, '>音频<')
.replace(/Sound /g, '声音')
.replace(/Voice Volume /g, '音量')
.replace(/>Editing</g, '>编辑<')
.replace(/Weapon Bobbing /g, '武器后座力')
.replace(/Show Weapon /g, '显示武器')
.replace(/Depth Map /g, '深度图')
.replace(/Green Screen /g, '绿屏')
.replace(/>Shaders</g, '>着色器<')
.replace(/Ambient Shading /g, '环境阴影')
.replace(/Load Mods /g, '加载 Mod')
.replace(/Scope Image /g, '范围图像')
}
if (e === 'Change Controls') { // 控制方式
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/Forward/g, '前进')
.replace(/Backward/g, '后退')
.replace(/Left/g, '向左')
.replace(/Right/g, '向右')
.replace(/Reload/g, '装弹')
.replace(/Aim/g, '瞄准')
.replace(/Inspect/g, '检查')
.replace(/Spray/g, '喷图')
.replace(/Jump/g, '跳跃')
.replace(/Crouch/g, '下蹲')
.replace(/Next Weapon/g, '下一个武器')
.replace(/Previous Weapon/g, '上一个武器')
.replace(/Chat/g, '聊天')
.replace(/Voice/g, '语音')
.replace(/Player List/g, '玩家列表')
.replace(/Interact/g, '交互')
}
if (e === 'Host Custom Game') { // 主机
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Select Maps</g, '>选择地图<')
.replace(/Burg/g, 'Burg 城堡')
.replace(/Littletown/g, 'Littletown 小镇')
.replace(/Sandstorm/g, 'Sandstorm 沙漠')
.replace(/Subzero/g, 'Subzero 雪地')
.replace(/Community Maps /g, '社区地图')
.replace(/>Select</g, '>点击选择<')
.replace(/>Select Maps</g, '>选择地图<')
.replace(/Raw Map Data/g, '地图数据源')
.replace(/Map Data/g, '地图数据')
.replace(/>Add Mod Pack</g, '>添加Mod<')
.replace(/Community Mods /g, '社区Mod')
.replace(/Mod URL/g, 'Mod链接')
.replace(/>Select Modes</g, '>选择模式<')
.replace(/Free for All/g, '自由模式')
.replace(/Team Deathmatch/g, '队伍死亡竞赛')
.replace(/Capture the Flag/g, '夺旗模式')
.replace(/Parkour/g, '跑酷模式')
.replace(/Hide &amp; Seek/g, '捉迷藏模式')
.replace(/Infected/g, '僵尸模式')
.replace(/Race/g, '竞速模式')
.replace(/Boss Hunt/g, '追杀模式')
.replace(/Competitive/g, '竞技模式')
.replace(/Simon Says/g, '得令模式')
.replace(/Gun Game/g, '枪战模式')
.replace(/>Select Classes</g, '>选择类型<')
.replace(/Triggerman/g, 'Triggerman(突击步枪)')
.replace(/Hunter/g, 'Hunter(狙击步枪)')
.replace(/Run N Gun/g, 'Run N Gun(冲锋枪)')
.replace(/Spray N Pray/g, 'Spray N Pray(轻型机关枪)')
.replace(/Vince/g, 'Vince(霰弹枪)')
.replace(/Detective/g, 'Detective(左轮手枪)')
.replace(/Marksman/g, 'Marksman(半自动步枪)')
.replace(/Rocketeer/g, 'Rocketeer(火箭弹)')
.replace(/Agent/g, 'Agent(乌兹枪)')
.replace(/Runner/g, 'Runner(双拳)')
.replace(/Bowman/g, 'Bowman(弩)')
.replace(/>Settings</g, '>设置<')
.replace(/>Players/g, '>玩家数量')
.replace(/>Min Players/g, '>最少玩家数量')
.replace(/Lives/g, '存活')
.replace(/Minutes/g, '游戏时长(分钟)')
.replace(/Gravity/g, '重力')
.replace(/Jump Force/g, '跳跃能力')
.replace(/Time Scale/g, '时间段')
.replace(/Strafe Speed/g, '横向速度')
.replace(/Health Multiplier/g, '生命值')
.replace(/Team 1 Name/g, '队伍1的名字')
.replace(/Team 2 Name/g, '队伍2的名字')
.replace(/Select Team /g, '选择队伍')
.replace(/Spectating /g, '观看')
.replace(/Kill Rewards /g, '击杀奖励')
.replace(/Sliding /g, '滑步')
.replace(/Auto Jump /g, '自动跳跃')
.replace(/3rd Person /g, '第三人称视角')
.replace(/Nametags /g, '')
.replace(/Hide/g, '隐藏')
.replace(/Private /g, '不公开')
.replace(/>Host Presets</g, '>主机预设<')
.replace(/Preset name/g, '预设名称')
.replace(/>Load</g, '>加载<')
.replace(/>Save</g, '>保存<')
.replace(/>Delete</g, '>删除<')
.replace(/>Start Game</g, '>开始游戏<')
}
if (e === 'Server Browser') { // 服务器
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/Host Game</g, '添加主机<')
.replace(/placeholder="Search"/g, 'placeholder="搜索"')
.replace(/>Hide Full</g, '>隐藏人满房间<')
.replace(/Custom Games/g, '自定义游戏')
.replace(/online/g, '在线')
.replace(/Silicon Valley/g, '硅谷(美国)')
.replace(/Miami/g, '迈阿密(美国)')
.replace(/Frankfurt /g, '法兰克福(德国)')
.replace(/Tokyo /g, '东京(日本)')
.replace(/Singapore /g, '新加坡')
.replace(/Sydney /g, '悉尼(澳大利亚)')
.replace(/total/g, '')
}
if (e === 'Change Loadout') { // 修改角色属性
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/Host Game</g, '添加主机<')
.replace(/Class/g, '角色')
.replace(/Primary/g, '主要武器')
.replace(/Secondary/g, '次级武器')
.replace(/Melee/g, '近战')
.replace(/Hat/g, '帽子')
.replace(/Body/g, '身体')
.replace(/>Spray</g, '>喷图<')
}
if (e === 'Select Class') { // 选择角色
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/Assault Rifle/g, '突击步枪')
.replace(/Sniper Rifle/g, '狙击步枪')
.replace(/Submachine Gun/g, '冲锋枪')
.replace(/Light Machine Gun/g, '轻型机关枪')
.replace(/Shotgun/g, '霰弹枪')
.replace(/Revolver/g, '左轮手枪')
.replace(/Semi Auto/g, '半自动步枪')
.replace(/Rocket Launcher/g, '火箭弹')
.replace(/Akimbo Uzi/g, '乌兹枪')
.replace(/Hands/g, '双拳')
.replace(/Crossbow/g, '弩')
}
if (e === 'Clans') { // 家族
document.getElementById('menuWindow').innerHTML = document.getElementById('menuWindow').innerHTML
.replace(/>Create Clan</g, '>创建家族<')
.replace(/Clan Name/g, '家族名称')
.replace(/>Create</g, '>创建<')
.replace(/>Submit</g, '>提交<')
.replace(/Join Clan /g, '加入家族')
.replace(/View Clans/g, '浏览家族')
}
}
// 右上角功能按钮
document.getElementById('challButton').innerHTML = document.getElementById('challButton').innerHTML
.replace(/>Challenge Mode</g, '>挑战模式<')
document.getElementById('stremButton').innerHTML = document.getElementById('stremButton').innerHTML
.replace(/>Stream Mode</g, '>流模式<')
document.getElementById('spectButton').innerHTML = document.getElementById('spectButton').innerHTML
.replace(/>Spectate</g, '>观看<')
// logo 下的三个按钮
document.getElementById('subLogoButtons').innerHTML = document.getElementById('subLogoButtons').innerHTML
.replace(/>Host Game</g, '>主机<')
.replace(/>Invite</g, '>邀请<')
.replace(/>Server Browser</g, '>服务器<')
// 角色属性
document.getElementById('menuClassSubtext').innerHTML = document.getElementById('menuClassSubtext').innerHTML
.replace(/Assault Rifle/g, '突击步枪')
.replace(/Sniper Rifle/g, '狙击步枪')
.replace(/Submachine Gun/g, '冲锋枪')
.replace(/Light Machine Gun/g, '轻型机关枪')
.replace(/Shotgun/g, '霰弹枪')
.replace(/Revolver/g, '左轮手枪')
.replace(/Semi Auto/g, '半自动步枪')
.replace(/Rocket Launcher/g, '火箭弹')
.replace(/Akimbo Uzi/g, '乌兹枪')
.replace(/Hands/g, '双拳')
.replace(/Crossbow/g, '弩')
document.getElementById('customizeButton').innerHTML = document.getElementById('customizeButton').innerHTML
.replace(/Customize/g, '自定义角色')
// 聊天框
document.getElementById('chatUI').innerHTML = document.getElementById('chatUI').innerHTML
.replace(/Enter Message/g, '输入消息')
// 中心界面
document.getElementById('instructionHolder').addEventListener('DOMNodeInserted', function (e) {
globalCenterEvent()
})
function globalCenterEvent () {
document.getElementById('instructionHolder').innerHTML = document.getElementById('instructionHolder').innerHTML
.replace(/>CLICK TO PLAY</g, '>点击开始游戏<')
.replace(/>Game is full.</g, '>房间人数已满<')
.replace(/>Kicked for inactivity</g, '>因长时间不活跃被提出房间<')
.replace(/>Try seeking a new game by clicking </g, '>尝试寻找新的房间<')
.replace(/>here</g, '>查找<')
.replace(/>If you have any extensions. Disable them</g, '>如果你有任何扩展,尝试禁用它们<')
}
document.getElementById('instructionHolder').innerHTML = document.getElementById('instructionHolder').innerHTML
.replace(/>CLICK TO PLAY</g, '>点击开始游戏<')
.replace(/>Game is full.</g, '>房间人数已满<')
.replace(/>Kicked for inactivity</g, '>因长时间不活跃被提出房间<')
.replace(/>Try seeking a new game by clicking </g, '>尝试寻找新的房间<')
.replace(/>here</g, '>查找<')
.replace(/>If you have any extensions. Disable them</g, '>如果你有任何扩展,尝试禁用它们<')
// 右上角按钮
document.getElementById('advertiseButton').innerHTML = document.getElementById('advertiseButton').innerHTML
.replace(/>Download Client</g, '>下载客户端<')
})()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment