第339页:自动取款机
展开二八九.自动取款机(用活木头种自动取款机,存入的黄金每天给3%利息)
用记事本打开游戏目录\data\DLC0001\scripts\prefabs\livinglog.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
local function itemtest(inst, item, slot)
if item.prefab == "goldnugget" then
return true
end
return false
end
local slotpos = {}
for y = 2, 0, -1 do
for x = 0, 8 do
table.insert(slotpos, Vector3(75*x-75*2+75, 75*y-75*2+75,0))
end
end
local function OnDeploy (inst, pt)
local bank = SpawnPrefab("livinglog")
bank.Transform:SetPosition(pt.x, pt.y, pt.z)
bank.Transform:SetScale(1.5, 1.5, 1.5)
bank.AnimState:SetBank("ruins_vase")
bank.AnimState:SetBuild("ruins_vase")
bank.AnimState:PlayAnimation("idle")
bank:RemoveComponent("stackable")
bank:RemoveComponent("fuel")
bank:RemoveComponent("edible")
bank:RemoveComponent("inventoryitem")
bank:RemoveComponent("repairer")
bank:RemoveComponent("burnable")
bank:RemoveComponent("propagator")
bank:RemoveComponent("deployable")
bank.components.container.canbeopened = true
bank:AddComponent("workable")
bank.components.workable:SetWorkAction(ACTIONS.HAMMER)
bank.components.workable:SetWorkLeft(3)
bank.components.workable:SetOnFinishCallback(function(bank)
SpawnPrefab("collapse_big").Transform:SetPosition(bank.Transform:GetWorldPosition())
GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")
bank:Remove()
end )
bank:ListenForEvent( "daytime", function()
local num_found = 0
for k,v in pairs(bank.components.container.slots) do
if v and v.prefab == "goldnugget" then
num_found = num_found + v.components.stackable:StackSize()
end
end
local Interests = math.floor(num_found/100*3)
for k = 1, Interests do
bank.components.container:ConsumeByName("goldnugget", -1)
end
end, GetWorld())
bank:AddTag("banks")
inst.components.stackable:Get():Remove()
end
inst:AddComponent("deployable")
inst.components.deployable.ondeploy = OnDeploy
local function onsave(inst, data)
if inst:HasTag("banks") then
data.banks = true
end
end
local function onload(inst, data)
if data and data.banks then
inst.Transform:SetScale(1.5, 1.5, 1.5)
inst.AnimState:SetBank("ruins_vase")
inst.AnimState:SetBuild("ruins_vase")
inst.AnimState:PlayAnimation("idle")
inst:RemoveComponent("stackable")
inst:RemoveComponent("fuel")
inst:RemoveComponent("edible")
inst:RemoveComponent("inventoryitem")
inst:RemoveComponent("repairer")
inst:RemoveComponent("burnable")
inst:RemoveComponent("propagator")
inst:RemoveComponent("deployable")
inst.components.container.canbeopened = true
inst:AddComponent("workable")
inst.components.workable:SetWorkAction(ACTIONS.HAMMER)
inst.components.workable:SetWorkLeft(3)
inst.components.workable:SetOnFinishCallback(function(inst)
SpawnPrefab("collapse_big").Transform:SetPosition(inst.Transform:GetWorldPosition())
GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")
inst:Remove()
end )
inst:ListenForEvent( "daytime", function()
local num_found = 0
for k,v in pairs(inst.components.container.slots) do
if v and v.prefab == "goldnugget" then
num_found = num_found + v.components.stackable:StackSize()
end
end
local Interests = math.floor(num_found/100*3)
for k = 1, Interests do
inst.components.container:ConsumeByName("goldnugget", -1)
end
end, GetWorld())
inst:AddTag("banks")
end
end
inst.OnSave = onsave
inst.OnLoad = onload
inst:AddComponent("container")
inst.components.container:SetNumSlots(#slotpos)
inst.components.container.widgetslotpos = slotpos
inst.components.container.widgetpos = Vector3(-100,200,0)
inst.components.container.side_align_tip = 160
inst.components.container.canbeopened = false
inst.components.container.itemtestfn = itemtest
即可用活木头种自动取款机,鼠标左键点击打开格子,再点击关闭,只能用于存取黄金。将黄金放入取款机,每日天亮时将给予3%利息,不足1个黄金的零头自动抹去(比如存90个黄金,利息为2.7,则只给2个黄金)。土豪们,这是饥荒世界提供的金融服务,将巨款存进去,躺着吃利息吧。如果不想要自动取款机了,用锤子砸掉即可,记住之前把钱取出来哦
更多相关内容请关注:饥荒专区
责任编辑:Shy夏夏