[v7.3] [ENGLISH] [glq] PlayerResurrectionTimer menu

User Tag List

Page 3 of 4 FirstFirst 1234 LastLast
Results 31 to 45 of 50
  1. #31
    SeaDragon's Avatar Contributor
    Reputation
    321
    Join Date
    Aug 2016
    Posts
    1,041
    Thanks G/R
    140/299
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by gjuz View Post
    yes as barb, i get it much more often than as monk.

    greetz gjuz
    It appears that this BUG appears at very low odds at close range
    So there is still no good solution:gusta:

    [v7.3] [ENGLISH] [glq] PlayerResurrectionTimer
  2. #32
    gjuz's Avatar Contributor
    Reputation
    121
    Join Date
    Mar 2017
    Posts
    228
    Thanks G/R
    49/118
    Trade Feedback
    0 (0%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hi,
    i switched a game today, and a player (alive) had inTown a ghost timer of about 8000s
    after retruning to menu, and rejoining game everything was ok.

    greetz gjuz

  3. #33
    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)
    In a 4 man game all other 3 players had like 5k seconds with the ghost one (light blue) portrait on them all the time.

  4. #34
    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)
    It works perfect for me!

  5. #35
    blade87's Avatar Member
    Reputation
    1
    Join Date
    Jun 2017
    Posts
    7
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    hi guys, the link not open in 4 different of my explorers,
    can somebody put it here for me please??

  6. #36
    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 blade87 View Post
    hi guys, the link not open in 4 different of my explorers,
    can somebody put it here for me please??
    KJ will ban u for using TH hosts hack

  7. #37
    blade87's Avatar Member
    Reputation
    1
    Join Date
    Jun 2017
    Posts
    7
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    lol
    im not pc expert,i dont know how to do these things,im trying and asking help,ty

  8. #38
    SeaDragon's Avatar Contributor
    Reputation
    321
    Join Date
    Aug 2016
    Posts
    1,041
    Thanks G/R
    140/299
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by blade87 View Post
    lol
    im not pc expert,i dont know how to do these things,im trying and asking help,ty
    Code:
    using Turbo.Plugins.Default;
    using System.Linq;
    namespace Turbo.Plugins.glq
    {
        public class GLQ_PlayerResurrectionTimer : BasePlugin, IInGameTopPainter, INewAreaHandler
        {
            private bool[] FalseDead;
            private bool[] _FalseDead;
            private int[] FalseDeadTime;
            private bool[] Dead;
            private int[] DeadTimes;
            private double[] DeadTime;
            private double[] CurrentTime;
            private double[] GhostTime;
            private double[] CurrentGhostTime;
           
            public string DeathSymbol { get; set; }
            public IFont TextFontDeath { get; set; }
            public IFont TextFontDeathTime { get; set; }
            public IFont TextFontGhostTime { get; set; }
            public IBrush DeadTimeBorderBrush { get; set; }
            public IBrush DeadBorderBrush { get; set; }
            public IBrush GhostBorderBrush { get; set; }
            public double delay { get; set; }
            public GLQ_PlayerResurrectionTimer()
            {
                Enabled = true;
                delay = 3d;
            }
           
            public override void Load(IController hud)
            {
                base.Load(hud);
                FalseDead = new bool[4];
                _FalseDead = new bool[4];
                FalseDeadTime = new int[4];
                Dead = new bool[4];
                DeadTimes = new int[4];
                DeadTime = new double[4];
                CurrentTime = new double[4];
                GhostTime = new double[4];
                CurrentGhostTime = new double[4];
               
                DeathSymbol = "\u271F"; //✟
                TextFontDeath = Hud.Render.CreateFont("tahoma", 35, 200, 255, 255, 255, true, false, true);
                TextFontDeathTime = Hud.Render.CreateFont("tahoma", 12, 200, 255, 0, 0, true, false, true);
                TextFontGhostTime = Hud.Render.CreateFont("tahoma", 12, 200, 128, 255, 255, true, false, true);
                DeadTimeBorderBrush = Hud.Render.CreateBrush(200, 255, 0, 0, -2);
                DeadBorderBrush = Hud.Render.CreateBrush(200, 255, 255, 255, -2);
                GhostBorderBrush = Hud.Render.CreateBrush(200, 128, 255, 255, -2);
            }
           
            public void OnNewArea(bool newGame, ISnoArea area)
            {
                if (newGame)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        DeadTimes[i] = 0;
                        GhostTime[i] = 0;
                        Dead[i] =false;
     
                    }
                }
            }
           
            private IQuest riftQuest
            {
                get
                {
                    return Hud.Game.Quests.FirstOrDefault(q => q.SnoQuest.Sno == 337492) ?? // rift
                           Hud.Game.Quests.FirstOrDefault(q => q.SnoQuest.Sno == 382695);   // gr
                }
            }
           
            public void PaintTopInGame(ClipState clipState)
            {
                if (clipState != ClipState.BeforeClip) return;
                var secondsLeft = (Hud.Game.CurrentTimedEventEndTick - (double)Hud.Game.CurrentGameTick) / 60.0d;
               
                if (riftQuest == null || (riftQuest != null && riftQuest.State == QuestState.none))
                {
                    for (int i = 0; i < 4; i++)
                    {
                        DeadTimes[i] = 0;
                        //GhostTime[i] = 0;
                    }
                }
               
                foreach (var player in Hud.Game.Players)
                {
                    DrawPlayerDeadTimer(player, player.InGreaterRift, secondsLeft);
                }
            }
           
            private void DrawPlayerDeadTimer(IPlayer player, bool inGR, double secondsLeft)
            {
                var portrait = player.PortraitUiElement.Rectangle;
                var x = portrait.Left + portrait.Width * 1.1f;
                var y = portrait.Top + portrait.Height / 4;
                var layout = TextFontDeath.GetTextLayout(DeathSymbol);
               
                if(player.IsDead)
                {
                    if (_FalseDead[player.Index] == false) FalseDeadTime[player.Index] = Hud.Game.CurrentGameTick + (int)(delay * 60);
                    if (player.IsDead && Hud.Game.CurrentGameTick > FalseDeadTime[player.Index])
                    {
                        FalseDead[player.Index] = true;
                    }
                    else
                    {
                        _FalseDead[player.Index] = true;
                    }
     
                }
                else
                {
                    _FalseDead[player.Index] = false;
                    FalseDead[player.Index] = false;
                }
                if (FalseDead[player.Index])
                {
                    if (Dead[player.Index] == false)
                    {
                        DeadTime[player.Index] = Hud.Game.CurrentGameTick;
                        if (inGR) DeadTimes[player.Index]++;
                        Dead[player.Index] = true;
                    }
                    CurrentTime[player.Index] = GetDeadCountdown(DeadTimes[player.Index], secondsLeft, inGR) - (Hud.Game.CurrentGameTick - DeadTime[player.Index]) / 60.0d;
                   
                    if (CurrentTime[player.Index] <= 0.5)
                    {
                        y = portrait.Top + portrait.Height / 4;
                        layout = TextFontDeath.GetTextLayout(DeathSymbol);
                        DeadBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                        TextFontDeath.DrawText(layout, x, y);
                        CurrentTime[player.Index] = 0;
                    }
                    else
                    {
                        y = portrait.Top + portrait.Height / 3.5f;
                        layout = TextFontDeathTime.GetTextLayout("Death: " + CurrentTime[player.Index].ToString("f0") + "s");
                        DeadTimeBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                        TextFontDeathTime.DrawText(layout, x, y);
                    }
                }
                else
                {
                    if (Dead[player.Index])
                    {
                        GhostTime[player.Index] = Hud.Game.CurrentGameTick + 3 * 60;
                        Dead[player.Index] = false;
                    }
                    CurrentGhostTime[player.Index] = (GhostTime[player.Index] - Hud.Game.CurrentGameTick) / 60.0d;
                   
                    if (CurrentGhostTime[player.Index] > 0)
                    {
                        y = portrait.Top + portrait.Height / 3.5f;
                        layout = TextFontGhostTime.GetTextLayout("Ghost: " + CurrentGhostTime[player.Index].ToString("f0") + "s");
                        if (CurrentGhostTime[player.Index] < 1) layout = TextFontGhostTime.GetTextLayout("Ghost: " + CurrentGhostTime[player.Index].ToString("f1") + "s");
                        TextFontGhostTime.DrawText(layout, x, y);
                        GhostBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                    }
                    else
                    {
                        CurrentGhostTime[player.Index] = 0;
                    }
                }
            }
           
            private double GetDeadCountdown(int DeadTimes,double secondsLeft ,bool inGR)
            {
                double Times = 0;
                if(!inGR) return 0 + 3.5 - delay;
                if (DeadTimes == 1) Times = 0 + 3.5 - delay;
                if (DeadTimes == 2) Times = 5 + 3.5 - delay;
                if (DeadTimes == 3) Times = 10 + 3.5 - delay;
                if (DeadTimes == 4) Times = 15 + 3.5 - delay;
                if (DeadTimes == 5) Times = 20 + 3.5 - delay;
                if (DeadTimes == 6) Times = 25 + 3.5 - delay;
                if (DeadTimes >= 7) Times = 30 + 3.5 - delay;
                if(secondsLeft<=0)
                {
                    Times = 0 + 3.5 - delay;
                }
                return Times;
            }
        }
    }

  9. Thanks blade87 (1 members gave Thanks to SeaDragon for this useful post)
  10. #39
    blade87's Avatar Member
    Reputation
    1
    Join Date
    Jun 2017
    Posts
    7
    Thanks G/R
    4/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SeaDragon View Post
    Code:
    using Turbo.Plugins.Default;
    using System.Linq;
    namespace Turbo.Plugins.glq
    {
        public class GLQ_PlayerResurrectionTimer : BasePlugin, IInGameTopPainter, INewAreaHandler
        {
            private bool[] FalseDead;
            private bool[] _FalseDead;
            private int[] FalseDeadTime;
            private bool[] Dead;
            private int[] DeadTimes;
            private double[] DeadTime;
            private double[] CurrentTime;
            private double[] GhostTime;
            private double[] CurrentGhostTime;
           
            public string DeathSymbol { get; set; }
            public IFont TextFontDeath { get; set; }
            public IFont TextFontDeathTime { get; set; }
            public IFont TextFontGhostTime { get; set; }
            public IBrush DeadTimeBorderBrush { get; set; }
            public IBrush DeadBorderBrush { get; set; }
            public IBrush GhostBorderBrush { get; set; }
            public double delay { get; set; }
            public GLQ_PlayerResurrectionTimer()
            {
                Enabled = true;
                delay = 3d;
            }
           
            public override void Load(IController hud)
            {
                base.Load(hud);
                FalseDead = new bool[4];
                _FalseDead = new bool[4];
                FalseDeadTime = new int[4];
                Dead = new bool[4];
                DeadTimes = new int[4];
                DeadTime = new double[4];
                CurrentTime = new double[4];
                GhostTime = new double[4];
                CurrentGhostTime = new double[4];
               
                DeathSymbol = "\u271F"; //✟
                TextFontDeath = Hud.Render.CreateFont("tahoma", 35, 200, 255, 255, 255, true, false, true);
                TextFontDeathTime = Hud.Render.CreateFont("tahoma", 12, 200, 255, 0, 0, true, false, true);
                TextFontGhostTime = Hud.Render.CreateFont("tahoma", 12, 200, 128, 255, 255, true, false, true);
                DeadTimeBorderBrush = Hud.Render.CreateBrush(200, 255, 0, 0, -2);
                DeadBorderBrush = Hud.Render.CreateBrush(200, 255, 255, 255, -2);
                GhostBorderBrush = Hud.Render.CreateBrush(200, 128, 255, 255, -2);
            }
           
            public void OnNewArea(bool newGame, ISnoArea area)
            {
                if (newGame)
                {
                    for (int i = 0; i < 4; i++)
                    {
                        DeadTimes[i] = 0;
                        GhostTime[i] = 0;
                        Dead[i] =false;
     
                    }
                }
            }
           
            private IQuest riftQuest
            {
                get
                {
                    return Hud.Game.Quests.FirstOrDefault(q => q.SnoQuest.Sno == 337492) ?? // rift
                           Hud.Game.Quests.FirstOrDefault(q => q.SnoQuest.Sno == 382695);   // gr
                }
            }
           
            public void PaintTopInGame(ClipState clipState)
            {
                if (clipState != ClipState.BeforeClip) return;
                var secondsLeft = (Hud.Game.CurrentTimedEventEndTick - (double)Hud.Game.CurrentGameTick) / 60.0d;
               
                if (riftQuest == null || (riftQuest != null && riftQuest.State == QuestState.none))
                {
                    for (int i = 0; i < 4; i++)
                    {
                        DeadTimes[i] = 0;
                        //GhostTime[i] = 0;
                    }
                }
               
                foreach (var player in Hud.Game.Players)
                {
                    DrawPlayerDeadTimer(player, player.InGreaterRift, secondsLeft);
                }
            }
           
            private void DrawPlayerDeadTimer(IPlayer player, bool inGR, double secondsLeft)
            {
                var portrait = player.PortraitUiElement.Rectangle;
                var x = portrait.Left + portrait.Width * 1.1f;
                var y = portrait.Top + portrait.Height / 4;
                var layout = TextFontDeath.GetTextLayout(DeathSymbol);
               
                if(player.IsDead)
                {
                    if (_FalseDead[player.Index] == false) FalseDeadTime[player.Index] = Hud.Game.CurrentGameTick + (int)(delay * 60);
                    if (player.IsDead && Hud.Game.CurrentGameTick > FalseDeadTime[player.Index])
                    {
                        FalseDead[player.Index] = true;
                    }
                    else
                    {
                        _FalseDead[player.Index] = true;
                    }
     
                }
                else
                {
                    _FalseDead[player.Index] = false;
                    FalseDead[player.Index] = false;
                }
                if (FalseDead[player.Index])
                {
                    if (Dead[player.Index] == false)
                    {
                        DeadTime[player.Index] = Hud.Game.CurrentGameTick;
                        if (inGR) DeadTimes[player.Index]++;
                        Dead[player.Index] = true;
                    }
                    CurrentTime[player.Index] = GetDeadCountdown(DeadTimes[player.Index], secondsLeft, inGR) - (Hud.Game.CurrentGameTick - DeadTime[player.Index]) / 60.0d;
                   
                    if (CurrentTime[player.Index] <= 0.5)
                    {
                        y = portrait.Top + portrait.Height / 4;
                        layout = TextFontDeath.GetTextLayout(DeathSymbol);
                        DeadBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                        TextFontDeath.DrawText(layout, x, y);
                        CurrentTime[player.Index] = 0;
                    }
                    else
                    {
                        y = portrait.Top + portrait.Height / 3.5f;
                        layout = TextFontDeathTime.GetTextLayout("Death: " + CurrentTime[player.Index].ToString("f0") + "s");
                        DeadTimeBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                        TextFontDeathTime.DrawText(layout, x, y);
                    }
                }
                else
                {
                    if (Dead[player.Index])
                    {
                        GhostTime[player.Index] = Hud.Game.CurrentGameTick + 3 * 60;
                        Dead[player.Index] = false;
                    }
                    CurrentGhostTime[player.Index] = (GhostTime[player.Index] - Hud.Game.CurrentGameTick) / 60.0d;
                   
                    if (CurrentGhostTime[player.Index] > 0)
                    {
                        y = portrait.Top + portrait.Height / 3.5f;
                        layout = TextFontGhostTime.GetTextLayout("Ghost: " + CurrentGhostTime[player.Index].ToString("f0") + "s");
                        if (CurrentGhostTime[player.Index] < 1) layout = TextFontGhostTime.GetTextLayout("Ghost: " + CurrentGhostTime[player.Index].ToString("f1") + "s");
                        TextFontGhostTime.DrawText(layout, x, y);
                        GhostBorderBrush.DrawRectangle(portrait.Left, portrait.Top, portrait.Width, portrait.Height);
                    }
                    else
                    {
                        CurrentGhostTime[player.Index] = 0;
                    }
                }
            }
           
            private double GetDeadCountdown(int DeadTimes,double secondsLeft ,bool inGR)
            {
                double Times = 0;
                if(!inGR) return 0 + 3.5 - delay;
                if (DeadTimes == 1) Times = 0 + 3.5 - delay;
                if (DeadTimes == 2) Times = 5 + 3.5 - delay;
                if (DeadTimes == 3) Times = 10 + 3.5 - delay;
                if (DeadTimes == 4) Times = 15 + 3.5 - delay;
                if (DeadTimes == 5) Times = 20 + 3.5 - delay;
                if (DeadTimes == 6) Times = 25 + 3.5 - delay;
                if (DeadTimes >= 7) Times = 30 + 3.5 - delay;
                if(secondsLeft<=0)
                {
                    Times = 0 + 3.5 - delay;
                }
                return Times;
            }
        }
    }
    tyvm SeaDragon^^
    appreciate it

  11. #40
    CycoMikeMuir's Avatar Member
    Reputation
    1
    Join Date
    May 2018
    Posts
    13
    Thanks G/R
    3/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Would it be possible to show when players are procced? Maybe a yellow border. And with a timer.
    Or maybe there is another plugin that does? I havn't seen anything.

    TY

  12. #41
    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)

  13. #42
    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)
    Is there a way to insert xy coords to move this plugin ? I`d like to have it a bit below portrait skillbar

  14. #43
    bolek85's Avatar Member
    Reputation
    2
    Join Date
    Jun 2020
    Posts
    13
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Plugin not working

  15. #44
    Hybr3x's Avatar Member
    Reputation
    1
    Join Date
    Jun 2020
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bolek85 View Post
    Plugin not working
    Yeah getting "suspicious code in plugin file: 'D:\Utilities\TH\Plugins\glq\glq_playerresurrectiontimer.cs': possibly trying to hide behaviour with unicode characters."

    Yes im on v9.1

  16. #45
    BeeAntOS's Avatar Active Member
    Reputation
    30
    Join Date
    Oct 2017
    Posts
    119
    Thanks G/R
    239/28
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bolek85 View Post
    Plugin not working

    Originally Posted by Hybr3x View Post
    Yeah getting "suspicious code in plugin file: 'D:\Utilities\TH\Plugins\glq\glq_playerresurrectiontimer.cs': possibly trying to hide behaviour with unicode characters."


    Yes im on v9.1

    Replace line 44:
    Code:
    	DeathSymbol = "\u271F"; //✟

    with:
    Code:
    	DeathSymbol = "✟";
    Last edited by BeeAntOS; 06-29-2020 at 09:11 PM. Reason: typo
    "When you reach the top, get ready to drop!"

  17. Thanks SeaDragon (1 members gave Thanks to BeeAntOS for this useful post)
Page 3 of 4 FirstFirst 1234 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.2] [ENGLISH] [glq] UberRealmMarker
    By SeaDragon in forum TurboHUD Community Plugins
    Replies: 23
    Last Post: 05-17-2019, 07:45 AM
  3. [v7.2] [ENGLISH] [glq] AncientParthanCount
    By SeaDragon in forum TurboHUD Community Plugins
    Replies: 17
    Last Post: 07-06-2018, 01:56 AM
  4. [v7.3] [ENGLISH] [glq] NecDeadBodyPlugin
    By SeaDragon in forum TurboHUD Community Plugins
    Replies: 21
    Last Post: 11-08-2017, 04:44 PM
  5. [v7.2] [ENGLISH] [glq] MonsterDensityPlugin
    By SeaDragon in forum TurboHUD Community Plugins
    Replies: 5
    Last Post: 07-16-2017, 10:47 AM
All times are GMT -5. The time now is 05:03 AM. 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