代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
1
2二四0.完好如初(红色魔杖可修复物品、回复新鲜度、补充燃料及治愈同伴)
3
4 用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/staff.lua文件,在local inst = commonfn("red")的下一行插入以下内容:
5
6local function canbeback(staff, caster, target, pos)
7 if caster.components.inventory:Has("goldnugget", 1) then
8 return true
9 end
10 return false
11end
12local function beback(staff, target, pos)
13 local player = GetPlayer()
14 SpawnPrefab("book_fx").Transform:SetPosition(target.Transform:GetWorldPosition())
15 if target.components.fueled then
16 target.components.fueled.currentfuel = target.components.fueled.maxfuel
17 player.components.inventory:ConsumeByName("goldnugget", 1)
18 end
19 if target.components.finiteuses then
20 target.components.finiteuses.current = target.components.finiteuses.total
21 player.components.inventory:ConsumeByName("goldnugget", 1)
22 end
23 if target.components.armor then
24 target.components.armor.condition = target.components.armor.maxcondition
25 player.components.inventory:ConsumeByName("goldnugget", 1)
26 end
27 if target.components.perishable then
28 target.components.perishable.perishremainingtime = target.components.perishable.perishtime
29 player.components.inventory:ConsumeByName("goldnugget", 1)
30 end
31 if target.components.health then
32 target.components.health.currenthealth = target.components.health.maxhealth
33 player.components.inventory:ConsumeByName("goldnugget", 1)
34 end
35end
36 inst:AddComponent("spellcaster")
37 inst.components.spellcaster:SetSpellFn(beback)
38 inst.components.spellcaster:SetSpellTestFn(canbeback)
39 inst.components.spellcaster.canuseontargets = true
40 inst.components.spellcaster.canusefrominventory = false
41
42 即可将想要修复的物品放在地上,装备红色魔杖右键点地上的物品,可修复武器装备使用百分比,回复食物新鲜度,为照明物品补充燃料,也可用于治疗同伴。每次使用须支付1个黄金,身上没有黄金时无法使用。可堆叠的物品尽量堆在一起修复,这样只要花费1个黄金即可