靚仔 发表于 2013-11-7 17:26

把最近的發一下

陈浩洋 发表于 2013-11-7 17:42

怎么增大高压电避难所的使用范围

yzzn2009 发表于 2013-11-7 18:00

本帖最后由 yzzn2009 于 2013-11-7 18:03 编辑

陈浩洋 发表于 2013-11-7 17:42 static/image/common/back.gif
怎么增大高压电避难所的使用范围
优化过的版本你可以用了,是吗

大号高压电避难所(按加号键筑一圈带高压电的玄武岩墙,按减号键消失)

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

local function OnExplode(inst, target)
    if target and not target:HasTag("smallbird") and not target:HasTag("chester") then
       SpawnPrefab("lightning_rod_fx").Transform:SetPosition(inst.Transform:GetWorldPosition())
       SpawnPrefab("lightning_rod_fx").Transform:SetPosition(target.Transform:GetWorldPosition())
       inst.SoundEmitter:PlaySound("dontstarve/common/lightningrod")
       target.components.health:DoDelta(-3000)
    end
    inst:DoTaskInTime(.1, function() inst.components.mine:Reset() end )
end
      inst:AddComponent("mine")
      inst.components.mine:SetRadius(4)
      inst.components.mine:SetAlignment("player")
      inst.components.mine:SetOnExplodeFn(OnExplode)
      inst.components.mine:Reset()


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

TheInput:AddKeyUpHandler(KEY_KP_PLUS, function()
    local player = GetPlayer()
    local pt = Vector3(player.Transform:GetWorldPosition())
      for k = 1, 75 do
            local theta = 1 * 2 * PI
            local radius = 15
            local result_offset = FindValidPositionByFan(theta, radius, 75, function(offset)
                local x,y,z = (pt + offset):Get()
                local ents = TheSim:FindEntities(x,y,z , 1)
                return not next(ents)
            end)
            if result_offset then
                local tentacle = SpawnPrefab("basalt_pillar")
                tentacle.Transform:SetPosition((pt + result_offset):Get())
                GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)
                local fx = SpawnPrefab("lightning_rod_fx")
                local pos = pt + result_offset
                fx.Transform:SetPosition(pos.x, pos.y, pos.z)
            end
    inst.SoundEmitter:PlaySound("dontstarve/common/lightningrod")
      end
end)
TheInput:AddKeyUpHandler(KEY_KP_MINUS, function()
    local player = GetPlayer()
    local range = 25
    local pos = Vector3(player.Transform:GetWorldPosition())
    local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, range)
    for k,v in pairs(ents) do
      if v.prefab == "basalt_pillar" then
            SpawnPrefab("lightning_rod_fx").Transform:SetPosition(v.Transform:GetWorldPosition())
            v:Remove()
      end
    end
    inst.SoundEmitter:PlaySound("dontstarve/common/lightningrod")
end)

    其中2个75是玄武岩的块数,15是以主角为圆心的半径,25是消除的范围,这4个数字决定了避难所的大小。上面是我已经增大的,你可以自行调整数字,但它们之间存在相互关系,修改不好的话,不是太稀疏,就是只盖出一部分,多尝试几次就可以了

RPhaodaobao 发表于 2013-11-7 18:20

实测手动存档用了我22版打了20版汉化补丁改了后就变英文了{:3_123:}

陈浩洋 发表于 2013-11-7 18:26

谢谢大神

yzzn2009 发表于 2013-11-7 18:37

RPhaodaobao 发表于 2013-11-7 18:20 static/image/common/back.gif
实测手动存档用了我22版打了20版汉化补丁改了后就变英文了

之前的版本是快速存档,你用下面的普通存档试试

手动存档(游戏中按F5保存)

    用记事本打开游戏目录\data\scripts\main.lua文件,在TranslateStringTable( STRINGS )的下一行插入TheInput:AddKeyUpHandler(KEY_F5, function() GetPlayer().components.autosaver:DoSave() end )

    即可在游戏中按F5手动存档

RPhaodaobao 发表于 2013-11-7 19:45

本帖最后由 RPhaodaobao 于 2013-11-7 19:48 编辑

yzzn2009 发表于 2013-11-7 18:37 static/image/common/back.gif
之前的版本是快速存档,你用下面的普通存档试试

