Closed ChouUn closed 2 months ago
运行时改物编问题有点多,改用插件创建物编吧
运行时改物编问题有点多
有点困惑,本句是想表达「目前编辑器技术层面不好实现」,还是「运行时修改物编会导致很多问题」? 我之前的做法,是在脚本初始化的地方创建物编,这大概算一个比较常见的场景。不至于在玩家游戏过程中修改物编。
还有一个点,设置以后无效会比较困惑。
如果现阶段运行时修改无法生效,可以考虑先把 ---@field name string|integer
改成 ---@field name integer
;或者加点注释。
目前我的解决方案如下,供有需要的人参考。 顺便让小汐锐评下有没有潜在问题(
-- 给技能模板存储 kv
local newAbltTpl = abltTpl:new()
newAbltTpl:kv_save('name', '新建技能' .. tostring(i))
newAbltTpl:kv_save('desc', '新建技能描述' .. tostring(i))
-- 创建技能实例的时候,读取模板的 kv
y3.game:event('技能-获得', function(trg, data)
local ablt = data.ability
local tpl = y3.object.ability[ablt:get_key()]
ablt:set_name(tpl:kv_load('name', 'string'))
ablt:set_description(tpl:kv_load('desc', 'string'))
end)
改用插件创建物编吧
是自写一个插件吗,还是在商店 / 演示中已有案例?烦请告知
找到了,是 y3-helper
期望:打印出 "Lua 新建技能" 实际:打印出 "物编新建技能" 问题:无法修改技能模板 (EditorObject.Ability) 的技能名,但是可以修改技能实例 (Ability) 的技能名