饥荒吧 关注:683,086贴子:6,991,460
  • 12回复贴,共1

【技术贴】【饥荒文件代码修改】【长期更新】

只看楼主收藏回复

本帖基于在本吧已有的【饥荒-失落之船-汉化版】基础上修改。
修改前请备份!!!
修改前请备份!!!
修改前请备份!!!
不备份有你哭的
——禁止插楼,插楼者直接删,有问题在楼中楼。不要水。


IP属地:云南1楼2016-05-09 01:28回复
    引言:
    【饥荒】是一款开放源代码的游戏,玩家可以通过修改lua后缀的文件来达到与mod相同的目的,但是比挂载mod更加灵活,修改不慎同样存在游戏崩溃甚至丢失存档的风险。本帖适合那些有时间、动手能力强、不怕麻烦、有这方面爱好的吧友,欢迎前来交流经验。
    ——劝你在天黑之前备份【饥荒】


    IP属地:云南2楼2016-05-09 01:37
    收起回复
      饥荒控制台作弊码,按下“~”键打开控制台,回车确认,Ctrl+L消除文字;
      注意:大小写不能错误,连空格都不能少,所以标点符号为英制。
      游戏中控制台可以输入作弊码
      GetPlayer().components.builder:GiveAllRecipes() ---------- 全物品直接制造
      GetPlayer().components.hungerause(true) ---------- 饥饿值不降低
      GetPlayer().components.sanity:SetMax(500) ---------- 精神值不降低(慎用不可取消 )
      GetPlayer().components.health:SetMaxHealth(300) ---------- 最大血格
      GetPlayer().components.health:SetInvincible(true) ---------- 上帝模式
      下面是开全地图,要输入2个指令才行,每次都要回车执行:
      minimap = TheSim:FindFirstEntityWithTag("minimap")
      minimap.MiniMap:ShowArea(0,0,0, 10000)


      IP属地:云南4楼2016-05-09 01:42
      收起回复
        推荐百度翻译网页版,比有道翻译靠谱多了。


        IP属地:云南6楼2016-05-09 02:00
        回复
          修改路径

          根据建立的存档来修改,巨人统治DLC的进入1修改,失落之船DLC的进入2修改,未使用DLC的直接的当前文件夹修改



          IP属地:云南8楼2016-05-09 02:09
          收起回复
            Don't MOD 0001
            用记事本打开游戏目录\data\scripts\prefabs\torch.lua文件,依次查找以下内容:
            inst:Remove()
            inst.components.fueled:SetDepletedFn(function(inst) inst:Remove() end)
            修改为:
            --inst:Remove()
            --inst.components.fueled:SetDepletedFn(function(inst) inst:Remove() end)
            即可让火炬不用尽,在语句前加入--的功能就是将该句废掉


            IP属地:云南11楼2016-05-09 03:09
            收起回复
              工具无限不掉耐久
              贴吧里的工具无限耐久MOD已经失效了就是说你使用了这个MOD后进游戏一样掉耐久我已经被坑了
              还是在网上搬运来的,一共4步,看上去有点多,只是看上去
              1.用记事本打开游戏目录\data\scripts\widgets\itemtile.lua文件,将下列内容:
              if invitem.components.fueled then
              self:SetPercent(invitem.components.fueled:GetPercent())
              end
              if invitem.components.finiteuses then
              self:SetPercent(invitem.components.finiteuses:GetPercent())
              end
              if invitem.components.perishable then
              if self:HasSpoilage() then
              self:SetPerishPercent(invitem.components.perishable:GetPercent())
              else
              self:SetPercent(invitem.components.perishable:GetPercent())
              end
              end
              if invitem.components.armor then
              self:SetPercent(invitem.components.armor:GetPercent())
              end
              替换为:
              --if invitem.components.fueled then
              --self:SetPercent(invitem.components.fueled:GetPercent())
              --end
              --if invitem.components.finiteuses then
              --self:SetPercent(invitem.components.finiteuses:GetPercent())
              --end
              if invitem.components.perishable then
              if self:HasSpoilage() then
              self:SetPerishPercent(invitem.components.perishable:GetPercent())
              else
              self:SetPercent(invitem.components.perishable:GetPercent())
              end
              end
              --if invitem.components.armor then
              --self:SetPercent(invitem.components.armor:GetPercent())
              --end
              2.用记事本打开游戏目录\data\scripts\components\finiteuses.lua文件,将self:SetUses(self.current - (num or 1))替换为self:SetUses(self.current - 0)
              3.用记事本打开游戏目录\data\scripts\components\fueled.lua文件,将self.consuming = true替换为self.consuming = false
              4.用记事本打开游戏目录\data\scripts\components\armor.lua文件,将下列内容:
              function Armor:SetCondition(amount)
              self.condition = amount
              替换为:
              function Armor:SetCondition(amount)
              self.condition = self.maxcondition
              另外说一下更新,LZ不是日更,也不是周更,而是有时间才更新【不是玩得太入迷了】


              IP属地:云南16楼2016-05-10 01:37
              收起回复