台服dnf吧 关注:136,953贴子:2,312,892
  • 9回复贴,共1页

请问大佬们,想平 x 的时候不移动应该怎么改

只看楼主收藏回复

该改哪个文件,实现难度高吗?


IP属地:广东来自iPhone客户端1楼2026-08-15 15:27回复
    国服今年才实现。


    IP属地:新疆来自Android客户端2楼2026-08-15 15:38
    收起回复
      2026-10-22 02:13:55
      广告
      不感兴趣
      开通SVIP免广告
      平A时点反方向键,这不PK场常规操作嘛


      IP属地:广东来自Android客户端3楼2026-08-15 15:43
      收起回复
        让ai改


        IP属地:江西来自Android客户端4楼2026-08-22 11:25
        回复
          有几种修改方式:
          1、男法、女鬼剑等角色到nut修改
          如神迹新生女鬼剑,找到对应的attack.nut,分析代码后,定位到位移写在sqr/character/atswordman/atswordman_new.nut -> function procSetIsMove,默认位移30,按前方向键额外加76,按后额外减30,不按则保持默认。修改不按方向键减30抵消默认就没有位移。
          2、原版角色设置停止移动
          如鬼剑、女法,在 function onProc_XXX 中添加 if (!sq_IsKeyDown(OPTION_HOTKEY_MOVE_LEFT, ENUM_SUBKEY_TYPE_ALL) && !sq_IsKeyDown(OPTION_HOTKEY_MOVE_RIGHT, ENUM_SUBKEY_TYPE_ALL)) sq_SetVelocity(obj, 0, 0.0);
          判断按键与角色朝向不一致时清零X轴移速,还可以换成 obj.sq_SetStaticMoveInfo(0, 0, 0, false, 0, true); 有相同效果,还有obj.sq_StopMove();可以用来停止大枪的后座
          3、通用的处理
          上述两种方式有时会有瑕疵,例如女法特定的按键输入时会发生后退,可以换一种方式,把角色钉在某个坐标上
          function onSetState_XXX(obj, state, datas, isResetTimer)
          {
          if (!obj || !obj.sq_IsMyControlObject()) return;
          obj.getVar("targetX").setInt(0, obj.getXPos());
          }
          function onProc_XXX(obj)
          {
          if(!obj||!obj.sq_IsMyControlObject())return;
          local targetX = obj.getVar("targetX").getInt(0);
          if(obj.getDirection() == obj.sq_GetInputDirection(0)) obj.getVar("targetX").setInt(0, -1);
          else if (targetX >=0) sq_setCurrentAxisPos(obj, 0, targetX);
          }
          判断方向是为了按方向键时可以移动,不按时不移动。去掉if就成了普攻在原地无法移动


          IP属地:陕西5楼2026-08-22 17:07
          收起回复
            国服这么多年了,到今年才改这个设定,也是牛逼


            IP属地:四川6楼2026-08-22 17:12
            回复