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

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

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

第198页:找矿蜗牛

展开

一九八.找矿蜗牛(用蜗牛龟盔甲种找矿蜗牛,为你勘探新石矿)

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

  local function OnDeploy (inst, pt)

  local snail = SpawnPrefab("armorsnurtleshell")

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

  snail.AnimState:SetBank("slurtle")

  snail.AnimState:SetBuild("slurtle")

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

  snail.Transform:SetFourFaced()

  local sound = snail.entity:AddSoundEmitter()

  local brain = require "brains/leifbrain"

  snail:SetBrain(brain)

  snail:AddComponent("locomotor")

  snail.components.locomotor.walkspeed = 7

  snail:SetStateGraph("SGslurtle")

  local minimap = snail.entity:AddMiniMapEntity()

  minimap:SetIcon( "slurtle_den.png" )

  snail.components.inventoryitem:ChangeImageName("armorsnurtleshell")

  snail:RemoveComponent("armor")

  snail:RemoveComponent("equippable")

  snail:RemoveComponent("useableitem")

  snail:RemoveComponent("deployable")

  snail:RemoveTag("shell")

  snail:RemoveComponent("inventoryitem")

  snail:AddComponent("combat")

  snail:AddComponent("health")

  snail.components.health:SetMaxHealth(1000)

  snail.components.health:SetInvincible(true)

  snail.components.health.nofadeout = true

  snail.task = snail:DoPeriodicTask(math.random(8,12), function(snail)

  local pt1 = snail:GetPosition()

  local rocks = {"rock1","rock2","rock_flintless","rock_ice"}

  local rock = rocks[math.random(#rocks)]

  local newrock = SpawnPrefab(rock)

  newrock.Transform:SetPosition(pt1.x, 0, pt1.z)

  newrock.Physics:SetActive(false)

  newrock:DoTaskInTime(3, function(newrock) newrock.Physics:SetActive(true) end )

  SpawnPrefab("splash_ocean").Transform:SetPosition(pt1.x, 0, pt1.z)

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

  GetPlayer().components.playercontroller:ShakeCamera(snail, "FULL", 0.2, 0.02, .25, 40)

  end )

  snail:AddComponent("inventoryitem")

  snail.components.inventoryitem:SetOnPutInInventoryFn(function(snail)

  snail:RemoveTag("sports")

  snail.components.locomotor:Stop()

  snail:SetBrain(nil)

  if snail.task then snail.task:Cancel() snail.task = nil end

  end )

  snail.components.inventoryitem:SetOnDroppedFn(function(snail)

  snail:AddTag("sports")

  local brain = require "brains/leifbrain"

  snail:SetBrain(brain)

  snail:RestartBrain()

  snail.task = snail:DoPeriodicTask(math.random(8,12), function(snail)

  local pt1 = snail:GetPosition()

  local rocks = {"rock1","rock2","rock_flintless","rock_ice"}

  local rock = rocks[math.random(#rocks)]

  local newrock = SpawnPrefab(rock)

  newrock.Transform:SetPosition(pt1.x, 0, pt1.z)

  newrock.Physics:SetActive(false)

  newrock:DoTaskInTime(3, function(newrock) newrock.Physics:SetActive(true) end )

  SpawnPrefab("splash_ocean").Transform:SetPosition(pt1.x, 0, pt1.z)

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

  GetPlayer().components.playercontroller:ShakeCamera(snail, "FULL", 0.2, 0.02, .25, 40)

  end )

  end )

  snail:AddTag("sports")

  snail:AddTag("companion")

  snail:AddTag("snails")

  inst:Remove()

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("snails") then

  data.snails = true

  end

  if inst:HasTag("sports") then

  data.sports = true

  end

  end

  local function onload(inst, data)

  if data and data.snails then

  inst.AnimState:SetBank("slurtle")

  inst.AnimState:SetBuild("slurtle")

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

  inst.Transform:SetFourFaced()

  local sound = inst.entity:AddSoundEmitter()

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 7

  inst:SetStateGraph("SGslurtle")

  local minimap = inst.entity:AddMiniMapEntity()

  minimap:SetIcon( "slurtle_den.png" )

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

  inst:RemoveComponent("armor")

  inst:RemoveComponent("equippable")

  inst:RemoveComponent("useableitem")

  inst:RemoveComponent("deployable")

  inst:RemoveTag("shell")

  inst:RemoveComponent("inventoryitem")

  inst:AddComponent("combat")

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(1000)

  inst.components.health:SetInvincible(true)

  inst.components.health.nofadeout = true

  inst:AddComponent("inventoryitem")

  inst.components.inventoryitem:SetOnPutInInventoryFn(function(inst)

  inst:RemoveTag("sports")

  inst.components.locomotor:Stop()

  inst:SetBrain(nil)

  if inst.task then inst.task:Cancel() inst.task = nil end

  end )

  inst.components.inventoryitem:SetOnDroppedFn(function(inst)

  inst:AddTag("sports")

  local brain = require "brains/leifbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.task = inst:DoPeriodicTask(math.random(8,12), function(inst)

  local pt1 = inst:GetPosition()

  local rocks = {"rock1","rock2","rock_flintless","rock_ice"}

  local rock = rocks[math.random(#rocks)]

  local newrock = SpawnPrefab(rock)

  newrock.Transform:SetPosition(pt1.x, 0, pt1.z)

  newrock.Physics:SetActive(false)

  newrock:DoTaskInTime(3, function(newrock) newrock.Physics:SetActive(true) end )

  SpawnPrefab("splash_ocean").Transform:SetPosition(pt1.x, 0, pt1.z)

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

  GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)

  end )

  end )

  inst:AddTag("companion")

  inst:AddTag("snails")

  end

  if data and data.sports then

  local brain = require "brains/leifbrain"

  inst:SetBrain(brain)

  inst:RestartBrain()

  inst.task = inst:DoPeriodicTask(math.random(8,12), function(inst)

  local pt1 = inst:GetPosition()

  local rocks = {"rock1","rock2","rock_flintless","rock_ice"}

  local rock = rocks[math.random(#rocks)]

  local newrock = SpawnPrefab(rock)

  newrock.Transform:SetPosition(pt1.x, 0, pt1.z)

  newrock.Physics:SetActive(false)

  newrock:DoTaskInTime(3, function(newrock) newrock.Physics:SetActive(true) end )

  SpawnPrefab("splash_ocean").Transform:SetPosition(pt1.x, 0, pt1.z)

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

  GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)

  end )

  inst:AddTag("sports")

  local pt2 = GetPlayer():GetPosition()

  inst.Transform:SetPosition(pt2.x+1, 0, pt2.z+1)

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用蜗牛龟盔甲种找矿蜗牛,鼠标左键点蜗牛,可将其放入物品栏(显示为蜗牛龟盔甲的图标)。在空旷的地上放下找矿蜗牛,它会为你勘探出新的石矿,石头从此成为可再生资源。找矿蜗牛只会专注于找矿,不会跟随你,别把它弄丢了,如果真找不到了,存档退出后再读档,它会出现在你身边。不想要找矿蜗牛时,在物品栏中对其按鼠标右键即可。蜗牛龟盔甲可在地下一层打蜗牛龟时获得,如果修改了“巨型超市”,也可以花9-11个黄金购买

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

责任编辑:Shy夏夏

上一页 191 192 193 194 195 196 197 198 199 200 201 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

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