手动存档(游戏中按F5保存)

还是英文的,我记得有一个MOD也是快速储存的我找找 找到了http://bbs.3dmgame.com/forum.php?mod=attachment&aid=Mjc0MTA4M3xjYzdhNmE3ZnwxMzgzODI0Nzk2fDY3MTQ3Njh8NDA2MDk3NQ%3D%3D

顶顶13406283869 发表于 2013-11-7 19:45

yzzn2009 发表于 2013-11-7 19:10 static/image/common/back.gif
那样太耗硬件了,如果你想不冷,只要修改最低气温即可

最低气温10度


多谢大师,多谢大师啊啊啊啊,大神啊

yzzn2009 发表于 2013-11-7 20:25

RPhaodaobao 发表于 2013-11-7 19:45 static/image/common/back.gif
还是英文的,我记得有一个MOD也是快速储存的我找找 找到了http://bbs.3dmgame.com/forum.php?mod=attachme ...
我看了,这个mod用的存档语句,与我刚给你的是一样的GetPlayer().components.autosaver:DoSave()      用这个mod保存你的版本不会变成英文吗

Mue战天。 发表于 2013-11-7 20:35

yzzn2009 发表于 2013-11-7 18:37 static/image/common/back.gif
之前的版本是快速存档,你用下面的普通存档试试

手动存档(游戏中按F5保存)


我要自己研究按F6快速读档,还请大神多多指教:lol

Mue战天。 发表于 2013-11-7 20:41

        if (key == GLOBAL.KEY_F6 and not down) then
                GLOBAL.Settings.save_slot = GLOBAL.SaveGameIndex.saveslot
                GLOBAL.SetPause(true)
                GLOBAL.StartNextInstance({reset_action=GLOBAL.RESET_ACTION.LOAD_SLOT, save_slot = GLOBAL.SaveGameIndex:GetCurrentSaveSlot()}, true)
                GLOBAL.SetPause(false)
        end
       
end
CJBQuickLoaderKeyHandler = QuickLoaderKeyHandler()
这句有错吗???
应该放哪

遥望苍穹 发表于 2013-11-7 20:42

这个不错啦,我也自己动手改改好了,,不会是SF吧

Mue战天。 发表于 2013-11-7 21:01

SF什么意思

Menoetiues 发表于 2013-11-7 22:03

yzzn2009 发表于 2013-10-3 12:19 static/image/common/back.gif
994274298已经回复你了,我用的也是这个版本http://dl.3dmgame.com/201310/38293.html
...

易宁大哥怎么用黄金种远古科技塔啊?

yzzn2009 发表于 2013-11-7 22:03

Mue战天。 发表于 2013-11-7 20:41 static/image/common/back.gif
if (key == GLOBAL.KEY_F6 and not down) then
                GLOBAL.Settings.save_slot = GLOBAL.SaveGameIndex.save ...

mod的格式与游戏本身不太一样,也不用写这么多

游戏中读档(游戏中按F6快速读取之前存档)

    用记事本打开游戏目录\data\scripts\main.lua文件,在TranslateStringTable( STRINGS )的下一行插入TheInput:AddKeyUpHandler(KEY_F6, function() StartNextInstance({reset_action=RESET_ACTION.LOAD_SLOT, save_slot = SaveGameIndex:GetCurrentSaveSlot()}, true) end )


    即可在游戏中随时按F6读取之前存档,主要用于主角死的一刹那

yzzn2009 发表于 2013-11-7 22:04

Menoetiues 发表于 2013-11-7 22:03 static/image/common/back.gif
易宁大哥怎么用黄金种远古科技塔啊?

一一六.用黄金种远古祭坛(以解锁远古科技)

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

local function OnDeploy (inst, pt)
    local ancient_altar = SpawnPrefab("ancient_altar")
    if ancient_altar then
      ancient_altar:PushEvent("growfromgoldnugget")
                ancient_altar.Transform:SetPosition(pt.x, pt.y, pt.z)
      inst.components.stackable:Get():Remove()
    end
end

    inst:AddComponent("deployable")
    inst.components.deployable.ondeploy = OnDeploy

    即可用黄金种远古祭坛,想造远古装备不用再去地下2层了

1692937189 发表于 2013-11-8 12:10

