代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接: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 即可用齿轮种宠物狗,用海象牙种宠物海狸,它们可以陪伴你,帮你打怪,是活力十足的小淘气。宠物需要喂食,不然会咬你(轻轻的),宠物狗喜欢吃肉,宠物海狸喜欢吃蔬菜,通过喂食可以为它们补血。最好在家的角落里扔一些食物,让它们随饿随吃