1D
MEDIA
全国客服电话400-100-1000
新闻详情

EUD/offset EUD/偏移量

EUD/offset EUD/偏移量

Last Modified:
上次修改时间:2024-10-25 05:49:11
Category 类别
 Parent article:EUD 父文章: EUD
 related document:EUD/offset deepening
相关文件: EUD/胶印加深
Starcraft Trigger related documentation
StarcraftTrigger相关文档
Conditions / Execution ( Artificial Intelligence )
条件 / 执行 ( 人工智能 )
Unit · Weapon · Location · Enhancement
单位 ·武器 ·位置 ·增强
tools
EUD Editor · TrigEditPlus
EUD 编辑器 ·TrigEditPlus
etc
Unlimiter · epScript · Learn
无限者 ·epScript ·学习

1. reference 1. 参考资料2. offset list 2. 偏移列表
2.1. unit 2.1. 单位2.2. weapon 2.2. 武器2.3. sprite classification
2.3. 精灵分类
2.3.1. Adjust the size of the health bar
2.3.1. 调整生命条的大小
2.4. Structural Offset Classification
2.4. 结构偏移分类
2.4.1. structure offset of unit
2.4.1. 单元的结构偏移
2.5. Special and other classifications
2.5. 特殊分类和其他分类
2.5.1. Change player ID
2.5.1. 更改玩家 ID
2.5.2. upgrade 2.5.2. 升级2.5.3. Change unit name string
2.5.3. 更改单元名称字符串
2.5.4. frame 2.5.4. 帧2.5.5. screen brightness
2.5.5. 屏幕亮度

1. reference 1. 参考资料

  • This document is a collection of offsets used in EUD for StarCraft's EUD mapmakers. All offsets present in this document are based on 1.16.1.
    本文档是 StarCraft 的 EUD 地图制作器在 EUD 中使用的偏移量集合。本文档中存在的所有偏移均基于 1.16.1。
  • All offsets are free from conditional and executable barriers. EUD is divided into a conditional "how many units of a certain player die" and an executive part "setting the number of deaths of a certain unit of a certain player". All offsets can be executed without EUD Enabler (EUD activation plug-in) when used conditionally, but when used as an execution unit, they must be executed with EUD Enabler or a launcher that includes it.
    所有偏移量都没有条件和可执行障碍。EUD 分为有条件的“某个玩家的死亡人数”和执行部分“设置某个玩家的某个单位的死亡人数”。有条件使用时,所有偏移都可以在没有 EUD Enabler(EUD 激活插件)的情况下执行,但当用作执行单元时,必须使用 EUD Enabler 或包含 EUD Enabler 的启动器执行。
  • When used conditionally, it must be checked whether the corresponding offset can be shared. In the case of conditionally using an offset that is not shared, a room splitting phenomenon occurs when an execution unit that is shared among players is used .[1]
    当有条件使用时,必须检查对应的 offset 是否可以共享。在有条件地使用未共享的偏移量的情况下,当使用在玩家之间共享的执行单元时,会出现房间分裂现象。[1]
  • See here for more offsets .
    有关更多偏移量,请参阅此处。

2. offset list 2. 偏移列表

2.1. unit 2.1. 单位

2.2. weapon 2.2. 武器

2.3. sprite classification
2.3. 精灵分类

2.3.1. Adjust the size of the health bar
2.3.1. 调整生命条的大小

Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
0x665E50
Sprite ID - 130 精灵 ID - 130
1
stamina box size 耐力框大小

2.4. Structural Offset Classification
2.4. 结构偏移分类

2.4.1. structure offset of unit
2.4.1. 单元的结构偏移

Share or not 分享与否
O
Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
see below 见下文
-
1
structure offset of unit 单元结构偏移
Unlike the offset that recognizes the data ID of the basic unit, it recognizes the structure offset. Also, since this offset is a shared offset, any implementation that affects the game works very well. Nothing goes into the object ID, so you just need to put the structure offset of the unit as it is in the value.
与识别基本单元的数据 ID 的偏移量不同,它识别结构体偏移量。此外,由于此偏移量是共享偏移量,因此任何影响游戏的实现都运行良好。对象 ID 中没有任何内容,因此您只需将单元的结构偏移量与值中的相同位置放置即可。


