代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
1
2二三五.极速快递(拿着背包对地面点右键,将它传送回家)
3
4 用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/backpack.lua文件,将inst.components.inventoryitem.cangoincontainer = false替换为以下内容:
5
6 inst.components.inventoryitem.cangoincontainer = true
7local function OnDeploy (inst, pt)
8 SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition())
9 local pos = Vector3(inst.Transform:GetWorldPosition())
10 local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 3000)
11 for k,v in pairs(ents) do
12 if v.prefab == "firepit" then
13 inst.Transform:SetPosition(v.Transform:GetWorldPosition())
14 end
15 end
16end
17 inst:AddComponent("deployable")
18 inst.components.deployable.ondeploy = OnDeploy
19 inst:AddTag("fridge")
20
21 即可将拿不下的东西放在普通背包里,拿着背包对地面点鼠标右键,会自动传送到石头营火旁,再多的战利品都可以快递回家。背包同时具备冷藏功能,里面的食物可以长久保鲜。快递只在同一地层服务(不能从地下传送到地面),为保证快递投送准确,请在同一地层只保留一处石头营火(多处的话将随机投送)。如果之前修改过“同时携带多个背包”,就查找不到inst.components.inventoryitem.cangoincontainer = false这句,将inst.components.inventoryitem.cangoincontainer = true替换为下面的内容即可