21版怎么改物品栏个格子数量

~\(≧▽≦)/~啦 发表于 2013-11-8 12:22

大神我要小高鸟永远不长大,永远不死,攻击力加2倍啊{:3_122:}

~\(≧▽≦)/~啦 发表于 2013-11-8 12:23

大神我要小高鸟永远不长大,永远不死,攻击力加2倍啊

Mue战天。 发表于 2013-11-8 12:23

yzzn2009 发表于 2013-11-7 22:03
mod的格式与游戏本身不太一样,也不用写这么多

游戏中读档(游戏中按F6快速读取之前存档)


哦,谢谢大神,对了,我插一句无关饥荒的话,大神一定要记住哦:大神,记住我,一定要记住我,记住我的头像,记住我的名字,Mue战天。,一定要记住哦(⊙o⊙)哦

家和才能万事兴 发表于 2013-11-8 13:07

版主好啊,我21版的用石头无限刷洞穴时,倒是能进洞穴,但上到地面时发生错误后就退出了,然后档就打不开了 问下能解决这个问题不

Mue战天。 发表于 2013-11-8 13:14

,额,我要为饥荒和平的交易所做贡献,我要提意见,就是可不可以把木头、岩石给降雨器或温度器或其他换黄金,我做了贡献,去吧:lol

Mue战天。 发表于 2013-11-8 13:17

我想修改自动播种机种岩石,你说可不可以种出来呢,:lol:lol:lol

yzzn2009 发表于 2013-11-8 13:17

本帖最后由 yzzn2009 于 2013-11-8 13:18 编辑

1692937189 发表于 2013-11-8 12:10 static/image/common/back.gif
21版怎么改物品栏个格子数量修改技巧中的修改,可以用在21版

二十一.双层主角物品条(60格,21版及以后游戏使用)

    1.用记事本打开游戏目录\data\scripts\components\inventory.lua文件,将local MAXSLOTS = 15替换为local MAXSLOTS = 60

    2.用记事本打开游戏目录\data\scripts\widgets\inventorybar.lua文件,在self.bg = self.root:AddChild(ThreeSlice(HUD_ATLAS, "inventory_corner.tex", "inventory_filler.tex"))的下一行插入self.bg:SetScale(1,1.75,1)

    3.将下列内容:

    local num_intersep = math.floor(num_slots / 5) + 1
    local total_w = (num_slots + num_equip)*(W) + (num_slots + num_equip - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep

    for k, v in ipairs(self.equipslotinfo) do
      local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner)
      self.equip = self.toprow:AddChild(slot)
      local x = -total_w/2 + (num_slots)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1)
      slot:SetPosition(x,0,0)
      table.insert(eslot_order, slot)

                local item = self.owner.components.inventory:GetEquippedItem(v.slot)
                if item then
                        slot:SetTile(ItemTile(item, self.owner.components.inventory))
                end

    end   

    for k = 1,num_slots do
      local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory)
      self.inv = self.toprow:AddChild(slot)
      local interseps = math.floor((k-1) / 5)
      local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP
      slot:SetPosition(x,0,0)

                local item = self.owner.components.inventory:GetItemInSlot(k)
                if item then
                        slot:SetTile(ItemTile(item, self.owner.components.inventory))
                end

    end

    替换为以下内容:

    local num_intersep = math.floor(num_slots / 10) + 1
    local total_w = (num_slots -30.85)*(W) + (num_slots -30.85 - 2 - num_intersep) *(SEP) + INTERSEP*num_intersep

    for k, v in ipairs(self.equipslotinfo) do
      local slot = EquipSlot(v.slot, v.atlas, v.image, self.owner)
      self.equip = self.toprow:AddChild(slot)
      local x = -total_w/2 + (num_slots*0+14.07)*(W)+num_intersep*(INTERSEP - SEP) + (num_slots-1)*SEP + INTERSEP + W*(k-1) + SEP*(k-1)
      slot:SetPosition(x+341,190,0)
      table.insert(eslot_order, slot)

                local item = self.owner.components.inventory:GetEquippedItem(v.slot)
                if item then
                        slot:SetTile(ItemTile(item, self.owner.components.inventory))
                end

    end   

    for k = 1,30 do
      local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory)
      self.inv = self.toprow:AddChild(slot)
      local interseps = math.floor((k-1) / 10)
      local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1)*W + (k-1)*SEP
      slot:SetPosition(x,0,0)

                local item = self.owner.components.inventory:GetItemInSlot(k)
                if item then
                        slot:SetTile(ItemTile(item, self.owner.components.inventory))
                end

    end

    for k = 31,60 do
      local slot = InvSlot(k, HUD_ATLAS, "inv_slot.tex", self.owner, self.owner.components.inventory)
      self.inv = self.toprow:AddChild(slot)
      local interseps = math.floor((k-1-30) / 10)
      local x = -total_w/2 + W/2 + interseps*(INTERSEP - SEP) + (k-1-30)*W + (k-1-30)*SEP
      slot:SetPosition(x,80,0)

                local item = self.owner.components.inventory:GetItemInSlot(k)
                if item then
                        slot:SetTile(ItemTile(item, self.owner.components.inventory))
                end

    end

    即可获得双层主角物品条(60格),注意必须将游戏设置(options) - (Settings) - HUD size项设为0,即显示最小物品条,才可完整显示60格哦

