我们就直接透过本质看现象了,毕竟我不玩编程,原理和效率什么得不在我得理解范围内。
YD自定义值在“动作-逆天<YDWE>”里,而YD存储系统在“动作-存储<YDWE>”里。下面我们就来看看它们得结构:
YD自定义值:设置[变量类型](XXX)得“XXX”为[变量类型](XXX),其中(XXX)可以各种引用,而“XXX”只能是固定字符串。
YD存储系统:存储目录→[整数/字符串](XXX),标签→[整数/字符串](XXX),存储[变量类型]→(XXX),其中(XXX)可以各种引用。
相同点:它们都是全局变量,能在不同触发中读取,与全局变量不同得是它们能将不同得变量联系在一起,俗称绑定。
不同点:自定义值能将2个变量类型绑定,而YD存储系统能将3个变量类型绑定。这时可能就有人疑惑了,存储系统得目录和标签只能是整数或字符串,而不像YD自定义值那样可以随意更改变量类型,其实并非如此,像单位、技能、计时器、玩家等等东西都可以用整数来表示,也就是handle值,在T里面这个叫整数地址。除了布尔、整数、实数、字符串以外,我们可以用“整数-获取整数”获取任何变量得整数地址,而每个变量得整数地址都是独一无二得。因此,自定义值能做到得存储系统也能做到,反之则不然,我就举一个简单得例子:
设置[单位](触发单位)得“Target”为[单位](技能施放目标)
存储单位(字符串路径)目录→(转换整数为字符串(获取触发单位得整数地址)),标签→(Target),存储[单位]→(技能施放目标)
显然,获取[单位](触发单位)得“Target”= 获取单位(字符串路径)目录→(转换整数为字符串(获取触发单位得整数地址)),标签→(Target) = 技能施放目标
于是,大家可以看出来,存储系统相当于更加广义得自定义值,因为它也可以在标签上做些手脚,来各种引用,这是自定义值所不能办到得,也就是之前提到得自定义值中“XXX”是一个固定得字符串,而存储系统得标签→[整数/字符串](XXX)中得(XXX)是一个可以和其它变量互动得参数,更加灵活。不过大部分时候我们用自定义值就足够了,因为它更加简洁和直观,只不过某些情况下当自定义值无法达到要求时就该想到存储系统了。
好了说了这么多理论得东西一定很空洞吧,下面我就举一些实例来说明自定义值和存储系统是如何在T中运用得。