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

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

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

第196页:口袋浣熊

展开

一九六.口袋浣熊(用纸种口袋浣熊,捕猎、战斗好帮手,喂鱼变身超级浣熊)

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

  local function OnDeploy (inst, pt)

  local coon = SpawnPrefab("papyrus")

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

  coon.AnimState:SetBank("catcoon")

  coon.AnimState:SetBuild("catcoon_build")

  coon.AnimState:PlayAnimation("idle_loop")

  coon.Transform:SetFourFaced()

  coon.Transform:SetScale(0.8, 0.8, 0.8)

  coon.entity:AddSoundEmitter()

  local shadow = coon.entity:AddDynamicShadow()

  shadow:SetSize(2,0.75)

  coon:RemoveComponent("stackable")

  coon:RemoveComponent("fuel")

  coon:RemoveComponent("tradable")

  coon:RemoveComponent("burnable")

  coon:RemoveComponent("propagator")

  coon:RemoveComponent("deployable")

  coon:RemoveTag("cattoy")

  coon.components.inventoryitem:ChangeImageName("catcoonhat")

  coon:AddComponent("named")

  coon.components.named:SetName("Catcoon")

  coon:AddComponent("follower")

  coon.components.follower:SetLeader(GetPlayer())

  coon:AddComponent("locomotor")

  coon.components.locomotor.walkspeed = 12

  coon:SetStateGraph("SGcatcoon")

  local brain = require "brains/abigailbrain"

  coon:SetBrain(brain)

  coon:AddComponent("health")

  coon.components.health:SetMaxHealth(3000)

  coon:AddComponent("lootdropper")

  coon.components.lootdropper:SetLoot({"smallmeat"})

  coon:AddComponent("combat")

  coon.components.combat:SetDefaultDamage(50)

  coon.components.combat:SetRange(4)

  coon.components.combat:SetAttackPeriod(0.5)

  coon.components.combat:SetHurtSound("dontstarve_DLC001/creatures/catcoon/hurt")

  coon.components.combat.battlecryinterval = 20

  coon.components.combat:SetRetargetFunction(1, function(coon)

  if not coon.components.health:IsDead() then

  return FindEntity(GetPlayer(), 20, function(guy)

  if guy.components.health and not guy.components.health:IsDead() then

  return guy.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == guy or guy:HasTag("monster") or guy:HasTag("smallcreature")

  end

  end)

  end

  end )

  coon.components.combat:SetKeepTargetFunction(function(coon, target) return target and target:IsValid() end )

  coon:ListenForEvent("attacked", function(coon, data)

  if data.attacker ~= GetPlayer() then

  coon.components.combat:SetTarget(data.attacker)

  else

  coon.components.health:Kill()

  end

  end )

  coon:AddComponent( "playerprox" )

  coon.components.playerprox:SetDist(3,5)

  coon.components.playerprox:SetOnPlayerNear(function(coon) coon.components.locomotor.walkspeed = 5 end )

  coon.components.playerprox:SetOnPlayerFar(function(coon) coon.components.locomotor.walkspeed = 12 end )

  coon:AddComponent("trader")

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

  if not coon:HasTag("supercoon") then

  if item.prefab == "fish" then

  return true

  end

  if item.prefab == "smallmeat" then

  return coon.components.health:GetPercent() < 1

  end

  end

  return false

  end )

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

  if item.prefab == "fish" then

  coon:AddTag("supercoon")

  coon.components.named:SetName("SuperCatcoon")

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

  coon.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

  coon.Transform:SetScale(1.3, 1.3, 1.3)

  coon.components.inventoryitem.canbepickedup = false

  coon.components.health:SetInvincible(true)

  coon.components.combat:SetDefaultDamage(500)

  coon:DoTaskInTime(60, function(coon)

  coon:RemoveTag("supercoon")

  coon.components.named:SetName("Catcoon")

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

  coon.AnimState:SetBloomEffectHandle("")

  coon.Transform:SetScale(0.8, 0.8, 0.8)

  coon.components.inventoryitem.canbepickedup = true

  coon.components.health:SetInvincible(false)

  coon.components.combat:SetDefaultDamage(50)

  end )

  end

  if item.prefab == "smallmeat" then

  coon.components.health:DoDelta(1000)

  end

  end

  coon:AddTag("coons")

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

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("coons") then

  data.coons = true

  end

  end

  local function onload(inst, data)

  if data and data.coons then

  inst.AnimState:SetBank("catcoon")

  inst.AnimState:SetBuild("catcoon_build")

  inst.AnimState:PlayAnimation("idle_loop")

  inst.Transform:SetFourFaced()

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

  inst.entity:AddSoundEmitter()

  local shadow = inst.entity:AddDynamicShadow()

  shadow:SetSize(2,0.75)

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("fuel")

  inst:RemoveComponent("tradable")

  inst:RemoveComponent("burnable")

  inst:RemoveComponent("propagator")

  inst:RemoveComponent("deployable")

  inst:RemoveTag("cattoy")

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

  inst:AddComponent("named")

  inst.components.named:SetName("Catcoon")

  inst:AddComponent("follower")

  inst.components.follower:SetLeader(GetPlayer())

  inst:AddComponent("locomotor")

  inst.components.locomotor.walkspeed = 12

  inst:SetStateGraph("SGcatcoon")

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(3000)

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"smallmeat"})

  inst:AddComponent("combat")

  inst.components.combat:SetDefaultDamage(50)

  inst.components.combat:SetRange(4)

  inst.components.combat:SetAttackPeriod(0.5)

  inst.components.combat:SetHurtSound("dontstarve_DLC001/creatures/catcoon/hurt")

  inst.components.combat.battlecryinterval = 20

  inst.components.combat:SetRetargetFunction(1, function(inst)

  if not inst.components.health:IsDead() then

  return FindEntity(GetPlayer(), 20, function(guy)

  if guy.components.health and not guy.components.health:IsDead() then

  return guy.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == guy or guy:HasTag("monster") or guy:HasTag("smallcreature")

  end

  end)

  end

  end )

  inst.components.combat:SetKeepTargetFunction(function(inst, target) return target and target:IsValid() end )

  inst:ListenForEvent("attacked", function(inst, data)

  if data.attacker ~= GetPlayer() then

  inst.components.combat:SetTarget(data.attacker)

  else

  inst.components.health:Kill()

  end

  end )

  inst:AddComponent( "playerprox" )

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

  inst.components.playerprox:SetOnPlayerNear(function(inst) inst.components.locomotor.walkspeed = 5 end )

  inst.components.playerprox:SetOnPlayerFar(function(inst) inst.components.locomotor.walkspeed = 12 end )

  inst:AddComponent("trader")

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

  if not inst:HasTag("supercoon") then

  if item.prefab == "fish" then

  return true

  end

  if item.prefab == "smallmeat" then

  return inst.components.health:GetPercent() < 1

  end

  end

  return false

  end )

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

  if item.prefab == "fish" then

  inst:AddTag("supercoon")

  inst.components.named:SetName("SuperCatcoon")

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

  inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")

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

  inst.components.inventoryitem.canbepickedup = false

  inst.components.health:SetInvincible(true)

  inst.components.combat:SetDefaultDamage(500)

  inst:DoTaskInTime(60, function(inst)

  inst:RemoveTag("supercoon")

  inst.components.named:SetName("Catcoon")

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

  inst.AnimState:SetBloomEffectHandle("")

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

  inst.components.inventoryitem.canbepickedup = true

  inst.components.health:SetInvincible(false)

  inst.components.combat:SetDefaultDamage(50)

  end )

  end

  if item.prefab == "smallmeat" then

  inst.components.health:DoDelta(1000)

  end

  end

  inst:AddTag("coons")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可用纸种口袋浣熊,帮你捕猎、战斗。鼠标左键点浣熊,可将其放入物品栏(显示为浣熊帽的图标)。喂浣熊小肉,可为其补血(3块可补满),如果喂浣熊鱼,则变身超级浣熊,不会受伤,攻击力提高10倍,60秒后变回来。在超级浣熊状态下,口袋浣熊无法被拿起,也不接受食物。不想要口袋浣熊了,在物品栏中对其按鼠标右键即可。纸在精炼选项(画着白色宝石)下,用4个芦苇制造

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

责任编辑:Shy夏夏

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

本文是否解决了您的问题

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