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

原帖链接: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个黄金即可