yzzn2009 发表于 2013-11-8 13:28

~\(≧▽≦)/~啦 发表于 2013-11-8 12:22 static/image/common/back.gif
大神我要小高鸟永远不长大,永远不死,攻击力加2倍啊

虽然可以锁死小高鸟生命值,但与吃东西补血有冲突,所以加到1000倍血量,基本可以保证不死

小高鸟不长大,1000倍血量、2倍攻击力

    用记事本打开游戏目录\data\scripts\prefabs\smallbird.lua文件,

    1.将return TUNING.SMALLBIRD_GROW_TIME替换为return TUNING.SMALLBIRD_GROW_TIME*1000

    2.将inst.components.health:SetMaxHealth(TUNING.SMALLBIRD_HEALTH)替换为inst.components.health:SetMaxHealth(TUNING.SMALLBIRD_HEALTH*1000)

    3.将inst.components.combat:SetDefaultDamage(TUNING.SMALLBIRD_DAMAGE)替换为inst.components.combat:SetDefaultDamage(TUNING.SMALLBIRD_DAMAGE*2)

yzzn2009 发表于 2013-11-8 13:34

家和才能万事兴 发表于 2013-11-8 13:07 static/image/common/back.gif
版主好啊,我21版的用石头无限刷洞穴时,倒是能进洞穴,但上到地面时发生错误后就退出了,然后档就打不开 ...

这多半与使用过存档备份工具有关,存档备份工具会导致洞穴回地面出错,这样的存档是无法挽救的,只能开新档了

yzzn2009 发表于 2013-11-8 13:48

本帖最后由 yzzn2009 于 2013-11-8 13:50 编辑

Mue战天。 发表于 2013-11-8 13:17 static/image/common/back.gif
我想修改自动播种机种岩石,你说可不可以种出来呢,
草、树杈、木头、岩石等材料太容易得到,都能交换黄金的话,会导致通货膨胀,家里装着一大堆黄金,会使交易失去乐趣。

全自动播种机(给避雷针草、树枝、芦苇种三石头)

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

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

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

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

local function ShouldAcceptItem(inst, item)
    local player = GetPlayer()
    if player.components.inventory:Has("goldnugget", 50) then
       if item.prefab == "cutgrass" then
      return true
      end
    end
    if player.components.inventory:Has("goldnugget", 50) then
       if item.prefab == "twigs" then
      return true
      end
    end
    if player.components.inventory:Has("goldnugget", 50) then
       if item.prefab == "cutreeds" then
      return true
      end
    end
    return false
