├── README.md ├── update.md └── 使用文档 ├── 函数文档 └── 单位.md └── 常数文档.md /README.md: -------------------------------------------------------------------------------- 1 | q474278375 -------------------------------------------------------------------------------- /update.md: -------------------------------------------------------------------------------- 1 | # 更新日志 2 | 3 | ## [New] 4 | 1.新增设置技能ID释放类型的接口 5 | 2.新增禁用单位PreselectUI的接口 6 | 3.新增世界坐标和屏幕坐标互转的接口 7 | 4.新增取消训练的接口 8 | 5.新增获取frame锚点类型的接口 9 | 6.新增渲染事件 10 | 7.新增取消指示器的接口 11 | 8.新增判定指示器开启的接口 12 | 9.新增窗口大小改变事件 13 | 10.新增按动画类型播放单位动画的接口 14 | 11.新增判定坐标在frame内的接口 15 | 12.新增设置单位颜色的接口 16 | 13.新增本地玩家移动鼠标事件 17 | 14.新增设置特效粒子缩放的接口 18 | 15.新增绑定特效到frame的接口 19 | 16.新增操作CSpriteFrame的接口 20 | 17.新增创建肖像frame和对应的操作接口 21 | 18.新增读写技能下标文本的接口 22 | 19.新增强制渲染指定特效的接口 23 | 20.新增选取范围内的单位做动作的接口 24 | 21.新增恢复魔法值的接口 25 | 22.新增设置单个单位攻速上限的接口 26 | 23.新增获取技能的来源物品的接口 27 | 24.新增异步检测系统 28 | 25.新增设置jass最大数组限制的接口 29 | 26.[AUI] 新增执行触发器条件的动作 30 | 27.新增设置字体大小和解锁字体大小限制的接口 31 | 28.新增判定局域网和录像模式的接口 32 | 29.新增叠字修复 (非窗口缩放) 33 | 30.新增任意物品被删除事件 34 | 31.新增资源加密 (mdx/blp, 需私聊获取) 35 | 32.新增分割字符串的接口 36 | 33.新增获取发布命令的玩家的接口 37 | 38 | ## [Fix] 39 | 1.修复设置文本对齐对CTextFrame崩溃的接口 40 | 2.修复单位被驱散buff事件导致崩溃的bug 41 | 3.修复一个与内置lua冲突的bug 42 | 4.修复设置技能自定义物编数据崩溃的bug 43 | 5.修复技能自定义某些数据无法获取的bug 44 | 6.修复绑定的特效无法设置颜色和透明度的bug 45 | 7.修复设置物品物编数据导致崩溃的bug 46 | 8.修复设置单位名字对头顶提示无效的bug 47 | 9.修复设置单位范围伤害不正常的bug 48 | 10.修复1.31.8bin文件夹损坏的bug 49 | 11.修复同步事件会导致原生方向键事件失效的bug 50 | 12.修复崩溃报告显示不正常的bug 51 | 13.修复同步数据粘包的bug 52 | 14.修复获取冷却绘制文本序号不正确的bug 53 | 15.修复获取肖像单位返回值不正确的bug 54 | 16.修复一个会导致frame事件崩溃的bug 55 | 17.修复禁止接受命令导致所有单位无法控制的bug 56 | 18.修复投射物命中事件导致原生投射物不正常的bug 57 | 58 | ## [Chg] 59 | 1.更改MemHackLoader文件,请务必更新该文件 60 | 2.设置特效转角改为角度制 61 | 3.将事件按键从魔兽键码转为虚拟键码 62 | 4.将触发器分类移回memory_hack的define下 63 | 64 | ## [Old] 65 | 1.移除单位组迭代器 -------------------------------------------------------------------------------- /使用文档/函数文档/单位.md: -------------------------------------------------------------------------------- 1 | # 目录 2 | > [创建建筑](#创建建筑) 3 | > [添加技能](#添加技能) 4 | 5 |
6 |
7 | 8 | # **创建建筑** 9 | ## jass定义 10 | function MHUnit_CreateBuilding takes player p, integer uid, real x, real y, boolean auto_build, boolean can_assist returns unit 11 | 12 | ## 参数 13 | - p: 建筑所属玩家 14 | - uid: 建筑单位ID 15 | - x: 创建位置X坐标 16 | - y: 创建位置Y坐标 17 | - auto_build: 创建的建筑自动建造 (就像不死族建筑) 18 | - can_assist:创建的建筑能被多敲 (就像人族建筑) 19 | 20 | ## 返回值类型 21 | - 单位 22 | 23 | ## 备注 24 | - 无 25 | 26 |
27 |
28 | 29 | # **添加技能** 30 | ## jass定义 31 | function MHUnit_AddAbility takes unit u, integer aid, boolean check_duplicate returns boolean 32 | 33 | ## 参数 34 | - u: 添加技能的单位 35 | - aid: 添加的技能 36 | - check_duplicate: 检查相同技能 37 | 38 | ## 返回值类型 39 | - 真值 40 | 41 | ## 备注 42 | - check_duplicate为false时,可添加相同技能 43 | - cj的UnitAddAbility会检查相同技能 44 | 45 |
46 |
47 | 48 | # **删除技能** 49 | ## jass定义 50 | function MHUnit_RemoveAbility takes unit u, integer aid, boolean check_duplicate returns boolean 51 | 52 | ## 参数 53 | - u: 删除技能的单位 54 | - aid: 删除的技能 55 | - check_duplicate: 检查相同技能 56 | 57 | ## 返回值类型 58 | - 真值 59 | 60 | ## 备注 61 | - check_duplicate为false时,可删除所有相同技能 62 | - cj的UnitRemoveAbility不会检查相同技能 63 | 64 |
65 |
66 | 67 | # **获取技能** 68 | ## jass定义 69 | function MHUnit_GetAbility takes unit u, integer aid, boolean search_base returns ability 70 | 71 | ## 参数 72 | - u: 单位 73 | - aid: 技能ID 74 | - search_base: 通过基础ID查找 75 | 76 | ## 返回值类型 77 | - 技能 78 | 79 | ## 备注 80 | - 无 81 | 82 |
83 |
84 | 85 | # **获取技能数量** 86 | ## jass定义 87 | function MHUnit_GetAbilityCount takes unit u returns integer 88 | 89 | ## 参数 90 | - u: 单位 91 | 92 | ## 返回值类型 93 | - 整数 94 | 95 | ## 备注 96 | - 包括魔法效果 97 | 98 |
99 |
100 | 101 | # **获取指定序号的技能** 102 | ## jass定义 103 | function MHUnit_GetAbilityByIndex takes unit u, integer index returns integer 104 | 105 | ## 参数 106 | - u: 单位 107 | - index: 序号 108 | 109 | ## 返回值类型 110 | - 技能 111 | 112 | ## 备注 113 | - 包括魔法效果 114 | 115 |
116 |
117 | 118 | # **获取单位数据** 119 | ## jass定义 120 | function MHUnit_GetData takes unit u, integer flag returns real 121 | 122 | ## 参数 123 | - u: 单位 124 | - flag: 数据类型 | UNIT_DATA 125 | 126 | ## 返回值类型 127 | - 实数 128 | 129 | ## 备注 130 | - flag取值参考常数文档中的: [单位数据](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位数据) 131 | 132 |
133 |
134 | 135 | # **设置单位数据** 136 | ## jass定义 137 | function MHUnit_SetData takes unit u, integer flag, real value returns nothing 138 | 139 | ## 参数 140 | - u: 单位 141 | - flag: 数据类型 | UNIT_DATA 142 | - value: 数值 143 | 144 | ## 返回值类型 145 | - 无 146 | 147 | ## 备注 148 | - flag取值参考常数文档中的: [单位数据](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位数据) 149 | 150 |
151 |
152 | 153 | # **获取单位攻击数据 (整数)** 154 | ## jass定义 155 | function MHUnit_GetAtkDataInt takes unit u, integer flag returns integer 156 | 157 | ## 参数 158 | - u: 单位 159 | - flag: 数据类型 | UNIT_ATK_DATA 160 | 161 | ## 返回值类型 162 | - 整数 163 | 164 | ## 备注 165 | - flag取值参考常数文档中的: [单位攻击数据 - 整数](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位攻击数据-整数) 166 | 167 |
168 |
169 | 170 | # **设置单位攻击数据 (整数)** 171 | ## jass定义 172 | function MHUnit_SetAtkDataInt takes unit u, integer flag, integer value returns nothing 173 | 174 | ## 参数 175 | - u: 单位 176 | - flag: 数据类型 | UNIT_ATK_DATA 177 | - value: 数据值 178 | 179 | ## 返回值类型 180 | - 无 181 | 182 | ## 备注 183 | - flag取值参考常数文档中的: [单位攻击数据 - 整数](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位攻击数据-整数) 184 | 185 |
186 |
187 | 188 | # **获取单位攻击数据 (实数)** 189 | ## jass定义 190 | function MHUnit_GetAtkDataReal takes unit u, integer flag returns real 191 | 192 | ## 参数 193 | - u: 单位 194 | - flag: 数据类型 | UNIT_ATK_DATA 195 | 196 | ## 返回值类型 197 | - 实数 198 | 199 | ## 备注 200 | - flag取值参考常数文档中的: [单位攻击数据 - 实数](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位攻击数据-实数) 201 | 202 |
203 |
204 | 205 | # **设置单位攻击数据 (实数)** 206 | ## jass定义 207 | function MHUnit_SetAtkDataReal takes unit u, integer flag, real value returns nothing 208 | 209 | ## 参数 210 | - u: 单位 211 | - flag: 数据类型 | UNIT_ATK_DATA 212 | - value: 数据值 213 | 214 | ## 返回值类型 215 | - 无 216 | 217 | ## 备注 218 | - flag取值参考常数文档中的: [单位攻击数据 - 实数](../%E5%B8%B8%E6%95%B0%E6%96%87%E6%A1%A3.md#单位攻击数据-实数) 219 | 220 |
221 |
222 | 223 | 224 | 225 | -------------------------------------------------------------------------------- /使用文档/常数文档.md: -------------------------------------------------------------------------------- 1 | [目标允许]:#目标允许 2 | [单位数据]:#单位数据 3 | 4 | # 目录 5 | > [目标允许] 6 | > [单位数据] 7 | > [单位攻击数据](#单位攻击数据-整数) 8 | >> [整数](#单位攻击数据-整数) 9 | >> [实数](#单位攻击数据-实数) 10 | 11 |
12 |
13 | 14 | # **目标允许** 15 | ## TARGET_ALLOW_TERRAIN 16 | - 地形 17 | ## TARGET_ALLOW_NONE 18 | - 没有 19 | ## TARGET_ALLOW_GROUND 20 | - 地面 21 | ## TARGET_ALLOW_AIR 22 | - 空中 23 | ## TARGET_ALLOW_STRUCTURE 24 | - 建筑 25 | ## TARGET_ALLOW_WARD 26 | - 守卫 27 | ## TARGET_ALLOW_ITEM 28 | - 物品 29 | ## TARGET_ALLOW_TREE 30 | - 树木 31 | ## TARGET_ALLOW_WALL 32 | - 墙 33 | ## TARGET_ALLOW_DEBRIS 34 | - 残骸 35 | ## TARGET_ALLOW_DECORATION 36 | - 装饰物 37 | ## TARGET_ALLOW_BRIDGE 38 | - 桥 39 | ## TARGET_ALLOW_SELF 40 | - 自己 41 | ## TARGET_ALLOW_PLAYER 42 | - 玩家单位 43 | ## TARGET_ALLOW_ALLIES 44 | - 联盟 45 | ## TARGET_ALLOW_FRIEND 46 | - 友军单位 47 | - 等价于 玩家单位 + 联盟 48 | ## TARGET_ALLOW_NEUTRAL 49 | - 中立 50 | ## TARGET_ALLOW_ENEMIES 51 | - 敌人 52 | ## TARGET_ALLOW_NOTSELF 53 | - 别人 54 | - 等价于 玩家单位 + 联盟 + 中立 + 敌人 55 | ## TARGET_ALLOW_VULNERABLE 56 | - 可攻击的 57 | ## TARGET_ALLOW_INVULNERABLE 58 | - 无敌 59 | ## TARGET_ALLOW_HERO 60 | - 英雄 61 | ## TARGET_ALLOW_NONHERO 62 | - 非 - 英雄 63 | ## TARGET_ALLOW_ALIVE 64 | - 存活 65 | ## TARGET_ALLOW_DEAD 66 | - 死亡 67 | ## TARGET_ALLOW_ORGANIC 68 | - 有机生物 69 | ## TARGET_ALLOW_MECHANICAL 70 | - 机械类 71 | ## TARGET_ALLOW_NONSAPPER 72 | - 非 - 自爆工兵 73 | ## TARGET_ALLOW_SAPPER 74 | - 自爆工兵 75 | ## TARGET_ALLOW_NONANCIENT 76 | - 非 - 古树 77 | ## TARGET_ALLOW_ANCIENT 78 | - 古树 79 | 80 |
81 |
82 | 83 | # **单位数据** 84 | ## UNIT_DATA_MAX_LIFE 85 | - 最大生命值 86 | ## UNIT_DATA_MAX_MANA 87 | - 最大魔法值 88 | ## UNIT_DATA_LIFE_REGEN 89 | - 生命恢复速度 90 | - 游戏不会存储真实生命值,仅记录基础生命值和上次更改基础生命值的时间戳 91 | - 当需要用到真实生命值的时候,才会计算:基础生命值 + (当前时间戳 - 上次的时间戳) * 生命恢复速度 92 | - 当受到伤害、治疗或者触发器等外界因素影响生命值时就会更新基础生命值和时间戳 93 | ## UNIT_DATA_MANA_REGEN 94 | - 魔法恢复速度 95 | - 游戏不会存储真实魔法值,仅记录基础魔法值和上次更改基础魔法值的时间戳 96 | - 当需要用到真实魔法值的时候,才会计算:基础魔法值 + (当前时间戳 - 上 的时间戳) * 魔法恢复速度 97 | - 当恢复魔法或者触发器等外界因素影响魔法值时就会更新基础魔法值和时间戳 98 | ## UNIT_DATA_DEF_VALUE 99 | - 护甲值 100 | - 白字+绿字之和,如果修改则只会影响白字 101 | ## UNIT_DATA_DEF_TYPE 102 | - 护甲类型 103 | - 轻甲: 0 104 | - 中甲: 1 105 | - 重甲: 2 106 | - 城甲: 3 107 | - 普通甲: 4 108 | - 英雄甲: 5 109 | - 神圣甲: 6 110 | - 无护甲: 7 111 | ## UNIT_DATA_POSITION_Z 112 | - Z轴坐标 113 | - 模型的Z轴坐标 114 | ## UNIT_DATA_CUR_SIGHT 115 | - 当前视野 116 | ## UNIT_DATA_IMPACT_Z 117 | - 射弹碰撞偏移Z 118 | ## UNIT_DATA_IMPACT_Z_SWIM 119 | - 射弹碰撞偏移Z (深水) 120 | ## UNIT_DATA_LAUNCH_X 121 | - 射弹碰撞X 122 | ## UNIT_DATA_LAUNCH_Y 123 | - 射弹碰撞Y 124 | ## UNIT_DATA_LAUNCH_Z 125 | - 射弹碰撞Z 126 | ## UNIT_DATA_LAUNCH_Z_SWIM 127 | - 射弹碰撞Z (深水) 128 | ## UNIT_DATA_MODEL_SCALE 129 | - 模型缩放 130 | ## UNIT_DATA_Z_SCALE 131 | - Z轴缩放 132 | - 可设置,但是单位一旦移动或者有其他动作就会恢复 133 | ## UNIT_DATA_HPBAR_HEIGHT 134 | - 血条高度 135 | - 可用于调整血条高度、计算血条坐标或者隐藏血条 136 | ## UNIT_DATA_TIME_SCALE 137 | - 动画播放速度 138 | ## UNIT_DATA_COLLISION 139 | - 碰撞大小 140 | ## 相关函数 141 | - MHUnit_GetData 获取单位数据 142 | - MHUnit_SetData 设置单位数据 143 | 144 |
145 |
146 | 147 | # **单位攻击数据 (整数)** 148 | ## UNIT_ATK_DATA_WEAPONS_ON 149 | - 攻击索引 150 | ## UNIT_ATK_DATA_ATTACK_TYPE1 151 | - 攻击类型1 152 | - 取值参考common.j中对ConvertAttackType的调用 153 | ## UNIT_ATK_DATA_ATTACK_TYPE2 154 | - 攻击类型2 155 | - 取值参考common.j中对ConvertAttackType的调用 156 | ## UNIT_ATK_DATA_WEAPON_TYPE1 157 | - 武器类型1 158 | - 没有: 0 159 | - 近战: 1 160 | - 箭矢: 2 161 | - 炮火: 3 162 | - 立即: 4 163 | - 箭矢 (溅射): 5 164 | - 箭矢 (弹射): 6 165 | - 箭矢 (穿透): 7 166 | - 炮火 (穿透): 8 167 | ## UNIT_ATK_DATA_WEAPON_TYPE2 168 | - 武器类型2 169 | - 取值参考: [武器类型1](#unit_atk_data_weapon_type1) 170 | ## UNIT_ATK_DATA_TARGET_ALLOW1 171 | - 目标允许1 172 | - 本质是BitSet。取值参考: [目标允许] 173 | ## UNIT_ATK_DATA_TARGET_ALLOW2 174 | - 目标允许2 175 | - 本质是BitSet。取值参考: [目标允许] 176 | ## UNIT_ATK_DATA_TARGET_COUNT1 177 | - 最大目标数1 178 | - 仅对弹射攻击有效 179 | ## UNIT_ATK_DATA_TARGET_COUNT2 180 | - 最大目标数2 181 | - 仅对弹射攻击有效 182 | ## UNIT_ATK_DATA_BASE_DAMAGE1 183 | - 基础伤害1 184 | ## UNIT_ATK_DATA_BASE_DAMAGE2 185 | - 基础伤害2 186 | ## UNIT_ATK_DATA_BONUS_DAMAGE1 187 | - 附加伤害1 188 | - 绿字 189 | ## UNIT_ATK_DATA_BONUS_DAMAGE2 190 | - 附加伤害2 191 | - 绿字 192 | ## UNIT_ATK_DATA_DAMAGE_DICE1 193 | - 伤害骰子数量1 194 | ## UNIT_ATK_DATA_DAMAGE_DICE2 195 | - 伤害骰子数量2 196 | ## UNIT_ATK_DATA_DAMAGE_SIDES1 197 | - 伤害骰子面数1 198 | ## UNIT_ATK_DATA_DAMAGE_SIDES2 199 | - 伤害骰子面数2 200 | ## UNIT_ATK_DATA_WEAPON_SOUND 201 | - 武器声音 202 | 203 |
204 |
205 | 206 | # **单位攻击数据 (实数)** 207 | ## UNIT_ATK_DATA_ATTACK_SPEED 208 | - 攻击速度 209 | - 同时影响攻击1和攻击2 210 | - 真实攻击间隔 = 基础攻击间隔 / 攻击速度 211 | ## UNIT_ATK_DATA_ACQUISION_RANGE 212 | - 主动攻击距离 213 | ## UNIT_ATK_DATA_ATTACK_RANGE1 214 | - 攻击距离1 215 | - 可设置得比主动攻击距离小,此时不会主动攻击但可以手动攻击 216 | ## UNIT_ATK_DATA_ATTACK_RANGE2 217 | - 攻击距离2 218 | - 可设置得比主动攻击距离小,此时不会主动攻击但可以手动攻击 219 | ## UNIT_ATK_DATA_RANGE_BUFFER1 220 | - 攻击距离缓冲1 221 | ## UNIT_ATK_DATA_RANGE_BUFFER2 222 | - 攻击距离缓冲2 223 | ## UNIT_ATK_DATA_BAT1 224 | - 基础攻击间隔1 225 | - 真实攻击间隔 = 基础攻击间隔 / 攻击速度 226 | - 在游戏中一般不会更改 227 | ## UNIT_ATK_DATA_BAT2 228 | - 基础攻击间隔2 229 | - 真实攻击间隔 = 基础攻击间隔 / 攻击速度 230 | - 在游戏中一般不会更改 231 | ## UNIT_ATK_DATA_ATTACK_POINT1 232 | - 攻击前摇1 233 | ## UNIT_ATK_DATA_ATTACK_POINT2 234 | - 攻击前摇2 235 | ## UNIT_ATK_DATA_BACK_SWING1 236 | - 攻击后摇1 237 | ## UNIT_ATK_DATA_BACK_SWING2 238 | - 攻击后摇2 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | --------------------------------------------------------------------------------