代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
一五九.瑞士手杖(砍树、凿石、锤墙、挖草、祛暑、取暖、防雨、补脑、瞬移、10倍攻击力、2倍速度、照明)
用MT管理器打开游戏目录/assets/scripts/prefabs/cane.lua文件,
1.在local function onequip(inst, owner)的下一行插入以下内容:
inst.Light:Enable(true)
GetPlayer().components.temperature:SetTemp(20)
GetPlayer():PushEvent("stopfreezing")
GetPlayer():PushEvent("stopoverheating")
GetPlayer().components.moisture:SetMoistureLevel(0)
2.在local function onunequip(inst, owner)的下一行插入以下内容:
inst.Light:Enable(false)
GetPlayer().components.temperature:SetTemp(nil)
3.在anim:PlayAnimation("idle")的下一行插入以下内容:
inst:AddComponent("tool")
inst.components.tool:SetAction(ACTIONS.CHOP, 15)
inst.components.tool:SetAction(ACTIONS.MINE, 15)
inst.components.tool:SetAction(ACTIONS.HAMMER,15)
inst.components.tool:SetAction(ACTIONS.DIG)
inst:AddComponent("waterproofer")
inst.components.waterproofer:SetEffectiveness(TUNING.WATERPROOFNESS_ABSOLUTE)
inst:AddComponent("blinkstaff")
local light = inst.entity:AddLight()
light:SetFalloff(0.4)
light:SetIntensity(.7)
light:SetRadius(2.5)
light:SetColour(180/255, 195/255, 150/255)
light:Enable(true)
4.将inst.components.weapon:SetDamage(TUNING.CANE_DAMAGE)替换为inst.components.weapon:SetDamage(TUNING.CANE_DAMAGE*10)
5.将inst.components.equippable.walkspeedmult = TUNING.CANE_SPEED_MULT替换为以下内容:
inst.components.equippable.walkspeedmult = TUNING.CANE_SPEED_MULT*2
inst.components.equippable.dapperness = TUNING.DAPPERNESS_HUGE
即可让手杖拥有瑞士军刀般的多功能。装备手杖时,在空地上点鼠标右键可瞬移,借此可跳过较窄沟壑,少走冤枉路