YN230-五彩木箱(找东西直接看木箱颜色,木箱可搬动)
代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。 原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html 二三0.五彩木箱(找东西直接看木箱颜色,木箱可搬动) 用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/treasurechest.lua文件,将下列内容: inst.OnSave = onsave inst.OnLoad = onload 替换为: local colours= { {198/255,43/255,43/255}, {79/255,153/255,68/255}, {35/255,105/255,235/255}, {233/255,208/255,69/255}, {109/255,50/255,163/255}, {222/255,126/255,39/255}, } local function onequip(inst, owner) owner.AnimState:OverrideSymbol("swap_body", "swap_backpack", "swap_body") end local function onunequip(inst, owner) owner.AnimState:ClearOverrideSymbol("swap_body") end local function turnon(inst) inst.components.machine.ison = true if inst.prefab == "treasurechest" then inst:AddComponent("inventoryitem") end end local function turnoff(inst) inst.components.machine.ison = false if inst.prefab == "treasurechest" then inst:RemoveComponent("inventoryitem") end end local function onsave2(inst, data) data.num = inst.balloon_num data.colour_idx = inst.colour_idx end local function onload2(inst, data) if data then if data.num then inst.balloon_num = data.num inst.AnimState:OverrideSymbol("swap_balloon", "balloon_shapes", "balloon_" .. tostring(inst.balloon_num)) end if data.colour_idx then inst.colour_idx = math.min(#colours, data.colour_idx) inst.AnimState:SetMultColour(colours[inst.colour_idx][1],colours[inst.colour_idx][2],colours[inst.colour_idx][3],1) end end end inst:AddComponent("machine") inst.components.machine.turnonfn = turnon inst.components.machine.turnofffn = turnoff inst:AddComponent("equippable") inst.components.equippable:SetOnEquip( onequip ) inst.components.equippable:SetOnUnequip( onunequip ) inst.colour_idx = math.random(#colours) inst.AnimState:SetMultColour(colours[inst.colour_idx][1],colours[inst.colour_idx][2],colours[inst.colour_idx][3],1) inst.OnSave = onsave2 inst.OnLoad = onload2 即可使木箱具备不同颜色,找东西直接看颜色,再也不用翻箱倒柜了。木箱可搬动,对地上的木箱按鼠标右键,可拿起木箱。将木箱放在地上后,对其按鼠标右键,可以锁定在地上