自定义内存
自定义内存(memory)是铁锈1.15加入的一种数据存储方式。
提示:这个页面专指自定义内存,而不包含自定义内存数组(1.15p11更新)的内容。
类型
boolean | 布尔值 |
float | 浮点数 |
number | 整数 |
unit | 单位 |
string | 字符串 |
定义
在[core]节中,可以使用defineUnitMemory
和@memory
来定义内存,内存名字可以是中文。
通过defineUnitMemory定义
在[core]节中添加: defineUnitMemory:类型 名称,类型 名称......
defineUnitMemory例子 |
---|
defineUnitMemory:""" boolean is_alive, float xp, unit c_target, unit father, string customText """ |
通过@memory定义
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。
单个@memory的格式为: @memory 名称:类型
@memory的例子 |
---|
@memory dir:float @memory amo:number @memory armor_f:unit |
引用
要引用单位内部的自定义内存,可以直接使用 memory.名称
。
要引用其他单位的内存,可以使用readUnitMemory
,格式为单位引用.readUnitMemory('名称',type='类型')
。
readUnitMemory例子 |
---|
self.customTarget1.readUnitMemory('a',type='number') |
修改
在[action]中,可以通过setUnitMemory
来直接修改内存的值,格式为setUnitMemory:名称=值,名称=值...
。
setUnitMemory例子 |
---|
# [action] 中 setUnitMemory:a=1,b=memory.b+1 |
在1.15p9更新后,也可以通过[core]updateUnitMemory
来维持内存更新,即每到达设定时间就进行一次内存更新,格式与setUnitMemory
相同,但需要添加到[core]节。通过[core]updateUnitMemoryRate
可以设置更新频率(单位为帧,填写0为不停的更新)。