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