Class Marker menu

User Tag List

Thread: Class Marker

Results 1 to 13 of 13
  1. #1
    Saico's Avatar Active Member
    Reputation
    21
    Join Date
    Apr 2019
    Posts
    379
    Thanks G/R
    35/20
    Trade Feedback
    0 (0%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    Class Marker

    Hy guys, is there a way to draws only circle or a Brush to part of classes ? Witch Doctor only, or Nec. Example

    My Monk wants to check out for me (Trash Killer) WD or Nec easily for Sanc at my feet but the plugin that draws HeroCircleMarkers only draws for everybody (Too much visual information)

    Class Marker
  2. #2
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Great thread... Following it!!

  3. #3
    takayo72's Avatar Active Member
    Reputation
    17
    Join Date
    Jan 2018
    Posts
    203
    Thanks G/R
    43/15
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    im wondering we can modify another plugin by adding some conditions
    https://www.ownedcore.com/forums/dia...ssmarkers.html ([V9.0] [INTERNATIONAL] [RNN] OtherClassMarkers)

  4. #4
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    For sure it possible... Im trying to do it, but im not too good at it.

  5. #5
    takayo72's Avatar Active Member
    Reputation
    17
    Join Date
    Jan 2018
    Posts
    203
    Thanks G/R
    43/15
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I have modified OtherClassMarkers which will show wd and necro player ground label when u are playing zmonk.
    Not being tested.

    Code:
    using Turbo.Plugins.Default;
    using System.Collections.Generic;
    using System;
    using System.Linq;
    
    namespace Turbo.Plugins.RNN
    {
        public class OtherClassMarkers : BasePlugin, ICustomizer, IInGameWorldPainter, INewAreaHandler
        {
    		public bool ShowInTown {get; set;}
            public bool MyCircle {get; set;}
            public bool MyCircleColorOverride {get; set;}
    		public bool MyCircleCenter {get; set;}
    
    		public bool CircleMapOthers {get; set;}
    		public bool CircleGroundOthers {get; set;}
    		public bool CircleGroundCenterOthers {get; set;}
    
    		public float CircleGroundRadius {get; set;}
    
    		public bool NamesGroundOthers {get; set;}
    		public bool NamesMapOthers {get; set;}
    
    		public bool AvatarGroundOthers {get; set;}
    		public bool AvatarMapOthers {get; set;}
    
    		public Dictionary<HeroClass, WorldDecoratorCollection> DecoratorbyClass { get; set; } = new Dictionary<HeroClass, WorldDecoratorCollection>();
    		public Dictionary<HeroClass, int[] > HeroBrush { get; set; } = new Dictionary<HeroClass, int[]> ();
    
    		private Dictionary<ActorSnoEnum, uint> SnoTexture { get; set; }	= new Dictionary<ActorSnoEnum, uint>();
    
    		private ActorSnoEnum[] DataIndex { get; set; } = new ActorSnoEnum[4];
    		private ActorSnoEnum DataIndex_Default { get; set; } = ActorSnoEnum._healthglobe;
    		public int MyIndex { get; set; } = -1;
    		private int DataIndex_Num { get; set; }
    
            public OtherClassMarkers()
            {
                Enabled = true;
            }
    
            public override void Load(IController hud)
            {
                base.Load(hud);
    			Order = 30950;
    
    			ShowInTown = true;
    
    			MyCircle = true;
                MyCircleColorOverride = true;  // If true my color will always be white
    			MyCircleCenter = true;  // Circles Red&White For Me
    
    			CircleMapOthers = true;
    			CircleGroundOthers = true;
    			CircleGroundRadius = 4f;    // Radius of the outer circle in the Ground. Assign positive values, or -1 to show the player's Hitbox
    			CircleGroundCenterOthers = true;
    
    			NamesGroundOthers = true;
    			NamesMapOthers = true;
    
    			AvatarGroundOthers = false;
    			AvatarMapOthers = true;
    
    			//HeroClass.Barbarian , HeroClass.Crusader , HeroClass.DemonHunter, HeroClass.Monk , HeroClass.WitchDoctor, HeroClass.Wizard, HeroClass.Necromancer
    			HeroBrush[HeroClass.Barbarian] =	new int[5] {255,237, 20, 20, 4}; 	// new int[5] { opacity , Red, Green , Blue ,  stroke }
                HeroBrush[HeroClass.Crusader] =		new int[5] {255,255,204,  0, 4};
                HeroBrush[HeroClass.DemonHunter] = 	new int[5] {255,  0,168,255, 4};
                HeroBrush[HeroClass.Monk] = 		new int[5] {255, 35,225, 6, 4};
                HeroBrush[HeroClass.WitchDoctor] =	new int[5] {255,255,132,  0, 4};
                HeroBrush[HeroClass.Wizard] = 		new int[5] {255, 220, 150,255, 4};
    			HeroBrush[HeroClass.Necromancer] =	new int[5] {255, 64,192,176, 4};
    			HeroBrush[HeroClass.None] = 		new int[5] {255,255,255,255, 4};  // Color Override
    
    			SnoTexture.Add((ActorSnoEnum)75207, 3785199803); SnoTexture.Add((ActorSnoEnum)74706, 2939779782); //dh
    			SnoTexture.Add((ActorSnoEnum)6544, 44435619); SnoTexture.Add((ActorSnoEnum)6526, 876580014); //wiz
    			SnoTexture.Add((ActorSnoEnum)6485, 3925954876); SnoTexture.Add((ActorSnoEnum)6481, 1603231623); //wd
    			SnoTexture.Add((ActorSnoEnum)3301, 3921484788); SnoTexture.Add((ActorSnoEnum)3285, 1030273087); //barb
    			SnoTexture.Add((ActorSnoEnum)4721, 2227317895); SnoTexture.Add((ActorSnoEnum)4717, 2918463890); //monk
    			SnoTexture.Add((ActorSnoEnum)238284, 3742271755); SnoTexture.Add((ActorSnoEnum)238286, 3435775766); //crus
    			SnoTexture.Add((ActorSnoEnum)454021, 3285997023); SnoTexture.Add((ActorSnoEnum)454402, 473831658); //necro
            }
    
    		public void OnNewArea(bool newGame, ISnoArea area)
    		{
    			if (newGame || (MyIndex != Hud.Game.Me.Index) )
    			{
    				MyIndex = Hud.Game.Me.Index;
    
    				DataIndex_Num = Hud.Game.NumberOfPlayersInGame;
    				for(var i = 0; i < 4; i++)
    				{
    					DataIndex[i] = DataIndex_Default;
    				}
    
    				if (!MyCircleColorOverride)
    				{
    					DecoratorbyClass[HeroClass.None].Decorators.Clear();
    					int[] c = HeroBrush[Hud.Game.Me.HeroClassDefinition.HeroClass];
    					addDecoratorbyClass(HeroClass.None, c[0],c[1],c[2],c[3],c[4]);
    				}
    			}
    		}
    
            public void Customize()
            {
    			Hud.TogglePlugin<OtherPlayersPlugin>(false);  // disables default plugin OtherPlayersPlugin
    
    			foreach (HeroClass heroClass in Enum.GetValues(typeof(HeroClass)))
    			{
    				DecoratorbyClass.Add( heroClass, new WorldDecoratorCollection() );
    				int[] c = HeroBrush[heroClass];
    				addDecoratorbyClass(heroClass, c[0],c[1],c[2],c[3],c[4]);
    			}
    
            }
    
            public void addDecoratorbyClass(HeroClass hero, int o,int r,int g, int b, int t)
    		{
    			var groundLabelBackgroundBrush = Hud.Render.CreateBrush(255, 0, 0, 0, 0);
    
    			if ((CircleGroundOthers && (hero != HeroClass.None)) || ( MyCircle && (hero == HeroClass.None)))
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b,t),
    						Radius = CircleGroundRadius,
    					}
    				);
    			if 	(hero != HeroClass.None)
    			{
    				if (CircleMapOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    					new MapShapeDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b,t),
    						ShapePainter = new CircleShapePainter(Hud),
    						Radius = 3f
    					}
    					);
    				if (CircleGroundCenterOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b, 19),
    						Radius = 0.6f,
    					}
    					);
    				if (NamesMapOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    						new MapLabelDecorator(Hud)
    						{
    							LabelFont = Hud.Render.CreateFont("tahoma", 6f, o,r,g,b, false, false, 128, 0, 0, 0, true),
    							Up = false,
    							RadiusOffset = 7f,
    						}
    					);
    				if (NamesGroundOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    						new GroundLabelDecorator(Hud)
    						{
    							BackgroundBrush = groundLabelBackgroundBrush,
    							BorderBrush = Hud.Render.CreateBrush(o,r,g,b, 1),
    							TextFont = Hud.Render.CreateFont("tahoma", 6f, o,r,g,b, false, false, 128, 0, 0, 0, true),
    							OffsetY = (AvatarGroundOthers)? 23f:0f,
    						}
    					);
    			}
    			else if (MyCircleCenter)
    			{
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 6.0f),
    						Radius = 0.3f
    					}
    				);
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(255,255,255, 255, 4.0f),
    						Radius = 0.7f
    					}
    				);
    			}
    		}
    
    		public void PlayersIndex_Part()
    		{
    			for(int i = 0; i < 4; i++)
    			{
    				var part = true;
    				foreach (IPlayer p in Hud.Game.Players)
    				{
    					if (p.Index == i)
    					{
    						part = false;	break;
    					}
    				}
    				if (part) { DataIndex[i] = DataIndex_Default; }
    			}
    		}
    
            public void PaintWorld(WorldLayer layer)
            {
    			if (layer != WorldLayer.Ground) return;
    			if (!Hud.Game.IsInGame) return;
    
    			if (DataIndex_Num != Hud.Game.NumberOfPlayersInGame)
    			{
    				if (Hud.Game.NumberOfPlayersInGame < DataIndex_Num) { PlayersIndex_Part(); }
    				DataIndex_Num = Hud.Game.NumberOfPlayersInGame;
    			}
    
    			if (Hud.Game.IsInTown && !ShowInTown) return;
    			if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    
                var players = Hud.Game.Players.Where(p => p.CoordinateKnown && !p.IsDeadSafeCheck);
                foreach (var pl in players)
    			{
    				if ( ((Hud.Game.SpecialArea == SpecialArea.GreaterRift) || (Hud.Game.SpecialArea == SpecialArea.Rift)) && (Hud.Game.Me.SnoArea.Sno != pl.SnoArea.Sno)) continue;
    				if ( Hud.Game.Me.IsInTown ^ pl.IsInTown) continue;
    
    				HeroClass hero = (pl.IsMe)? HeroClass.None : pl.HeroClassDefinition.HeroClass ;
                    if (DecoratorbyClass.TryGetValue(hero, out var decorator))
    				{
    					decorator.Paint(layer, pl, pl.FloorCoordinate, pl.BattleTagAbovePortrait);
    					decorator.Paint(WorldLayer.Map, pl, pl.FloorCoordinate, pl.BattleTagAbovePortrait);
    				}
    
    				ITexture HeroTexture;  ActorSnoEnum PlayerSnoEnumI;
    				if (pl.HasValidActor)
    				{
    					PlayerSnoEnumI = pl.SnoActor.Sno;
    					if (DataIndex[pl.Index] != pl.SnoActor.Sno) { DataIndex[pl.Index] = pl.SnoActor.Sno; }
    				}
    				else
    				{
    					PlayerSnoEnumI = (DataIndex[pl.Index] == pl.HeroClassDefinition.FemaleActorSno)?  pl.HeroClassDefinition.FemaleActorSno : pl.HeroClassDefinition.MaleActorSno;
    				}
    
    				HeroTexture = (SnoTexture.ContainsKey(PlayerSnoEnumI))?  Hud.Texture.GetTexture(SnoTexture[PlayerSnoEnumI]) : Hud.Texture.GetTexture(890155253);
    				float PlayersHeadOpacity = 1f;
    				if (Hud.Game.AliveMonsters.Where(m => m.Rarity != ActorRarity.Normal && m.FloorCoordinate.XYDistanceTo(pl.FloorCoordinate) < 25).Any() ) PlayersHeadOpacity = 0.20f;
    				float textureX, textureY;
    				Hud.Render.GetMinimapCoordinates(pl.FloorCoordinate.X, pl.FloorCoordinate.Y, out textureX, out textureY);
    
    				if ((!pl.IsMe) && ((pl.HeroClassDefinition.HeroClass == HeroClass.WitchDoctor) || (pl.HeroClassDefinition.HeroClass == HeroClass.Necromancer)))
    				{
    					if  (AvatarMapOthers) HeroTexture.Draw(textureX - 11, textureY - 14, 22.3f, 24.1f, PlayersHeadOpacity);
    					if  (AvatarGroundOthers &&  pl.IsOnScreen)  HeroTexture.Draw(pl.FloorCoordinate.ToScreenCoordinate().X - 15 , pl.FloorCoordinate.ToScreenCoordinate().Y - 18 , 30f, 32.4f, 1f);
    				}
                }
            }
        }
    }

  6. #6
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How to add zbarb too?? ill test it

  7. #7
    takayo72's Avatar Active Member
    Reputation
    17
    Join Date
    Jan 2018
    Posts
    203
    Thanks G/R
    43/15
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    change line
    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    to
    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Barbarian)  || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;

  8. #8
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I mean, use it for both classes, zmonk and zbarb

  9. #9
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The plugin is working only at zmonk, and still shows every classes, but in the minimap just shows the WD icon.
    Last edited by M1SHAKE; 04-18-2020 at 12:21 PM.

  10. #10
    takayo72's Avatar Active Member
    Reputation
    17
    Join Date
    Jan 2018
    Posts
    203
    Thanks G/R
    43/15
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    try this one

    Code:
    using Turbo.Plugins.Default;
    using System.Collections.Generic;
    using System;
    using System.Linq;
    
    namespace Turbo.Plugins.RNN
    {
        public class OtherClassMarkers : BasePlugin, ICustomizer, IInGameWorldPainter, INewAreaHandler
        {
    		public bool ShowInTown {get; set;}
            public bool MyCircle {get; set;}
            public bool MyCircleColorOverride {get; set;}
    		public bool MyCircleCenter {get; set;}
    
    		public bool CircleMapOthers {get; set;}
    		public bool CircleGroundOthers {get; set;}
    		public bool CircleGroundCenterOthers {get; set;}
    
    		public float CircleGroundRadius {get; set;}
    
    		public bool NamesGroundOthers {get; set;}
    		public bool NamesMapOthers {get; set;}
    
    		public bool AvatarGroundOthers {get; set;}
    		public bool AvatarMapOthers {get; set;}
    
    		public Dictionary<HeroClass, WorldDecoratorCollection> DecoratorbyClass { get; set; } = new Dictionary<HeroClass, WorldDecoratorCollection>();
    		public Dictionary<HeroClass, int[] > HeroBrush { get; set; } = new Dictionary<HeroClass, int[]> ();
    
    		private Dictionary<ActorSnoEnum, uint> SnoTexture { get; set; }	= new Dictionary<ActorSnoEnum, uint>();
    
    		private ActorSnoEnum[] DataIndex { get; set; } = new ActorSnoEnum[4];
    		private ActorSnoEnum DataIndex_Default { get; set; } = ActorSnoEnum._healthglobe;
    		public int MyIndex { get; set; } = -1;
    		private int DataIndex_Num { get; set; }
    
            public OtherClassMarkers()
            {
                Enabled = true;
            }
    
            public override void Load(IController hud)
            {
                base.Load(hud);
    			Order = 30950;
    
    			ShowInTown = true;
    
    			MyCircle = true;
                MyCircleColorOverride = true;  // If true my color will always be white
    			MyCircleCenter = true;  // Circles Red&White For Me
    
    			CircleMapOthers = true;
    			CircleGroundOthers = true;
    			CircleGroundRadius = 4f;    // Radius of the outer circle in the Ground. Assign positive values, or -1 to show the player's Hitbox
    			CircleGroundCenterOthers = true;
    
    			NamesGroundOthers = true;
    			NamesMapOthers = true;
    
    			AvatarGroundOthers = false;
    			AvatarMapOthers = true;
    
    			//HeroClass.Barbarian , HeroClass.Crusader , HeroClass.DemonHunter, HeroClass.Monk , HeroClass.WitchDoctor, HeroClass.Wizard, HeroClass.Necromancer
    			HeroBrush[HeroClass.Barbarian] =	new int[5] {255,237, 20, 20, 4}; 	// new int[5] { opacity , Red, Green , Blue ,  stroke }
                HeroBrush[HeroClass.Crusader] =		new int[5] {255,255,204,  0, 4};
                HeroBrush[HeroClass.DemonHunter] = 	new int[5] {255,  0,168,255, 4};
                HeroBrush[HeroClass.Monk] = 		new int[5] {255, 35,225, 6, 4};
                HeroBrush[HeroClass.WitchDoctor] =	new int[5] {255,255,132,  0, 4};
                HeroBrush[HeroClass.Wizard] = 		new int[5] {255, 220, 150,255, 4};
    			HeroBrush[HeroClass.Necromancer] =	new int[5] {255, 64,192,176, 4};
    			HeroBrush[HeroClass.None] = 		new int[5] {255,255,255,255, 4};  // Color Override
    
    			SnoTexture.Add((ActorSnoEnum)75207, 3785199803); SnoTexture.Add((ActorSnoEnum)74706, 2939779782); //dh
    			SnoTexture.Add((ActorSnoEnum)6544, 44435619); SnoTexture.Add((ActorSnoEnum)6526, 876580014); //wiz
    			SnoTexture.Add((ActorSnoEnum)6485, 3925954876); SnoTexture.Add((ActorSnoEnum)6481, 1603231623); //wd
    			SnoTexture.Add((ActorSnoEnum)3301, 3921484788); SnoTexture.Add((ActorSnoEnum)3285, 1030273087); //barb
    			SnoTexture.Add((ActorSnoEnum)4721, 2227317895); SnoTexture.Add((ActorSnoEnum)4717, 2918463890); //monk
    			SnoTexture.Add((ActorSnoEnum)238284, 3742271755); SnoTexture.Add((ActorSnoEnum)238286, 3435775766); //crus
    			SnoTexture.Add((ActorSnoEnum)454021, 3285997023); SnoTexture.Add((ActorSnoEnum)454402, 473831658); //necro
            }
    
    		public void OnNewArea(bool newGame, ISnoArea area)
    		{
    			if (newGame || (MyIndex != Hud.Game.Me.Index) )
    			{
    				MyIndex = Hud.Game.Me.Index;
    
    				DataIndex_Num = Hud.Game.NumberOfPlayersInGame;
    				for(var i = 0; i < 4; i++)
    				{
    					DataIndex[i] = DataIndex_Default;
    				}
    
    				if (!MyCircleColorOverride)
    				{
    					DecoratorbyClass[HeroClass.None].Decorators.Clear();
    					int[] c = HeroBrush[Hud.Game.Me.HeroClassDefinition.HeroClass];
    					addDecoratorbyClass(HeroClass.None, c[0],c[1],c[2],c[3],c[4]);
    				}
    			}
    		}
    
            public void Customize()
            {
    			Hud.TogglePlugin<OtherPlayersPlugin>(false);  // disables default plugin OtherPlayersPlugin
    
    			foreach (HeroClass heroClass in Enum.GetValues(typeof(HeroClass)))
    			{
    				DecoratorbyClass.Add( heroClass, new WorldDecoratorCollection() );
    				int[] c = HeroBrush[heroClass];
    				addDecoratorbyClass(heroClass, c[0],c[1],c[2],c[3],c[4]);
    			}
    
            }
    
            public void addDecoratorbyClass(HeroClass hero, int o,int r,int g, int b, int t)
    		{
    			var groundLabelBackgroundBrush = Hud.Render.CreateBrush(255, 0, 0, 0, 0);
    
    			if ((CircleGroundOthers && (hero != HeroClass.None)) || ( MyCircle && (hero == HeroClass.None)))
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b,t),
    						Radius = CircleGroundRadius,
    					}
    				);
    			if 	(hero != HeroClass.None)
    			{
    				if (CircleMapOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    					new MapShapeDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b,t),
    						ShapePainter = new CircleShapePainter(Hud),
    						Radius = 3f
    					}
    					);
    				if (CircleGroundCenterOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(o,r,g,b, 19),
    						Radius = 0.6f,
    					}
    					);
    				if (NamesMapOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    						new MapLabelDecorator(Hud)
    						{
    							LabelFont = Hud.Render.CreateFont("tahoma", 6f, o,r,g,b, false, false, 128, 0, 0, 0, true),
    							Up = false,
    							RadiusOffset = 7f,
    						}
    					);
    				if (NamesGroundOthers)
    					DecoratorbyClass[hero].Decorators.Add(
    						new GroundLabelDecorator(Hud)
    						{
    							BackgroundBrush = groundLabelBackgroundBrush,
    							BorderBrush = Hud.Render.CreateBrush(o,r,g,b, 1),
    							TextFont = Hud.Render.CreateFont("tahoma", 6f, o,r,g,b, false, false, 128, 0, 0, 0, true),
    							OffsetY = (AvatarGroundOthers)? 23f:0f,
    						}
    					);
    			}
    			else if (MyCircleCenter)
    			{
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(255, 255, 0, 0, 6.0f),
    						Radius = 0.3f
    					}
    				);
    				DecoratorbyClass[hero].Decorators.Add(
    					new GroundCircleDecorator(Hud)
    					{
    						Brush = Hud.Render.CreateBrush(255,255,255, 255, 4.0f),
    						Radius = 0.7f
    					}
    				);
    			}
    		}
    
    		public void PlayersIndex_Part()
    		{
    			for(int i = 0; i < 4; i++)
    			{
    				var part = true;
    				foreach (IPlayer p in Hud.Game.Players)
    				{
    					if (p.Index == i)
    					{
    						part = false;	break;
    					}
    				}
    				if (part) { DataIndex[i] = DataIndex_Default; }
    			}
    		}
    
            public void PaintWorld(WorldLayer layer)
            {
    			if (layer != WorldLayer.Ground) return;
    			if (!Hud.Game.IsInGame) return;
    
    			if (DataIndex_Num != Hud.Game.NumberOfPlayersInGame)
    			{
    				if (Hud.Game.NumberOfPlayersInGame < DataIndex_Num) { PlayersIndex_Part(); }
    				DataIndex_Num = Hud.Game.NumberOfPlayersInGame;
    			}
    
    			if (Hud.Game.IsInTown && !ShowInTown) return;
                if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    
                var players = Hud.Game.Players.Where(p => p.CoordinateKnown && !p.IsDeadSafeCheck);
                foreach (var pl in players)
    			{
    				if ( ((Hud.Game.SpecialArea == SpecialArea.GreaterRift) || (Hud.Game.SpecialArea == SpecialArea.Rift)) && (Hud.Game.Me.SnoArea.Sno != pl.SnoArea.Sno)) continue;
    				if ( Hud.Game.Me.IsInTown ^ pl.IsInTown) continue;
    
    // if ((player.IsMe) && (player.HeroClassDefinition.HeroClass == HeroClass.WitchDoctor)){
    // }
    				HeroClass hero = (pl.IsMe)? HeroClass.None : pl.HeroClassDefinition.HeroClass ;
                    if (DecoratorbyClass.TryGetValue(hero, out var decorator))
    				{
    					if ((pl.IsMe) || (pl.HeroClassDefinition.HeroClass == HeroClass.WitchDoctor)) {
                            decorator.Paint(layer, pl, pl.FloorCoordinate, pl.BattleTagAbovePortrait);
    					    decorator.Paint(WorldLayer.Map, pl, pl.FloorCoordinate, pl.BattleTagAbovePortrait);
                        }
    
    				}
    
    				ITexture HeroTexture;  ActorSnoEnum PlayerSnoEnumI;
    				if (pl.HasValidActor)
    				{
    					PlayerSnoEnumI = pl.SnoActor.Sno;
    					if (DataIndex[pl.Index] != pl.SnoActor.Sno) { DataIndex[pl.Index] = pl.SnoActor.Sno; }
    				}
    				else
    				{
    					PlayerSnoEnumI = (DataIndex[pl.Index] == pl.HeroClassDefinition.FemaleActorSno)?  pl.HeroClassDefinition.FemaleActorSno : pl.HeroClassDefinition.MaleActorSno;
    				}
    
    				HeroTexture = (SnoTexture.ContainsKey(PlayerSnoEnumI))?  Hud.Texture.GetTexture(SnoTexture[PlayerSnoEnumI]) : Hud.Texture.GetTexture(890155253);
    				float PlayersHeadOpacity = 1f;
    				if (Hud.Game.AliveMonsters.Where(m => m.Rarity != ActorRarity.Normal && m.FloorCoordinate.XYDistanceTo(pl.FloorCoordinate) < 25).Any() ) PlayersHeadOpacity = 0.20f;
    				float textureX, textureY;
    				Hud.Render.GetMinimapCoordinates(pl.FloorCoordinate.X, pl.FloorCoordinate.Y, out textureX, out textureY);
    
    				if ((!pl.IsMe) && ((pl.HeroClassDefinition.HeroClass == HeroClass.WitchDoctor) || (pl.HeroClassDefinition.HeroClass == HeroClass.Necromancer)))
    				{
    					if  (AvatarMapOthers) HeroTexture.Draw(textureX - 11, textureY - 14, 22.3f, 24.1f, PlayersHeadOpacity);
    					if  (AvatarGroundOthers &&  pl.IsOnScreen)  HeroTexture.Draw(pl.FloorCoordinate.ToScreenCoordinate().X - 15 , pl.FloorCoordinate.ToScreenCoordinate().Y - 18 , 30f, 32.4f, 1f);
    				}
                }
            }
        }
    }

  11. Thanks M1SHAKE (1 members gave Thanks to takayo72 for this useful post)
  12. #11
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Working fine now but, ty for the help!! I appreciate it.
    Last edited by M1SHAKE; 05-01-2020 at 06:11 AM.

  13. #12
    M1SHAKE's Avatar Member
    Reputation
    7
    Join Date
    Jul 2018
    Posts
    94
    Thanks G/R
    5/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by takayo72 View Post
    change line
    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    to
    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Barbarian)  || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    The first one is working good..
    But this one dont show anything

    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Barbarian)  || (Hud.Game.Me.Offense.SheetDps > 1000000) || (Hud.Game.Me.Defense.HealthMax < 1000000) ) return;
    Last edited by M1SHAKE; 05-01-2020 at 06:44 AM.

  14. #13
    Jembo's Avatar Active Member
    Reputation
    33
    Join Date
    Nov 2018
    Posts
    112
    Thanks G/R
    28/30
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    *Haven't tested myself*
    Perhaps try:
    Code:
    if ((Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Monk) || (Hud.Game.Me.HeroClassDefinition.HeroClass != HeroClass.Barbarian)  && (Hud.Game.Me.Offense.SheetDps > 1000000)) return;
    Last edited by Jembo; 11-11-2020 at 03:02 AM.

Similar Threads

  1. What class do you play as?
    By janzi9 in forum Community Chat
    Replies: 28
    Last Post: 11-13-2006, 04:03 PM
  2. Whats your favorite class?
    By Bossman4 in forum World of Warcraft General
    Replies: 32
    Last Post: 11-07-2006, 09:48 AM
  3. Guide for your class in an instance!
    By Bossman4 in forum World of Warcraft Guides
    Replies: 5
    Last Post: 10-28-2006, 03:39 PM
  4. Full Guide for Dungeon Set 1 items (all classes)
    By Cush in forum World of Warcraft Guides
    Replies: 13
    Last Post: 09-07-2006, 03:07 PM
  5. priest own any class
    By bigbaz in forum World of Warcraft Exploits
    Replies: 4
    Last Post: 06-10-2006, 01:13 AM
All times are GMT -5. The time now is 02:40 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