very nice plugin thank you for sharing.
i have a request if you are up for it.
on solo push necro it would be nice to have a line from me to the mob that the command skeles are attacking maybe with yards away also can you add that?
very nice plugin thank you for sharing.
i have a request if you are up for it.
on solo push necro it would be nice to have a line from me to the mob that the command skeles are attacking maybe with yards away also can you add that?
Sorry, but I can not help you, I have stopped creating plugins, at the most I will correct some of mine if I see it necessary. I no longer play D3, in fact I have it currently uninstalled.
I came back for the season
Updated: Optimizations
Last edited by RNN; 09-07-2019 at 09:07 AM.
Hello, I cant see the bluelines when I in GR or not. I have these plugins:
CB\MonsterCirclePlugin_Mod.cs not work
glq\glq_spiritbarragephantasmplugin.cs worked
RNN\BlueLines.cs not work
RNN\BountiesTracking.cs worked
RNN\DeathInMap.cs worked
RNN\GlobesPlugin.cs worked not well
RNN\GRPylonMaker.cs worked
RNN\ICount.cs not work
RNN\Materials.cs worked
RNN\MyBuffs.cs not work
RNN\MyCoeBar.cs worked
RNN\OtherClassMarkers.cs no circles
RNN\SpiritBarrageIcon.cs worked
RNN\TimersRiftBar.cs worked
TruboHUD version TurboHUD 20.3.9.0 (v9.1) STABLE for Diablo III 2.6.8.66666 (64 bit)
Please help me.Thx. I think maybe you could publish a UI colleciton if possible.
BlueLines.cs and ICount.cs
I can imagine why it doesn't work for you, download them again because I modified a part.
MyBuffs.cs
This plugin is not for "common" use, for now I don't think you need to use it. In its thread it is explained which keys must be pressed to activate it
OtherClassMarkers.cs and GlobesPlugin.cs
It seems a configuration problem, maybe you have not assigned the correct values to some parameters. For example, in the OtherClassMarkers plugin set CircleGroundCenterOthers and MyCircle to true to see outer circles
MonsterCirclePlugin_Mod.cs
The screenshots were made with the HealthBarOnElitePlugin_Mod.cs plugin installed, maybe that's why you think it doesn't work, I recommend that you also download it (it's in the same thread)
I tried. it worked. thx a lot.
When trying to download this from pastebin : Error, this is a private paste or is pending moderation. If this paste belongs to you, please login to Pastebin to view it.
It works again
BLueLines ([V9.0] [INTERNATIONAL] [RNN] BLueLines)
Installation: Place BlueLines.cs in "plugins\RNN\BlueLines.cs"
BlueLines.cs
Code:using Turbo.Plugins.Default; using System.Linq; using System.Collections.Generic; namespace Turbo.Plugins.RNN { public class BlueLines : BasePlugin, INewAreaHandler, IInGameWorldPainter { private List<IWorldCoordinate> CoordElites { get; set; } = new List<IWorldCoordinate>(); private Dictionary<IMonsterPack,int> PackColor { get; set;} = new Dictionary<IMonsterPack,int>(); private IBrush[] ListBrush { get; set; } private IBrush BlueBrush { get; set; } private bool MapGR { get; set; } = false; public bool InGR_On { get; set; } public bool OutGR_On { get; set; } public BlueLines() { Enabled = true; } public override void Load(IController hud) { base.Load(hud); Order = -50; InGR_On = true; // Draw in GR OutGR_On = true; // Draw out GR BlueBrush = Hud.Render.CreateBrush(200, 0, 0, 0, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle); ListBrush = new IBrush[] //lista de colores que se asignarán a los packs azules { Hud.Render.CreateBrush(200, 0, 50, 250, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle), Hud.Render.CreateBrush(200, 0, 250, 50, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle), Hud.Render.CreateBrush(200, 250, 150, 50, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle), Hud.Render.CreateBrush(200, 220, 50, 220, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle), Hud.Render.CreateBrush(200, 250, 0, 0, 2, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.CapStyle.Flat, SharpDX.Direct2D1.CapStyle.Triangle) // se pueden seguir añadiendo colores sin tocar el resto del código }; } public void OnNewArea(bool newGame, ISnoArea area) { MapGR = ( Hud.Game.Me.InGreaterRift && (area.HostAreaSno == 288482 || area.Sno == 288482) ) ? true : false; } // Método estricto para intentar conservar colores asignados. Devuelve un valor entre 0 y (numero de elementos de ListBrush - 1) private int GETBRUSHn(IMonsterPack pack, ref IEnumerable<IMonsterPack> packs) { int c = -1; if (PackColor.ContainsKey(pack)) { c = PackColor[pack]; } // Si es un pack ya registrado le seguimos asignando el mismo color else { // Aquí solo entrará ocasionalmente, cuando se detecte un pack nuevo u otro pack que ya no tiene ningún color asignado (porque lo dejamos atrás y se liberó el color que usaba) List<int> lc1 = new List<int>(); // para obtener la lista de colores que no usa ningun pack registrado List<int> lc2 = new List<int>(); // para obtener la lista de colores que no usa ningun pack cercano int j = ListBrush.Count(); for ( int i = 0; i < j ; i++ ) { lc1.Add(i); lc2.Add(i); } List<IMonsterPack> TmpList = new List<IMonsterPack>(); // lista de packs que no están cerca foreach (var p in PackColor.Keys) { int a = PackColor[p]; if (lc1.Contains(a)) { lc1.Remove(a); } if (!packs.Contains(p)) { TmpList.Add(p); } else if (lc2.Contains(a)) { lc2.Remove(a); } } if (lc1.Count() > 0) c = lc1[0] ; //si hay algún color no usado en los pack registrados, asignaremos primero éste else if (lc2.Count() > 0) // si hay colores que no son usados por ningún pack cercano { TmpList = TmpList.OrderByDescending(x => x.LastActive.ElapsedMilliseconds).ToList(); foreach (var p in TmpList) { int a1 = PackColor[p]; if (lc2.Contains(a1)) { if (c == -1) c = a1; // Color no usado por un parck cercano if (c == a1) { PackColor.Remove(p); } // Eliminamos del diccionario los packs que tuvieran asignado ese color. Como el número de colores es limitado pueden estar repetidos } // Está Hecho de forma genérica por si cambio el criterio para asignar colores repetidos } } else { c = j - 1; } // Se repetirá con el color j-1 cuando no haya colores libres disponibles, podría elegirse uno al azar if (c == -1) { c = j - 1 ; /* Hud.Sound.Speak( "Bug en BlueLines" ); */ } // Por Precaución , no debería llegar aquí PackColor.Add(pack,c); // Hud.Sound.Speak( "Asignado " + c); } return c; } public void PaintWorld(WorldLayer layer) { if (layer != WorldLayer.Ground) return; if (!Hud.Game.IsInGame) return; if (Hud.Game.IsInTown) return; if ( MapGR ? InGR_On : OutGR_On ) { var packs = Hud.Game.MonsterPacks.Where(x => x.MonstersAlive.Any() && x.IsFullChampionPack); foreach(IMonsterPack p in packs) { foreach (IMonster m in p.MonstersAlive) { // if (m.SummonerAcdDynamicId == 0) It is not enough, I added extra check to patch error when I take pylon and a Champion is near: Minions (rare) are occasionally assigned to the blue pack if ( (m.Rarity == ActorRarity.Champion) && (m.SummonerAcdDynamicId == 0)) { CoordElites.Add(m.FloorCoordinate); } } var n = CoordElites.Count(); if (n > 1) { if (n > 2) { CoordElites = CoordElites.OrderBy(x => x.ToScreenCoordinate().X).ToList(); } BlueBrush = ListBrush[GETBRUSHn(p, ref packs)]; for (var i = 1; i < n ; i++) { BlueBrush.DrawLineWorld(CoordElites[i-1],CoordElites[i]); } } if (n != 0) CoordElites.Clear(); } } } } }
Boys with Rats beeing popular again this season can you make this so there is a line from your character to the zNec? Would be giga awsome as you need to follow him all day
LinesToPlayers Plugin
Draw (in-game) lines between you and the follower or other players
Press control + shift + number (1 ,2 ,3 or 4) to make a line appear/disappear between you and the player whose portrait is in the number position. Pressing control + shift + 1 will create a line between your character and your follower (if accompanying you). If the same combination of keys is pressed again, the line with the corresponding player will be deactivated
When a Line is created, it is linked to the HeroID so it is not affected by new games or by changing the position of the players' portrait.
Pressing control + shift + "+" (numpad) increases the thickness of the last created line
Pressing control + shift + "-" (numpad) decreases the thickness of the last created line
Use DefaultDashStyle to change the line style.
If we limit the minimap (Hud.SceneReveal.MinimapClip = true) the lines will not exceed the edges of it.
I've been working on a plugin with more configuration options (for example that allows to change the style of the ingame line). I haven't decided yet whether to finish that plugin or even share it.
Download: LinesToPlayers.cs
Installation: Place LinesToPlayers.cs in "plugins\RNN\LinesToPlayers.cs"
Custom code (Plugins\User\PluginEnablerOrDisablerPlugin.cs , it's not mandatory) :
Code:Hud.GetPlugin<RNN.LinesToPlayers>().Enabled = true; Hud.RunOnPlugin<RNN.LinesToPlayers>(plugin => { plugin.ShowInTown = true; // Show Lines in Town plugin.OnlyGR = false; // Show Lines only when you play GR plugin.ShowGround = true; // Show Lines in Ground plugin.ShowMap = true; // Show Lines in Map plugin.DefaultStrokeWidth = 3.0f; // Default Width for the Line ( press Shift + Control + ("+" or "-") to modify ingame ) plugin.DefaultDashStyle = SharpDX.Direct2D1.DashStyle.Dash; // SharpDX.Direct2D1.DashStyle.Dash, SharpDX.Direct2D1.DashStyle.Solid, SharpDX.Direct2D1.DashStyle.DashDot, SharpDX.Direct2D1.DashStyle.DashDotDot plugin.HeroBrush[HeroClass.Barbarian] = new int[] {255,237, 20, 20}; // { opacity , Red, Green , Blue } plugin.HeroBrush[HeroClass.Crusader] = new int[] {255,255,204, 0}; plugin.HeroBrush[HeroClass.DemonHunter] = new int[] {255, 0,168,255}; plugin.HeroBrush[HeroClass.Monk] = new int[] {255, 35,225, 6}; plugin.HeroBrush[HeroClass.WitchDoctor] = new int[] {255,255,132, 0}; plugin.HeroBrush[HeroClass.Wizard] = new int[] {255,220,150,255}; plugin.HeroBrush[HeroClass.Necromancer] = new int[] {255, 64,192,176}; plugin.HeroBrush[HeroClass.None] = new int[] {255,255,255,255}; // For Follower } );
Last edited by RNN; 03-10-2022 at 01:39 PM.
You will have blocked pastebin. I upload it as an attachment