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

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

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

第242页:自动门

展开

二四二.自动门(用木盔甲种自动门,进出自动开关)

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

  local function OnDeploy (inst, pt)

  local door1 = SpawnPrefab("armorwood")

  door1.Transform:SetPosition(pt.x+0.55, pt.y, pt.z-0.55)

  door1.AnimState:SetBank("winter_meter")

  door1.AnimState:SetBuild("winter_meter")

  door1.AnimState:SetPercent("meter", 1)

  door1.Transform:SetScale(1, 0.7, 1)

  MakeObstaclePhysics(door1, 0.48)

  door1:RemoveComponent("inventoryitem")

  door1:RemoveComponent("fuel")

  door1:RemoveComponent("armor")

  door1:RemoveComponent("equippable")

  door1:RemoveComponent("burnable")

  door1:RemoveComponent("propagator")

  door1:RemoveComponent("deployable")

  door1:RemoveTag("wood")

  door1:AddComponent("workable")

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

  door1.components.workable:SetWorkLeft(2)

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

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

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

  door1:Remove()

  end )

  door1:AddComponent( "playerprox" )

  door1.components.playerprox:SetDist(2,3)

  door1.components.playerprox:SetOnPlayerNear(function(door1)

  door1.Transform:SetScale(0.1, 0.7, 1)

  door1.Physics:SetActive(false)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

  door1.components.playerprox:SetOnPlayerFar(function(door1)

  door1.Transform:SetScale(1, 0.7, 1)

  door1.Physics:SetActive(true)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

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

  door1.Transform:SetScale(0.1, 0.7, 1)

  door1.Physics:SetActive(false)

  door1:DoTaskInTime(3, function(door1)

  door1.Transform:SetScale(1, 0.7, 1)

  door1.Physics:SetActive(true)

  end )

  end

  door1:AddTag("doors")

  local door2 = SpawnPrefab("armorwood")

  door2.Transform:SetPosition(pt.x-0.55, pt.y, pt.z+0.55)

  door2.AnimState:SetBank("winter_meter")

  door2.AnimState:SetBuild("winter_meter")

  door2.AnimState:SetPercent("meter", 1)

  door2.Transform:SetScale(1, 0.7, 1)

  MakeObstaclePhysics(door2, 0.48)

  door2:RemoveComponent("inventoryitem")

  door2:RemoveComponent("fuel")

  door2:RemoveComponent("armor")

  door2:RemoveComponent("equippable")

  door2:RemoveComponent("burnable")

  door2:RemoveComponent("propagator")

  door2:RemoveComponent("deployable")

  door2:RemoveTag("wood")

  door2:AddComponent("workable")

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

  door2.components.workable:SetWorkLeft(2)

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

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

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

  door2:Remove()

  end )

  door2:AddComponent( "playerprox" )

  door2.components.playerprox:SetDist(2,3)

  door2.components.playerprox:SetOnPlayerNear(function(door2)

  door2.Transform:SetScale(0.1, 0.7, 1)

  door2.Physics:SetActive(false)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

  door2.components.playerprox:SetOnPlayerFar(function(door2)

  door2.Transform:SetScale(1, 0.7, 1)

  door2.Physics:SetActive(true)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

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

  door2.Transform:SetScale(0.1, 0.7, 1)

  door2.Physics:SetActive(false)

  door2:DoTaskInTime(3, function(door2)

  door2.Transform:SetScale(1, 0.7, 1)

  door2.Physics:SetActive(true)

  end )

  end

  door2:AddTag("doors")

  inst:Remove()

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("doors") then

  data.doors = true

  end

  end

  local function onload(inst, data)

  if data and data.doors then

  inst.AnimState:SetBank("winter_meter")

  inst.AnimState:SetBuild("winter_meter")

  inst.AnimState:SetPercent("meter", 1)

  inst.Transform:SetScale(1, 0.7, 1)

  MakeObstaclePhysics(inst, 0.48)

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("fuel")

  inst:RemoveComponent("armor")

  inst:RemoveComponent("equippable")

  inst:RemoveComponent("burnable")

  inst:RemoveComponent("propagator")

  inst:RemoveComponent("deployable")

  inst:RemoveTag("wood")

  inst:AddComponent("workable")

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

  inst.components.workable:SetWorkLeft(2)

  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:AddComponent( "playerprox" )

  inst.components.playerprox:SetDist(2,3)

  inst.components.playerprox:SetOnPlayerNear(function(inst)

  inst.Transform:SetScale(0.1, 0.7, 1)

  inst.Physics:SetActive(false)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

  inst.components.playerprox:SetOnPlayerFar(function(inst)

  inst.Transform:SetScale(1, 0.7, 1)

  inst.Physics:SetActive(true)

  GetPlayer().SoundEmitter:PlaySound("dontstarve/characters/wx78/levelup")

  end )

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

  inst.Transform:SetScale(0.1, 0.7, 1)

  inst.Physics:SetActive(false)

  inst:DoTaskInTime(3, function(inst)

  inst.Transform:SetScale(1, 0.7, 1)

  inst.Physics:SetActive(true)

  end )

  end

  inst:AddTag("doors")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用木盔甲种自动门,进出时自动开关,为方便宠物进出,也可以手动开关,鼠标左键点击可开门,3秒后自动关门。种门时,可先建好一排墙,然后砸掉其中2堵,在留下的空地正中间种下自动门,即可与墙完美契合。自动门有方向的限制,只可种在正面的墙之间(进入游戏默认的方向),不能种在侧面的墙之间。不需要自动门时,用锤子砸毁即可。木盔甲在战斗选项(画着两把剑)下,用8个木头、2个绳子制造

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

责任编辑:Shy夏夏

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

本文是否解决了您的问题

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