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

原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html


 1
 2一九一.火炬召唤亡灵(阿比盖尔)
 3
 4	MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/torch.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
 5
 6local function cancreatelight(staff, caster, target, pos)
 7	local ground = GetWorld()
 8	if ground and pos then
 9		local tile = ground.Map:GetTileAtPoint(pos.x, pos.y, pos.z)
10		return tile ~= GROUND.IMPASSIBLE and tile < GROUND.UNDERGROUND
11	end
12	return false
13end
14local function createlight(staff, target, pos)
15	local light = SpawnPrefab("abigail")
16	light.Transform:SetPosition(pos.x, pos.y, pos.z)
17end
18	inst:AddComponent("spellcaster")
19	inst.components.spellcaster:SetSpellFn(createlight)
20	inst.components.spellcaster:SetSpellTestFn(cancreatelight)
21	inst.components.spellcaster.canuseonpoint = true
22	inst.components.spellcaster.canusefrominventory = false
23
24	即可在装备火炬时,在空地上按鼠标右键召唤亡灵,亡灵会保护你。想取消亡灵,召唤两个以上(一个追不上它),对其中一个按ctrl + 鼠标左键,即可取消全部亡灵。不要与“我的小伙伴”一同修改