饥荒mod吧 关注:57,900贴子:235,609

8—24【mod教程】第一篇:基础

取消只看楼主收藏回复



IP属地:江苏来自Android客户端1楼2014-08-24 17:21回复
    这第一篇是给新手的,希望你们可以学习mod,去做mod
    在做mod的时候,既要看到自己是棒的,有自信做好mod;但是,你也必须要明白,自己还有可以进步的地方。我现在可以做一些mod,但最多也不过是中级水准,我有几个挺佩服的吧友,他们都很厉害。@luowenyu82 @czfshine @首字母G 等等。往往有人比你强,但是他们会给你动力,会给你目标。这是我希望所有想做mod的新手都可以记住的。


    IP属地:江苏来自Android客户端2楼2014-08-24 17:22
    收起回复
      嗯~楼主已经死亡
      小事挖坟,大事招魂
      —————
      今天老妈上班,她把手机带走了~~~~~
      今天晚上尝试更新一点点
      ——————
      顺带说明一下,这个mod会非常非常实用,不过是向反方向的


      IP属地:江苏来自Android客户端15楼2014-08-25 19:30
      收起回复
        啊,妈妈的手机没流量了


        IP属地:江苏来自Android客户端16楼2014-08-25 19:42
        收起回复
          【第一步 确定mod的意义】
          这是伟大的,你喜爱饥荒,你也想成为一个“modder”。所以,你在哪里开始呢? 老实说,改装所做的最多的事,通常是试验和错误,即使你知道你在做什么。 有几十种MODS的,所以你需要很多的教程,以支付他们所有。了解每一个可能的MOD变化这只是不切实际的。事实是,即使按照一个教程,你必须知道你的LUA编码方式。 所以,你必须是一个起点。你应该怎么做呢?请看:
          挖掘成现有MODS,做一些类似事。
          请看看本游戏的Lua的文件(最好使用像记事本一样的一个免费程序)和实际游戏机制。
          学他们实际上如何运作,然后你可以来创建您自己的。
          使用搜索学习LUA编码的基础知识,运用这些知识改装饥荒。
          请检查现有的教程列表,以帮助您开始。
          不要回来了论坛,并请求帮助时,你已经遇见了一个问题。很多人不会愿意帮助那些提出基本问题,只是需要在这里和那里一点帮助。
          不要启动一个帖子要求别人“教你如何做mod”。充其量,你只是指出这个主题。
          没有简单的路,我很害怕。残酷的事实是,你将不得不学习(LUA)了解一些基本的编码,然后应用这些知识改装饥荒。请在谷歌搜索“学习LUA”,很多网站有关于这个问题的。 现在,你很可能发现,编程/改装仅仅是在你的头脑上,真正做出来的是少数。您可以随时启动一个“帮助”贴。您可能很幸运,找人谁愿意做你的mod成为现实。
          — —@czfshine 饥荒代码吧:<<在做mod之前>>
          modder即mod作者,即是我们。我们会认为做mod是很好的,会专心于制作mod。
          上文说的没错,学习mod根本不是一条容易的路。首先是工具,而mod工具全是英文,需要你学好英语,否则根本一窍不通。即使你学好英语,也会缺少教程,你需要转研,很久很久,真神和伪神的区别就在于这很久很久。就算如此,你很幸运,你依旧需要从最初开始,学习饥荒的基础——lua语言。
          但是,只要我们努力,不怕路上的艰难,我们就可以成功。
          其实,我可以引用大神@列山铭 的一句话:“个人建议玩英文版,慢慢玩,百度一下,学点英文,或者修修改,搞搞MOD,学点LUA语言,都可以,否则花了时间,玩完游戏,最后什么都没有。”来诠释mod的涵义
          我想虽然我说的很乱,但是我相信,你的心里已经有了mod意义的概念,这就行了。


          IP属地:江苏来自Android客户端17楼2014-08-26 12:56
          收起回复
            【第二步 确定mod的作用】
            首先,我们得知道,千万不要做BT的mod,变态的mod及其容易消磨游戏的可玩性,最终使人对你丧失信心。此外也容易使你消折做mod的热枕
            [2.1 确定mod的方向]
            今天我打算做的mod功能是关于人物的物品栏。所以我要考虑到堆叠,可以放进背包。
            [2.2 联系实际改变一些mod方向]
            原来主角身上最多可以放3*15*20+20个木头,即306棵大树和1棵一般的树!太夸张了点
            还有石头、草、肉。
            [2.3 确定最终功能]
            *堆叠从原本的最小10 一般20 最大40,变成2 5 10
            *木甲、草甲、大理石甲、铥甲、蜗牛甲不可以放进背包(影甲即将成为神器)
            *肉棒、铥棒不可放进背包
            *影甲防御力90%,铥甲防御95%,蜗牛甲防御90%
            *影甲耐久600血,铥甲耐久3000血,蜗牛甲耐久1800血
            *铥甲加精神更大,大理石甲加精神
            *铥棒攻击102,肉棒攻击51
            *铥棒耐久400
            *铥棒加精神
            *肉、熟肉、植物肉、熟植物肉不可叠加
            *"三维(血 肚 脑)" 肉(3 40 -5),熟肉(15 50 10),肉干(30 30 15),植物肉(10 30 -3),熟植物肉(40 15 20)


            IP属地:江苏来自Android客户端18楼2014-08-26 12:57
            回复
              艾玛,扣了1块。拜拜,明天在看看


              IP属地:江苏来自Android客户端19楼2014-08-26 12:57
              回复
                【第三步 代码部分】
                写代码的时候我们需要用到记事本,最好用sublime代码编写器等等
                建议先把mod的框架做出来,方便测试。
                mod框架: mod文件夹 = {modmain.lua, modinfo.lua, scripts文件夹(prefabs文件夹)}
                其实你可以把mod看作是修改的一种,modmain是表示mod的全局变量,modinfo是mod的基本信息(如作者,名字)。scripts文件夹相信许多爱修改的吧友都知道,就是文本数据,即代码。prefabs文件夹是物品文件,里面是物品。
                mod里的文件会按照相同的路径替换原文件。


                IP属地:江苏来自Android客户端20楼2014-08-26 16:13
                收起回复
                  [3.1 mod的文件夹]
                  这个mod按上面说的mod框架建文件夹就行了。
                  [3.2 mod的基本信息写入]
                  打开modinfo,写入这段代码说出mod的名字:
                  name = "堆叠and其他"
                  新起一行写入这段代码说出介绍
                  description = "尝试一下新的物品栏吧!"
                  作者
                  author = "abcd咸鱼"
                  mod本身的版本号
                  version = "1.0"
                  你的论坛地址
                  forumthread = "www.baidu.com"
                  mod对游戏的版本号,dlc是6
                  api_version = 6
                  关于dlc兼容什么的我忘了@czfshine 补充一下吧


                  IP属地:江苏来自Android客户端21楼2014-08-26 16:13
                  收起回复
                    [3.3 开始制作mod功能]
                    好像很多诶


                    IP属地:江苏来自Android客户端29楼2014-08-30 07:29
                    回复
                      <3.3.1 堆叠从原本的最小10 一般20 最大40,变成2 5 10>
                      这些原先都在tuning.lua里,但是,tuning是总体的一个"表",即一堆的数据。我们不可以直接把tuning.lua复制到scripts里,那样无用。@饥荒新闻关注者 现在知道为什么无法修改冰箱了吧,你是把整个tuning复制走了。
                      在tuning里,是这些数据
                      STACK_SIZE_LARGEITEM = 10,
                      STACK_SIZE_MEDITEM = 20,
                      STACK_SIZE_SMALLITEM = 40,
                      就是堆叠的数量,他们都在tuning这个"表"里,我们应该这样改他们
                      因为它们是总体的"表",而前面说过modmain是表示mod的全局变量,所以在modmain里添加
                      TUNING.STACK_SIZE_LARGEITEM = 2
                      TUNING.STACK_SIZE_MEDITEM = 5
                      TUNING.STACK_SIZE_SMALLITEM = 10
                      看见没有,就是在每一个前面加了"TUNING.","表的名字"+"."就可以这样调用"表"了。更多符号用法——@czfshine 饥荒代码吧:<<【lua潜谈】各符号用法>>
                      删去","因为它不在于原来的表里。总之,这个解释起来有些麻烦,以后说
                      ps鉴别"表"的名字,就是打开一个文件,像这样的
                      TUNING =
                      {
                      省略
                      }
                      名字就叫TUNING。注意TUNING和tuning不同,饥荒大小写区分


                      IP属地:江苏来自Android客户端30楼2014-08-30 07:30
                      回复
                        <3.3.2 木甲、草甲、大理石甲、铥甲、蜗牛甲不可以放进背包>
                        我们知道背包不可以放入物品栏。所以我们打开data/scripts/prefabs的backpack.lua,就是背包的文件代码,看看这些
                        inst.components.inventoryitem.cangoincontainer = false
                        这一句就是说不可以放进装备栏。
                        打开data/scripts/prefabs,将armor_grass.lua(草), armor_wood.lua(木), armor_marble.lua(大理石), armor_ruins.lua(铥), armor_snurtleshell.lua(蜗牛)复制进mod文件夹/scripts/prefabs里
                        然后我们就可以加进以上的代码,在各个铠甲里的inst:AddComponent("inventoryitem")的下一行。为什么要添加进这里呢?没有答案,你可以添加在别的地方
                        比如,在木甲里。找到
                        inst:AddComponent("inventoryitem")
                        在它的下一行添加
                        inst.components.inventoryitem.cangoincontainer = false
                        即可。
                        楼主先做去了w~~


                        IP属地:江苏来自Android客户端31楼2014-08-30 07:31
                        收起回复
                          码字累死了,大家帮忙顶


                          IP属地:江苏来自Android客户端32楼2014-08-30 07:31
                          收起回复
                            努力


                            IP属地:江苏来自Android客户端35楼2014-08-31 19:31
                            回复
                              上学前最后


                              IP属地:江苏来自Android客户端36楼2014-08-31 19:32
                              回复