开发记录
- 战术突击v76
《战术突击》v2.9.2 五项BUG彻底修复 【1. 第二槽位选枪BUG】 - 根因:weaponGrid点击事件依赖变量判断当前槽位,变量可能被重置 - 修复:直接检查DOM的slot-box active类,最可靠;同时同步所有相关变量(ui_activeSlot、activeMenuSlot) - ui_selectSlot也增加了日志,方便调试 【2. 官方固定房间立刻进入】 - 修复:调用全局startGame函数(之前调用NG.main.startGame不存在) - 延迟从500ms缩短到300ms 【3. 自建房间不显示官方文本】 - 修复:在_show('wait')方法中根据_officialMode决定显示官方等待文本还是普通等待文本 - 自建房间显示普通等待文本+开始按钮,官方房间显示官方文本+隐藏开始按钮 【4. 人机模型姿势】 - 根因:updateAIAnimation依赖ai.mesh.userData缓存部件引用,但userData可能被其他代码重置 - 修复:每次直接通过getObjectByName查找部件,不依赖缓存 - walkPhase存储在ai对象上(ai._animWalkPhase),不存储在userData - 支持:走路/奔跑腿部摆动、开镜手臂前伸、换弹手臂下垂、蹲下腿部弯曲、身体倾斜 【5. M键换队伍】 - 根因:NG.main.isInGame和NG.main.switchTeam都不存在 - 修复:直接检查NG.main.active和roomId判断是否在联机中;直接切换NG.main.team并toast提示 - 聊天输入框打开时不触发换队
- 战术突击v75
《战术突击》v2.9.1 紧急修复 【瞄镜挡视野BUG修复】 - 根因:枪械模型中瞄镜部件的name是'sight',但开镜透明逻辑只识别'scope/lens/glass/eyepiece',导致瞄镜不透明挡住视野 - 修复:开镜时瞄镜识别条件新增'sight'和'optic',并增加基于位置的检测(y>0.04的部件自动识别为瞄镜部件) - 所有瞄镜枪械(AWP、SSG 08、SVD、AUG、SG 553、SJ16、SCAR-20、G3SG1)开镜时瞄镜95%透明,不再挡住视野
- 战术突击v74
《战术突击》v2.9.0 更新说明 【联机模式全面修复】 1. 官方固定房间进入后立刻开始游戏(不再等待房主) 2. 自建房间不再显示"官方房间·人数足够后自动开始"文本 3. 联机中按M键可换队伍 4. 修复TAB战绩面板与联机玩家弹窗元素重合(z-index从3000提升到3500) 5. 联机投票界面和房主管理面板UI完善 【武器槽位BUG修复】 - 修复第二槽位选枪时实际修改第一槽位的BUG - 统一使用ui_activeSlot作为权威槽位来源 - 强制同步activeMenuSlot和ui_activeSlot两套变量 - 添加选枪日志便于调试 【人机第三人称动画系统】 - 新增完整的updateAIAnimation函数(之前未定义导致人机无姿势) - 支持姿势:待机持枪、走路、奔跑、开镜、换弹、蹲下 - 腿部动画:走路摆动(7Hz)、奔跑摆动(12Hz)、蹲下弯曲 - 手臂动画:持枪前伸、开镜贴脸、换弹向下、奔跑前后摆动 - 身体移动时轻微左右倾斜 - 每帧更新动画状态(基于位置变化检测移动) - 自动初始化动画部件引用(按名称+按子对象索引双重查找)
- 战术突击v73
《战术突击》v2.8.1 紧急修复 【BUG修复】 1. 修复开始界面选枪UI报错:online-ui.js中toast方法参数名不匹配(msg/duration vs text/ms),导致"text is not defined"错误 2. 修复官方固定房间显示"等待房主开始"的问题:官方房间无房主,改为显示"🏆 官方房间 · 人数足够后自动开始",隐藏开始按钮 3. 修复联机TAB战绩界面元素重合问题:重写scoreboard CSS,增加间距、队伍分组、名字截断、统计列对齐
- 战术突击v72
《战术突击》v2.8.0 更新说明 【瞄镜系统重做】 - 所有瞄镜枪械(AWP、AUG、SG553等)瞄镜镜片改为95%透明 - 瞄镜内添加十字瞄线+红色中心点+密位点 - AWP关闭旧的黑色遮罩开镜逻辑,改用透明瞄镜+FOV放大(FOV=20) - AUG/SG553等2倍镜也使用透明瞄镜+FOV放大(FOV=37.5) - 开镜时枪身保持不透明,只有瞄镜镜片透明 【体力条BUG修复】 - 修复体力条不更新实时体力状态的BUG - 在animate循环中每帧强制更新体力条UI宽度 - 确保体力消耗和恢复时UI实时反映 【官方固定房间】 - 新增"官方固定房·团队死斗"入口(联机大厅) - 固定房间不属于任何人,无房主 - 最大32人,先杀200人获胜 - 人数不足自动补人机 - 玩家进入时可自选队伍(蓝队/红队) - 游戏结束后显示获胜队伍,3秒后自动重新开始 【联机队伍选择】 - 玩家中途进入联机房间时显示队伍选择界面 - 可选择蓝队或红队,显示各队当前人数 - 确认后加入对应队伍 【游戏结束投票系统】 - 普通房间游戏结束后:房主可直接开始下一局 - 非房主玩家可投票是否开始下一局(超过半数同意则自动开始) - 官方固定房间:3秒倒计时后自动开始下一局 - 显示最终比分和获胜队伍
- 战术突击v71
《战术突击》v2.7.0 更新说明 【第二武器槽修复】 - 修复第二武器槽无法更改枪械的BUG - 添加防御性事件重新绑定机制,防止某些情况下事件丢失 【体力条系统 v2.0 完全重做】 - 全新StaminaSystem对象,模块化设计 - 奔跑消耗:22/秒,跳跃消耗:12/次 - 走路恢复:10/秒,站立恢复:18/秒,蹲下恢复:14/秒 - 停止消耗后1.2秒延迟才开始恢复(CS2风格) - 体力耗尽时速度倍率0.55,无法奔跑和跳跃 - UI颜色变化:绿色(>50%)→黄色(25-50%)→红色(<25%) 【瞄镜透明修复】 - 修复枪械瞄镜不会透明的BUG - 瞄镜镜片(scope/lens/glass/eyepiece)设为透明15% - 枪身保持不透明,depthWrite正确设置 - 所有带瞄镜的枪械(AWP、AUG、SG553等)开镜时瞄镜透明可见 【足球系统】 - 确认足球被子弹踢功能正常(线段扫掠防穿透检测) - 霰弹和普通枪力度不同,最大速度限制25m/s 【参数重置修复】 - 重新开始时完整重置:体力条、后坐力、开镜状态、武器状态 - 重置足球、投掷物、火焰、烟雾等所有游戏对象 - 修复重新开始后参数残留的BUG 【第三人称动画系统】 - 新增完整的第三人称动画系统(updateAIAnimation) - 支持姿势:待机、走路、跑步、开镜、换弹、蹲下 - 腿部动画:走路摆动(7Hz)、跑步摆动(12Hz)、蹲下弯曲 - 手臂动画:持枪前伸、开镜贴脸、换弹向下、跑步前后摆动 - 身体倾斜:移动时轻微左右摆动 - 所有AI和联机玩家自动应用动画 【AI行为全面更新】 - AI智能切枪:根据距离自动选择最合适的武器(狙击远距、步枪中距、冲锋近距) - 武器评分系统:每把枪有距离适配评分,差距20分以上自动切换 - 弹药耗尽自动切换另一把武器 - AI智能跳跃:近距离战斗时有概率跳跃闪躲 - AI智能蹲下:远距离射击时有概率蹲下提高精度 - AI奔跑:追击敌人时自动奔跑(速度1.35倍) - AI急停射击:移动中发现敌人时先停下再射击 【房主管理面板增强】 - 显示每个玩家的违规次数(严重+1,轻度+0.5) - 显示禁言状态和剩余时间(分钟) - 显示封禁状态 - 违规次数颜色:绿色(<1)→黄色(1-2)→红色(≥2) - 新增"清除违规记录"按钮(房主可用) - 调用ChatFilter.resetPlayer()重置玩家违规记录
- 战术突击v70
《战术突击》v2.6.0 更新说明 【聊天惩罚系统】 - 新增三级惩罚机制:警告→禁言10分钟→永久封禁 - 第一次违规:警告并提示剩余次数 - 累计3次违规:禁言10分钟(无法发送消息) - 禁言解除后再次违规:自动踢出并永久封禁 - 严重辱骂(操你妈等)计数+1,轻度辱骂(你+卧槽等)计数+0.5 - 语气词(卧槽+牛逼/666)不判定为违规 - 房主可重置玩家违规记录 【体力条系统】 - 新增体力条UI(血量条下方,绿色,低于30%变红) - 奔跑消耗体力:25/秒 - 跳跃消耗体力:15/次(体力不足无法跳跃) - 走路恢复体力:12/秒 - 站立恢复体力:20/秒 - 体力耗尽时移动速度减半,无法奔跑 【瞄镜系统重做】 - 狙击镜遮罩改为透明边框样式(镜片透明,仅显示黑色边框) - 开镜时枪模保持可见(半透明30%),瞄镜清晰可见 - 狙击镜FOV从30减小到25(放大效果更强) - 瞄镜内新增十字准线 - 关镜时枪模恢复不透明 【机瞄对齐】 - ADS位置计算确保瞄具对齐屏幕中心(y=-sightY) - 机械瞄具、短镜、高倍镜分别有不同的ADS距离 - 子弹从相机位置发出,方向=相机正前方+散射,确保瞄哪打哪 【BUG修复】 - 修复重新开始后房主管理面板不隐藏的问题 - 修复联机ESC暂停反复触发(pause-screen.js冲突) - 修复settings-difficulty空引用错误 - 开镜散射从0.35倍减小到0.15倍
- 战术突击v69
《战术突击》v2.5.1 更新说明 【联机ESC暂停修复(重大BUG)】 - 根因:pause-screen.js模块有独立的ESC绑定,会设置gameState='paused',与index.html的联机ESC处理冲突 - 导致"联机安全网"每帧强制拉回playing,pause/resume反复触发(0.2秒一次),暂停屏闪烁 - 修复:pause-screen.js的ESC绑定在联机模式下跳过,由index.html统一处理 - 修复:pause()函数在联机模式下不设置gameState='paused',只显示菜单界面 - 修复:联机恢复后自动请求指针锁定,解决"按一次ESC退出鼠标锁定后很难再次锁定" 【子弹散射调整】 - 开镜散射从0.35倍减小到0.15倍(开镜更精准) - 腰射保持基础散射(每把枪不同) - 移动/跳跃散射保持CS2风格(移动2-3倍,跳跃6-15倍) - 蹲伏散射减小(0.3-0.5倍) 【空引用错误修复】 - 修复settings-difficulty元素删除后仍设置value导致的"Cannot set properties of null"错误 - 该错误导致设置界面初始化失败 【其他】 - 治疗手臂动画已有4阶段框架(抬起→扎针→推活塞→拔出→放下) - 性能优化:FPS警告阈值保持,建议在设置中降低画质
- 战术突击v68
《战术突击》v2.5.1 更新说明 【联机ESC暂停修复(重大BUG)】 - 根因:pause-screen.js模块有独立的ESC绑定,会设置gameState='paused',与index.html的联机ESC处理冲突 - 导致"联机安全网"每帧强制拉回playing,pause/resume反复触发(0.2秒一次),暂停屏闪烁 - 修复:pause-screen.js的ESC绑定在联机模式下跳过,由index.html统一处理 - 修复:pause()函数在联机模式下不设置gameState='paused',只显示菜单界面 - 修复:联机恢复后自动请求指针锁定,解决"按一次ESC退出鼠标锁定后很难再次锁定" 【子弹散射调整】 - 开镜散射从0.35倍减小到0.15倍(开镜更精准) - 腰射保持基础散射(每把枪不同) - 移动/跳跃散射保持CS2风格(移动2-3倍,跳跃6-15倍) - 蹲伏散射减小(0.3-0.5倍) 【空引用错误修复】 - 修复settings-difficulty元素删除后仍设置value导致的"Cannot set properties of null"错误 - 该错误导致设置界面初始化失败 【其他】 - 治疗手臂动画已有4阶段框架(抬起→扎针→推活塞→拔出→放下) - 性能优化:FPS警告阈值保持,建议在设置中降低画质
- 战术突击v67
《战术突击》v2.5.0 更新说明 【联机系统大修复】 - 修复房主管理面板不显示:统一使用onlineIsHost变量,ESC联机分支和pauseGame都显示房主面板 - 修复联机按ESC难调出暂停:联机暂停逻辑统一,恢复后自动请求指针锁定 - 修复暂停界面点非按钮区域锁定鼠标:联机菜单打开时mousedown直接return - 修复浏览器最小化后联机暂停:visibilitychange增加AFK通知,恢复后自动同步 - 修复房主面板检测:从NetGame.rooms.isHost改为onlineIsHost(由net模块正确设置) 【联机创建房间增强】 - 加回自定义地图功能:选择"自定义地图"后显示JSON输入框 - 新增反作弊开关:房主可在创建房间时开启/关闭 - 新增聊天过滤开关:房主可控制是否启用辱骂检测 - 等待界面显示完整配置(地图/人数/反作弊/聊天过滤) 【聊天内容过滤系统】 - 新增ChatFilter系统,区分严重辱骂/轻度词/语气词 - 严重辱骂词直接拦截(操你妈、傻逼等20+词) - 轻度词上下文判断:含正面词(牛逼、666等)判定为语气词不屏蔽 - 针对玩家的轻度辱骂("你"+轻度词)判定为辱骂拦截 - 房主可在创建房间时开关此功能 【反作弊系统】 - 保持射速/命中率/视角旋转/速度/Mod变化检测 - 房主可在暂停界面右侧管理面板开关反作弊 【其他】 - 控制台指令不列入反作弊检测 - 控制台增加密码门禁,未验证无法执行任何指令 - 手雷投掷距离减小(高速27→20,低速15→11) - 狙击枪换弹/拉栓时无法开镜 - 删除设置界面AI难度选项
- 战术突击v66
《战术突击》v2.4.0 更新说明 【AI系统大改】 - 修复人机不猛攻:advance战术模式下停下射击概率从35%降至20%,移动速度从1.1x提升至1.25x - 修复人机卡墙:卡住检测改为三级避让(先左移、再右移、最后转向+朝中心),不再原地打转 - 新增射击失误机制:低难度AI有5-15%概率明显打偏(子弹飞向错误方向1-3米) - 新增AI反应延迟:发现目标后0.1-0.6秒才开火(受难度影响) - 增强团体决策:人数优势时主动推进,1打多时逃跑,均势时谨慎进攻 【机瞄系统重做】 - 机械瞄具改为缺口式照门(U型:两侧立柱+底部横梁)+ 柱状准星(带底座) - 前准星与后照门缺口中心精确对齐 - AUG一体光学镜新增黑色目镜内圈(瞄准孔),开镜时可见 - ADS位置微调:机械瞄-0.46(避免后托穿模)、短镜-0.38、高倍镜-0.34 【反作弊系统加强】 - 新增异常射速检测(平均射击间隔<60ms判定) - 新增异常命中率检测(>85%命中率可疑自瞄) - 新增视角旋转异常检测(瞬时大旋转判定aim_snap) - 射击统计窗口每30秒重置 - 房主可在暂停界面右侧管理面板开关反作弊 【房主管理面板重做】 - 面板移至暂停界面右侧浮动布局 - 玩家列表显示队伍颜色、名字、击杀/死亡战绩 - 踢出/封禁弹出原因选择(作弊/恶意伤害/辱骂/挂机/其他) - 新增移交房主功能 - 新增房间设置区(反作弊开关) 【手臂系统】 - 持刀专属手型:手指收紧扣住刀柄,拇指压柄侧 - 持雷专属手型:手掌微张上托,四指环绕雷体 - 通用握把手型恢复默认 【控制台权限】 - executeCmd增加consoleAuthenticated检查,未输入密码无法执行任何指令 - /kick和/ban仍需房主权限 - 密码全局应用,每次开启控制台需重新验证 【其他】 - 删除设置界面中的AI难度选项(仅菜单保留) - 手雷投掷距离减小(高速27→20,低速15→11) - 狙击枪换弹/拉栓时无法开镜 - 控制台指令不列入反作弊检测
- 战术突击v65
战术突击 - 2026.09.05 更新 【BUG修复】 1. 修复狙击枪子弹无伤害(长期BUG):hitscan射线-胶囊体相交公式tRay符号写反,导致所有狙击枪命中被跳过。已修复,AWP/SJ16/SSG08/SCAR-20/G3SG1/SVD均可正常造成伤害。 2. 修复所有枪械开镜问题: - 前准星高度与后照门对齐(之前前准星硬编码y=0.06,后照门在topY+0.012) - 高倍镜开镜时隐藏不透明枪模,避免狙击镜被黑枪模挡住 - 调整adsZ防止后托穿模(scope=-0.36/optic=-0.40/iron=-0.43) - 连狙开火不再取消开镜(仅栓动狙击取消) 3. 修复持刀/持雷时手臂姿势不切换:updateWeaponModel中knife/grenade分支提前return跳过了armsSystem.setGripPosition()调用 4. 修复浏览器后台切换后游戏卡在暂停状态:添加visibilitychange处理器 5. 修复死亡/复活后暂停界面残留:handlePlayerDeath和confirmTDMRespawn中强制清除暂停/开镜状态 6. 修复返回主菜单后暂停界面仍显示联机文案:quitToMenu中完整重置onlineMenuOpen、暂停屏按钮文案、开镜状态 【手臂姿势重做】 - AK47等长枪:左手肘从x=-0.120内收到x=-0.070,ry从-0.18增到-0.28,左手扶到护木下方(手x=-0.030,不再漂浮) - 军刀:右手肘从(0,-0.048,0.160)移到(0.012,-0.012,0.185),握住刀柄(手z=0.041在刀柄范围内) - 手雷:半径从0.08缩到0.052,右手肘移到(0.030,-0.025,0.130),rx从-0.72减到-0.30,手举到胸前握持位置 【新增功能】 1. TAB战绩面板:按住TAB显示所有玩家(含AI)名字、击杀、死亡、助攻、血量,按队伍颜色分区,按击杀数排名 2. AI击杀追踪:AI单位新增kills/deaths属性,击杀玩家后正确累计 3. 控制台指令系统重做: - 新格式:/指令 0/1(0=关,1=开),无参数则toggle - 联机支持@名字指定目标 - /list查看所有玩家指令状态 - 房主专属/kick @名字(踢出)和/ban @名字(永久封禁,存localStorage) - /help列出所有指令 4. 联机反作弊系统(AntiCheat): - 检测Mod变化、异常移动速度、联机中开启god/fly/noclip、联机中访问控制台 - 仅联机生效,每2秒检查一次 - 违规记录并通知房主 5. 房主特殊暂停菜单:联机时房主按ESC可看到玩家管理面板,支持踢出/封禁玩家 【其他】 - 玩家死亡计数playerDeaths - 暂停防抖保留300ms - 所有修改已浏览器实测验证,0 JS错误