yzzn2009 发表于 2013-11-28 21:21

huangchenhao 发表于 2013-11-28 20:52 static/image/common/back.gif
你有何感想

因为“靚仔”用的是繁体系统,下载的修改技巧会显示乱码,所以必须发在回复里才能正确显示,感谢“Mue战天。”帮我回复,让我能多一点时间研究啊

きれいな水 发表于 2013-11-28 21:26

求蜜蜂全天候全季节采蜜

yzzn2009 发表于 2013-11-28 21:29

月の死神 发表于 2013-11-28 19:18 static/image/common/back.gif
有些函数接口部分没有提供人物相应的参数,比如种植函数……这样的怎么处理呢? ...

所以要自己大量写代码,来让系统区分不同主体的不同反应,比如帽子文件中的语句

      if owner:HasTag("player") then
                        owner.AnimState:Hide("HEAD")
                        owner.AnimState:Show("HEAD_HAIR")
                end


就是因为戴帽子的也可能是其他动物,所以当owner有player标签时(为主角时),隐藏头、显示头发,而其他动物则不用。至于是针对物品本身改写,还是标签,要看你的实际需要了,既然你有一定的代码基础,应该可以自己研究出来的

yzzn2009 发表于 2013-11-28 21:32

きれいな水 发表于 2013-11-28 21:26 static/image/common/back.gif
求蜜蜂全天候全季节采蜜

生蜂蜜与蜜蜂无关,在于蜂箱。修改技巧中“八十六.蜂箱快速产蜂蜜”就可以做到冬夏、早晚都快速产蜂蜜

靚仔 发表于 2013-11-28 22:13

yzzn2009 发表于 2013-11-28 21:21 static/image/common/back.gif
因为“靚仔”用的是繁体系统,下载的修改技巧会显示乱码,所以必须发在回复里才能正确显示,感谢“Mue战 ...

谢谢{:3_112:}

yzzn2009 发表于 2013-11-29 00:41

更新预告:二0七.音浪太强(戴兔耳罩周围形成音浪,敌人被弹开)


      在戴兔耳罩时,周围形成音浪,敌人靠近会被弹开,拆杀人蜂窝、偷高鸟蛋毫发无伤。兔耳罩在穿戴选项(画着礼帽)下,用2个兔子、1个树枝制造



闲话两句:


      “音浪太强”将是本周最后一次更新,周日太忙了,休息一天。虽然饥荒论坛重新回到热门板块,但明显感觉到人气开始下降,许多熟悉的脸庞,已经渐渐模糊了。天下无不散之宴席,当大家不再需要时,我们的修改技巧也将停止更新,伴随饥荒游戏一起远去。但在那一刻之前,我会尽我所能地为大家服务,虽然我的能力和精力都太有限了。感谢你的理解和鼓励,感恩我们曾在一起

月の死神 发表于 2013-11-29 07:37

yzzn2009 发表于 2013-11-28 21:29 static/image/common/back.gif
所以要自己大量写代码,来让系统区分不同主体的不同反应,比如帽子文件中的语句

      if owner:HasTa ...

我的意思是有很多地方没有owner这种接口啊。比如说pickable里的重新移植的函数(transplantfn),如果我想修改浆果的重新移植函数让它在被Wilson移动之后不需要施肥,这个应该怎么做呢?

yzzn2009 发表于 2013-11-29 12:28

本帖最后由 yzzn2009 于 2013-11-29 12:32 编辑

月の死神 发表于 2013-11-29 07:37 static/image/common/back.gif
我的意思是有很多地方没有owner这种接口啊。比如说pickable里的重新移植的函数(transplantfn),如果我 ...
你说的是没有声明函数owner吧,你想达成的效果,本来就不该在pickable.lua里修改,因为里面的function Pickable:OnTransplant()只是说如果有ontransplantfn就执行,而应该在有local function ontransplantfn的物品文件中修改,没有声明picker(这里不是用owner),你可以自己声明,类似local picker = GetPlayer(),如果picker拥有某个标签,则肥的水平为5,其余则为荒芜。因为你说学过代码,我才尽我所能讲些方法的,因为如果从基础格式开始说,我真的没有时间。因为这里是实用修改技巧,技术讨论对其他人没有什么帮助,希望这个问题就讨论到这里,好吗

Mue战天。 发表于 2013-11-29 12:49

靚仔 发表于 2013-11-28 22:13 static/image/common/back.gif
谢谢

更新的内容:
二一0.电动铺路铲(拿黄金铲自动将脚下的空地皮铺成路)
    用记事本打开游戏目录\data\scripts\prefabs\shovel.lua文件,
    1.将下列内容:
