unturned吧 关注:127,419贴子:2,131,155

关于地图制作的一些操作

只看楼主收藏回复

写一些我知道的一些地图制作的事情,首先先把不全面的NPC制作重写一遍。。。


IP属地:广西1楼2020-05-28 10:41回复
    二楼做目录,大概会有很多东西。。。


    IP属地:广西2楼2020-05-28 10:42
    收起回复
      1.NPC篇
      先找到官方NPC存放目录,这不难吧。。。在Unturned\Bundles\NPCs
      可以复制出一些出来修改,一般一个NPC需要2~4个文件夹

      每个文件夹内有两个文件

      要是想添加汉化文件就复制English文件粘贴改名为Schinese文件,在里面打上中文。
      编辑时全程请使用Notepad++编辑文件 并且保持UTF-8无BOM格式


      IP属地:广西4楼2020-05-28 10:55
      收起回复
        (1)人物属性 Characters
        修改完后将GUID整行删掉,进入游戏会自己生成,所有dat文件都是这样。ID在(2000,65535)范围内,更详细的设置见楼下度盘。

        English文件就不说了吧,在人物里是两个名字,Name是地图编辑器搜索时用的名字,Character是游戏时对话框里显示的名字Name和Character后的空格别弄没了,对话的English在对话里也会有讲。<color=legendary>文字内容</color>可以让文字内容显示出白色以外的颜色,使用16位颜色代码。所有English和Schinese文件都能用。


        IP属地:广西6楼2020-05-28 11:08
        收起回复
          (2)人物对话 Dialogues
          对话文件除去GUID、类型、ID(首三行)必须还要有两部分,消息栏(Message)和回话框(Response),这是制作的主要内容。

          消息栏和回话框后面可以加条件,但只有回话框后面能加奖励。要满足该消息栏或该回话框下的所有条件才能显示该项。没有可显示的消息栏会不显示对话,没有可显示的回话框只会显示”再见“

          因为消息栏只会显示1页,所以当存在2个或以上满足条件的消息栏,会在按排列顺序显示第一个满足条件的。


          IP属地:广西7楼2020-05-28 11:11
          回复
            English文件内的每一条都会对应着Asset的每一条。

            如果你在Asset用了Message_0_Pages 2,则English文件会有Message_0_Page_0和Message_0_Page_1。在游戏内它会分两页显示,第一页显示Message_0_Page_0的内容,按鼠标后跳到下一页显示Message_0_Page_1的内容。
            记得English内Response_*和Message_*_Page_*后的空格别弄没了。


            IP属地:广西8楼2020-05-28 11:23
            回复
              如果想做根据条件对话不同的可以在Message_*_Pages *或Response_*_Dialogue *后面加条件。

              上面就是用声望来当做判断条件,当声望大于等于0时,显示Message_1_Page_0和Response_0,当声望小于0时,显示Message_0_Page_0和Response_1。


              IP属地:广西9楼2020-05-28 11:35
              回复
                在对话的English文件可以插入<color=legendary>文字内容</color>改变文本颜色外,还可以插入:
                <name_npc>:在游戏中会替换显示使用该对话框的NPC名字。
                <name_char>:替换显示使用该对话框的玩家名字。
                <br>:在游戏中文本换行。
                <pause>:当游戏中文本文字弹出到使用位置是停顿0.5秒。


                IP属地:广西12楼2020-05-28 11:46
                回复
                  再讲下标签,主要讲短标签,那个标签不怎么会用:
                  玩家刚进游戏的游戏存档文件大概这样:

                  现在设计个给新手礼包的对话

                  这个时候由于你没有ID:2的标签,系统无法检测条件是否满足,所以Message_1,Response_2,Response_3都当做未满足条件。但因为Message_0,Response_0,Response_1的条件后面有Condition_0_Allow_Unset,所以当做满足条件。


                  IP属地:广西16楼2020-05-28 12:19
                  收起回复
                    现在你选择了Response_0,对话奖励了你ID 2的标签和一把电锯,现在你的存档应该成这样:

                    你的存档有ID 2的标签了,值为1,再回到上面的对话系统就可以正常判断了。
                    这个时候,Message_0,Response_0,Response_1,Response_2需要ID 2的标签值等于0,现在你的是等于1,所以不会显示,Message_1和Response_3需要等于1,所以会显示。


                    IP属地:广西17楼2020-05-28 12:24
                    回复
                      接着上面,做个发布任务和结算任务的对话:
                      发布和结算都需要在Response_*_Dialogue *下面加多个跳转任务界面Response_*_Quest *来获取任务信息,你不加也没事,到时候就只是玩家不知道什么时候接了个任务。

                      上面判断的任务状态有4个:
                      None(玩家没有这个任务标签),Active(玩家正在做个任务的状态),Ready(玩家准备完任务所要条件的状态),Completed(玩家完成了这个任务的状态)
                      给与任务的时候关键是要在奖励项把任务奖励给玩家,不然就会打开了任务预览玩家身上却没有任务。


                      IP属地:广西20楼2020-05-28 13:47
                      收起回复
                        现在你的游戏存档没有ID:3的任务,所以Response_0你是可以看的见的,Response_1就看不见了。
                        点击Response_0,跳出个任务预览,点接受后,你的存档就应该变为:

                        Active后面的1代表你身上有一个id3状态Active的任务。


                        IP属地:广西21楼2020-05-28 13:53
                        回复
                          然后你经过游戏后满足了任务条件,存档变成
                          任务:3/Ready/1
                          这时候对话10001的Response_1的条件满足了,Response_1的条件倒是不满足了。
                          这个时候你点下Response_1,弹出个任务预览,点继续,任务就算交了,这时候存档变成

                          3/0表示你有0个ID:3的任务,这个时候ID:3的任务就处于Completed的状态。
                          就跟None的状态是没有一样,Completed的状态就是拥有0个,反正我是这么理解的。
                          这个结算任务的关键是要在条件的最后加上Response_*_Condition_*_Reset,不然你交了任务得到任务内的奖励,但玩家的任务状态没有转换成0,你还是能继续交任务的。


                          IP属地:广西22楼2020-05-28 14:02
                          回复
                            所以要想弄一个可以反复交出和结算任务的对话就在交出任务的对话框下手:

                            在玩家ID:3的任务状态不为Active和Ready的情况下看见Response_0,点击获得一个ID:3的任务。


                            IP属地:广西23楼2020-05-28 14:08
                            回复
                              接下来到讲一些特殊的条件使用方式:
                              Response_*_Condition_*_Reset
                              用于删除任务栏,经验,物品,这三样只能用这个方法删掉。经验,物品只删掉之前给的指定值(判断值)。
                              比如这个,玩家经验大于100才能看见,点击扣除100经验。

                              击杀丧尸任务最后一条
                              Condition_#_Spawn
                              玩家进入就会产生指定值的指定类型丧尸,离开就会消灭,一般用于Boss击杀任务,不要就整行删除。
                              而且击杀丧尸任务需要一个Nav的定位点,在地图编辑器路径内

                              传送和奖励载具要一个Spawnpoint标定位置,在devkit编辑器内放置,后面会讲。


                              IP属地:广西25楼2020-05-28 14:29
                              收起回复