There is an offset per player.
每个玩家都有一个偏移量。
player
offset
1P
0x6284E8
2P
0x628518
3P
0x628548
4P
0x628578
5P
0x6285A8
6P
0x6285D8
7P
0x628608
8P
0x628638

Below is a simple trigger format. Enter the structure offset of the unit you want in n as a decimal number.
下面是一个简单的触发器格式。以十进制数形式输入所需单位 n 的结构偏移量。

SCMD
1P
Deaths("Player 10", "Int:13490", Exactly, n);
deaths(“玩家 10”, “ Int:13490 ”, Exactly, n);
2P
Deaths("Player 10", "Int:13491", Exactly, n);
deaths(“玩家 10”, “ Int:13491 ”, Exactly, n);
3P
Deaths("Player 10", "Int:13492", Exactly, n);
deaths(“玩家 10”, “ Int:13492 ”, Exactly, n);
4P
Deaths("Player 10", "Int:13493", Exactly, n);
deaths(“玩家 10”, “ Int:13493 ”, Exactly, n);
5P
Deaths("Player 10", "Int:13494", Exactly, n);
deaths(“玩家 10”, “ Int:13494 ”, Exactly, n);
6P
Deaths("Player 10", "Int:13495", Exactly, n);
deaths(“玩家 10”, “ Int:13495 ”, Exactly, n);
7P
Deaths("Player 10", "Int:13496", Exactly, n);
deaths(“玩家 10”, “ Int:13496 ”, Exactly, n);
8P
Deaths("Player 10", "Int:13497", Exactly, n);
deaths(“玩家 10”, “ Int:13497 ”, Exactly, n);
starforge
player
expansion unit 扩展单元
expansion player 扩展播放器
1P
Deaths(9, Exactly, n, 13490);
死亡(9, Exactly, n, 13490);
Deaths(161889, Exactly, n, 0);
死亡人数(161889, Exactly, n, 0);
2P
Deaths(9, Exactly, n, 13491);
死亡(9, Exactly, n, 13491);
Deaths(161901, Exactly, n, 0);
死亡人数(161901, Exactly, n, 0);
3P
Deaths(9, Exactly, n, 13492);
死亡(9, Exactly, n, 13492);
Deaths(161913, Exactly, n, 0);
死亡人数(161913, Exactly, n, 0);
4P
Deaths(9, Exactly, n, 13493);
死亡(9, Exactly, n, 13493);
Deaths(161925, Exactly, n, 0);
死亡人数(161925, Exactly, n, 0);
5P
Deaths(9, Exactly, n, 13494);
死亡(9,确切地说,n,13494);
Deaths(161937, Exactly, n, 0);
死亡人数(161937, Exactly, n, 0);
6P
Deaths(9, Exactly, n, 13495);
死亡(9, Exactly, n, 13495);
Deaths(161949, Exactly, n, 0);
死亡人数(161949, Exactly, n, 0);
7P
Deaths(9, Exactly, n, 13496);
死亡(9, Exactly, n, 13496);
Deaths(161961, Exactly, n, 0);
死亡人数(161961, Exactly, n, 0);
8P
Deaths(9, Exactly, n, 13497);
死亡(9, Exactly, n, 13497);
Deaths(161973, Exactly, n, 0);
死亡人数(161973, Exactly, n, 0);

2.5. Special and other classifications
2.5. 特殊分类和其他分类

2.5.1. Change player ID
2.5.1. 更改玩家 ID

Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
see below 见下文
-
1
text
This is an offset that changes the ID of the player within the game.
这是更改游戏中玩家 ID 的偏移量。


There is an offset per player. Below is the basic base death table, and subsequent ID changes follow the rules below.
每个玩家都有一个偏移量。以下是基本 kill 表,后续的 ID 更改遵循以下规则。
base table 基表
1P
SetDeaths(-11551, SetTo, 2, 0);
SetDeaths(-11551, SetTo, 2, 0);

SetDeaths(-11551, Add, 256, 0);
SetDeaths(-11551, 添加, 256, 0);

SetDeaths(-11551, Add, 65536, 0);
SetDeaths(-11551, Add, 65536, 0);
2P
SetDeaths(-11542, SetTo, 2, 0);
SetDeaths(-11542, SetTo, 2, 0);

SetDeaths(-11542, Add, 256, 0);
SetDeaths(-11542, Add, 256, 0);