local function onequipgold(inst, owner)
    owner.AnimState:OverrideSymbol("swap_object", "swap_goldenshovel", "swap_goldenshovel")
owner.SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold")   
    owner.AnimState:Show("ARM_carry")
    owner.AnimState:Hide("ARM_normal")
end
    替换为:
local function pickup(inst, owner)
    inst.name = GROUND.ROAD
    local pt = owner:GetPosition()
    local ground = GetWorld()
    local tile = ground.Map:GetTileAtPoint(pt.x, pt.y, pt.z)
    if ground and tile == GROUND.DIRT then
       local original_tile_type = ground.Map:GetTileAtPoint(pt.x, pt.y, pt.z)
       local x, y = ground.Map:GetTileCoordsAtPoint(pt.x, pt.y, pt.z)
       if x and y then
          ground.Map:SetTile(x,y, inst.name)
          ground.Map:RebuildLayer( original_tile_type, x, y )
          ground.Map:RebuildLayer( inst.name, x, y )
       end
       local minimap = TheSim:FindFirstEntityWithTag("minimap")
       if minimap then
          minimap.MiniMap:RebuildLayer( original_tile_type, x, y )
          minimap.MiniMap:RebuildLayer( inst.name, x, y )
       end
    end
    inst.SoundEmitter:PlaySound("dontstarve/wilson/dig")
end
local function onequipgold(inst, owner)
    if owner.components.inventory:Has("lightbulb", 1) then
       inst.task = inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)
       owner.components.inventory:ConsumeByName("lightbulb", 1)
    end
    owner.AnimState:OverrideSymbol("swap_object", "swap_goldenshovel", "swap_goldenshovel")
    owner.SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold")   
    owner.AnimState:Show("ARM_carry")
    owner.AnimState:Hide("ARM_normal")
end
local function onunequipgold(inst, owner)
    owner.AnimState:Hide("ARM_carry")
    owner.AnimState:Show("ARM_normal")
    if inst.task then inst.task:Cancel() inst.task = nil end
end

    2.在inst.components.equippable:SetOnEquip( onequipgold )的下一行插入inst.components.equippable:SetOnUnequip( onunequipgold )
    即可拿黄金铲自动将脚下的空地皮铺成路,效率极高,铺路的速度只取决于你走多快。电动铺路铲需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,则不会开启电动功能。将其中GROUND.ROAD(卵石路)替换为其他地皮名称,如GROUND.ROCKY(岩石地皮)、GROUND.DIRT(污垢地皮)、GROUND.SAVANNA(热带草原地皮)、GROUND.GRASS(长草地皮)、GROUND.FOREST(森林地皮)、GROUND.MARSH(沼泽地皮)、GROUND.WOODFLOOR(木质地板)、GROUND.CARPET(地毯地板)、GROUND.CHECKER(棋盘地板)、GROUND.CAVE(鸟粪地皮)、GROUND.FUNGUS(菌类地皮)、GROUND.FUNGUSRED(红菌类地皮)、GROUND.FUNGUSGREEN(绿菌类地皮)、GROUND.SINKHOLE(粘滑地皮)、GROUND.UNDERROCK(洞穴石地地皮)、GROUND.MUD(泥泞地皮),就可以自动铺其他地皮

Mue战天。 发表于 2013-11-29 12:50

靚仔 发表于 2013-11-28 22:13 static/image/common/back.gif
谢谢

不好意思
更新的内容:
二一0.电动铺路铲(拿黄金铲自动将脚下的空地皮铺成路)
    用记事本打开游戏目录\data\scripts\prefabs\shovel.lua文件,
    1.将下列内容:
local function onequipgold(inst, owner)
    owner.AnimState:OverrideSymbol("swap_object", "swap_goldenshovel", "swap_goldenshovel")
owner.SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold")   
    owner.AnimState:Show("ARM_carry")
    owner.AnimState:Hide("ARM_normal")
end
    替换为:
local function pickup(inst, owner)
    inst.name = GROUND.ROAD
    local pt = owner:GetPosition()
    local ground = GetWorld()
    local tile = ground.Map:GetTileAtPoint(pt.x, pt.y, pt.z)
    if ground and tile == GROUND.DIRT then
       local original_tile_type = ground.Map:GetTileAtPoint(pt.x, pt.y, pt.z)
       local x, y = ground.Map:GetTileCoordsAtPoint(pt.x, pt.y, pt.z)
       if x and y then
          ground.Map:SetTile(x,y, inst.name)
          ground.Map:RebuildLayer( original_tile_type, x, y )
          ground.Map:RebuildLayer( inst.name, x, y )
       end
       local minimap = TheSim:FindFirstEntityWithTag("minimap")
       if minimap then
          minimap.MiniMap:RebuildLayer( original_tile_type, x, y )
          minimap.MiniMap:RebuildLayer( inst.name, x, y )
       end
    end
    inst.SoundEmitter:PlaySound("dontstarve/wilson/dig")
