csoldjb吧 关注:63,508贴子:1,904,686

开坑 Doge大灾变详解

只看楼主收藏回复

希望为此模式开发地图/关卡的朋友,可以阅读一下


1楼2014-09-23 20:15回复
    1.概述
    此模式服务器端分为MetaMod模块,AMXX模块和3个AMXX插件。
    MetaMod插件负责AI的基本控制,包括AI的动作和路点
    AMXX模块负责插件和MetaMod模块的通信
    AMXX插件有3个
    (1)ZombieScenario.amxx负责控制AI的动态复活,UI控制,配置读取等等
    (2)EntitySetting.amxx负责地图实体的监视,让地图插件负责调用相关函数
    (3)地图名字.amxx负责该地图的实体控制,区域控制


    2楼2014-09-23 20:15
    收起回复
      2.插件分述
      (1)ZombieScenario.amxx
      该插件负责基本控制:玩家等级,读取配置信息(maps/level保存关卡配置,maps/graphs保存路点,maps/scripts保存文本显示,maps/spawns保存各种复活点),僵尸动态复活点的控制,关卡进行,调用MetaMod生成AI等等。
      关键命令:
      aimenu 用于打开AI菜单
      editmode 当开启时,可以阻止AI生成
      Aimenu的分项说明:
      a. 生成/删除路点
      当有路点时,显示为删除路点,反之,为添加路点
      什么是路点呢?路点就是可以连续的、相连的、且可以从一个路点直接走到下一个路点(即必须2个路点之间可视)

      如上图所示,zs_decoy地图该位置有4个路点,当你放完所有的路点后,程序会进行22路点检测,判断各路点的连接情况。
      比如1和2之间可以互相看见,但1和3 4之前无法可见,所以只有在1 2处产生一条连接,而对于2号点,1 3 4均可见,所以2号点有12 23 24 3条连接。对于3,有2和4可见,可以有2个连接。
      当玩家处在小人处时,很明显,只有3号点能直接到达(4号点应该没法直接看见),假如AI在1附近生成,AI在生成路径就会选择从1到2再到3这条路线。
      综上,布置路点时,需要考虑先破坏掉所有的func_breakable,保证在生成路径时,不会被某些东西阻挡(仅仅在布置路点时需要,游戏的时候该需要玩家破坏的,还是应该让玩家破坏)。路点要贯穿全图,保证至少有1个点能看得到玩家的位置,这样AI才能规划出一条合适的路线。(目前路点最多能布置100个,zs_decoy大约用了40个路点)
      当布置完路点,选择7让程序生成路点


      3楼2014-09-23 20:17
      收起回复
        b.复活点和区域设定
        玩家刚开始的区域为0,zs_decoy刚开始是没有僵尸出现的,所以先选择【5 下一区域】。
        (区域的切换是zs_decoy.amxx设定的,以后解释)
        当你走到需要设置该【区域】AI复活点的时候,按下【2 设置复活点】可以在该处添加一个复活点,你也可以在附近一个可视的位置按下【3 设置path_corner】设置一个路径点,设置路径点后,AI在复活点复活后,会先强制走到设置路径点的地方,到达后,才会进行路点的行走(路径点和复活点是一一对应的,可以只设置复活点)。每一个区域最多对应10处复活点。
        当你感觉该区域复活点设置的差不多的时候,按【5 下一区域】切换到下一区域,继续设置下一区域的复活点(所有复活点最多100个 区域最多20个)


        5楼2014-09-23 20:26
        回复
          c.BOSS和玩家复活点
          按【9 More】切换到菜单下一页,按【2 添加BOSS复活点】,可以在该处添加一个BOSS复活点。添加后会自动出现一个长方体,该长方体的用处是,当非BOSS关时,玩家碰到该长方体会自动结束当前关卡,且设定下一关为BOSS关,BOSS将会在该处出现
          如图:

          【3 添加正常玩家复活点】为添加普通关卡的玩家复活点(最多6个)
          【4 添加BOSS处玩家复活点】为添加BOSS关卡的玩家复活点(最多6个)


          6楼2014-09-23 20:31
          收起回复
            前拍


            来自Android客户端10楼2014-09-23 20:43
            回复


              IP属地:北京来自Android客户端11楼2014-09-23 20:46
              回复


                12楼2014-09-23 20:54
                回复
                  居然赶上前排了。


                  IP属地:辽宁来自手机贴吧13楼2014-09-23 21:16
                  回复
                    开坑是指不做了么


                    IP属地:广东来自Android客户端14楼2014-09-23 21:19
                    回复
                      高端


                      IP属地:广东来自Android客户端15楼2014-09-23 21:25
                      回复
                        老大 明天我会和同学联机测试一次


                        来自Android客户端16楼2014-09-23 21:29
                        回复
                          →_→ 不管怎么写 总会有人说看不懂的


                          来自Android客户端19楼2014-09-23 22:12
                          收起回复
                            19l说的对


                            IP属地:上海20楼2014-09-23 22:16
                            回复