自定义内存:修订间差异

来自RustedWarfare Wiki
添加的内容 删除的内容
(写一些memory的基本用法)
 
(readUnitMemory前要有单位引用)
第44行: 第44行:
要引用单位内部的自定义内存,可以直接使用 <code>memory.名称</code> 。
要引用单位内部的自定义内存,可以直接使用 <code>memory.名称</code> 。


要引用其他单位的内存,可以使用<code>readUnitMemory</code> ,格式为<code>readUnitMemory('名称',type='类型')</code> 。
要引用其他单位的内存,可以使用<code>readUnitMemory</code> ,格式为<code>单位引用.readUnitMemory('名称',type='类型')</code> 。
{{折叠|readUnitMemory例子|<pre>
{{折叠|readUnitMemory例子|<pre>
self.customTarget1.readUnitMemory('a',type='number')
self.customTarget1.readUnitMemory('a',type='number')

2022年12月30日 (五) 14:06的版本

自定义内存(memory)是铁锈1.15加入的一种数据存储方式。

提示:这个页面专指自定义内存,而不包含自定义内存数组(1.15p11更新)的内容。

类型

memory的类型
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为不停的更新)。