游民星空 > 攻略秘籍 > 攻略 > 正文

饥荒 全人物解锁及主角自动回血等实用修改教程

2015-01-21 11:28:46 来源:互联网 作者:易宁 我要投稿

第260页:奶报箱

展开

二六零.奶报箱(用苔藓种奶报箱,放入黄金,每天清晨送来报纸和5瓶牛奶,读报纸可补脑)

  用记事本打开游戏目录\data\scripts\prefabs\cutlichen.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

  local function itemtest(inst, item, slot)

  if item.prefab == "goldnugget" or item.prefab == "goatmilk" or item.prefab == "cutlichen" then

  return true

  end

  return false

  end

  local slotpos = { Vector3(0,32+4,0), Vector3(0,-(32+4),0), Vector3(0,-(64+32+8+4),0)}

  local widgetbuttoninfo = {

  text = "Buy",

  position = Vector3(0, 95, 0),

  fn = function(inst)

  if inst:HasTag("milkcartons") and inst.components.container:Has("goldnugget", 1) then

  inst.components.container:ConsumeByName("goldnugget", 1)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/HUD/research_available")

  local newspaper = SpawnPrefab("cutlichen")

  newspaper.AnimState:SetBank("blueprint")

  newspaper.AnimState:SetBuild("blueprint")

  newspaper.AnimState:PlayAnimation("idle")

  newspaper.components.inventoryitem:ChangeImageName("blueprint")

  newspaper.Transform:SetScale(1.2, 1.2, 1.2)

  newspaper:AddComponent("named")

  newspaper.components.named:SetName("Newspaper")

  newspaper:RemoveComponent("stackable")

  newspaper:RemoveComponent("edible")

  newspaper:RemoveComponent("perishable")

  newspaper:RemoveComponent("container")

  newspaper:RemoveComponent("deployable")

  newspaper.components.inspectable.getstatus = function(newspaper)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_clothing")

  GetPlayer().components.sanity:DoDelta(GetPlayer().components.sanity.max)

  newspaper:Remove()

  end

  newspaper:AddTag("newspapers")

  GetPlayer().components.inventory:GiveItem(newspaper)

  end

  end }

  local function OnDeploy (inst, pt)

  local milkcarton = SpawnPrefab("cutlichen")

  milkcarton.Transform:SetPosition(pt.x, pt.y, pt.z)

  milkcarton.AnimState:SetBank("icebox")

  milkcarton.AnimState:SetBuild("ice_box")

  milkcarton.AnimState:PlayAnimation("closed")

  milkcarton.Transform:SetScale(0.6, 0.6, 0.6)

  milkcarton.AnimState:SetMultColour(0/255,185/255,255/255,1)

  milkcarton:AddComponent("named")

  milkcarton.components.named:SetName("Milk carton")

  milkcarton:RemoveComponent("stackable")

  milkcarton:RemoveComponent("inventoryitem")

  milkcarton:RemoveComponent("edible")

  milkcarton:RemoveComponent("perishable")

  milkcarton:RemoveComponent("deployable")

  milkcarton.components.container.canbeopened = true

  milkcarton:AddComponent("workable")

  milkcarton.components.workable:SetWorkAction(ACTIONS.HAMMER)

  milkcarton.components.workable:SetWorkLeft(3)

  milkcarton.components.workable:SetOnFinishCallback(function(milkcarton)

  SpawnPrefab("collapse_big").Transform:SetPosition(milkcarton.Transform:GetWorldPosition())

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  milkcarton:Remove()

  end )

  milkcarton:ListenForEvent( "daytime", function()

  if milkcarton.components.container:Has("goldnugget", 5) then

  milkcarton.components.container:ConsumeByName("goldnugget", 5)

  for k = 1, 5 do

  local goatmilk = SpawnPrefab("goatmilk")

  milkcarton.components.container:GiveItem(goatmilk)

  end

  local newspaper = SpawnPrefab("cutlichen")

  newspaper.AnimState:SetBank("blueprint")

  newspaper.AnimState:SetBuild("blueprint")

  newspaper.AnimState:PlayAnimation("idle")

  newspaper.components.inventoryitem:ChangeImageName("blueprint")

  newspaper.Transform:SetScale(1.2, 1.2, 1.2)

  newspaper:AddComponent("named")

  newspaper.components.named:SetName("Newspaper")

  newspaper:RemoveComponent("stackable")

  newspaper:RemoveComponent("edible")

  newspaper:RemoveComponent("perishable")

  newspaper:RemoveComponent("container")

  newspaper:RemoveComponent("deployable")

  newspaper.components.inspectable.getstatus = function(newspaper)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_clothing")

  GetPlayer().components.sanity:DoDelta(GetPlayer().components.sanity.max)

  newspaper:Remove()

  end

  newspaper:AddTag("newspapers")

  milkcarton.components.container:GiveItem(newspaper)

  end

  end, GetWorld())

  milkcarton:AddTag("milkcartons")

  inst.components.stackable:Get():Remove()

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  inst.components.deployable.min_spacing = 1

  inst:AddComponent("container")

  inst.components.container.widgetbuttoninfo = widgetbuttoninfo

  inst.components.container:SetNumSlots(#slotpos)

  inst.components.container.widgetslotpos = slotpos

  inst.components.container.widgetpos = Vector3(0,150,0)

  inst.components.container.side_align_tip = 160

  inst.components.container.canbeopened = false

  inst.components.container.onopenfn = function(inst) inst.AnimState:PlayAnimation("open") GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold") end

  inst.components.container.onclosefn = function(inst) inst.AnimState:PlayAnimation("close") GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold") end

  inst.components.container.itemtestfn = itemtest

  inst:AddTag("fridge")

  local function onsave(inst, data)

  if inst:HasTag("milkcartons") then

  data.milkcartons = true

  end

  if inst:HasTag("newspapers") then

  data.newspapers = true

  end

  end

  local function onload(inst, data)

  if data and data.milkcartons then

  inst.AnimState:SetBank("icebox")

  inst.AnimState:SetBuild("ice_box")

  inst.AnimState:PlayAnimation("closed")

  inst.Transform:SetScale(0.6, 0.6, 0.6)

  inst.AnimState:SetMultColour(0/255,185/255,255/255,1)

  inst:AddComponent("named")

  inst.components.named:SetName("Milk carton")

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  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()

  if inst.components.container:Has("goldnugget", 5) then

  inst.components.container:ConsumeByName("goldnugget", 5)

  for k = 1, 5 do

  local goatmilk = SpawnPrefab("goatmilk")

  inst.components.container:GiveItem(goatmilk)

  end

  local newspaper = SpawnPrefab("cutlichen")

  newspaper.AnimState:SetBank("blueprint")

  newspaper.AnimState:SetBuild("blueprint")

  newspaper.AnimState:PlayAnimation("idle")

  newspaper.components.inventoryitem:ChangeImageName("blueprint")

  newspaper.Transform:SetScale(1.2, 1.2, 1.2)

  newspaper:AddComponent("named")

  newspaper.components.named:SetName("Newspaper")

  newspaper:RemoveComponent("stackable")

  newspaper:RemoveComponent("edible")

  newspaper:RemoveComponent("perishable")

  newspaper:RemoveComponent("container")

  newspaper:RemoveComponent("deployable")

  newspaper.components.inspectable.getstatus = function(newspaper)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_clothing")

  GetPlayer().components.sanity:DoDelta(GetPlayer().components.sanity.max)

  newspaper:Remove()

  end

  newspaper:AddTag("newspapers")

  inst.components.container:GiveItem(newspaper)

  end

  end, GetWorld())

  inst:AddTag("milkcartons")

  end

  if data and data.newspapers then

  inst.AnimState:SetBank("blueprint")

  inst.AnimState:SetBuild("blueprint")

  inst.AnimState:PlayAnimation("idle")

  inst.components.inventoryitem:ChangeImageName("blueprint")

  inst.Transform:SetScale(1.2, 1.2, 1.2)

  inst:AddComponent("named")

  inst.components.named:SetName("Newspaper")

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("edible")

  inst:RemoveComponent("perishable")

  inst:RemoveComponent("container")

  inst:RemoveComponent("deployable")

  inst.components.inspectable.getstatus = function(inst)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_clothing")

  GetPlayer().components.sanity:DoDelta(GetPlayer().components.sanity.max)

  inst:Remove()

  end

  inst:AddTag("newspapers")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用苔藓种奶报箱,鼠标左键点奶报箱可打开格子,在格子中放入黄金(订奶预付款,最少5个黄金),第二天清晨将送来5瓶牛奶,并免费赠送一份报纸,同时扣除5个黄金。将报纸放入物品栏,对其点鼠标右键可读报,将补满脑值。如果格子中有黄金,点格子上方的“Buy”按钮,可以额外购买报纸,每份1个黄金。如果每天想多订牛奶和报纸,就多种几个奶报箱吧。不想要奶报箱了,用锤子砸毁即可。苔藓可在洞穴中采到。不要与“用苔藓种苔藓(苔藓可移植)”一同修改

更多相关内容请关注:饥荒专区

责任编辑:Shy夏夏

上一页 251 252 253 254 255 256 257 258 259 260 261 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

文章内容导航
游民星空APP
随手浏览游戏攻略
code
攻略合集
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