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

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


 1
 2一九四.宠物双子星(用齿轮种宠物狗,用海象牙种宠物海狸)
 3
 4	1.MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/gears.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
 5
 6local function OnDeploy (inst, pt)
 7	local dog = SpawnPrefab("teenbird")
 8	dog.Transform:SetPosition(pt.x, pt.y, pt.z)
 9	dog.AnimState:SetBank("hound")
10	dog.AnimState:SetBuild("hound_ice")
11	dog:SetStateGraph("SGhound")
12	dog.components.follower:SetLeader(GetPlayer())
13	dog.Transform:SetScale(0.6, 0.6, 0.6)
14	dog:AddTag("dogs")
15	dog.components.health:SetMaxHealth(10000)
16	dog.components.locomotor.runspeed = 20
17	dog:RemoveComponent("growable")
18	inst.components.stackable:Get():Remove()
19end
20	inst:AddComponent("deployable")
21	inst.components.deployable.ondeploy = OnDeploy
22
23
24	2.MT管理器打开游戏目录/assets/scripts/prefabs/walrus_tusk.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
25
26local function OnDeploy (inst, pt)
27	local beaver = SpawnPrefab("teenbird")
28	beaver.Transform:SetPosition(pt.x, pt.y, pt.z)
29	beaver.AnimState:SetBank("werebeaver")
30	beaver.AnimState:SetBuild("werebeaver_build")
31	beaver:SetStateGraph("SGwerebeaver")
32	beaver.components.follower:SetLeader(GetPlayer())
33	beaver.Transform:SetScale(0.6, 0.6, 0.6)
34	beaver:AddTag("beavers")
35	beaver.components.eater:SetVegetarian()
36	beaver.components.health:SetMaxHealth(10000)
37	beaver.components.locomotor.runspeed = 20
38	beaver:RemoveComponent("growable")
39	inst.components.stackable:Get():Remove()
40end
41	inst:AddComponent("deployable")
42	inst.components.deployable.ondeploy = OnDeploy
43
44
45	3.MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/smallbird.lua文件,在Asset("ANIM", "anim/smallbird_basic.zip"),的下一行插入以下内容:
46
47	Asset("ANIM", "anim/werebeaver_build.zip"),
48	Asset("ANIM", "anim/werebeaver_basic.zip"),
49
50
51	4.inst:AddTag("teenbird")的下一行插入以下内容:
52
53local function onsave(inst, data)
54	if inst:HasTag("dogs") then
55		data.dogs = true
56	end
57	if inst:HasTag("beavers") then
58		data.beavers = true
59	end
60end
61local function onload(inst, data)
62	if data.dogs then
63	   inst.AnimState:SetBank("hound")
64	   inst.AnimState:SetBuild("hound_ice")
65	   inst:SetStateGraph("SGhound")
66	   inst.components.follower:SetLeader(GetPlayer())
67	   inst.Transform:SetScale(0.6, 0.6, 0.6)
68	   inst.components.health:SetMaxHealth(10000)
69	   inst.components.locomotor.runspeed = 20
70	   inst:RemoveComponent("growable")
71	   inst:AddTag("dogs")
72	end
73	if data.beavers then
74	   inst.AnimState:SetBank("werebeaver")
75	   inst.AnimState:SetBuild("werebeaver_build")
76	   inst:SetStateGraph("SGwerebeaver")
77	   inst.components.follower:SetLeader(GetPlayer())
78	   inst.Transform:SetScale(0.6, 0.6, 0.6)
79	   inst.components.health:SetMaxHealth(10000)
80	   inst.components.eater:SetVegetarian()
81	   inst.components.locomotor.runspeed = 20
82	   inst:RemoveComponent("growable")
83	   inst:AddTag("beavers")
84	end
85end
86	inst.OnSave = onsave
87	inst.OnLoad = onload
88
89	即可用齿轮种宠物狗,用海象牙种宠物海狸,它们可以陪伴你,帮你打怪,是活力十足的小淘气。宠物需要喂食,不然会咬你(轻轻的),宠物狗喜欢吃肉,宠物海狸喜欢吃蔬菜,通过喂食可以为它们补血。最好在家的角落里扔一些食物,让它们随饿随吃