代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接: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为远离熄灭距离,可自行调整