代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
1
2二三0.五彩木箱(找东西直接看木箱颜色,木箱可搬动)
3
4 用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/treasurechest.lua文件,将下列内容:
5
6 inst.OnSave = onsave
7 inst.OnLoad = onload
8
9 替换为:
10
11local colours=
12{
13 {198/255,43/255,43/255},
14 {79/255,153/255,68/255},
15 {35/255,105/255,235/255},
16 {233/255,208/255,69/255},
17 {109/255,50/255,163/255},
18 {222/255,126/255,39/255},
19}
20local function onequip(inst, owner)
21 owner.AnimState:OverrideSymbol("swap_body", "swap_backpack", "swap_body")
22end
23local function onunequip(inst, owner)
24 owner.AnimState:ClearOverrideSymbol("swap_body")
25end
26local function turnon(inst)
27 inst.components.machine.ison = true
28 if inst.prefab == "treasurechest" then
29 inst:AddComponent("inventoryitem")
30 end
31end
32local function turnoff(inst)
33 inst.components.machine.ison = false
34 if inst.prefab == "treasurechest" then
35 inst:RemoveComponent("inventoryitem")
36 end
37end
38local function onsave2(inst, data)
39 data.num = inst.balloon_num
40 data.colour_idx = inst.colour_idx
41end
42local function onload2(inst, data)
43 if data then
44 if data.num then
45 inst.balloon_num = data.num
46 inst.AnimState:OverrideSymbol("swap_balloon", "balloon_shapes", "balloon_" .. tostring(inst.balloon_num))
47 end
48 if data.colour_idx then
49 inst.colour_idx = math.min(#colours, data.colour_idx)
50 inst.AnimState:SetMultColour(colours[inst.colour_idx][1],colours[inst.colour_idx][2],colours[inst.colour_idx][3],1)
51 end
52 end
53end
54 inst:AddComponent("machine")
55 inst.components.machine.turnonfn = turnon
56 inst.components.machine.turnofffn = turnoff
57 inst:AddComponent("equippable")
58 inst.components.equippable:SetOnEquip( onequip )
59 inst.components.equippable:SetOnUnequip( onunequip )
60 inst.colour_idx = math.random(#colours)
61 inst.AnimState:SetMultColour(colours[inst.colour_idx][1],colours[inst.colour_idx][2],colours[inst.colour_idx][3],1)
62 inst.OnSave = onsave2
63 inst.OnLoad = onload2
64
65 即可使木箱具备不同颜色,找东西直接看颜色,再也不用翻箱倒柜了。木箱可搬动,对地上的木箱按鼠标右键,可拿起木箱。将木箱放在地上后,对其按鼠标右键,可以锁定在地上