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

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



一九四.宠物双子星(用齿轮种宠物狗,用海象牙种宠物海狸)

	1.用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/gears.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)
	local dog = SpawnPrefab("teenbird")
	dog.Transform:SetPosition(pt.x, pt.y, pt.z)
	dog.AnimState:SetBank("hound")
	dog.AnimState:SetBuild("hound_ice")
	dog:SetStateGraph("SGhound")
	dog.components.follower:SetLeader(GetPlayer())
	dog.Transform:SetScale(0.6, 0.6, 0.6)
	dog:AddTag("dogs")
	dog.components.health:SetMaxHealth(10000)
	dog.components.locomotor.runspeed = 20
	dog:RemoveComponent("growable")
	inst.components.stackable:Get():Remove()
end
	inst:AddComponent("deployable")
	inst.components.deployable.ondeploy = OnDeploy


	2.用MT管理器打开游戏目录/assets/scripts/prefabs/walrus_tusk.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)
	local beaver = SpawnPrefab("teenbird")
	beaver.Transform:SetPosition(pt.x, pt.y, pt.z)
	beaver.AnimState:SetBank("werebeaver")
	beaver.AnimState:SetBuild("werebeaver_build")
	beaver:SetStateGraph("SGwerebeaver")
	beaver.components.follower:SetLeader(GetPlayer())
	beaver.Transform:SetScale(0.6, 0.6, 0.6)
	beaver:AddTag("beavers")
	beaver.components.eater:SetVegetarian()
	beaver.components.health:SetMaxHealth(10000)
	beaver.components.locomotor.runspeed = 20
	beaver:RemoveComponent("growable")
	inst.components.stackable:Get():Remove()
end
	inst:AddComponent("deployable")
	inst.components.deployable.ondeploy = OnDeploy


	3.用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/smallbird.lua文件,在Asset("ANIM", "anim/smallbird_basic.zip"),的下一行插入以下内容:

	Asset("ANIM", "anim/werebeaver_build.zip"),
	Asset("ANIM", "anim/werebeaver_basic.zip"),


	4.在inst:AddTag("teenbird")的下一行插入以下内容:

local function onsave(inst, data)
	if inst:HasTag("dogs") then
		data.dogs = true
	end
	if inst:HasTag("beavers") then
		data.beavers = true
	end
end
local function onload(inst, data)
	if data.dogs then
	   inst.AnimState:SetBank("hound")
	   inst.AnimState:SetBuild("hound_ice")
	   inst:SetStateGraph("SGhound")
	   inst.components.follower:SetLeader(GetPlayer())
	   inst.Transform:SetScale(0.6, 0.6, 0.6)
	   inst.components.health:SetMaxHealth(10000)
	   inst.components.locomotor.runspeed = 20
	   inst:RemoveComponent("growable")
	   inst:AddTag("dogs")
	end
	if data.beavers then
	   inst.AnimState:SetBank("werebeaver")
	   inst.AnimState:SetBuild("werebeaver_build")
	   inst:SetStateGraph("SGwerebeaver")
	   inst.components.follower:SetLeader(GetPlayer())
	   inst.Transform:SetScale(0.6, 0.6, 0.6)
	   inst.components.health:SetMaxHealth(10000)
	   inst.components.eater:SetVegetarian()
	   inst.components.locomotor.runspeed = 20
	   inst:RemoveComponent("growable")
	   inst:AddTag("beavers")
	end
end
	inst.OnSave = onsave
	inst.OnLoad = onload

	即可用齿轮种宠物狗,用海象牙种宠物海狸,它们可以陪伴你,帮你打怪,是活力十足的小淘气。宠物需要喂食,不然会咬你(轻轻的),宠物狗喜欢吃肉,宠物海狸喜欢吃蔬菜,通过喂食可以为它们补血。最好在家的角落里扔一些食物,让它们随饿随吃