词条 | EUD |
释义 | EUD = Extended Unit Deaths EUD是星际争霸地图中运用的一种技术, 利用SC对数组边界没有检查的漏洞实现特殊效果。 基本知识* SC在内存中储存数据(想象成由一堆字节组成的线) * 在SC运行时,它在Windows有固定的内存(虚拟内存) * 内存有两种:代码段 和 数据段.数据段可读可写; data 段(?)可读可写. (代码段不可写?) * 所以SC在数据段中储存Deaths数据. * 在储存Deaths数据的内存块中的第一个双字(4字节)存储的是Player1的Marine死亡数。而这个偏移地址在各个星际版本中是不同的。 来举个例子: 00560009H (以H结尾表示这是个十六进制数)是存储Player1的Marine死亡数。注意:这个死亡数是用4字节存储的,所以你只能用Deaths触发写入4字节的数据 (从Deaths数据表开始的每4个字节);还能能将这个双字的一半作为字节读取。 那么下一个Deaths数据 (Player2的Marine死亡数) 的地址是0056000dH (00560009+4),再下一个 (Player3的Marine死亡数) 的地址是00560011H,依此类推,直到Player12。 那么EUD触发是什么原理呢?普通的Deaths触发是基于Deaths数据表的起始地址 (存储Player1的Marine死亡数的逻辑地址), 它加上UnitID*48 (UnitID可以从 datedit中获得)再加上PlayerID*4 (因为每个Deaths数据占4字节) [!PlayerID是从0开始计算的,Player1 = 0] 之后可以得到该Player的特定Unit的Deaths数存储地址。 触发条件Deaths读取此4个字节的数据判断是否满足给定数值大小关系,而触发动作Set Deaths在这个地址上写入4字节的数据。 普通的Deaths触发只能访问Deaths数据表的数据区 (UnitID和PlayerID都是有意义的值)。 注意不是Deaths表中的每个地址都能写入数据,每8个双字之后跟着的4个双字是不能写入的(你不能修改P9~P12的Deaths数据)。 好了,如果你设置一个很大的UnitID值,那么你得到的地址将超过Deaths数据表尾部(因为你设置的UnitID是2个字节大小,最大值65535,结果远远超过了Units.dat区域)。 那么将会做什么总之就是越过了Deaths表尾部开始访问其他数据区了,如Upgrades.dat,TechData.dat,Weapons.dat等数据,存取这些数据达到各种特殊效果就是EUD触发干的事了,具体功能请看Memory_Map(内存表)。。。 先找到SC DEATHS的起始位置 有了这个Deaths表的起始地址后你就能在偏移地址和EUD触发参数(UnitID,PlayerID)间进行转换。 但是不需要那么麻烦,如果要写EUD触发的话可以使用LegacyWeapon的Ubecalc[就是传说中的UB],虽然有点小问题,但还是很好用的。现在没必要了,还是使用EUDTrig吧,工具在下面。 你还可以找到一个用来空闲区块[1.12b版里的006c4f00 到 006c5d00 的区域],可以用来在任务模式存取游戏记录。 注意:EUD Actions只能在1.12b版本之前的星际中使用,不过EUD Condition还可以在更高版本上使用。 EUD框架SCRPG.NET的研究人员做出来的框架, 修改触发内容, 使它们可以用来修改内存. 这样就可以改P9~P12和Deaths表前后的内存了 A.L.I.C.E系统用EUD加载框架而出现的A.L.I.C.E(AEUD)能做出一切。目前应用比较广泛的是A.L.I.C.E,因为相比EUD之下A.L.I.C.E功能强大,也容易上手。此外SMC已经发布了带EUD触发的版本。有事EUD也泛指A.L.I.C.E 一些A.L.I.C.E成分明显的图: New 5v9 ET2009(YTY的) 移动攻击 荣誉三线 攻守兼备·星际 Amazing Turret EUD 学会EUD需要懂得的计算机知识在学EUD之前请确保制图和MOD都过关,在星际修改的基本概念未过关的情况下请先补课。其次要知道内存是什么:星际几乎所有的数据都被读取到内存里,比如单位武器、武器攻击力、模型、动画、AI,甚至还有按钮、需求等。内存地址,就是存这些数据的地方。其次要懂得16进制数据的处理(如16进制数在内存表中的排列顺序)。 辅助用EUD地图制作软件:EUD Trig ,UB2.0,UB3.0,StarForge 辅助用A.L.I.C.E地图制作软件: SMC2.85,SMCExV1.3 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。