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

原帖链接: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	即可使木箱具备不同颜色,找东西直接看颜色,再也不用翻箱倒柜了。木箱可搬动,对地上的木箱按鼠标右键,可拿起木箱。将木箱放在地上后,对其按鼠标右键,可以锁定在地上