end
local function OnGetItemFromPlayer(inst, giver, item)
    giver.components.inventory:ConsumeByName("goldnugget", 50)
    if item.prefab == "cutgrass" then
       inst.name = "rock_flintless"
    end
    if item.prefab == "twigs" then
       inst.name = "rock1"
    end
    if item.prefab == "cutreeds" then
       inst.name = "rock2"
    end
    local pt = Vector3(inst.Transform:GetWorldPosition())
    inst:StartThread(function()
      for k = 1, 25 do
            local theta = 1 * 2 * PI
            local radius = 4
            local result_offset = FindValidPositionByFan(theta, radius, 25, function(offset)
                local x,y,z = (pt + offset):Get()
                local ents = TheSim:FindEntities(x,y,z , 1)
                return not next(ents)
            end)
            if result_offset then
                local tentacle = SpawnPrefab(inst.name)
                tentacle.Transform:SetPosition((pt + result_offset):Get())
                GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)
                local fx = SpawnPrefab("splash_ocean")
                local pos = pt + result_offset
                fx.Transform:SetPosition(pos.x, pos.y, pos.z)
            end
            Sleep(.33)
      end
      for k = 1, 37 do
            local theta = 1 * 2 * PI
            local radius = 6
            local result_offset = FindValidPositionByFan(theta, radius, 37, function(offset)
                local x,y,z = (pt + offset):Get()
                local ents = TheSim:FindEntities(x,y,z , 1)
                return not next(ents)
            end)
            if result_offset then
                local tentacle = SpawnPrefab(inst.name)
                tentacle.Transform:SetPosition((pt + result_offset):Get())
                GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)
                local fx = SpawnPrefab("splash_ocean")
                local pos = pt + result_offset
                fx.Transform:SetPosition(pos.x, pos.y, pos.z)
            end
            Sleep(.23)
      end
      for k = 1, 50 do
            local theta = 1 * 2 * PI
            local radius = 8
            local result_offset = FindValidPositionByFan(theta, radius, 50, function(offset)
                local x,y,z = (pt + offset):Get()
                local ents = TheSim:FindEntities(x,y,z , 1)
                return not next(ents)
            end)
            if result_offset then
                local tentacle = SpawnPrefab(inst.name)
                tentacle.Transform:SetPosition((pt + result_offset):Get())
                GetPlayer().components.playercontroller:ShakeCamera(inst, "FULL", 0.2, 0.02, .25, 40)
                local fx = SpawnPrefab("splash_ocean")
                local pos = pt + result_offset
                fx.Transform:SetPosition(pos.x, pos.y, pos.z)
            end
            Sleep(.13)
      end
    end)
    return true
end
    inst:AddComponent("trader")
    inst.components.trader.onaccept = OnGetItemFromPlayer
    inst.components.trader:SetAcceptTest(ShouldAcceptItem)

孤寂幽兰 发表于 2013-11-8 14:45

真好,基本每天都有更新出炉。支持! 加油! 感谢!顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

yzzn2009 发表于 2013-11-8 15:59

本帖最后由 yzzn2009 于 2013-11-8 23:10 编辑

关于“一九0.收藏品期货市场(制造栏增加期货市场选项,炒作收藏品)”的闲话


      今天最新加入的“收藏品期货市场”,在制造栏加入了一个期货市场图标(画着3本书),这个图标是借用老太太的图书栏的,所以使用老太太当主角会出现2个图书图标,其中显示“Market”的就是期货市场,对其他主角没有影响。


      在这个市场中,每次读档,收藏品价格都会变动,不同收藏品价格波动区间不同,多观察它们的价格后再出手哦,最好用个小纸条记下买入价格,会比较有把握。如果同时修改了“手动存档”、“快速读档”(见本修改技巧),就可以在不退出游戏情况下,按F5存档,再按F6读档,比较方便地刷新价格。


      “收藏品期货市场”与“收藏品黑市”可以一同修改,但别想从期货市场买收藏品直接卖给猪王赚差价,从而刷黄金,因为期货市场最低买入价都大于等于猪王的收购价。倒是可以从鱼人房以4个黄金买入收藏品,卖给科学机器,但买入品种是随机的,卖出价格又有波动,加之还有鱼人等怪物捣乱,这条路会比较辛苦。还是老老实实在期货市场里交易,比较可靠。


      附上新版的“饥荒游戏实用修改技巧(交易系统攻略)”,需要的可以下载:

291073335 发表于 2013-11-8 17:14

求一个拾荒吸尘器的修改方法(22版的)
页: 84 85 86 87 88 89 90 91 92 93 [94] 95 96 97 98 99 100 101 102 103
查看完整版本: 易宁:饥荒游戏实用修改技巧(非MOD模式,请自行备份)支持海难版——6月6日更新:简化修船工具制作材料(只用木板和绳子)