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

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

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

第248页:迷你花坛

展开

二四八.迷你花坛(用燧石种花坛,给种子长出花朵,每晚招来萤火虫)

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

  local names = {"f1","f2","f3","f4","f5","f6","f7","f8","f9","f10"}

  local function OnDeploy (inst, pt)

  local flowerpot = SpawnPrefab("flint")

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

  flowerpot.AnimState:SetBank("firepit")

  flowerpot.AnimState:SetBuild("firepit")

  flowerpot.AnimState:PlayAnimation("idle",false)

  flowerpot.Transform:SetScale(0.5, 0.8, 0.5)

  flowerpot:RemoveComponent("edible")

  flowerpot:RemoveComponent("tradable")

  flowerpot:RemoveComponent("stackable")

  flowerpot:RemoveComponent("inventoryitem")

  flowerpot:RemoveComponent("bait")

  flowerpot:RemoveTag("molebait")

  flowerpot:AddTag("flowerpot")

  flowerpot:AddComponent("workable")

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

  flowerpot.components.workable:SetWorkLeft(3)

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

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

  GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

  local pos1 = Vector3(flowerpot.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos1.x,pos1.y,pos1.z, 0.5)

  for k,v in pairs(ents) do

  if v:HasTag("newflower") then

  v:Remove()

  end

  end

  flowerpot:Remove()

  end )

  flowerpot:ListenForEvent( "dusktime", function()

  if flowerpot:HasTag("flowering") then

  for k = 1,math.random(2,5) do

  local pt1 = flowerpot:GetPosition()

  local fireflies = SpawnPrefab("fireflies")

  fireflies.Transform:SetPosition(pt1.x+(math.random(3)-math.random(3)), 0, pt1.z+(math.random(3)-math.random(3)))

  end

  end

  end , GetWorld() )

  flowerpot:ListenForEvent( "daytime", function()

  local pos = Vector3(flowerpot.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 5)

  for k,v in pairs(ents) do

  if v.prefab == "fireflies" and not v.components.inventoryitem:IsHeld() then

  v:Remove()

  end

  end

  end , GetWorld() )

  flowerpot:AddComponent("trader")

  flowerpot.components.trader:SetAcceptTest(function(flowerpot, item)

  if not flowerpot:HasTag("flowering") then

  if item.prefab == "seeds" then

  return true

  end

  end

  return false

  end )

  flowerpot.components.trader.onaccept = function(flowerpot, giver, item)

  local flower = SpawnPrefab("flint")

  flower.AnimState:SetBank("flowers")

  flower.AnimState:SetBuild("flowers")

  flower.animname = names[math.random(#names)]

  flower.AnimState:PlayAnimation(flower.animname)

  flower.AnimState:SetRayTestOnBB(true)

  flower.Transform:SetScale(1.5, 1.5, 1.5)

  flower.Physics:SetActive(false)

  local follower = flower.entity:AddFollower()

  follower:FollowSymbol( flowerpot.GUID, "swap_object", 0, -50, 0 )

  flower:RemoveComponent("edible")

  flower:RemoveComponent("tradable")

  flower:RemoveComponent("stackable")

  flower:RemoveComponent("inventoryitem")

  flower:RemoveComponent("bait")

  flower:RemoveTag("molebait")

  flower:AddComponent("sanityaura")

  flower.components.sanityaura.aura = TUNING.SANITYAURA_SMALL

  flower:AddComponent("pickable")

  flower.components.pickable.picksound = "dontstarve/wilson/pickup_plants"

  flower.components.pickable:SetUp("petals", 0.1)

  flower.components.pickable.onpickedfn = function(flower)

  flower:Remove()

  flower = nil

  flowerpot:RemoveTag("flowering")

  end

  flower:AddTag("newflower")

  flower:AddTag("goodbye")

  flowerpot:AddTag("flowering")

  end

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

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("goodbye") then

  data.goodbye = true

  end

  if inst:HasTag("flowerpot") then

  data.flowerpot = true

  end

  if inst:HasTag("flowering") then

  data.flowering = true

  end

  end

  local function onload(inst, data)

  if data and data.goodbye then

  inst:Remove()

  end

  if data and data.flowerpot then

  inst.AnimState:SetBank("firepit")

  inst.AnimState:SetBuild("firepit")

  inst.AnimState:PlayAnimation("idle",false)

  inst.Transform:SetScale(0.5, 0.8, 0.5)

  inst:RemoveComponent("edible")

  inst:RemoveComponent("tradable")

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("bait")

  inst:RemoveTag("molebait")

  inst:AddTag("flowerpot")

  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/wilson/rock_break")

  local pos1 = Vector3(inst.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos1.x,pos1.y,pos1.z, 0.5)

  for k,v in pairs(ents) do

  if v:HasTag("newflower") then

  v:Remove()

  end

  end

  inst:Remove()

  end )

  inst:ListenForEvent( "dusktime", function()

  if inst:HasTag("flowering") then

  for k = 1,math.random(2,5) do

  local pt1 = inst:GetPosition()

  local fireflies = SpawnPrefab("fireflies")

  fireflies.Transform:SetPosition(pt1.x+(math.random(3)-math.random(3)), 0, pt1.z+(math.random(3)-math.random(3)))

  end

  end

  end , GetWorld() )

  inst:ListenForEvent( "daytime", function()

  local pos = Vector3(inst.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 5)

  for k,v in pairs(ents) do

  if v.prefab == "fireflies" and not v.components.inventoryitem:IsHeld() then

  v:Remove()

  end

  end

  end , GetWorld() )

  inst:AddComponent("trader")

  inst.components.trader:SetAcceptTest(function(inst, item)

  if not inst:HasTag("flowering") then

  if item.prefab == "seeds" then

  return true

  end

  end

  return false

  end )

  inst.components.trader.onaccept = function(inst, giver, item)

  local flower = SpawnPrefab("flint")

  flower.AnimState:SetBank("flowers")

  flower.AnimState:SetBuild("flowers")

  flower.animname = names[math.random(#names)]

  flower.AnimState:PlayAnimation(flower.animname)

  flower.AnimState:SetRayTestOnBB(true)

  flower.Transform:SetScale(1.5, 1.5, 1.5)

  flower.Physics:SetActive(false)

  local follower = flower.entity:AddFollower()

  follower:FollowSymbol( inst.GUID, "swap_object", 0, -50, 0 )

  flower:RemoveComponent("edible")

  flower:RemoveComponent("tradable")

  flower:RemoveComponent("stackable")

  flower:RemoveComponent("inventoryitem")

  flower:RemoveComponent("bait")

  flower:RemoveTag("molebait")

  flower:AddComponent("sanityaura")

  flower.components.sanityaura.aura = TUNING.SANITYAURA_SMALL

  flower:AddComponent("pickable")

  flower.components.pickable.picksound = "dontstarve/wilson/pickup_plants"

  flower.components.pickable:SetUp("petals", 0.1)

  flower.components.pickable.onpickedfn = function(flower)

  flower:Remove()

  flower = nil

  inst:RemoveTag("flowering")

  end

  flower:AddTag("newflower")

  flower:AddTag("goodbye")

  inst:AddTag("flowering")

  end

  end

  if data and data.flowering then

  local flower = SpawnPrefab("flint")

  flower.AnimState:SetBank("flowers")

  flower.AnimState:SetBuild("flowers")

  flower.animname = names[math.random(#names)]

  flower.AnimState:PlayAnimation(flower.animname)

  flower.AnimState:SetRayTestOnBB(true)

  flower.Transform:SetScale(1.5, 1.5, 1.5)

  flower.Physics:SetActive(false)

  local follower = flower.entity:AddFollower()

  follower:FollowSymbol( inst.GUID, "swap_object", 0, -50, 0 )

  flower:RemoveComponent("edible")

  flower:RemoveComponent("tradable")

  flower:RemoveComponent("stackable")

  flower:RemoveComponent("inventoryitem")

  flower:RemoveComponent("bait")

  flower:RemoveTag("molebait")

  flower:AddComponent("sanityaura")

  flower.components.sanityaura.aura = TUNING.SANITYAURA_SMALL

  flower:AddComponent("pickable")

  flower.components.pickable.picksound = "dontstarve/wilson/pickup_plants"

  flower.components.pickable:SetUp("petals", 0.1)

  flower.components.pickable.onpickedfn = function(flower)

  flower:Remove()

  flower = nil

  inst:RemoveTag("flowering")

  end

  flower:AddTag("newflower")

  flower:AddTag("goodbye")

  inst:AddTag("flowering")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用燧石种迷你花坛,在花坛中放入1个种子(拿着种子对花坛点鼠标左键),可开一朵花,品种随机。鼠标左键点花朵,可摘花(获得花瓣)。当花坛中有花时,靠近可以补脑,并且每晚都会招来萤火虫(天亮时消失),尽情捕捉吧。如果同时修改了“网上宠宠店”,就可以将抓到的萤火虫在线卖掉换黄金。不想要迷你花坛时,用锤子砸掉即可

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

责任编辑:Shy夏夏

上一页 241 242 243 244 245 246 247 248 249 250 251 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

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