cs插件吧 关注:8,259贴子:88,636
  • 23回复贴,共1
【简介】
跟cscz一样的寻路,已经独立出来提供接口给amxx使用。
纯抄v社的代码,就不开源了。反正源码就在那。
如果遇到某些楼梯不能跟区域连接在一起,那cscz也不行。
nav格式版本:5
【常用服务端命令】
"nav_learn"-自动生成导航网格,当服务器里有玩家时,会选择1号玩家的位置作为起点开始生成,否则默认以第一个info_start_player实体为起点
"nav_start_entity <entity classname>"-设置寻路自动生成导航网格以哪个实体名的实体开始
"nav_analyze"-该图存在导航网格时执行,以当前地图的导航网格分析躲藏点和接近点(给BOT使用的)
"nav_save"-保存编辑过的导航网格,位置位于cstrike\maps下
"nav_load"-载入位于cstrike\maps与当前地图同名nav文件
"nav_size"-在屏幕中间显示导航网格区域的个数
剩下的命令在提供的amxx实例里有。
【Link】
wwue.lanzoue.com/iMAaz2hjn3af


IP属地:广西1楼2024-12-11 20:41回复


    IP属地:广东来自Android客户端2楼2024-12-12 00:06
    回复
      nb.wav


      IP属地:河南来自Android客户端3楼2024-12-12 08:10
      回复



        我试了,我的僵尸可以用。
        有时候路径相交npc就会卡住
        public NavMove(ent)
        {
        new id = FindClostestTarget(ent)
        if(id)
        {
        new Float:pos[3], Float:s[3], Float:e[3], Float:ent_origin[3]
        pev(id, pev_origin, pos); pos[2] -= 16.0
        pev(ent, pev_origin, ent_origin)
        new points = pev(ent, pev_points)
        if (points)
        {
        get_segment(ent, g_point[ent], segment_pos, e);
        DrawLine(ent_origin, e)
        SetEntityTurn(ent, e)
        set_anim(ent, 2, 0)
        NpcMove(ent)
        if(is_move_complete(ent_origin, e)) g_point[ent]+=1
        if(g_point[ent] == points)
        {
        set_pev(ent, pev_points, 0)
        g_point[ent]=0
        client_print(0, print_chat, "Reached the last point!")
        }
        client_print(0, print_chat, "Running waypoints. (%d/%d)", g_point[ent], points)
        }else{
        points = path_find(ent, ent_origin, pos, SAFEST_ROUTE, "test_cost");
        set_pev(ent, pev_points, points)
        g_point[ent] = 0
        if(!points)
        {
        client_print(0, print_chat, "no path found")
        RandomMove(ent)
        }
        }
        }else{
        client_print(0, print_chat, "no id")
        RandomMove(ent)
        }
        }


        IP属地:中国香港4楼2025-01-31 00:43
        收起回复
          此楼用以发布最新版本的模块。
          【林克】
          【1.1.0】wwue.lanzoue.com/iyXVb2mdryih
          -新增了几个用来判断区域空间关系的函数
          -删掉了amxx自定义路线Forward的参数RouteType:iRouteType,新的forawrd定义为
          public Float:fw_ScriptedRoute(EntityID, to_area, from_area, ladder);
          -修改了头文件的说明


          IP属地:广西7楼2025-01-31 14:10
          收起回复
            又给昼夜求生注入新鲜血液


            IP属地:山西来自Android客户端8楼2025-02-07 19:31
            回复
              注意,寻路测试的插件只能在修改nav时用来测试nav的连通性等等,不能用于实际使用。
              实际使用时,每个tick都调用一次path_find是错误的写法。


              IP属地:广西9楼2025-02-13 23:51
              收起回复
                意思是ai思考一次就find是错误的?


                IP属地:山西来自Android客户端10楼2025-02-14 00:17
                收起回复
                  修复了zsh_desert的nav,现在桥上也可以被导航到了。
                  nav链接:wwue.lanzoue.com/ig4Kk2nwn9te,密码:9epy



                  IP属地:广西11楼2025-02-16 00:51
                  收起回复
                    图一,模块内部为每个实体配备了指向导航结果CNavPath的指针,内存布局如图上半部分所示。
                    下半部分:一条完整的导航路线。

                    图二,对应图一导航路线每个节点的赋值结果。


                    IP属地:广西13楼2025-02-17 23:26
                    收起回复