end
local function onequipgold(inst, owner)
    if owner.components.inventory:Has("lightbulb", 1) then
       inst.task = inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)
       owner.components.inventory:ConsumeByName("lightbulb", 1)
    end
    owner.AnimState:OverrideSymbol("swap_object", "swap_goldenshovel", "swap_goldenshovel")
    owner.SoundEmitter:PlaySound("dontstarve/wilson/equip_item_gold")   
    owner.AnimState:Show("ARM_carry")
    owner.AnimState:Hide("ARM_normal")
end
local function onunequipgold(inst, owner)
    owner.AnimState:Hide("ARM_carry")
    owner.AnimState:Show("ARM_normal")
    if inst.task then inst.task:Cancel() inst.task = nil end
end

    2.在inst.components.equippable:SetOnEquip( onequipgold )的下一行插入inst.components.equippable:SetOnUnequip( onunequipgold )

    即可拿黄金铲自动将脚下的空地皮铺成路,效率极高,铺路的速度只取决于你走多快。电动铺路铲需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,则不会开启电动功能。将其中GROUND.ROAD(卵石路)替换为其他地皮名称,如GROUND.ROCKY(岩石地皮)、GROUND.DIRT(污垢地皮)、GROUND.SAVANNA(热带草原地皮)、GROUND.GRASS(长草地皮)、GROUND.FOREST(森林地皮)、GROUND.MARSH(沼泽地皮)、GROUND.WOODFLOOR(木质地板)、GROUND.CARPET(地毯地板)、GROUND.CHECKER(棋盘地板)、GROUND.CAVE(鸟粪地皮)、GROUND.FUNGUS(菌类地皮)、GROUND.FUNGUSRED(红菌类地皮)、GROUND.FUNGUSGREEN(绿菌类地皮)、GROUND.SINKHOLE(粘滑地皮)、GROUND.UNDERROCK(洞穴石地地皮)、GROUND.MUD(泥泞地皮),就可以自动铺其他地皮



3dmNPC 发表于 2013-11-29 12:53

V587 谢谢分享

厄呃扼 发表于 2013-11-29 12:54

89685版的修改可以用在22版吗

Mue战天。 发表于 2013-11-29 13:05

神马情况,不干活啊~~~~我反复修改过N遍了{:3_109:}

少年童真无知时 发表于 2013-11-29 13:10

yzzn2009 发表于 2013-11-29 00:41 static/image/common/back.gif
更新预告:二0七.音浪太强(戴兔耳罩周围形成音浪,敌人被弹开)




不要啊o(>﹏<)o

yzzn2009 发表于 2013-11-29 14:23

你在为物品栏、背包格越来越占据屏幕烦恼吗?我们把它变没,好不好?



yzzn2009 发表于 2013-11-29 14:25

本帖最后由 yzzn2009 于 2013-11-29 14:36 编辑

厄呃扼 发表于 2013-11-29 12:54 static/image/common/back.gif
89685版的修改可以用在22版吗
除非注明版本信息的条目,否则一般都没有问题,

yzzn2009 发表于 2013-11-29 14:28

本帖最后由 yzzn2009 于 2013-11-29 18:32 编辑

Mue战天。 发表于 2013-11-29 13:05 static/image/common/back.gif
神马情况,不干活啊~~~~我反复修改过N遍了
先用“电动草叉”挖地皮,再用“电动铺路铲”在空地皮上铺路,我特地做了限制,只能在空地皮上铺,就是怕铺乱了

291073335 发表于 2013-11-29 17:24

求可以建造房子进入房子就是冒险模式最后一关挫败的地图但地图全亮而且天数一样计算

123你爆掉 发表于 2013-11-29 17:32

yzzn2009 发表于 2013-11-28 18:56 static/image/common/back.gif
制造传送机零件

    用记事本打开游戏目录\data\scripts\recipes.lua文件,在下列内容:


谢谢,再问最后一个问题,问什么我昨天一次性修改了,无尽的任务,巨型超市,地图全开,无机器就可以制造东西,然后进游戏游戏就黑屏自动关闭啊,我修改别的还能进啊,没有警告,没有无响应,只是一进去就自动关闭了,怎么回事啊,找了几个月才找到可以修改的饥荒啊

月の死神 发表于 2013-11-29 17:44

yzzn2009 发表于 2013-11-29 12:28 static/image/common/back.gif
你说的是没有声明函数owner吧,你想达成的效果,本来就不该在pickable.lua里修改,因为里面的function Pic ...

