├── 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 |
--------------------------------------------------------------------------------