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

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

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

第255页:天然温泉

展开

二五五.天然温泉(用触手皮种温泉,可恢复生命和脑,可抓鱼)

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

  local function spa(inst)

  local pt = inst:GetPosition()

  local spa = SpawnPrefab("tentaclespots")

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

  spa.AnimState:SetBank("marsh_tile")

  spa.AnimState:SetBuild("marsh_tile")

  spa.AnimState:PlayAnimation("idle_cave",true)

  spa.AnimState:SetOrientation( ANIM_ORIENTATION.OnGround )

  spa.AnimState:SetLayer( LAYER_BACKGROUND )

  spa.AnimState:SetSortOrder( 3 )

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

  spa:RemoveComponent("inventoryitem")

  spa:RemoveComponent("stackable")

  spa:RemoveComponent("fuel")

  spa:RemoveComponent("burnable")

  spa:RemoveComponent("propagator")

  spa:RemoveComponent("deployable")

  if spa.components.edible then spa:RemoveComponent("edible") end

  spa:AddTag("NOCLICK")

  spa:AddTag("spa")

  spa:DoPeriodicTask(math.random(10,20), function(spa)

  local pt1 = spa:GetPosition()

  local names = {"fish","eel"}

  local name = names[math.random(#names)]

  local fish = SpawnPrefab(name)

  fish.Transform:SetPosition(pt1.x+(math.random(4)-math.random(4)), 0, pt1.z+(math.random(4)-math.random(4)))

  SpawnPrefab("splash").Transform:SetPosition(fish.Transform:GetWorldPosition())

  spa:DoTaskInTime(0.5, function(spa)

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

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

  for k,v in pairs(ents) do

  if v.components.inventoryitem and not v.components.inventoryitem:IsHeld() then

  if v.prefab == "fish" or v.prefab == "eel" then

  SpawnPrefab("splash").Transform:SetPosition(v.Transform:GetWorldPosition())

  v:Remove()

  end

  end

  end

  end )

  end )

  spa:DoPeriodicTask(3, function(spa)

  local pos2 = Vector3(spa.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos2.x,pos2.y,pos2.z, 4.8)

  for k,v in pairs(ents) do

  if v:HasTag("player") then

  v.components.health:DoDelta(v.components.health.maxhealth*.02)

  v.components.sanity:DoDelta(v.components.sanity.max*.02)

  end

  end

  end )

  local rock1 = SpawnPrefab("tentaclespots")

  rock1.Transform:SetPosition(pt.x-3.3-0.5, 0, pt.z-3.3+0.5)

  rock1.AnimState:SetBank("rock")

  rock1.AnimState:SetBuild("rock")

  rock1.AnimState:PlayAnimation("full")

  rock1.Transform:SetScale(2, 2, 2)

  rock1:AddTag("sparock")

  rock1:RemoveComponent("inventoryitem")

  rock1:RemoveComponent("stackable")

  rock1:RemoveComponent("fuel")

  rock1:RemoveComponent("burnable")

  rock1:RemoveComponent("propagator")

  rock1:RemoveComponent("deployable")

  if rock1.components.edible then rock1:RemoveComponent("edible") end

  rock1:AddComponent("workable")

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

  rock1.components.workable:SetWorkLeft(3)

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

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

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

  local pos3 = Vector3(rock1.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos3.x,pos3.y,pos3.z, 10)

  for k,v in pairs(ents) do

  if v:HasTag("spa") then

  v:Remove()

  end

  if v:HasTag("sparock") then

  v:Remove()

  end

  end

  rock1:Remove()

  end )

  local rock2 = SpawnPrefab("tentaclespots")

  rock2.Transform:SetPosition(pt.x-2.1-2.8, 0, pt.z-2.1+2.8)

  rock2.AnimState:SetBank("firepit")

  rock2.AnimState:SetBuild("firepit")

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

  rock2.Transform:SetScale(0.6, 1, 0.6)

  rock2:AddTag("sparock")

  rock2:RemoveComponent("inventoryitem")

  rock2:RemoveComponent("stackable")

  rock2:RemoveComponent("fuel")

  rock2:RemoveComponent("burnable")

  rock2:RemoveComponent("propagator")

  rock2:RemoveComponent("deployable")

  if rock2.components.edible then rock2:RemoveComponent("edible") end

  rock2:AddComponent("burnable")

  rock2.components.burnable:SetFXLevel(5)

  rock2.components.burnable:AddBurnFX("campfirefire", Vector3(0,0.6,0) )

  rock2.components.burnable:Ignite(true)

  rock2:AddComponent("cooker")

  local rock3 = SpawnPrefab("tentaclespots")

  rock3.Transform:SetPosition(pt.x+2.1+2.1, 0, pt.z-2.1+2.1)

  rock3.AnimState:SetBank("flowers")

  rock3.AnimState:SetBuild("flowers")

  rock3.AnimState:PlayAnimation("f10")

  rock3.Transform:SetScale(1.8, 1.8, 1.8)

  rock3:AddTag("sparock")

  rock3:RemoveComponent("inventoryitem")

  rock3:RemoveComponent("stackable")

  rock3:RemoveComponent("fuel")

  rock3:RemoveComponent("burnable")

  rock3:RemoveComponent("propagator")

  rock3:RemoveComponent("deployable")

  if rock3.components.edible then rock3:RemoveComponent("edible") end

  end

  local function OnDeploy (inst, pt)

  spa(inst)

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

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("spa") then

  data.spa = true

  end

  if inst:HasTag("sparock") then

  data.sparock = true

  end

  end

  local function onload(inst, data)

  if data and data.spa then

  spa(inst)

  inst:Remove()

  end

  if data and data.sparock then

  inst:Remove()

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用触手皮种温泉(拿着1个触手皮对地面点鼠标右键,如果拿着多个触手皮,则不会种出来),站在水里可以取暖,并补充生命值和脑值。温泉里会有鱼跳出水面,按住键盘空格键不放,有机会抓住鱼,在温泉旁的火盆里烤鱼吃吧。不想要温泉时,用锤子砸掉大石头即可

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

责任编辑:Shy夏夏

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

本文是否解决了您的问题

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