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

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

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

第275页:荒野之狼

展开

二二五.荒野之狼(吃蜗牛龟粘液变成狼,打败别的狼成为领袖)

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

  local function item_oneaten(inst, eater)

  if eater:HasTag("player") then

  local pos = GetPlayer():GetPosition()

  GetSeasonManager():DoLightningStrike(pos)

  eater.components.locomotor:Stop()

  eater.components.playercontroller:Enable(false)

  eater:DoTaskInTime(1, function()

  eater.AnimState:SetBank("hound")

  eater.AnimState:SetBuild("hound_red")

  eater.AnimState:PlayAnimation("idle")

  eater:SetStateGraph("SGhound")

  eater:RemoveTag("scarytoprey")

  eater:AddTag("monster")

  local light = eater.entity:AddLight()

  light:SetFalloff(1)

  light:SetIntensity(.8)

  light:SetRadius(20)

  light:Enable(true)

  light:SetColour(0/255, 255/255, 0/255)

  eater:ListenForEvent("attacked", function(eater)

  local pt = eater:GetPosition()

  eater.Transform:SetPosition(pt.x+(math.random(5)-math.random(5)), 0, pt.z+(math.random(5)-math.random(5)))

  end )

  eater.components.locomotor.runspeed = 25

  eater.components.sanity:DoDelta(eater.components.sanity.max)

  eater.components.sanity.ignore = true

  eater.components.health:StartRegen(100, 10)

  eater.components.combat:SetDefaultDamage(500)

  eater.components.combat:SetAttackPeriod(0.1)

  eater.components.eater:SetCarnivore()

  eater.components.temperature:SetTemp(20)

  eater.components.playercontroller:Enable(true)

  GetPlayer().HUD.controls.crafttabs:Hide()

  GetPlayer().HUD.controls.inv:Hide()

  GetPlayer().HUD.controls.mapcontrols.minimapBtn:Hide()

  local head = GetPlayer().components.inventory:GetEquippedItem(EQUIPSLOTS.HEAD)

  GetPlayer().components.inventory:DropItem(head)

  local hands = GetPlayer().components.inventory:GetEquippedItem(EQUIPSLOTS.HANDS)

  GetPlayer().components.inventory:DropItem(hands)

  local body = GetPlayer().components.inventory:GetEquippedItem(EQUIPSLOTS.BODY)

  GetPlayer().components.inventory:DropItem(body)

  eater.components.playeractionpicker.leftclickoverride = function(eater, target_ent, pos)

  if eater.components.combat:CanTarget(target_ent) then

  return eater.components.playeractionpicker:SortActionList({ACTIONS.ATTACK}, target_ent, nil)

  end

  if target_ent and target_ent.components.edible and eater.components.eater:CanEat(target_ent) then

  return eater.components.playeractionpicker:SortActionList({ACTIONS.EAT}, target_ent, nil)

  end

  end

  eater:DoPeriodicTask(3, function(eater)

  if math.random() < 0.05 then

  if eater.components.hunger:GetPercent() > 0.995 then

  local pt1 = eater:GetPosition()

  local wolf = SpawnPrefab("slurtleslime")

  wolf.Transform:SetPosition(pt1.x+(math.random(10)-math.random(10)), 0, pt1.z+(math.random(10)-math.random(10)))

  wolf.AnimState:SetBank("hound")

  wolf.AnimState:SetBuild("hound")

  wolf.AnimState:PlayAnimation("idle")

  wolf.Transform:SetFourFaced()

  local sound = wolf.entity:AddSoundEmitter()

  local shadow = wolf.entity:AddDynamicShadow()

  shadow:SetSize( 2.5, 1.5 )

  MakeCharacterPhysics(wolf, 10, .5)

  wolf:AddComponent("locomotor")

  wolf.components.locomotor.runspeed = 25

  wolf:SetStateGraph("SGhound")

  local brain = require "brains/frogbrain"

  wolf:SetBrain(brain)

  wolf:RemoveComponent("stackable")

  wolf:RemoveComponent("fuel")

  wolf:RemoveComponent("inventoryitem")

  wolf:RemoveComponent("explosive")

  wolf:RemoveComponent("burnable")

  wolf:RemoveComponent("propagator")

  wolf:RemoveComponent("edible")

  wolf:AddComponent("follower")

  wolf:AddComponent("knownlocations")

  wolf:AddComponent("lootdropper")

  wolf.components.lootdropper:SetLoot({"meat", "meat"})

  wolf:AddComponent("health")

  wolf.components.health:SetMaxHealth(2000)

  wolf.components.health:StartRegen(100, 10)

  wolf:AddComponent("combat")

  wolf.components.combat:SetDefaultDamage(20)

  wolf.components.combat:SetAttackPeriod(0.1)

  wolf.components.combat:SetTarget(eater)

  wolf.AnimState:SetMultColour(255/255,0/255,0/255,1)

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

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

  return FindEntity(wolf, 300, function(guy)

  return guy:HasTag("player")

  end )

  end

  end )

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

  wolf.task = wolf:DoPeriodicTask(1, function(customer)

  if wolf.components.health.currenthealth < 1000 then

  wolf.components.combat:SetTarget(nil)

  wolf:RemoveTag("goodbye")

  local brain = require "brains/abigailbrain"

  wolf:SetBrain(brain)

  wolf:RestartBrain()

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

  wolf.AnimState:SetMultColour(255/255,255/255,255/255,1)

  wolf.components.combat:SetRetargetFunction(2, function(wolf)

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

  return FindEntity(wolf, 20, function(guy)

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

  return guy.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == guy

  end

  end )

  end

  end )

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

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

  end

  end )

  wolf:AddTag("monster")

  wolf:AddTag("wolfs")

  wolf:AddTag("goodbye")

  end

  end

  end )

  end )

  end

  end

  inst:AddComponent("edible")

  inst.components.edible:SetOnEatenFn(item_oneaten)

  inst.components.edible.hungervalue = 1

  inst.components.edible.foodtype = "VEGGIE"

  local function onsave(inst, data)

  if inst:HasTag("wolfs") then

  data.wolfs = true

  end

  if inst:HasTag("goodbye") then

  data.goodbye = true

  end

  end

  local function onload(inst, data)

  if data and data.goodbye then

  inst:Remove()

  end

  if data and data.wolfs then

  inst.AnimState:SetBank("hound")

  inst.AnimState:SetBuild("hound")

  inst.AnimState:PlayAnimation("idle")

  inst.Transform:SetFourFaced()

  local sound = inst.entity:AddSoundEmitter()

  local shadow = inst.entity:AddDynamicShadow()

  shadow:SetSize( 2.5, 1.5 )

  MakeCharacterPhysics(inst, 10, .5)

  inst:AddComponent("locomotor")

  inst.components.locomotor.runspeed = 25

  inst:SetStateGraph("SGhound")

  inst:RemoveComponent("stackable")

  inst:RemoveComponent("fuel")

  inst:RemoveComponent("inventoryitem")

  inst:RemoveComponent("explosive")

  inst:RemoveComponent("burnable")

  inst:RemoveComponent("propagator")

  inst:RemoveComponent("edible")

  inst:AddComponent("follower")

  inst:AddComponent("knownlocations")

  inst:AddComponent("lootdropper")

  inst.components.lootdropper:SetLoot({"meat", "meat"})

  inst:AddComponent("health")

  inst.components.health:SetMaxHealth(2000)

  inst.components.health:StartRegen(100, 10)

  inst:AddComponent("combat")

  inst.components.combat:SetDefaultDamage(20)

  inst.components.combat:SetAttackPeriod(0.1)

  local brain = require "brains/abigailbrain"

  inst:SetBrain(brain)

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

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

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

  return FindEntity(inst, 20, function(guy)

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

  return guy.components.combat.target == GetPlayer() or GetPlayer().components.combat.target == guy

  end

  end )

  end

  end )

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

  inst:AddTag("monster")

  inst:AddTag("wolfs")

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可吃蜗牛龟粘液让主角变成狼,体验野生动物的生活。可喜的是,你将拥有强大的生命力(自动回血),超快的跑动速度和恐怖的咬合能力,黑夜也不会影响你看清前方,甚至由于没有了人的味道,一些小动物将无法躲避你。可悲的是,你必须告别之前所有的伙伴,连“新移民”都会主动攻击你,离开人类的生活,流浪在荒郊野外。战斗中,由于你的体重变轻,被打时会被甩出去,因此要学会扬长避短,发挥速度和攻击力的优势,跑过去咬上一口就躲,千万不要与敌人原地肉搏。当你进食到最饱时,有一定概率出现别的狼(全身红色)挑战你,打败它(它身上不再呈红色),则将成为你的小弟,用锋利的牙齿发展起你的狼群吧。如果实在受不了荒野的生活了,存档退出再读档,即可变回人,但狼小弟将继续跟随你。使用大力士、伍迪作主角时,不适用此项,不要与“变身传奇”、“饥饿的儿童”一同修改。蜗牛龟粘液可打蜗牛龟和蜗牛窝获得

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

责任编辑:Shy夏夏

上一页 271 272 273 274 275 276 277 278 279 280 281 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

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