饥荒联机版mod制作[修改原版的逻辑--hook]
或许在我们游玩的过程中会有一些有一些原版的玩法不符合我们的期望,这时我们就可以对其进行一些修改,来提升我们的游戏体验。
修改的方法是在实体或者组件(想修改的内容是什么,这里就改什么)初始化的时候,对其代码逻辑进行修改,从而使这个实体或者组件达到我们的预期目标。
一、对预制体进行修改
1.1 使用到的API
如果需要修改某一特定的预制体,则使用AddPrefabPostInit
AddPrefabPostInit("name", function(inst)
if TheWorld.ismastersim then
-- 大多数的实体逻辑只在主机执行,所以加上这句
end
end)
-- 第一个位置的参数为预制体的代码
-- 第二个位置的参数为你要修改的逻辑函数
如果需要修改全部预制体,则使用AddPrefabPostInitAny
AddPrefabPostInitAny(function(inst)
if TheWorld.ismastersim then
-- 大多数的实体逻辑只在主机执行,所以加上这句
end
end)
-- 参数为你要修改的逻辑函数
1.2 具体方法
如果我们想完全修改原有的逻辑,直接使用1.1中的API即可;
如果我们只想在特定情况下修改原有的逻辑,那么我们就需要做两件事:得到原有逻辑、判断是否修改。
这里采用的方法是,将原有逻辑赋值给自己定义的参数,再判断条件是否成立,若成立则用自己的代码直接覆盖原有的逻辑,若不成立则执行原有的逻辑。
修改时要指定你要对原版代码的哪一部分进行修改,比如下面的示例制定了修改inst.Order函数,代码示例如下:
AddPrefabPostInit("name", function(ins