SetDeaths(-11542, Add, 65536, 0);
SetDeaths(-11542, Add, 65536, 0);
3P
SetDeaths(-11533, SetTo, 2, 0);
SetDeaths(-11533, SetTo, 2, 0);

SetDeaths(-11533, Add, 256, 0);
SetDeaths(-11533, Add, 256, 0);

SetDeaths(-11533, Add, 65536, 0);
SetDeaths(-11533, Add, 65536, 0);
4P
SetDeaths(-11524, SetTo, 2, 0);
SetDeaths(-11524, SetTo, 2, 0);

SetDeaths(-11524, Add, 256, 0);
SetDeaths(-11524, 添加, 256, 0);

SetDeaths(-11524, Add, 65536, 0);
SetDeaths(-11524, Add, 65536, 0);
5P
SetDeaths(-11515, SetTo, 2, 0);
SetDeaths(-11515, SetTo, 2, 0);

SetDeaths(-11515, Add, 256, 0);
SetDeaths(-11515, 添加, 256, 0);

SetDeaths(-11515, Add, 65536, 0);
SetDeaths(-11515, Add, 65536, 0);
6P
SetDeaths(-11506, SetTo, 2, 0);
SetDeaths(-11506, SetTo, 2, 0);

SetDeaths(-11506, Add, 256, 0);
SetDeaths(-11506, Add, 256, 0);

SetDeaths(-11506, Add, 65536, 0);
SetDeaths(-11506, Add, 65536, 0);
7P
SetDeaths(-11497, SetTo, 2, 0);
SetDeaths(-11497, SetTo, 2, 0);

SetDeaths(-11497, Add, 256, 0);
SetDeaths(-11497, Add, 256, 0);

SetDeaths(-11497, Add, 65536, 0);
SetDeaths(-11497, Add, 65536, 0);
8P
SetDeaths(-11488, SetTo, 2, 0);
SetDeaths(-11488, SetTo, 2, 0);

SetDeaths(-11488, Add, 256, 0);
SetDeaths(-11488, Add, 256, 0);

SetDeaths(-11488, Add, 65536, 0);
SetDeaths(-11488, Add, 65536, 0);

2.5.2. upgrade 2.5.2. 升级

Share or not 分享与否
O
Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
see below 见下文
Upgrade ID 升级 ID
1
number of upgrades to change
要更改的升级次数
You just need to put the ID of the desired upgrade in the object ID and the level of the upgrade to be recognized in the value.
您只需将所需升级的 ID 放在对象 ID 中,并将要识别的升级级别放在该值中即可。


There is an offset per player.
每个玩家都有一个偏移量。
Original (00 ~ 2D) 原始 (00 ~ 2D)
Brood War (2E ~ 3C)
母巢之战 (2E ~ 3C)
player
offset
player
offset
1P
0x58D2B0
1P
0x58F32C
2P
0x58D2DE
2P
0x58F33B
3P
0x58D30C
3P
0x58F34A
4P
0x58D33A
4P
0x58F359
5P
0x58D368
5P
0x58F368
6P
0x58D396
6P
0x58F377
7P
0x58D3C4
7P
0x58F386
8P
0x58D3F2
8P
0x58F395

Unusually, the offset is different for each original upgrade (00 ~ 45) and Brood War upgrade (46 ~ 60). So if you are aware of upgrades with an ID lower than 45 (original) or higher than that (brood war), you need to choose an offset accordingly.
不同寻常的是,每个原始升级 (00 ~ 45) 和 Brood War 升级 (46 ~ 60) 的偏移量都不同。因此,如果您知道 ID 低于 45(原始)或高于 ID(母巢战争)的升级,您需要相应地选择偏移。


Also, in the case of Brood War upgrade recognition, 46 is regarded as 0. Therefore, when using the Brood War upgrade offset, subtract 46 before using it. When using this, the number to put in the object ID when using the Brood War upgrade offset is 0 to 14.
此外,在 Brood War 升级识别的情况下,46 被视为 0。因此,当使用 Brood War 升级偏移时,使用前要减去 46。使用此选项时,使用 Brood War 升级偏移时要放入对象 ID 的数字是 0 到 14。

2.5.3. Change unit name string
2.5.3. 更改单元名称字符串

Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
0x660260
unit ID 设备 ID
2
string number 字符串编号
Replaces a string given to a unit with another string. The string number can be checked in SCMD by default.
将给定给 unit 的字符串替换为另一个字符串。默认情况下,可以在 SCMD 中检查字符串编号。

