台服dnf吧 关注:125,354贴子:2,088,575
  • 33回复贴,共1

只用pvf给boss血条加百分比

只看楼主收藏回复

就是这个效果,贴图是找的正式服的...hp_red.npk,有点小,但我一不懂pvf二不懂npk就管不了那么多了。思路就是想到了以前看的一个帖子,这地方23行取消注释boss下会多个小黑条,然后之前看过一个帖子只用pvf给血条加个百分比,想着boss是不是也能搞个百分比,然后全复制给通义分析,就是这个效果了。



IP属地:广东来自Android客户端1楼2025-08-10 00:20回复
    确实 但我把所有小怪都加上了


    IP属地:安徽来自Android客户端2楼2025-08-10 01:24
    收起回复
      2026-02-28 20:57:50
      广告
      不感兴趣
      开通SVIP免广告
      我是这样的


      IP属地:安徽来自Android客户端3楼2025-08-10 08:37
      收起回复
        很好很强大


        IP属地:湖南来自Android客户端4楼2025-08-10 09:03
        回复

          function drawMonsterHpPercent(obj, object)
          {
          if(!object || object.isDead())
          return;
          local monsterObject = sq_GetObjectByObjectId(obj, DRAW_MONSTER_ID);
          if (!monsterObject) return;
          monsterObject = sq_GetCNRDObjectToActiveObject(monsterObject);
          if (!monsterObject) return;
          local maxhp = monsterObject.getHpMax();
          local currhp = monsterObject.getHp();
          local hpPercent = (currhp * 100.0 / maxhp).tointeger();
          //print("drawMonsterHpPercent: currhp=" + currhp + ", maxhp=" + maxhp + ", hpPercent=" + hpPercent);
          drawBloodNum(obj, hpPercent, 537, 77, 2);
          }
          function drawBloodNum(obj, num, Xpos, Ypos, Justify)
          {
          if(num < 0)
          num = 0;
          local str = num.tostring();
          local Strin = {
          ["0"] = 60,
          ["1"] = 61,
          ["2"] = 62,
          ["3"] = 63,
          ["4"] = 64,
          ["5"] = 65,
          ["6"] = 66,
          ["7"] = 67,
          ["8"] = 68,
          ["9"] = 69
          }
          local NumLeng = str.len();
          local Space = 8;
          local aniName = "BloodHpPercent";
          local AniPath = "map/trainingroom/damage_analyse.ani";
          local AniPath2 = "common/monster/blood_hp.ani";
          local rate = 1.0;
          local rate6 = 0.72;
          if(Justify == 0)
          Xpos = Xpos
          else if(Justify == 1)
          Xpos = Xpos - NumLeng*Space;
          else if(Justify == 2)
          Xpos = Xpos - NumLeng*Space/2;
          for(local i = 0; i < NumLeng; i++)
          {
          local SingleNum = str.slice(i, i + 1);
          drawBloodAniUI(obj, aniName, AniPath, rate, rate, 255, 255, 255, 255, Strin[SingleNum], Xpos + i*Space, Ypos);
          }
          local percentAniName = "TrainTuenPageNum";
          drawBloodAniUI(obj, percentAniName, AniPath2, rate6, rate6, 255, 255, 255, 255, 0, Xpos + NumLeng*Space, Ypos);
          }
          function drawBloodAniUI(obj, aniName, AniPath, Xrate, Yrate, R, G, B, alpha, FramIndex, Xpos, Ypos)
          {
          local sq_var = obj.getVar();
          local AniObj = sq_var.GetAnimationMap(aniName, AniPath);
          sq_AnimationProc(AniObj);
          AniObj.setImageRate(Xrate, Yrate);
          AniObj.setRGBA(R, G, B, alpha);
          sq_SetAnimationFrameIndex(AniObj, FramIndex);
          sq_drawCurrentFrame(AniObj, Xpos, Ypos, false);
          }


          IP属地:湖南5楼2025-08-10 10:40
          收起回复
            大佬,我玩的70极简端,有没有一键导入包


            IP属地:广东6楼2025-08-10 22:23
            回复
              6666


              IP属地:江苏来自Android客户端7楼2025-08-11 10:51
              回复
                优化了一下,找不到大号的百分号的图标,就除了背景复用我之前的了,背景是官方搜搜monster_hp搜出来的一个npk


                IP属地:广东来自Android客户端8楼2025-08-12 22:25
                收起回复
                  2026-02-28 20:51:50
                  广告
                  不感兴趣
                  开通SVIP免广告
                  大佬问下怎么可以隐藏自己的血量百分比吗


                  IP属地:内蒙古9楼2025-08-17 01:20
                  收起回复
                    感谢


                    IP属地:浙江来自Android客户端10楼2025-08-26 22:35
                    回复