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

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

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

第223页:我是神龙

展开

二二三.我是神龙(按键盘L键主角变身神龙,能吐火,再按L键变回人)

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

  TheInput:AddKeyUpHandler(KEY_L, function()

  if not inst:HasTag("dragon") then

  if inst.components.inventory:Has("goldnugget", 30) then

  inst.components.inventory:ConsumeByName("goldnugget", 30)

  inst.components.locomotor:Stop()

  inst.components.playercontroller:Enable(false)

  inst.AnimState:PlayAnimation("idle_shiver_pre")

  inst.AnimState:PushAnimation("idle_shiver_loop")

  inst.AnimState:PushAnimation("idle_shiver_pst", false)

  inst:DoTaskInTime(1, function()

  inst:AddTag("dragon")

  inst.AnimState:SetBank("krampus")

  inst.AnimState:SetBuild("krampus_build")

  inst:SetStateGraph("SGkrampus")

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

  inst.AnimState:Hide("SACK")

  inst.AnimState:Show("ARM")

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

  shadow:SetSize( 6, 3.5 )

  local light = inst.entity:AddLight()

  light:SetIntensity(.8)

  light:SetRadius(20)

  light:SetFalloff(.6)

  light:Enable(true)

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

  inst.components.locomotor.walkspeed = 10

  inst.components.locomotor.runspeed = 15

  local pos = GetPlayer():GetPosition()

  GetSeasonManager():DoLightningStrike(pos)

  inst.components.health:SetInvincible(true)

  inst.components.hunger:Pause()

  inst.components.combat:SetDefaultDamage(500)

  inst.components.combat.hiteffectsymbol = "krampus_torso"

  local pearl = SpawnPrefab("dragonfruit")

  pearl.entity:AddSoundEmitter()

  RemovePhysicsColliders(pearl)

  pearl:AddTag("projectile")

  pearl:AddTag("pearl")

  pearl:RemoveComponent("edible")

  pearl:RemoveComponent("stackable")

  pearl:RemoveComponent("tradable")

  pearl:RemoveComponent("perishable")

  pearl:RemoveComponent("cookable")

  pearl:RemoveComponent("bait")

  pearl:RemoveComponent("plantable")

  pearl:RemoveComponent("burnable")

  pearl:RemoveComponent("propagator")

  pearl:AddComponent("burnable")

  pearl.components.burnable:SetFXLevel(3)

  pearl.components.burnable:AddBurnFX("character_fire", Vector3(0,0,0) )

  pearl:AddComponent("weapon")

  pearl.components.weapon:SetDamage(500)

  pearl.components.weapon:SetRange(20, 25)

  pearl:AddComponent("equippable")

  pearl.components.equippable.equipslot = EQUIPSLOTS.HANDS

  pearl.components.equippable:SetOnEquip(function(pearl)

  pearl.components.burnable:Extinguish()

  end )

  pearl:AddComponent("projectile")

  pearl.components.projectile:SetSpeed(50)

  pearl.components.projectile:SetOnHitFn(function(pearl, owner, target)

  inst.SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")

  SpawnPrefab("collapse_small").Transform:SetPosition(target.Transform:GetWorldPosition())

  SpawnPrefab("explode_small").Transform:SetPosition(target.Transform:GetWorldPosition())

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

  if target.components.burnable then

  target.components.burnable:Ignite()

  end

  owner.components.inventory:Equip(pearl)

  end )

  pearl.components.projectile:SetOnMissFn(function(pearl, owner)

  owner.components.inventory:Equip(pearl)

  end )

  pearl:ListenForEvent("onthrown", function(pearl)

  local pt = pearl:GetPosition()

  pearl.Transform:SetPosition(pt.x, 2, pt.z)

  pearl.SoundEmitter:PlaySound("dontstarve/common/blackpowder_explo")

  pearl.components.burnable:Ignite(true)

  end )

  inst.components.inventory:Equip(pearl)

  inst.components.temperature:SetTemp(20)

  inst.components.playercontroller:Enable(true)

  end )

  end

  else

  inst.components.locomotor:Stop()

  inst.components.playercontroller:Enable(false)

  inst.AnimState:PlayAnimation("taunt")

  inst:DoTaskInTime(1, function()

  inst:RemoveTag("dragon")

  inst.AnimState:SetBank("wilson")

  inst.AnimState:SetBuild(name)

  inst:SetStateGraph("SGwilson")

  inst.AnimState:PlayAnimation("idle")

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

  shadow:SetSize( 1.3, .6 )

  inst.Light:Enable(false)

  inst.components.locomotor.walkspeed = TUNING.WILSON_WALK_SPEED

  inst.components.locomotor.runspeed = TUNING.WILSON_RUN_SPEED

  local pos = GetPlayer():GetPosition()

  GetSeasonManager():DoLightningStrike(pos)

  inst.components.health:SetInvincible(false)

  inst.components.hunger:Resume()

  inst.components.combat:SetDefaultDamage(TUNING.UNARMED_DAMAGE)

  inst.components.combat.hiteffectsymbol = "torso"

  local pos0 = Vector3(inst.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos0.x,pos0.y,pos0.z, 3000)

  for k,v in pairs(ents) do

  if v:HasTag("pearl") then

  v:Remove()

  end

  end

  inst.components.temperature:SetTemp(nil)

  inst.components.playercontroller:Enable(true)

  end )

  end

  end )

  即可在身上有30个黄金时,按键盘L键,主角随即变身神龙,将消耗30个黄金,身上黄金数不足时不会变身。变身神龙后,自动装备龙果,对敌人按鼠标左键,可发射龙果火球,如果卸载龙果,则改为近身格斗(按Ctrl + 鼠标左键攻击,或按住F键反击),防止点燃附近植物。神龙可夜视,不会饥饿,且锁血,对地上的物品点鼠标左键可捡起。想要变回主角时,再次按键盘L键即可,龙果将消失

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

责任编辑:Shy夏夏

上一页 221 222 223 224 225 226 227 228 229 230 231 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

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