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

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

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

第319页:公车站

展开

二六九.公车站(用草席卷种公车站,买票坐到下一站)

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

  inst.kind = ""

  inst.soundpath = "dontstarve/creatures/rook/"

  inst.effortsound = "dontstarve/creatures/rook/steam"

  local function OnDeploy (inst, pt)

  local busstation = SpawnPrefab("bedroll_straw")

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

  busstation.AnimState:SetBank("sign_home")

  busstation.AnimState:SetBuild("sign_home")

  busstation.AnimState:PlayAnimation("idle")

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

  busstation.AnimState:SetMultColour(255/255,105/255,0/255,0.8)

  local minimap = busstation.entity:AddMiniMapEntity()

  minimap:SetIcon( "sign.png" )

  busstation:RemoveComponent("inventoryitem")

  busstation:RemoveComponent("stackable")

  busstation:RemoveComponent("fuel")

  busstation:RemoveComponent("sleepingbag")

  busstation:RemoveComponent("burnable")

  busstation:RemoveComponent("propagator")

  busstation:RemoveComponent("deployable")

  busstation:AddTag("busstation")

  busstation:AddComponent("workable")

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

  busstation.components.workable:SetWorkLeft(3)

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

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

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

  busstation:Remove()

  end )

  busstation:AddComponent("trader")

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

  if item.prefab == "goldnugget" then

  return true

  end

  return false

  end )

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

  busstation:AddTag("startingpoint")

  local target = FindEntity(busstation, 3000, function(guy)

  return guy:HasTag("busstation") and not guy:HasTag("startingpoint")

  end )

  if target then

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

  GetPlayer().components.playercontroller:Enable(false)

  local pt1 = busstation:GetPosition()

  local bus = SpawnPrefab("bedroll_straw")

  bus.Transform:SetPosition(pt1.x+15+2, 0, pt1.z-15+2)

  bus.AnimState:SetBank("rook")

  bus.AnimState:SetBuild("rook_build")

  bus.AnimState:PlayAnimation("idle", true)

  bus.Transform:SetFourFaced()

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

  bus.AnimState:SetMultColour(255/255,105/255,0/255,1)

  local sound = bus.entity:AddSoundEmitter()

  bus:RemoveComponent("inventoryitem")

  bus:RemoveComponent("stackable")

  bus:RemoveComponent("fuel")

  bus:RemoveComponent("sleepingbag")

  bus:RemoveComponent("burnable")

  bus:RemoveComponent("propagator")

  bus:RemoveComponent("deployable")

  bus:AddTag("goodbye")

  bus:AddComponent("locomotor")

  bus.components.locomotor.walkspeed = 5

  bus.components.locomotor.runspeed = 10

  bus:SetStateGraph("SGrook")

  bus:AddComponent("health")

  bus.components.health:SetMaxHealth(1000)

  bus.components.health:SetInvincible(true)

  bus:AddComponent("combat")

  bus:AddComponent("follower")

  bus:AddComponent("knownlocations")

  bus:DoTaskInTime(1, function()

  bus.components.locomotor:GoToPoint(Point(pt1.x+2, 0, pt1.z+2))

  end )

  bus:DoTaskInTime(9, function()

  GetPlayer():Hide()

  GetPlayer().components.health:SetInvincible(true)

  local shadow = GetPlayer().entity:AddDynamicShadow()

  shadow:SetSize( 0, 0 )

  bus.components.locomotor:GoToPoint(Point(pt1.x-15+2, 0, pt1.z+15+2))

  end )

  GetPlayer():DoTaskInTime(15, function()

  TheFrontEnd:Fade(false,1)

  bus:Remove()

  GetPlayer().Transform:SetPosition(target.Transform:GetWorldPosition())

  GetPlayer():DoTaskInTime(2, function()

  TheFrontEnd:Fade(true,1)

  busstation:RemoveTag("startingpoint")

  GetPlayer():Show()

  GetPlayer().components.health:SetInvincible(false)

  GetPlayer().components.playercontroller:Enable(true)

  local shadow = GetPlayer().entity:AddDynamicShadow()

  shadow:SetSize( 1.3, .6 )

  end )

  end )

  else

  SpawnPrefab("goldnugget").Transform:SetPosition(GetPlayer().Transform:GetWorldPosition())

  busstation:RemoveTag("startingpoint")

  end

  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("busstation") then

  data.busstation = true

  end

  end

  local function onload(inst, data)

  if data and data.goodbye then

  inst:Remove()

  end

  if data and data.busstation then

  inst.AnimState:SetBank("sign_home")

  inst.AnimState:SetBuild("sign_home")

  inst.AnimState:PlayAnimation("idle")

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

  inst.AnimState:SetMultColour(255/255,105/255,0/255,0.8)

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon( "sign.png" )

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("fuel")

  inst:RemoveComponent("sleepingbag")

  inst:RemoveComponent("burnable")

  inst:RemoveComponent("propagator")

  inst:RemoveComponent("deployable")

  inst:AddTag("busstation")

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

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

  if item.prefab == "goldnugget" then

  return true

  end

  return false

  end )

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

  inst:AddTag("startingpoint")

  local target = FindEntity(inst, 3000, function(guy)

  return guy:HasTag("busstation") and not guy:HasTag("startingpoint")

  end )

  if target then

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

  GetPlayer().components.playercontroller:Enable(false)

  local pt1 = inst:GetPosition()

  local bus = SpawnPrefab("bedroll_straw")

  bus.Transform:SetPosition(pt1.x+15+2, 0, pt1.z-15+2)

  bus.AnimState:SetBank("rook")

  bus.AnimState:SetBuild("rook_build")

  bus.AnimState:PlayAnimation("idle", true)

  bus.Transform:SetFourFaced()

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

  bus.AnimState:SetMultColour(255/255,105/255,0/255,1)

  local sound = bus.entity:AddSoundEmitter()

  bus:RemoveComponent("inventoryitem")

  bus:RemoveComponent("stackable")

  bus:RemoveComponent("fuel")

  bus:RemoveComponent("sleepingbag")

  bus:RemoveComponent("burnable")

  bus:RemoveComponent("propagator")

  bus:RemoveComponent("deployable")

  bus:AddTag("goodbye")

  bus:AddComponent("locomotor")

  bus.components.locomotor.walkspeed = 5

  bus.components.locomotor.runspeed = 10

  bus:SetStateGraph("SGrook")

  bus:AddComponent("health")

  bus.components.health:SetMaxHealth(1000)

  bus.components.health:SetInvincible(true)

  bus:AddComponent("combat")

  bus:AddComponent("follower")

  bus:AddComponent("knownlocations")

  bus:DoTaskInTime(1, function()

  bus.components.locomotor:GoToPoint(Point(pt1.x+2, 0, pt1.z+2))

  end )

  bus:DoTaskInTime(9, function()

  GetPlayer():Hide()

  GetPlayer().components.health:SetInvincible(true)

  local shadow = GetPlayer().entity:AddDynamicShadow()

  shadow:SetSize( 0, 0 )

  bus.components.locomotor:GoToPoint(Point(pt1.x-15+2, 0, pt1.z+15+2))

  end )

  GetPlayer():DoTaskInTime(15, function()

  TheFrontEnd:Fade(false,1)

  bus:Remove()

  GetPlayer().Transform:SetPosition(target.Transform:GetWorldPosition())

  GetPlayer():DoTaskInTime(2, function()

  TheFrontEnd:Fade(true,1)

  inst:RemoveTag("startingpoint")

  GetPlayer():Show()

  GetPlayer().components.health:SetInvincible(false)

  GetPlayer().components.playercontroller:Enable(true)

  local shadow = GetPlayer().entity:AddDynamicShadow()

  shadow:SetSize( 1.3, .6 )

  end )

  end )

  else

  SpawnPrefab("goldnugget").Transform:SetPosition(GetPlayer().Transform:GetWorldPosition())

  inst:RemoveTag("startingpoint")

  end

  end

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可在地图的任意两个地点,用草席卷种公车站,给站牌1个黄金(拿着黄金对站牌点鼠标左键),会来公共汽车送你到另一个站牌,方便在两点间快速移动。公车站须种在空旷的地方,以便公共汽车行驶。如果只种了一个公车站,则站牌不会接受你的黄金。公车站在小地图上显示为路牌的图标。不想要公车站时,用锤子砸掉即可。草席卷在生存选项下(画着绳套)下,用6个草、1个绳子制造

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

责任编辑:Shy夏夏

上一页 311 312 313 314 315 316 317 318 319 320 321 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

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