Request: TextLabel under own feet menu

User Tag List

Results 1 to 10 of 10
  1. #1
    everknown's Avatar Active Member
    Reputation
    18
    Join Date
    Jun 2012
    Posts
    121
    Thanks G/R
    33/11
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Request: TextLabel under own feet

    Could someone create or tell me how to create a plugin for this purpose?

    When using Yangs Recurve & Dead Man's Legacy -> Show under your character a label with the text "Yangs".

    When using Danetta full set(2pieces): show under your character a label with the text "Danetta".

    I tried to do debug to find Sno for "buff" but couldn't find any. And the Sno Documents isn't there either...
    Only found this: attr Set_Item_Count 491383 2 (Danetta's Hatred set)

    Request: TextLabel under own feet
  2. #2
    johnbl's Avatar Active Member
    Reputation
    33
    Join Date
    Dec 2016
    Posts
    129
    Thanks G/R
    350/16
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Something similar to this? https://www.ownedcore.com/forums/dia...elsplugin.html
    You still need to find the SNOs

  3. #3
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    ISnoItemList.cs has item SNO numbers.
    Code:
    ISnoItem P61_Unique_Bow_104_x1 { get; } // 824617488 - Yang's Recurve
    
    ISnoItem Unique_HandXBow_002_104 { get; } // 586986070 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_1xx { get; } // 586988514 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_x1 { get; } // 3141402378 - Danetta's Revenge
    ISnoItem Unique_HandXBow_001_104 { get; } // 585800149 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_1xx { get; } // 585802593 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_x1 { get; } // 3141366441 - Danetta's Spite
    it seems Danetta's set has been buffed few times.

  4. Thanks everknown (1 members gave Thanks to JarJarD3 for this useful post)
  5. #4
    everknown's Avatar Active Member
    Reputation
    18
    Join Date
    Jun 2012
    Posts
    121
    Thanks G/R
    33/11
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by JarJarD3 View Post
    ISnoItemList.cs has item SNO numbers.
    Code:
    ISnoItem P61_Unique_Bow_104_x1 { get; } // 824617488 - Yang's Recurve
    
    ISnoItem Unique_HandXBow_002_104 { get; } // 586986070 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_1xx { get; } // 586988514 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_x1 { get; } // 3141402378 - Danetta's Revenge
    ISnoItem Unique_HandXBow_001_104 { get; } // 585800149 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_1xx { get; } // 585802593 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_x1 { get; } // 3141366441 - Danetta's Spite
    it seems Danetta's set has been buffed few times.
    thanks for pointing me the location.

    @johnbl, yes i was trying to use that, but I don't know what that <Icon count> is used for and I didn't know the Sno numbers. Well with the path mentioned by JarJarD3, I found them...
    But why are there so many for the same items? Normal, Ancient, Primal and Cube?


    ----
    i got some errors when i used the numbers above found in that file as Sno ID.. something about U-Int instead of Int is being used.
    Code:
    Plugins\RuneB\BuffLabelsConfig.cs(43,72) : error CS1503: Argument 2: cannot convert from 'uint' to 'int'
    this is what i have:
    Code:
    //DH:
                    //Danetta's Revenge
                    plugin.Labels.Add(new RuneB.Label("Danetta's Revenge", 3141402378, 1, Hud.Render.CreateBrush(100, 200, 100, 255, 0)));//inv
                    
                    //Danetta's Spite
                    plugin.Labels.Add(new RuneB.Label("Danetta's Spite", 3141366441, 1, Hud.Render.CreateBrush(100, 200, 100, 255, 0)));//inv
                    
                    //Yangs Recurve
                    plugin.Labels.Add(new RuneB.Label("Yangs Recurve", 824617488, 1, Hud.Render.CreateBrush(100, 50, 200, 255, 0)));//inv
    
                    //Dead Mans Legacy
                    plugin.Labels.Add(new RuneB.Label("Dead Man's Legacy", 2778658590, 1, Hud.Render.CreateBrush(100, 50, 200, 255, 0)));//inv
    Last edited by everknown; 01-29-2019 at 11:52 AM.

  6. #5
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    I think that all but one is for legacy version(s) of those set items.
    And you have to find out which one is current by checking your items SNO number against one of those below.
    Most of the time I compare item names instead of SNOs as (AFAIK) item names do not change over time!
    See for example DangerousMonsterPlugin.cs how it uses item names...
    It is even comparing both english names and localized names, so you have the option to use either or both.
    I keep strictly in "NameEnglish" for convenience and clarity of code.
    Code:
    ISnoItem Unique_HandXBow_002_104 { get; } // 586986070 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_1xx { get; } // 586988514 - Danetta's Revenge
    ISnoItem Unique_HandXBow_002_x1 { get; } // 3141402378 - Danetta's Revenge
    ISnoItem Unique_HandXBow_001_104 { get; } // 585800149 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_1xx { get; } // 585802593 - Danetta's Spite
    ISnoItem Unique_HandXBow_001_x1 { get; } // 3141366441 - Danetta's Spite
    C# compiler is sometimes very strict about data types and SNO datatype is uint (unsigned integer).
    Code:
    Plugins\RuneB\BuffLabelsConfig.cs(43,72) : error CS1503: Argument 2: cannot convert from 'uint' to 'int'

  7. #6
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)

  8. #7
    everknown's Avatar Active Member
    Reputation
    18
    Join Date
    Jun 2012
    Posts
    121
    Thanks G/R
    33/11
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by JarJarD3 View Post
    That guide isn't helpful as there is no documentation. Hard to start with even with IntelliSense...

    This is what I have so far and don't have a clue to what I'm actually doing... This is made by copy pieces of code from other plugins in an attempt to make the "label" at the player.FloorCoordinate.
    [C#] YangDanettaPlugin - Pastebin.com

    ---
    Edit:

    Even after playing with it for so long, I still couldn't get it to work...
    [C#] YangDanettaPlugin - Pastebin.com

    Used the following plugins for the code:
    Prrovoss/partyInspector.cs
    WindyForce/GargsMasterPlugin.cs
    RuneB/BuffLabelsConfig.cs
    Xenthalon/SweepingWindStackWarningPlugin.cs
    Last edited by everknown; 01-31-2019 at 06:43 PM.

  9. #8
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    This should be simplest plugin to get a label under your feet. Code copied from CosmeticItemsPlugin.
    Code:
    using Turbo.Plugins;
    using Turbo.Plugins.Default;
    
    namespace Turbo.plugins.Test
    {
        public class PlayerLabelOnGround : BasePlugin, IInGameWorldPainter
        {
            public WorldDecoratorCollection Decorator { get; set; }
    
            public PlayerLabelOnGround() { Enabled = true; }
    
            public override void Load(IController hud)
            {
                base.Load(hud);
    
                Decorator = new WorldDecoratorCollection(
                    new GroundLabelDecorator(Hud)
                    {
                        BackgroundBrush = Hud.Render.CreateBrush(90, 0, 0, 0, 0),
                        TextFont = Hud.Render.CreateFont("tahoma", 8, 255, 255, 128, 0, true, false, 100, 0, 0, 0, true),
                    });
            }
    
            public void PaintWorld(WorldLayer layer)
            {
                var player = Hud.Game.Me;
                Decorator.Paint(layer, player, player.FloorCoordinate, player.HeroName);
            }
        }
    }

  10. #9
    JarJarD3's Avatar Contributor
    Reputation
    106
    Join Date
    Oct 2017
    Posts
    395
    Thanks G/R
    41/101
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    1 Thread(s)
    And quick code to check some items for the label text.
    I did not have Danetta's items so I used "Danetta's Hatred" set id which I happen to know.
    But on general I prefer using item.SnoItem.NameEnglish as AFAIK they do not get changed after new patch. Though I guess these are not changed anymore.

    Sample pic Clipboard03.gif of "Multishot" label.
    Code:
    using System.Linq;
    using Turbo.Plugins;
    using Turbo.Plugins.Default;
    
    namespace Turbo.plugins.Test
    {
        public class PlayerLabelOnGround : BasePlugin, IInGameWorldPainter
        {
            public WorldDecoratorCollection Decorator { get; set; }
    
            public PlayerLabelOnGround() { Enabled = true; }
    
            public override void Load(IController hud)
            {
                base.Load(hud);
    
                Decorator = new WorldDecoratorCollection(
                    new GroundLabelDecorator(Hud)
                    {
                        BackgroundBrush = Hud.Render.CreateBrush(90, 0, 0, 0, 0),
                        TextFont = Hud.Render.CreateFont("tahoma", 8, 255, 255, 128, 0, true, false, 100, 0, 0, 0, true),
                    });
            }
    
            public void PaintWorld(WorldLayer layer)
            {
                var items = Hud.Game.Items.Where(x => x.Location >= ItemLocation.RightHand && x.Location <= ItemLocation.LeftHand).ToList();
                if (items.Count == 2)
                {
                    string playerLabel = null;
                    if (items[0].SetSno == 1376223095 && items[1].SetSno == 1376223095)
                    {
                        playerLabel = "Danetta's Hatred";
                    }
                    else
                    {
                        int ueItems = 0;
                        foreach (var item in items)
                        {
                            switch (item.SnoItem.NameEnglish)
                            {
                                case "Yang's Recurve": ueItems += 1; break;
                                case "Dead Man's Legacy": ueItems += 1; break;
                            }
                        }
                        if (ueItems == 2)
                        {
                            playerLabel = "Multishot";
                        }
                    }
                    if (playerLabel != null)
                    {
                        var player = Hud.Game.Me;
                        Decorator.Paint(layer, player, player.FloorCoordinate, playerLabel);
                    }
                }
            }
        }
    }

  11. #10
    everknown's Avatar Active Member
    Reputation
    18
    Join Date
    Jun 2012
    Posts
    121
    Thanks G/R
    33/11
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    with your examples and further digging into the IController part to read the param, it's much easier to understand now. Thanks.

    for example, I found this thread explaining about the Brush.
    https://www.ownedcore.com/forums/dia...lain-more.html (Help with CreateBrush metod arguments explain and more)

    ---
    I do have a question though...
    What is the reason to use "bigger or equal" at x.Location RightHand and "Smaller or equal" for the LeftHand?
    Last edited by everknown; 02-02-2019 at 05:51 PM.

Similar Threads

  1. Troll feet request
    By greenhead62 in forum WoW ME Questions and Requests
    Replies: 5
    Last Post: 06-20-2014, 01:58 AM
  2. request about the bare feet and item swap at 2.4
    By ccsk in forum WoW ME Questions and Requests
    Replies: 6
    Last Post: 03-31-2008, 07:27 AM
  3. [Request] Working Gnome male to Draenei Female with horn, feet fix
    By V1cinity in forum WoW ME Questions and Requests
    Replies: 3
    Last Post: 01-14-2008, 04:25 PM
  4. [Request/Question] Draenei -> Belf "Feet Fix"
    By nazer90 in forum WoW ME Questions and Requests
    Replies: 4
    Last Post: 11-23-2007, 02:54 AM
All times are GMT -5. The time now is 02:28 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search