[v7.3] [INTERNATIONAL] [RuneB] PartyCooldownsPlugin menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 23
  1. #1
    RuneB's Avatar Active Member
    Reputation
    39
    Join Date
    Mar 2017
    Posts
    16
    Thanks G/R
    8/34
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [v7.5] [INTERNATIONAL] [RuneB] PartyCooldownsPlugin

    Supported TurboHUD version: 7.6
    Shows the remaining cooldown on chosen partymember skills, using small icons in the top of the screen.
    Skills can be watched by adding their sno's to the WatchedSnos list - there are commented examples.

    Install:

    Unzip Zip from GitHub into /plugins/
    or:
    Copy the file(s) manually from the GitHub page: PartyCooldownsPlugin and place them in a folder called RuneB under /plugins/
    (The config file is optional but recommended, it makes it easy to modify the plugin to your needs)
    Last edited by RuneB; 11-17-2017 at 12:23 PM.

    [v7.3] [INTERNATIONAL] [RuneB] PartyCooldownsPlugin
  2. Thanks cherouvim13, greatscott, bm206, SeaDragon, MrOne, everknown, (Sarge), Wasted74, johnbl, Blop08, ajoe, TehIso (12 members gave Thanks to RuneB for this useful post)
  3. #2
    bm206's Avatar Active Member
    Reputation
    73
    Join Date
    Mar 2017
    Posts
    285
    Thanks G/R
    57/64
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I have exceptions:
    2017.08.21 12:02:41.013 overlay paint error (System.Collections.Generic.KeyNotFoundException: Der angegebene Schlüssel war nicht im Wörterbuch angegeben.
    bei System.ThrowHelper.ThrowKeyNotFoundException()
    bei System.Collections.Generic.Dictionary`2.get_Item(TKey key)
    bei Turbo.Plugins.RuneB.PartyCooldownsPlugin.PaintTopInGame(ClipState clipState)
    bei ​​‪‪‪*‫***‬‎*‏​*‪‎*‏‫‎*.‫​**‪**‎‪‬‫*​‎*‏‎*‪‏*‪‬** **.‪‫‪*‏‏‪‎***‪‎‫*‪‏**‫‬*()
    bei ​​‪‪‪*‫***‬‎*‏​*‪‎*‏‫‎*.​‬*‬​*‬*‎‎‪‏*‎‎*‫*‫​​*‪‬‪* ​‫*(IPlugin , String , Action )
    bei ​​‪‪‪*‫***‬‎*‏​*‪‎*‏‫‎*.*​‏‎*‬‫‎‬‬**‫‪**‪‎‫‎​‏​* *(Object , EventArgs )
    bei Turbo.Basic.Overlay.‫‏‬**‪*‎‎‏‏‏*‬*‬‫*‫*‎‪*())
    2017.08.21 12:02:41.072 overlay paint notification (SharpDX.SharpDXException: HRESULT: [0x88990001], Module: [SharpDX.Direct2D1], ApiCode: [D2DERR_WRONG_STATE/WrongState], Message: Das Objekt befand sich nicht im richtigen Status, um die Methode zu verarbeiten.

    bei SharpDX.Result.CheckError()
    bei Turbo.Basic.Overlay.‫‏‬**‪*‎‎‏‏‏*‬*‬‫*‫*‎‪*())

  4. Thanks RuneB (1 members gave Thanks to bm206 for this useful post)
  5. #3
    cherouvim13's Avatar Member
    Reputation
    14
    Join Date
    Mar 2017
    Posts
    212
    Thanks G/R
    258/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    from which file i can find a particular sno?

    edit : found it , sno_powers from doc folder
    Last edited by cherouvim13; 08-21-2017 at 09:39 AM.

  6. #4
    JackCeparou's Avatar Savvy ? 🐒
    Reputation
    534
    Join Date
    Mar 2017
    Posts
    588
    Thanks G/R
    51/490
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    PHP Code:
    private Dictionary<stringstringclassShorts
    =>
    PHP Code:
    private Dictionary<HeroClassstringclassShorts
    PHP Code:
                classShorts = new Dictionary<stringstring>();
                
    classShorts.Add("Barbarian""Barb");
                
    classShorts.Add("Monk""Monk");
                
    classShorts.Add("Necromancer""Necro");
                
    classShorts.Add("Wizard""Wiz");
                
    classShorts.Add("Witch Doctor""WD");
                
    classShorts.Add("Crusader""Sader");
                
    classShorts.Add("Demon Hunter""DH"); 
    =>
    PHP Code:
                classShorts = new Dictionary<HeroClassstring>();
                
    classShorts.Add(HeroClass.Barbarian"Barb");
                
    classShorts.Add(HeroClass.Monk"Monk");
                
    classShorts.Add(HeroClass.Necromancer"Necro");
                
    classShorts.Add(HeroClass.Wizard"Wiz");
                
    classShorts.Add(HeroClass.WitchDoctor"WD");
                
    classShorts.Add(HeroClass.Crusader"Sader");
                
    classShorts.Add(HeroClass.DemonHunter"DH"); 
    PHP Code:
    var layout ClassFont.GetTextLayout(player.BattleTagAbovePortrait "\n(" classShorts[player.HeroClassDefinition.Name] + ")"); 
    =>
    PHP Code:
    var layout ClassFont.GetTextLayout(player.BattleTagAbovePortrait "\n(" classShorts[player.HeroClassDefinition.HeroClass] + ")"); 
    There is probably some other optimisations to do, but this fix the KeyNotFound exception.
    PartyCooldownsPlugin.cs * GitHub

    Edit : i added a 'skillSlotOrder = new int[] {2, 3, 4, 5, 0, 1};' too, no need to instanciate it up to 24 times per cycle ; )
    Last edited by JackCeparou; 08-21-2017 at 09:49 AM.
    Hide the Rum! --> Default theme customization 101 <--

  7. Thanks RuneB (1 members gave Thanks to JackCeparou for this useful post)
  8. #5
    RuneB's Avatar Active Member
    Reputation
    39
    Join Date
    Mar 2017
    Posts
    16
    Thanks G/R
    8/34
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Oh yes, the classes are obviously not called the same all over so this was only working in the English client before. My apologies.
    Using custom strings to check against heroclasses was definitely not the way to go, and the many instantiations aren't needed - Thanks for the corrections Jack!

    The plugin has been updated.

  9. Thanks bm206 (1 members gave Thanks to RuneB for this useful post)
  10. #6
    MrOne's Avatar Contributor
    Reputation
    163
    Join Date
    Mar 2017
    Posts
    322
    Thanks G/R
    66/141
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    great work, this is what i need

    Two questions:
    is it possible to center nick with class name and skills?
    is it possible to manual define class order?

  11. #7
    cherouvim13's Avatar Member
    Reputation
    14
    Join Date
    Mar 2017
    Posts
    212
    Thanks G/R
    258/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Can it be done in order to show only my cooldown and not the rest one in party?

  12. #8
    cherouvim13's Avatar Member
    Reputation
    14
    Join Date
    Mar 2017
    Posts
    212
    Thanks G/R
    258/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    RuneB? Anyone else that can help?

  13. #9
    MrOne's Avatar Contributor
    Reputation
    163
    Join Date
    Mar 2017
    Posts
    322
    Thanks G/R
    66/141
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by cherouvim13 View Post
    RuneB? Anyone else that can help?
    Not tested in team (just alone) but try add after
    Code:
    if (player.IsMe && !ShowSelf)
            continue;
    this
    Code:
    if (!player.IsMe)
            continue;
    and 7.5 work great!
    Also change order by portrait by changig this
    Code:
    foreach (IPlayer player in Hud.Game.Players)
    to this
    Code:
    foreach (IPlayer player in Hud.Game.Players.OrderBy(p => p.PortraitIndex))

  14. Thanks cherouvim13 (1 members gave Thanks to MrOne for this useful post)
  15. #10
    RuneB's Avatar Active Member
    Reputation
    39
    Join Date
    Mar 2017
    Posts
    16
    Thanks G/R
    8/34
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sorry for the late replies both, i have been quite busy recently.

    While testing for 7.5 I have done some refactoring and added a boolean 'ShowOnlyMe' that is false by default.
    I see you figured the sorting out yourself MrOne Added ordering to the new version as well.
    Last edited by RuneB; 11-08-2017 at 09:04 PM.

  16. Thanks cherouvim13 (1 members gave Thanks to RuneB for this useful post)
  17. #11
    cherouvim13's Avatar Member
    Reputation
    14
    Join Date
    Mar 2017
    Posts
    212
    Thanks G/R
    258/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Much appreciate it will test it in the afternoon

    I can play around with icon positioning and size in order to have what I have asked here
    Self Cooldown indicator

    One more question : is it possible to have the cooldown indications in a vertical form and not horizontal? for example LoD icon appears and then Simulacrum icon appears below LoD's icon
    Last edited by cherouvim13; 11-09-2017 at 02:26 AM. Reason: Added question

  18. #12
    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)
    In order to make config easier you can initialize WatchedSnos with following "compiler safe" code.
    Code:
    ISnoPowerList p = hud.Sno.SnoPowers;
    WatchedSnos = new List<uint>
    {
        //Add skills to the watch list below
        //--- Necromancer
        sno(p.Necromancer_Simulacrum),
        sno(p.Necromancer_LandOfTheDead),
    
        //--- Barb
        sno(p.Barbarian_IgnorePain),
        //sno(p.Barbarian_WrathOfTheBerserker),
        //sno(p.Barbarian_WarCry),
    
        //--- Monk
        sno(p.Monk_InnerSanctuary),
    
        //--- Witch Doctor
        sno(p.WitchDoctor_SpiritWalk),
    
        //--- Demon Hunter 
        sno(p.DemonHunter_Vengeance),
        sno(p.DemonHunter_Companion),
    
        //--- Wizard
        //134872 //Archon - Needs testing, dont use for now
    };
    And then you need to add following small helper method to grab the sno in question:
    Code:
    uint sno(ISnoPower power) { return power.Sno; }

  19. #13
    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)
    Why use (expensive) Dictionary lookup when an array can do?
    Code:
    private string[] _classShorts;
    ...
    _classShorts = new string[10];
    foreach (var x in new Dictionary<HeroClass, string> {
        {HeroClass.Barbarian, "Barb"},
        {HeroClass.Monk, "Monk"},
        {HeroClass.Necromancer, "Necro"},
        {HeroClass.Wizard, "Wiz"},
        {HeroClass.WitchDoctor, "WD"},
        {HeroClass.Crusader, "Sader"},
        {HeroClass.DemonHunter, "DH"} })
    {
        _classShorts[(int)x.Key] = x.Value;
    }
    ...
    var layout = ClassFont.GetTextLayout(player.BattleTagAbovePortrait + "\n(" + _classShorts[(int)player.HeroClassDefinition.HeroClass] + ")");

  20. #14
    Noobz's Avatar Member
    Reputation
    6
    Join Date
    Mar 2017
    Posts
    143
    Thanks G/R
    8/5
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This works great but I would like to see if it can be modified slightly. Currently I am running with 2 people running stricken. When I am not on my DH all is good and I can each of their strickens. When I am on the DH I use Wolf companion and the icon for wolf sits on top of the stricken underneath it. Is there a way to put each characters SNO's that we are watching on a separate line rather that in a row like it is now? If possible I would like to be able to just offset the wolf a bit so that I can see underneath it. Any Suggestions?

    Noobz

  21. #15
    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)
    Originally Posted by Noobz View Post
    This works great but I would like to see if it can be modified slightly. Currently I am running with 2 people running stricken. When I am not on my DH all is good and I can each of their strickens. When I am on the DH I use Wolf companion and the icon for wolf sits on top of the stricken underneath it. Is there a way to put each characters SNO's that we are watching on a separate line rather that in a row like it is now? If possible I would like to be able to just offset the wolf a bit so that I can see underneath it. Any Suggestions?

    Noobz
    There are settings in the plugin that can be used to set the position and size for the icons.
    With these you should be able to move the UI where you want, I assume.
    Code:
    public float StartXPos { get; set; }
    public float StartYPos { get; set; }
    public float SizeRatio { get; set; }
    public float IconSize { get; set; }
    I created a multiplayer version of my SelfCooldownPlugin (Self Cooldown indicator) plugin for fun. If you are interested in testing it, send me a PM.

Page 1 of 2 12 LastLast

Similar Threads

  1. [v7.2] [INTERNATIONAL] [glq] MonsterRiftProgressionPlugin
    By SeaDragon in forum TurboHUD Community Plugins
    Replies: 23
    Last Post: 09-07-2021, 04:46 AM
  2. [v7.3] [INTERNATIONAL] [RuneB] ArchonWizPlugin
    By RuneB in forum TurboHUD Community Plugins
    Replies: 29
    Last Post: 07-01-2020, 08:51 AM
  3. [v7.3] [INTERNATIONAL] [RuneB] DirectionLinesPlugin
    By RuneB in forum TurboHUD Community Plugins
    Replies: 7
    Last Post: 04-01-2018, 05:18 AM
  4. [V7.2][International][Grischu] Buffstatistics
    By Grischu in forum TurboHUD Community Plugins
    Replies: 20
    Last Post: 04-05-2017, 02:27 AM
All times are GMT -5. The time now is 01:20 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search