不好意思麻烦了。没有考虑到用GetPlayer。谢谢LZ。

yzzn2009 发表于 2013-11-29 18:03

123你爆掉 发表于 2013-11-29 17:32 static/image/common/back.gif
谢谢,再问最后一个问题,问什么我昨天一次性修改了,无尽的任务,巨型超市,地图全开,无机器就可以制造 ...

应该是有的语句替换不准确导致的,比如多end或少end等等。先将你游戏目录\data\scripts文件夹备份一份,再将修改条目涉及的原文件依次复制回来,直到能进游戏为止,就知道哪个文件改错了。将之前备份的scripts文件夹复制回来,把改错了的文件再改一次就可以了

RPhaodaobao 发表于 2013-11-29 18:06

yzzn2009 发表于 2013-11-29 14:28 static/image/common/back.gif
没太看明白,如果是指虫洞,虫洞必须两两配对,删除过其中一个,另一个将成为病态虫洞
...

他又没挖地皮,整么会铺呢{:3_119:}

a45393 发表于 2013-11-29 18:06

贸易系统很给力,就是随身携带的超级市场略蛋疼,可不可以像科学仪器一样吧shop科技附加到某个建筑上(恶魔雕像就很不错啊,和恶魔做交易)

yzzn2009 发表于 2013-11-29 18:06

291073335 发表于 2013-11-29 17:24 static/image/common/back.gif
求可以建造房子进入房子就是冒险模式最后一关挫败的地图但地图全亮而且天数一样计算 ...

以切换地图的方式形成房间内部,之前我也设想过,但存在太多的技术障碍。有时间我会再研究一下的

Mue战天。 发表于 2013-11-29 19:16

yzzn2009 发表于 2013-11-29 14:28 static/image/common/back.gif
先用“电动草叉”挖地皮,再用“电动铺路铲”在空地皮上铺路,我特地做了限制,只能在空地皮上铺,就是怕 ...

不要不要{:3_99:},我是做存档的,存档的完美是和地皮有直接关系的,以前没有自动铺路的时候铺路很麻烦,一铺就是2、3天{:3_123:}但是宁哥,你都“杀出一条路了”就帮我实现我这么一个小小的愿望吧:直接铺路,不管有木有地皮,谢谢宁哥,谢谢宁哥,求成全{:3_100:}

���˽�123 发表于 2013-11-29 19:56

怎么让猪房一次性出仨猪人而不是一个

yzzn2009 发表于 2013-11-29 20:23

Mue战天。 发表于 2013-11-29 19:16 static/image/common/back.gif
不要不要,我是做存档的,存档的完美是和地皮有直接关系的,以前没有自动铺路的时候铺路很麻烦, ...

那样你一旦走偏一点,连补救的机会都没有了,因为没有挖过的地皮。现在你只要拿着“电动草叉”走过去,再拿着“电动铺路铲”再走回来就可以了,并不费事的

yzzn2009 发表于 2013-11-29 20:36

���˽�123 发表于 2013-11-29 19:56 static/image/common/back.gif
怎么让猪房一次性出仨猪人而不是一个

猪房和鱼人房使用的标签不同,一个是spawner标签,一个是childspawner标签,要想让猪房生复数猪人,需要替换全套标签参数,而标签参数嵌在无数段中,修改十分繁琐,而且容易出错。如果你想要多一些猪人,还不如用猪皮种猪人

用猪皮种猪人

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

local function OnDeploy (inst, pt)
    local pigman = SpawnPrefab("pigman")
    if pigman then
      pigman:PushEvent("growfrompigskin")
                pigman.Transform:SetPosition(pt.x, pt.y, pt.z)
      inst.components.stackable:Get():Remove()
    end
end
    inst:AddComponent("deployable")
    inst.components.deployable.ondeploy = OnDeploy

123你爆掉 发表于 2013-11-29 21:21

yzzn2009 发表于 2013-11-29 18:03 static/image/common/back.gif
应该是有的语句替换不准确导致的,比如多end或少end等等。先将你游戏目录\data\scripts文件夹备份一份, ...

不是吧,那些要改好久的啊,我试试吧,不行我再问你吧。。。。。。。

HELOL 发表于 2013-11-29 21:25

宁哥 我忽然发现我砸石头他不掉东西了所有石头都是 你能把石头的原文件发给我么
页: 124 125 126 127 128 129 130 131 132 133 [134] 135 136 137 138 139 140 141 142 143
查看完整版本: 易宁:饥荒游戏实用修改技巧(非MOD模式,请自行备份)支持海难版——6月6日更新:简化修船工具制作材料(只用木板和绳子)