词条

指令:当区块加载时

PC
最近更新 : · 阅读数:4120 · 发布于:湖北省 历史记录
页面贡献者:
共 1 人编辑
指令:当区块加载时

“开发者的福音之一,不过这东西可能也没什么人用“


1 . 模组简介

ummmm,其实说实话,这个模组很有用,尤其是人物频繁移动的时候,它是一个比较方便且节省性能的写法。只是可惜,没有什么人会用这个模组。
加载方块时触发功能的简单方法,无需每个 mod 多次执行相同的检查。 在很多情况下有助于替换 LoadGridsquare 事件。

2 . 详细描述
警告!这不是非模组开发者应该看到的内容,以下内容来自自动翻译,可参考模组readme文件

## 命令和功能

### 注册一个函数

这些函数在“API.OnLoadCommands”表中设置。

API.OnLoadCommands.myFunction = function(square, myCommand)
print(square, myCommand)
end

造成的更改是临时的,需要在每次游戏重新加载时进行设置。

如果该函数返回 true,则下次再次加载方块时将重复该命令。
在所有其他情况下,该命令将被删除,并且该函数将不会再次被调用。

### 添加命令-功能触发器

您可以在下一次调用时添加命令。

`API.addCommand(x, y, z, { command = "myFunction" })`

造成的更改是永久性的,不需要在重新加载之间再次添加。

参数 1,2,3 用于方形 (x,y,z) 坐标。 它们应该是整数。
参数4,要调用的函数。
当加载方块时,该表将被存储并传递给您的函数。
如果函数返回 true,则将重用该table。

目前,如果您希望即使正方形没有对象也能调用函数,您应该设置 squareCanBeNil = true 。

## 重新加载持久性

每个 Square Command 都存储在该 Square 上的全局对象中,并且命令数据在重新加载之间保持不变。

API系统保存savedData表,然后在OnSGlobalObjectSystemInit事件上加载它,它可以像全局ModData表一样使用。

您只能保存主要类型,对象和函数不是持久性的。

## 例子

这是使用 API 的“软要求”作为可选扩展的示例。
```lua
local API = require "!_TargetSquare_OnLoad"

local addSpawns = function()
local instance = API and API.instance
if not instance then print("myLog: API has no instance") return end

instance.OnLoadCommands.isaWorldSpawn = function(square, myCommand)
ISAWorldSpawns.addToWorld(square, myCommand.sprite)
end

if instance.savedData["isaWorldSpawns"] then
return
end

local x, y, z = 1, 2, 3
instance.addCommand(x, y, z, { command = "isaWorldSpawn", sprite = "solarmod_tileset_01_0" })

instance.savedData["isaWorldSpawns"] = true
end

Events.OnSGlobalObjectSystemInit.Add(addSpawns)
```

## 调试问题
- 要求不返回teble
> 检查您是否使用了正确的文件名,如果找不到该文件,您将看到类似以下内容的日志消息:“require ... failed”
- API 没有实例表。
> API 在 OnSGlobalObjectSystemInit 事件上创建一个实例。 如果加载时没有实例,但游戏加载时有实例,则说明您尝试此操作为时过早。
- 发现其他错误或问题:在 Discord (poltergeist_ix)上联系或创建 github issue



3 . 模组说明
这是一个前置模组,但其可以使得模组开发变得更加简单,故简要展示,仅供各位模组开发大佬参考

4 . 模组信息
指令:当区块加载时

Workshop ID: 2969455858
Mod ID: TargetSquareOnLoad
作者:Poltergeist
授权协议:GitHub开源项目,禁止二次上传

该模组由幸存者“xiao_peng1st”推荐,请允许我再次向您致谢,您推荐的模组会帮助到更多幸存者!
欢迎各位在评论区中讨论补充模组其他内容~如果有其他想看的模组即可留言!收藏网页不迷路,感谢您对维基做出的贡献!




投稿模式

评论(1)

Hurricane_Venus PC

2024年03月13日 08:48 来自山西省

emm,打眼一看就是给大佬留着用的。
阿玉雀食

#1

1 0