自定义内存:修订间差异

无编辑摘要
标签移动版编辑 移动版网页编辑 高级移动版编辑
→‎修改:​添加注意事项。
标签移动版编辑 移动版网页编辑
 
(未显示2个用户的3个中间版本)
第13行: 第13行:
|-
|-
|number
|number
|整数
|整数(float)
|-
|-
|unit
|unit
第23行: 第23行:


==定义==
==定义==
在[core]节中,可以使用<code>defineUnitMemory</code>和<code>@memory</code>来定义内存,内存名字可以是中文。
在[core]节中,可以使用<code>defineUnitMemory</code>和<code>@memory</code>来定义内存,内存名字可以是中文,但请注意,应避免使用特殊符号命名


=== 通过defineUnitMemory定义 ===
=== 通过defineUnitMemory定义 ===
第40行: 第40行:


=== 通过@memory定义 ===
=== 通过@memory定义 ===
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。
@memory是defineUnitMemory的快捷方式,通常由多行多个@memory组成。更推荐用于模板,defineUnitMemory可以被覆盖,致使定义的内容无法生效,@memory可以避免此种情况


单个@memory的格式为: <code>@memory 名称:类型</code>
单个@memory的格式为: <code>@memory 名称:类型</code>
第63行: 第63行:
setUnitMemory:a=1,b=memory.b+1
setUnitMemory:a=1,b=memory.b+1
</pre>}}
</pre>}}
在[[1.15|1.15p10]]更新后,也可以通过<code>[core]updateUnitMemory</code>来维持内存更新,即每到达设定时间就进行一次内存更新,格式与<code>setUnitMemory</code>相同,但需要添加到[core]节。通过<code>[core]updateUnitMemoryRate</code>可以设置更新频率(单位为帧,填写0为不停的更新
在[[1.15|1.15p10]]更新后,也可以通过<code>[core]updateUnitMemory</code>来维持内存更新,即每到达设定时间就进行一次内存更新,格式与<code>setUnitMemory</code>相同,但需要添加到[core]节。通过<code>[core]updateUnitMemoryRate</code>可以设置更新频率(单位为帧,填写0为不停的更新),但请不要填写NaN或NaNs,这使得<code>[core]updateUnitMemoryRate</code>不再更新
[[分类:模组制作]]
[[分类:模组制作]]

2024年3月22日 (五) 19:01的最新版本

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

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

类型

memory的类型
boolean 布尔值
float 浮点数
number 整数(float)
unit 单位
string 字符串

定义

在[core]节中,可以使用defineUnitMemory@memory来定义内存,内存名字可以是中文,但请注意,应避免使用特殊符号命名。

通过defineUnitMemory定义

在[core]节中添加: defineUnitMemory:类型 名称,类型 名称......

defineUnitMemory例子
defineUnitMemory:boolean is_alive,float xp,unit c_target,unit father,string customText
或者
defineUnitMemory:"""
boolean is_alive,
float xp,
unit c_target,
unit father,
string customText
"""

通过@memory定义

@memory是defineUnitMemory的快捷方式,通常由多行多个@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.15p10更新后,也可以通过[core]updateUnitMemory来维持内存更新,即每到达设定时间就进行一次内存更新,格式与setUnitMemory相同,但需要添加到[core]节。通过[core]updateUnitMemoryRate可以设置更新频率(单位为帧,填写0为不停的更新),但请不要填写NaN或NaNs,这使得[core]updateUnitMemoryRate不再更新。