代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html


 1
 2一一五.用硝石种麦斯威尔灯(靠近自动点燃、远离自动灭)
 3
 4	1.MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/nitre.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
 5
 6local function OnDeploy (inst, pt)
 7	SpawnPrefab("maxwelllight").Transform:SetPosition(pt.x, pt.y, pt.z)
 8	inst.components.stackable:Get():Remove()
 9end
10	inst:AddComponent("deployable")
11	inst.components.deployable.ondeploy = OnDeploy
12
13
14	2.MT管理器打开游戏目录/assets/scripts/prefabs/maxwelllight.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
15
16local function onhammered(inst, worker)
17	SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition())
18	SpawnPrefab("nitre").Transform:SetPosition(inst.Transform:GetWorldPosition())
19	inst:Remove()
20end
21
22	inst:AddComponent("playerprox")
23	inst.components.playerprox:SetDist(17, 27 )
24	inst.components.playerprox:SetOnPlayerNear(function() if not inst.components.burnable:IsBurning() then inst.components.burnable:Ignite() end end)
25	inst.components.playerprox:SetOnPlayerFar(extinguish)
26	inst:AddComponent("workable")
27	inst.components.workable:SetWorkAction(ACTIONS.HAMMER)
28	inst.components.workable:SetWorkLeft(1)
29	inst.components.workable:SetOnFinishCallback(onhammered)
30
31
32	3.MT管理器打开游戏目录/assets/scripts/prefabs/maxwelllight_flame.lua文件,将下列内容:
33
34	{anim="level1", sound="dontstarve/common/maxlight", radius=1, intensity=.75, falloff= 1, colour = {207/255,234/255,245/255}, soundintensity=.1},
35	{anim="level2", sound="dontstarve/common/maxlight", radius=1.5, intensity=.8, falloff=.9, colour = {207/255,234/255,245/255}, soundintensity=.3},
36	{anim="level3", sound="dontstarve/common/maxlight", radius=2, intensity=.8, falloff=.8, colour = {207/255,234/255,245/255}, soundintensity=.6},
37	{anim="level4", sound="dontstarve/common/maxlight", radius=2.5, intensity=.9, falloff=.7, colour = {207/255,234/255,245/255}, soundintensity=1},
38	{anim="level1", sound="dontstarve/common/maxlight", radius=2, intensity=.75, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.1},
39	{anim="level2", sound="dontstarve/common/maxlight", radius=3, intensity=.8, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.3},
40	{anim="level3", sound="dontstarve/common/maxlight", radius=4, intensity=.8, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.6},
41	{anim="level4", sound="dontstarve/common/maxlight", radius=6, intensity=.9, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=1},
42
43	替换为:
44
45	{anim="level1", sound="dontstarve/common/maxlight", radius=5, intensity=.75, falloff= 1, colour = {207/255,234/255,245/255}, soundintensity=.1},
46	{anim="level2", sound="dontstarve/common/maxlight", radius=7.5, intensity=.8, falloff=.9, colour = {207/255,234/255,245/255}, soundintensity=.3},
47	{anim="level3", sound="dontstarve/common/maxlight", radius=10, intensity=.8, falloff=.8, colour = {207/255,234/255,245/255}, soundintensity=.6},
48	{anim="level4", sound="dontstarve/common/maxlight", radius=12.5, intensity=.9, falloff=.7, colour = {207/255,234/255,245/255}, soundintensity=1},
49	{anim="level1", sound="dontstarve/common/maxlight", radius=10, intensity=.75, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.1},
50	{anim="level2", sound="dontstarve/common/maxlight", radius=15, intensity=.8, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.3},
51	{anim="level3", sound="dontstarve/common/maxlight", radius=20, intensity=.8, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=.6},
52	{anim="level4", sound="dontstarve/common/maxlight", radius=30, intensity=.9, falloff=.4, colour = {207/255,234/255,245/255}, soundintensity=1},
53
54	即可用硝石种麦斯威尔灯,靠近自动点燃、远离自动灭,不想要时用锤子砸毁即可。其中inst.components.playerprox:SetDist(17, 27 )语句中的17为靠近点燃距离,27为远离熄灭距离,可自行调整