【暗黑破坏神3/4导航插件】TurboHUD中文交流社区

标题: P72_ItemPassive_Soulshard_009怎麼從BUFF讀取當前增傷呢? [打印本页]

作者: sakulasuky    时间: 7 天前
标题: P72_ItemPassive_Soulshard_009怎麼從BUFF讀取當前增傷呢?
(, 下载次数: 0)

        attr        Item_Power_Passive        486179        1        power: P72_ItemPassive_Soulshard_010        attr        Item_Power_Passive        486178        0.00999999977648258        power: P72_ItemPassive_Soulshard_009

請問怎麼從BUFF讀取當前增傷呢? 難道要直接計算玩家身邊的怪物數量嗎?  我比較想從BUFF那獲取曾數 因為那樣比較準





作者: TurboHUD    时间: 7 天前
应该可以读玩家角色属性中的隐藏buff状态,但具体是哪个我就不知道了,你可以用下面这个插件来对比一下找出来
https://www.ownedcore.com/forums ... ng-rnn-mybuffs.html
作者: sakulasuky    时间: 7 天前
OK 感謝 我現在用的就是這個插件 我再努力
作者: sakulasuky    时间: 6 天前
本帖最后由 sakulasuky 于 2025-9-28 11:07 编辑

[C#] 纯文本查看 复制代码
using System;
using Turbo.Plugins.Default;
using System.Collections.Generic;
using SharpDX.DirectInput;
using System.Text;
using System.Reflection;
using System.Linq;

namespace Turbo.Plugins.User
{
    public class BuffByIconCounts : BasePlugin, IKeyEventHandler, IInGameTopPainter
    {
        public IKeyEvent ToggleKeyEvent { get; set; }
        public static IController MyHud { get; set; }

        public BuffByIconCounts()
        {
            Enabled = true;
        }

        public void log2file()
        {
                List<IBuff> powers = new List<IBuff>();
                powers = Hud.Game.Me.Powers.AllBuffs.Where(x=> x.SnoPower.Sno != 0).ToList();


                foreach (var power in powers)
                {
                    string tt = "";
                    bool isadd = false;
                    var j = power.IconCounts.Count();
                    for (var i = 0; i < j; i++)
                    {
                        if(power.IconCounts > 0)
                        {
                                tt = tt + $"[{i}] {power.IconCounts}:{power.SnoPower.Icons.TextureId}\t" ;
                                isadd = true;
                        }
                    }
                    if(isadd)
                    {
                            tt = $"{power.SnoPower.Sno}\t{power.SnoPower.Code}\t" + tt ;
                            BuffByIconCounts.MyHud.TextLog.Log("MyBuff_IconCounts", tt , appendTimeStamp: false, append: true );
                    }
                }
                BuffByIconCounts.MyHud.TextLog.Log("MyBuff_IconCounts", "\t" , appendTimeStamp: false, append: true );
        }

        public void PaintTopInGame(ClipState clipState)
        {
               
        }

        public override void Load(IController hud)
        {
            base.Load(hud);
            MyHud = Hud;
            ToggleKeyEvent = Hud.Input.CreateKeyEvent(true, Key.D, false, false, false);
        }

        public void OnKeyEvent(IKeyEvent keyEvent)
        {
            if (keyEvent.IsPressed && ToggleKeyEvent.Matches(keyEvent))
            {
                 log2file();
            }
        }
    }
}


我用這個在怪堆中按下D 獲取的一個一個排除 發現除了
488544        Community_Buff_NestingPortalSpawn        [5] 32:0
以外沒有層數會隨怪物數量變化的BUFF 但是這個明顯不是
那還有其他的方法嗎?

作者: TurboHUD    时间: 6 天前
有没有可能它是两个不同的buff,一个是增伤一个是减伤,如果还是没有那就不知道了,只能计算周围怪物数量了
作者: sakulasuky    时间: 5 天前
好吧 我再研究研究




欢迎光临 【暗黑破坏神3/4导航插件】TurboHUD中文交流社区 (https://www.turbohud.com.cn/) Powered by Discuz! X3.5