2.5.4. frame 2.5.4. 帧

Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
0x6509A0
-
4
-
Basically, the turbo trigger is a trigger that executes the trigger about 12 times per second by repeating Wait(0) infinitely and using the infinitely repeated Wait. However, the downside of the wait turbo trigger is that when the wait trigger is used, the waits are twisted together, so you must put them in a computer that is not in use.
基本上,turbo 触发器是一个触发器,它通过无限重复 Wait(0) 并使用无限重复的 Wait 每秒执行大约 12 次触发器。但是,wait turbo 触发器的缺点是,当使用 wait 触发器时,等待会扭曲在一起,因此您必须将它们放在未使用的计算机中。


This offset decreases by 1 every frame, and when it reaches 0, it returns to 30 as soon as the trigger is activated. In other words, if this offset is set to 0, the trigger is actuated immediately and quickly, so the trigger can be actuated up to about 24 times per second, enabling very fast trigger actuation. Because of this, the wait twist phenomenon is remarkably reduced, so no matter where the trigger is placed on any player, the triggers do not twist each other.
此偏移量每帧减少 1,当达到 0 时,一旦激活触发器,它就会返回 30。换句话说,如果此偏移量设置为 0,则会立即快速启动触发器,因此触发器最多可以每秒启动约 24 次,从而实现非常快速的触发器启动。因此,等待扭曲现象显著减少,因此无论将触发器放置在任何玩家的哪个位置,触发器都不会相互扭曲。

  • SCMD 单片医学md
    Set Deaths("Player 4", "Int:16929", Set To, 0);
    设置 deaths(“玩家 4”, “ Int:16929 ”, 设置为 , 0);
  • starforge 星际熔炉
    SetDeaths(3, SetTo, 0, 16929); (expansion unit)
    SetDeaths(3, SetTo, 0, 16929);(扩展单元)

    SetDeaths(203151, SetTo, 0, 0); (extended player)
    SetDeaths(203151, SetTo, 0, 0);(扩展播放器)

You can set the value of offset to n so that the trigger works every (n+1) frame, and of course you can set it higher than the default value of 30.
您可以将 offset 的值设置为 n,以便触发器每 (n+1) 帧工作一次,当然,您可以将其设置为高于默认值 30。

2.5.5. screen brightness
2.5.5. 屏幕亮度

Memory Offset 内存偏移
Object ID 对象 ID
Byte
Value
0x657A9C
-
1
The closer the value is to 1, the darker the map brightness.
该值越接近 1,贴图亮度越暗。
  • starforge 星际熔炉
SetDeaths(10, SetTo, n , 17531); (expansion unit)
SetDeaths(10, SetTo, n , 17531);(扩展单元)

SetDeaths(210382, SetTo, n , 0); (extended player)
SetDeaths(210382, SetTo, n , 0);(扩展播放器)
  • SCMD 单片医学md
Set Deaths("Player 11", "Int:17531", Set To, n);
设置 deaths(“player 11”, “int:17531”, set to, n);

Screen crashes when over 32
超过 32 岁时屏幕崩溃

[1] To give a simple example, playing a WAV file or outputting text is only visible to you, and other players don't need to know about it. Therefore, it belongs to non-shared and can be used. However, when used with a conditional condition that does not share the execution part that you and other players need to know , such as changing ownership of a unit, creating a unit, changing health, shield, or mana, the information between you and other players is completely different. So, in the end, players with different information are divided as if completely isolating them. This is typically referred to as the room splitting phenomenon .
[1] 举个简单的例子,播放 WAV 文件或输出文本仅对您可见,其他玩家不需要知道。因此,它属于 non-shared,可以使用。但是,当与不共享你和其他玩家需要知道的执行部分的条件一起使用时,例如更改单位的所有权、创建单位、更改生命值、护盾或法力值,你和其他玩家之间的信息是完全不同的。所以,到头来,信息不同的玩家被分割开来,仿佛把他们完全孤立了。这通常称为 房间分裂现象 。


姓名
*
邮件地址
*
给我们留言
*
验证码
 换一张
*
提交

联系我们

Wechat  Tianword

Phone : 400-100-1000

E-mail : 1d@1-1d.com

公司地址:广州市天河区华夏路16号富力盈凯广场48楼