weapon.custom注册全新武器或修改现有武器数值:伤害、射速、后坐力、弹匣、换弹时间、自动/连发、子弹类型,以及 CS2 风格移动散射参数(moveSpreadMult/jumpSpreadMult/crouchSpreadMult/firstShotSpread/recoilVertical/recoilHorizontal/recoilRecovery);可注册自定义子弹类型(伤害、速度、颜色、大小、重力、穿透、爆炸)。不能改内置武器核心渲染管线。
作者声明:联机时不应使用
《战术突击》创意工坊
收藏用于稍后查找;“开启”决定下次启动时加载哪些 Mod。所有已开启 Mod 会一起进入游戏。
推荐方式 · 不需要懂编程
Prompt 只注入作品、能力、依赖和你的 Mod ID,并要求 Agent 实时读取唯一官方 Skill;固定命令与规则不再复制到任务文本中。
发布 Mod 时必须声明使用哪些能力。以下内容是作者约定,平台不会扫描或限制 Mod 代码;只安装你信任的内容。
联机策略:由游戏作者自行管理 Mod 同步与冲突
weapon.custom注册全新武器或修改现有武器数值:伤害、射速、后坐力、弹匣、换弹时间、自动/连发、子弹类型,以及 CS2 风格移动散射参数(moveSpreadMult/jumpSpreadMult/crouchSpreadMult/firstShotSpread/recoilVertical/recoilHorizontal/recoilRecovery);可注册自定义子弹类型(伤害、速度、颜色、大小、重力、穿透、爆炸)。不能改内置武器核心渲染管线。
作者声明:联机时不应使用
weapon.skin注册并应用武器皮肤,支持颜色、金属度、粗糙度,以及通过 loadModTexture/generatePatternTexture 加载的图片纹理贴图(贴图会真实应用到枪身,而不仅是变色)。不能修改武器几何形状。
作者声明:只影响本地表现
weapon.model获取枪械视图模型网格,注册、替换自定义枪械模型,调整整体缩放与位置偏移。模型由作者提供并打包在 Mod 内,不能依赖远程模型链接,不能修改第一人称手臂绑定关系。
作者声明:只影响本地表现
player.stats修改血量、最大血量、移动速度、跳跃、重力、碰撞半径、蹲下/奔跑系数;包含调试/作弊类接口(无敌、无限弹药、飞行、穿墙、原始坐标/速度/朝向、原始击杀与分数)。这些调试接口启用时当局得分不进入排行榜。不能修改视角输入处理。
作者声明:联机时不应使用
player.appearance注册/应用玩家皮肤(身体、头部颜色与纹理),注册并替换自定义人物模型、设置模型缩放、控制第一人称手臂显隐。不能修改碰撞箱与骨架绑定。
作者声明:只影响本地表现
asset.texturepack注册、列举、应用材质包;读取全部材质并设置材质属性(颜色、金属度、粗糙度、自发光等),配合纹理加载替换地面、墙体、金属等贴图。纹理必须打包在 Mod 内。
作者声明:只影响本地表现
asset.shaderpack注册、列举、应用光影包;设置色调映射、曝光、阴影开关与阴影类型、太阳位置/强度/颜色、环境光强度等后处理与光照表现。不能替换底层 WebGL 渲染器本身。
作者声明:只影响本地表现
movement.physics读取/修改 CS2 风格移动参数(加速度、摩擦力、空中控制、急停、蹲下/奔跑系数)、当前移动散射与后坐力状态并可重置;可增删碰撞箱、列举碰撞箱、做碰撞检测、设置时间缩放与重力。不能替换核心物理引擎。
作者声明:联机时不应使用
map.custom注册/加载自定义地图(尺寸、墙高、出生点),并在地图中动态生成或移除盒子、球体、圆柱、圆锥、平面、灯光等物体,支持碰撞箱。不能生成越界物体,不能改核心碰撞算法。
作者声明:联机时不应使用
gamemode.custom注册自定义模式:最大玩家数、队伍数、重生、获胜条件、目标击杀/时间,以及 onStart/onEnd/onUpdate/onPlayerSpawn/onPlayerDeath/onPlayerKill 等生命周期回调。不能改核心网络同步。
作者声明:联机时不应使用
game.mode在内置模式(4 队互斗、团队死斗、人机围斗)与已注册自定义模式之间切换,可暂停/恢复/结束对局。不能在对局进行中强制切换模式。
作者声明:联机时不应使用
event.listen订阅 40+ 事件:游戏开始/结束/暂停/恢复,玩家生成/受伤/击杀/死亡/重生/跳跃/移动,武器开火/换弹/切换/空仓/命中,敌人生成/死亡/受伤/治疗,回合、地图、物体、特效、音效、队伍得分、每帧 update/lateupdate/fixedupdate,以及联机连接/加入/离开/状态/射击/命中/聊天。只能读取事件数据,不能阻止事件。
作者声明:只影响本地表现
ui.custom在 HUD 以及开始界面、设置界面、暂停界面注册/移除自定义元素、按钮与任意 HTML(addMenuElement/addScreenElement/addScreenButton/addScreenHTML 等),可改菜单标题副标题、弹消息与 Toast、控制准星与 HUD 显隐。不能遮挡或篡改内置关键界面与按钮逻辑。
作者声明:只影响本地表现
throwable.register注册手雷、烟雾弹、燃烧瓶、闪光弹等自定义投掷物,设置伤害、爆炸半径、引信时间、颜色、持续时间等,并可生成爆炸。
作者声明:联机时不应使用
sound.custom注册/播放自定义音效(频率、时长、波形、音量、循环),可直接使用 AudioContext 合成音调和噪声。不能改内置音效核心逻辑。
作者声明:只影响本地表现
effect.custom注册并生成粒子特效与拖尾(颜色、大小、数量、持续时间、速度、重力),以及调试线/调试球绘制。不能改核心渲染管线。
作者声明:只影响本地表现
ai.custom注册自定义 AI 行为(onUpdate/onSeeEnemy/onHearSound/onDamage/onDeath/onSpawn),获取/生成/移除 AI,读取/修改 AI 配置、指定目标、治疗或设置血量。内置 AI 已具备急停、蹲射、跳跃闪躲、奔跑接敌。不能改核心寻路算法。
作者声明:联机时不应使用
team.custom注册自定义队伍、修改队伍名称与颜色、读取队伍列表、读取/设置队伍得分、设置玩家队伍。不能改核心队伍平衡逻辑。
作者声明:联机时不应使用
scene.render获取场景、相机、渲染器、时钟与世界对象,设置相机位置/朝向/FOV,设置天空色、背景色、雾与雾密度、天气、昼夜,向场景增删基础物体与灯光。不能改阴影管线与底层渲染器。
作者声明:只影响本地表现
online只读查询是否联机、是否房主、房间号与房间配置、联机玩家列表,监听联机事件,经 sendOnlineData 透传自定义消息、收发联机聊天。位置/伤害/AI/胜负由房主权威结算,Mod 不能伪造权威结果。当前版本进入任何联机对局前会强制禁用全部 Mod(房主也不例外),此能力仅用于单机与作者调试。
作者声明:只影响本地表现
Agent 会同时收到下面这份本游戏专属规范。
模组在调用 registerMod 时必须声明 apiVersion,格式为 "主版本.次版本.补丁版本"(例如 "3.1.0")。
版本检测规则: 主版本号必须匹配,次版本号和补丁版本号不能高于游戏当前版本。
版本不符的处理: 游戏会立刻终止其他所有脚本执行,显示全屏错误界面,提示模组名称、错误信息、游戏当前 API 版本,提供"刷新页面"按钮。
示例:
TacticalAssaultAPI.registerMod('my-mod', {
name: '我的模组', version: '1.0.0',
apiVersion: '3.1.0', // 必须声明!
author: '作者名', capabilities: ['weapon.custom', 'ui.custom']
});
API 版本检测函数:
checkApiVersion(modApiVersion, modName):检测模组 API 版本是否兼容handleIncompatibleMod(modName, error):处理不兼容的模组capabilities 只能填写下表中的 ID,需 1–20 个,且要与 Mod 实际调用的 API 对应。local 表示仅影响本地表现,blocked 表示联机对局中不允许使用。
| 能力 ID | 含义 | 联机 |
|---|---|---|
weapon.custom | 注册/修改武器与自定义子弹(含 CS2 散射、后坐力参数) | blocked |
weapon.skin | 武器皮肤(颜色 + 真实纹理贴图) | local |
weapon.model | 自定义/替换枪械视图模型、缩放、位置偏移 | local |
player.stats | 玩家属性与调试接口(含无敌/飞行/穿墙,启用时不计分) | blocked |
player.appearance | 玩家皮肤、自定义人物模型、手臂显隐 | local |
asset.texturepack | 材质包、材质属性、纹理替换 | local |
asset.shaderpack | 光影包、色调映射、曝光、阴影、太阳/环境光 | local |
movement.physics | CS2 移动/急停/散射/后坐力配置、碰撞箱、时间缩放、重力 | blocked |
map.custom | 自制地图与动态地图物体 | blocked |
gamemode.custom | 自制游戏模式与生命周期回调 | blocked |
game.mode | 在内置/自定义模式间切换、暂停/恢复/结束 | blocked |
event.listen | 只读订阅 40+ 游戏与联机事件 | local |
ui.custom | HUD 与开始/设置/暂停界面自定义元素、按钮、HTML | local |
throwable.register | 注册自定义投掷物、生成爆炸 | blocked |
sound.custom | 自定义音效与音频合成 | local |
effect.custom | 粒子特效、拖尾、调试绘制 | local |
ai.custom | 自定义 AI 行为、生成/移除/配置/治疗/指定目标 | blocked |
team.custom | 自定义队伍、队伍颜色与得分 | blocked |
scene.render | 场景/相机/渲染器、天空/雾/天气/昼夜、场景物体 | local |
online | 只读联机状态/玩家列表、透传消息、联机聊天(联机对局强制禁模,仅单机调试) | local |
旧版本出现过的
weapon.register/weapon.modify/bullet.custom已合并为weapon.custom;player.skin并入player.appearance;map.object并入map.custom;ai.behavior/ai.control并入ai.custom;physics.collision并入movement.physics;online.multiplayer/online.chat并入online。旧 Mod 请按此表更新 capabilities。
TacticalAssaultAPI.events
// GAME_START, GAME_END, GAME_PAUSE, GAME_RESUME
// PLAYER_SPAWN, PLAYER_DAMAGE, PLAYER_KILL, PLAYER_DEATH, PLAYER_RESPAWN, PLAYER_JUMP, PLAYER_MOVE
// WEAPON_FIRE, WEAPON_RELOAD, WEAPON_SWITCH, WEAPON_EMPTY, WEAPON_HIT
// ENEMY_SPAWN, ENEMY_DEATH, ENEMY_DAMAGE, ENEMY_HEAL
// ROUND_START, ROUND_END
// MAP_LOAD, MAP_OBJECT_SPAWN, MAP_OBJECT_REMOVE
// EFFECT_SPAWN, SOUND_PLAY, TEAM_SCORE
// UPDATE, LATE_UPDATE, FIXED_UPDATE
on(eventName, callback):监听事件,返回取消函数once(eventName, callback):监听一次off(eventName, callback):取消监听emit(eventName, data):触发自定义事件(custom: 前缀)registerMod(modId, modInfo):注册 Mod
{ name, version, author, description, capabilities[], dependencies[] }getMod(modId) / getAllMods() / isModEnabled(modId)registerWeapon(weaponDef):注册自定义武器
name, damage, fireRate, recoil, spread, bulletSpeed, color, auto, magSize, reloadTime, category, sound, reloadStyle, scopeType, moveSpreadMult, jumpSpreadMult, crouchSpreadMult, firstShotSpread, recoilVertical, recoilHorizontal, recoilRecoverygetAllWeapons() / getWeapon(name)modifyWeapon(weaponName, modifications):修改现有武器属性setPlayerWeapon(weaponName):切换玩家武器getCurrentWeapon():获取当前武器getAmmo():获取弹药 { mag, reserve, total }giveAmmo(amount):补充弹药reloadWeapon():手动换弹每把武器都有独立的散射参数:
moveSpreadMult:移动散射倍率(速度越快散射越大)jumpSpreadMult:跳跃散射倍率(通常6-8倍)crouchSpreadMult:蹲下散射倍率(通常0.4-0.5倍)firstShotSpread:首发散射(第一发子弹散射更小)recoilVertical:垂直后坐力recoilHorizontal:水平后坐力recoilRecovery:后坐力恢复速度散射计算优先级:跳跃 > 奔跑 > 移动 > 蹲下 > 静止
34把枪每把都有独特配色方案,使用金属材质(7种)、聚合物材质(10种)、木质材质(2种)。每把枪配色由WeaponMaterialLib[weaponName]定义,包含body/accent/wood/hand四个材质。
registerWeaponSkin(skinId, skinDef):注册皮肤
{ name, weapon, color, metalness, roughness, texture, normalMap, roughnessMap, metalnessMap, emissiveMap, pattern, repeat, wrap }camo/stripes/dots/gridapplyWeaponSkin(weaponName, skinId):应用皮肤(包含纹理贴图)loadModTexture(source, options):加载纹理(URL/DataURL/Canvas/Image)generatePatternTexture(pattern, baseColor):生成内置图案纹理纹理皮肤示例:
// 注册带纹理的武器皮肤(v3.2修复,现在真正应用纹理)
TacticalAssaultAPI.registerWeaponSkin('gold-camo-ak', {
name: '黄金迷彩AK', weapon: 'AK47',
color: 0xffd700, metalness: 0.9, roughness: 0.2,
texture: 'https://example.com/gold_camo.png', // 纹理URL
normalMap: 'https://example.com/normal.png',
repeat: { x: 2, y: 2 }
});
TacticalAssaultAPI.applyWeaponSkin('AK47', 'gold-camo-ak');
// 使用内置图案(无需外部图片)
TacticalAssaultAPI.registerWeaponSkin('camo-m4', {
name: '迷彩M4', weapon: 'M4A1',
color: 0x4a6b3a, pattern: 'camo' // 内置: camo/stripes/dots/grid
});
TacticalAssaultAPI.applyWeaponSkin('M4A1', 'camo-m4');
setPlayerStats(stats):修改玩家属性
{ maxHp, speed, jumpSpeed, gravity, radius, height, hp, crouchSpeedMult, sprintSpeedMult, crouchHeightMult }getPlayerState():获取玩家状态
{ hp, maxHp, position, velocity, yaw, pitch, onGround, kills, score, team, weapon, gameState, burning, isCrouching, isSprinting }setPlayerPosition(x, y, z) / teleportPlayer(x, y, z):传送healPlayer(amount) / damagePlayer(amount, source):治疗/伤害killPlayer() / respawnPlayer():杀死/重生getScore() / addScore(amount):得分crouchSpeedMult: 0.5),视角降低(crouchHeightMult: 0.6),射击精度提升(散射×0.5)sprintSpeedMult: 1.3),射击精度降低(散射×2.0),奔跑持枪动画moveSpreadMult(速度越快散射越大)jumpSpreadMult(通常6-8倍)crouchSpreadMult(通常0.4-0.5倍)setCrouching(enabled):设置蹲下状态setSprinting(enabled):设置奔跑状态getMovementState():获取移动状态 { isCrouching, isSprinting, isMoving, isJumping, speed }registerPlayerSkin(skinId, skinDef):注册皮肤
{ name, bodyColor, headColor, texture, model }applyPlayerSkin(skinId):应用皮肤(修改玩家和队友模型材质)getAllPlayerSkins()registerGameMode(modeId, modeDef):注册自定义模式
{ name, description, maxPlayers, teamsCount, respawnEnabled, respawnTime, winCondition, targetKills, targetTime, onStart, onEnd, onUpdate, onPlayerSpawn, onPlayerDeath, onPlayerKill }setGameMode(mode):切换模式('squad'/'tdm'/'horde' 或自定义 ID)getGameMode(modeId) / getAllGameModes() / getActiveCustomMode()getGameState():获取游戏状态 { state, mode, ended, time, customMode }pauseGame() / resumeGame() / endGame(win)registerMap(mapId, mapDef):注册地图
{ name, description, size, wallHeight, objects[], spawnPoints[], onLoad, onUnload }loadMap(mapId) / unloadMap() / getMap(mapId) / getAllMaps() / getCurrentMap()spawnMapObject(objectDef):生成物体
{ type('box'/'sphere'/'cylinder'/'cone'/'plane'), position, rotation, scale, color, material('basic'/'phong'/'standard'), collision, physics }removeMapObject(objectId) / getMapObjects()registerThrowable(throwableDef):注册投掷物
name, damage, radius, fuseTime, colorgetAllThrowables()spawnThrowable(type, position, velocity):生成投掷物createExplosion(position, radius, damage):创建爆炸(视觉+伤害)registerBulletType(bulletId, bulletDef)
damage, speed, color, size, gravity, piercing, explosive, explosionRadiusgetBulletType(bulletId) / getAllBulletTypes() / modifyBullet(bulletId, modifications)registerAIBehavior(behaviorId, behaviorDef):注册 AI 行为
onUpdate, onSeeEnemy, onHearSound, onDamage, onDeath, onSpawngetAIBehavior(behaviorId) / getAllAIBehaviors()getAllAI() / getTeammates() / getEnemies()getEnemyCount()spawnEnemy(position, team, weaponIndex)removeEnemy(enemyId)AI在中距离战斗状态下会自动使用以下高级战术:
AI状态字段:
ai._isStopping:是否急停中
ai._isCrouching:是否蹲下中
ai._isJumping:是否跳跃中
ai._isSprinting:是否奔跑中
setAITacticalEnabled(enabled):启用/禁用AI高级战术行为
getAIState(aiId):获取AI状态 { isStopping, isCrouching, isJumping, isSprinting, currentWeapon, hp, team }
registerTeam(teamDef):注册队伍 { name, color, spawnPoints[] }modifyTeam(teamId, modifications):修改 { color, name }getTeams() / getTeamScore(teamId) / setTeamScore(teamId, score)getScene() / getCamera() / getRenderer() / getClock()setSkyColor(color) / setFog(color, near, far) / setAmbientLight(intensity, color)setWeather(type):'clear'/'rain'/'snow'/'fog'getWeather()setNightMode(enabled) / isNightMode()鍏叡/绉佷汉鎴块棿銆乂ibeHub 璐﹀彿鏄电О銆佹埧涓婚€夋ā寮?鍦板浘/浜烘暟锛堚墹16锛?涓嶈冻琛ヤ汉鏈恒€佹垚鍛樿嚜閫夐槦浼嶃€乀 閿亰澶┿€乀ab 璁″垎鏉裤€?*杩涘叆浠讳綍鑱旀満瀵瑰眬鍓嶄唬鐮佸眰寮哄埗绂佺敤鍏ㄩ儴 Mod锛堟埧涓诲悓鏍凤級**锛屾槸 author-managed 涔嬩笂鐨勫弻淇濋櫓銆?
online:connect銆乣online:disconnect銆乣online:playerjoin {id,name,team}銆乣online:playerleave {id}銆乣online:playerstate {id,pos,hp,weapon,state}銆乣online:shoot {id}銆乣online:hit {target,head}銆乣online:chat {name,text}銆乣online:gamestart锛岀敤 on/once 鐩戝惉锛屼笉鑳介樆姝㈡垨浼€犳潈濞佺粨鏋溿€?
isOnline() / isHost()锛氭槸鍚﹀湪瀵瑰眬 / 鏄惁鎴夸富銆?- getOnlinePlayers()锛氱湡浜烘垚鍛?[{id,name,team,isHost,latency}]锛堜笉鍚?AI锛夈€?- getOnlineRoomId() / getOnlineRoomConfig()锛氭埧闂村彿 / {mode,map,maxPlayers,fillBots,listed,name}銆?- sendOnlineData(data) / onOnlineData(cb)锛氶€忎紶鍙潬鑷畾涔夋秷鎭紙瀵规柟缁?custom:online_data 鏀跺埌锛夛紝鍗曟潯 鈮?5535 瀛楄妭锛岀姝㈠埛灞忋€?- sendOnlineChat(text)锛氬彂閫佽仈鏈鸿亰澶┿€?鑱旀満瀵瑰眬涓?Mod 宸茶寮哄埗绂佺敤锛屼笂杩?API 涓昏鐢ㄤ簬鍗曟満鎴栦綔鑰呰皟璇曪紱娈嬬暀 local 绫?Mod 涔熷彧鑳借鐘舵€侊紝鏃犳硶鏀瑰彉鎴夸富鏉冨▉缁撶畻銆?
addCollisionBox(min, max, mesh) / removeCollisionBox(box)getCollisionBoxes() / checkCollision(position, radius)setTimeScale(scale) / getTimeScale():时间缩放(慢动作/快进)setGravity(gravity) / getGravity()registerSound(soundId, soundDef):{ freq, dur, type('sine'/'square'/'sawtooth'), volume, loop }playSound(soundId, options) / getSound(soundId) / getAllSounds()registerEffect(effectId, effectDef):{ type, color, size, count, duration, speed, gravity }spawnEffect(effectId, position, options) / getEffect(effectId) / getAllEffects()addUIElement(element) / removeUIElement(element)showMessage(text, duration, options):屏幕中央消息showToast(text, type):右下角 Toast('info'/'success'/'warning'/'error')setCrosshairEnabled(enabled) / setHUDVisible(visible)支持在开始界面、设置界面、暂停界面添加自定义 UI 元素。
支持的界面名称:
menu / menu-screen / start - 开始界面(选枪菜单)settings / settings-screen / setting - 设置界面pause / pause-screen / paused - 暂停界面API 函数:
getScreen(screenName):获取指定界面的 DOM 元素getAllScreens():获取所有界面的 DOM 元素 { menu, settings, pause }addScreenElement(screenName, html):在指定界面添加 HTML 元素,返回添加的元素removeScreenElement(screenName, element):从指定界面移除元素addScreenButton(screenName, text, onClick, style):在指定界面添加按钮,返回按钮元素addScreenHTML(screenName, html, position):在指定界面添加 HTML,position 可选 'prepend'/'start'/'top' 或数字索引clearScreenModElements(screenName):清除指定界面的所有 Mod 添加的元素示例:
// 在开始界面添加按钮
TacticalAssaultAPI.addScreenButton('menu', '模组按钮', () => {
TacticalAssaultAPI.showToast('点击成功!', 'success');
}, 'margin-top:20px;background:linear-gradient(90deg,#ff6b35,#ffd93d);color:#000;');
// 在设置界面添加HTML
TacticalAssaultAPI.addScreenHTML('settings', '<div style="padding:16px;background:rgba(255,217,61,0.1);border-radius:8px;"><h3 style="color:#ffd93d;">模组设置</h3></div>');
// 在暂停界面添加元素
TacticalAssaultAPI.addScreenElement('pause', '<div style="padding:12px;color:#66aaff;">模组已启用</div>');
getMenuScreen():获取开始界面 DOMaddMenuElement(html) / removeMenuElement(element)setMenuTitle(title) / setMenuSubtitle(subtitle)addMenuButton(text, onClick, style)registerCommand(command, callback, description):注册自定义指令
unregisterCommand(command) / getRegisteredCommands()executeCommand(command):执行指令示例:
TacticalAssaultAPI.registerCommand('heal', (args) => {
TacticalAssaultAPI.healPlayer(100);
TacticalAssaultAPI.showMessage('已治疗 100 点');
}, '治疗玩家 100 点生命');
getConfig():获取游戏配置副本modifyConfig(path, value):修改配置(如 'player.speed')saveData(key, value) / loadData(key, defaultValue) / deleteData(key):localStoragegetFrameRate() / getDeltaTime() / getElapsedTime()log(message, level):输出到游戏日志setTimeout(callback, ms):设置超时(自动错误捕获)setInterval(callback, ms):设置间隔(自动错误捕获)clearTimeout(id) / clearInterval(id):清除计时器clearAllTimers():清除所有 Mod 计时器示例:
// 5秒后治疗玩家
TacticalAssaultAPI.setTimeout(() => {
TacticalAssaultAPI.healPlayer(50);
}, 5000);
// 每秒增加1分
const id = TacticalAssaultAPI.setInterval(() => {
TacticalAssaultAPI.addScore(1);
}, 1000);
isKeyPressed(keyCode):检测按键是否按下(如 'KeyW', 'Space')getMousePosition():获取鼠标位置 { x, y }isMouseDown(button):检测鼠标按键(0=左键,2=右键)lockPointer():锁定鼠标指针unlockPointer():解锁鼠标指针setCameraPosition(x, y, z):设置摄像机位置setCameraRotation(yaw, pitch):设置摄像机旋转setCameraFOV(fov):设置视野角度getCameraForward():获取摄像机前方向量 { x, y, z }setPlayerSpeed(speed) / getPlayerSpeed():设置/获取移动速度setPlayerJumpSpeed(speed):设置跳跃速度setGodMode(enabled) / isGodMode():无敌模式setInfiniteAmmo(enabled):无限弹药setPlayerTeam(team) / getPlayerTeam():设置/获取队伍setPlayerMaxHp(maxHp) / getPlayerMaxHp():设置/获取最大血量getWeaponList():获取所有武器列表setWeaponAmmo(weaponName, magAmmo, reserveAmmo):设置武器弹药getWeaponAmmo(weaponName):获取武器弹药giveWeapon(weaponName, slot):给予武器(slot=1或2)vec3(x, y, z):创建三维向量vecAdd(a, b) / vecSub(a, b) / vecScale(v, s):向量运算vecLength(v) / vecNormalize(v):向量长度/归一化vecDot(a, b) / vecCross(a, b):点积/叉积degToRad(deg) / radToDeg(rad):角度转换angleToYaw(angle) / yawToAngle(yaw):游戏角度转换hexToRgb(hex):十六进制转RGBrgbToHex(r, g, b):RGB转十六进制hslToRgb(h, s, l):HSL转RGBdrawDebugLine(start, end, color, duration):绘制调试线段drawDebugSphere(position, radius, color, duration):绘制调试球体clearDebugObjects():清除所有调试对象示例:
// 在玩家位置绘制红色球体,持续5秒
TacticalAssaultAPI.drawDebugSphere(
TacticalAssaultAPI.getPlayerState().pos,
1.0, 0xff0000, 5000
);
setSunPosition(x, y, z):设置太阳位置setSunIntensity(intensity):设置太阳强度setSunColor(color):设置太阳颜色setAmbientIntensity(intensity):设置环境光强度getWorldObjects():获取场景物体数量exportGameState():导出当前游戏状态(JSON)importGameState(state):导入游戏状态random(min, max) / randomInt(min, max) / clamp(value, min, max) / lerp(a, b, t) / distance(pos1, pos2)(function() {
// 1. 注册 Mod(必须声明 apiVersion!)
TacticalAssaultAPI.registerMod('my-first-mod', {
name: '我的第一个 Mod',
version: '1.0.0',
apiVersion: '3.0.0', // 必须声明!版本不符会终止脚本
author: '你的名字',
description: '示例 Mod',
capabilities: ['weapon.custom', 'event.listen', 'ui.custom']
});
// 2. 注册自定义武器
TacticalAssaultAPI.registerWeapon({
name: '黄金AK',
damage: 45, fireRate: 100, recoil: 0.07,
magSize: 40, reloadTime: 1.8, color: 0xffd700,
auto: true, category: 'rifle',
// CS2风格散射参数
moveSpreadMult: 1.5, jumpSpreadMult: 6.0, crouchSpreadMult: 0.5,
firstShotSpread: 0.01, recoilVertical: 0.02, recoilHorizontal: 0.01, recoilRecovery: 0.95
});
// 3. 监听事件
TacticalAssaultAPI.on('player:kill', (data) => {
TacticalAssaultAPI.showToast('击杀!', 'success');
});
// 4. 注册自定义指令
TacticalAssaultAPI.registerCommand('god', () => {
TacticalAssaultAPI.setPlayerStats({ maxHp: 999, hp: 999 });
TacticalAssaultAPI.showMessage('无敌模式开启');
}, '无敌模式');
console.log('我的第一个 Mod 已加载');
})();
游戏提供 260+ 个 API 接口,涵盖:核心系统、游戏内容、视听效果、AI与联机、高级功能、工具函数、CS2机制、API版本检测、通用界面UI、纹理加载。
版本:v3.2.0
dependencies 中声明,确保加载顺序本游戏在 VibeHub 侧声明为 author-managed 联机策略,并在游戏代码层再加一道强制保险:
capabilities 字段判断联机兼容性:multiplayer:"local"(皮肤、UI、音效等纯本地表现)理论可保留,multiplayer:"blocked"(武器、数值、模式、物理等)联机禁用。getEnabledMods() 非空时直接拦截并提示。登录后可以上传完整 Mod 包或单脚本。
登录反馈渠道
有任何问题、建议或反馈,请加 VibeHub 官方支持群:
QQ 752883513
进群后请直接在群里提反馈,我们会及时关注并处理。