What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Help with SRS Build

verard

New Member
Joined
Mar 20, 2017
Messages
11
Greetings community,

So I bought this bot 2 days ago, I'm really happy with how it's working so far.
I want to make a good magic find build for merciless dried lake grind for max currency farm, but all I found was the necro SRS build, if you have any other recommendations please let me know:)

The problem I have with SRS is that it casts 1 time then stops for like 0.3 sec and casts SRS again, while when I do it manually the cast is much faster, is there any workaround for this?

I read somewhere on this forum to remove some oldroutine code lines, tried that, didn't change a thing, maybe I did it wrong? Please help ._.
 
Greetings community,

So I bought this bot 2 days ago, I'm really happy with how it's working so far.
I want to make a good magic find build for merciless dried lake grind for max currency farm, but all I found was the necro SRS build, if you have any other recommendations please let me know:)

The problem I have with SRS is that it casts 1 time then stops for like 0.3 sec and casts SRS again, while when I do it manually the cast is much faster, is there any workaround for this?

I read somewhere on this forum to remove some oldroutine code lines, tried that, didn't change a thing, maybe I did it wrong? Please help ._.

Ouroboros Routine works much better for SRS. You can also go into the routine .cs file and remove some or all of the waits, but this could cause unforeseen consequences.
 
Finally back to srs character.
In Ouroboros testing code right now:
Code:
 if (_summonRagingSpiritSlot != -1 &&
                    _summonRagingSpiritStopwatch.ElapsedMilliseconds >
                    OuroborosSettings.Instance.SummonRagingSpiritDelayMs)
                {
                    var skill = LokiPoe.InGameState.SkillBarHud.Slot(_summonRagingSpiritSlot);
                    var max = skill.GetStat(StatTypeGGG.NumberOfRagingSpiritsAllowed);
                    if (skill.NumberDeployed < max && skill.CanUse())
                    {
                        /*for (int srs_c = 0; srs_c < 3; srs_c++)
                        {
                            ++_summonRagingSpiritCount;

                            var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_summonRagingSpiritSlot, false, targetPosition);

                            if (_summonRagingSpiritCount >=
                                OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                                break;
                            }

                            if (err1 == LokiPoe.InGameState.UseResult.None) { return true; }

                            Log.ErrorFormat("[Logic] Use returned {0} for {1}.", err1, skill.Name);

                        }*/
               

                        Vector2i Target2 = ExilePather.FastWalkablePositionFor(bestTarget, 50);
                        Log.InfoFormat("[OldRoutine] _summonRagingSpirit to {0},{1}", Target2.X, Target2.Y);
                        var buaerr = LokiPoe.InGameState.SkillBarHud.BeginUseAt(_summonRagingSpiritSlot, false, Target2);
                        if (buaerr != LokiPoe.InGameState.UseResult.None)
                        {
                            Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", buaerr, "Summon Raging Spirit");
                        }
                        else
                        {
                            await Coroutine.Sleep(3000);
                            _summonRagingSpiritCount = skill.GetStat(StatTypeGGG.NumberOfActiveRagingSpirits);

                            if (_summonRagingSpiritCount >=
                                    OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                            }
                        }

                    }
                }
This is full cut of code for srs in Ouroboros. For me, bot spam spirits like a crazy.
await Coroutine.Sleep(3000); this 3 sec what bot cast spirits non stop. Adjust your time if need.
And need more tests.
 
Ran a few maps with your code last night and it seems to be a huge improvement over what it was before for my system at least. I found with this, I could set the combat range up to 70-75 and it would run up, spam a bunch of skulls, then run in.. Its a little weird with player mover combating it, but still working quite well for me.
Thank you!
 
Updated the code a little bit. Used stopwatch and check for monsters around. Replaced hard coded numbers of combat range to use settings value.
Sometimes when get surrounded by mobs bot start derping and don't cast spirits, do know why.
Code:
if (_summonRagingSpiritSlot != -1 &&
                    _summonRagingSpiritStopwatch.ElapsedMilliseconds >
                    OuroborosSettings.Instance.SummonRagingSpiritDelayMs)
                {
                    var skill = LokiPoe.InGameState.SkillBarHud.Slot(_summonRagingSpiritSlot);
                    var max = skill.GetStat(StatTypeGGG.NumberOfRagingSpiritsAllowed);
                    if (skill.NumberDeployed < max && skill.CanUse())
                    {
                        /*for (int srs_c = 0; srs_c < 3; srs_c++)
                        {
                            ++_summonRagingSpiritCount;

                            var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_summonRagingSpiritSlot, false, targetPosition);

                            if (_summonRagingSpiritCount >=
                                OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                                break;
                            }

                            if (err1 == LokiPoe.InGameState.UseResult.None) { return true; }

                            Log.ErrorFormat("[Logic] Use returned {0} for {1}.", err1, skill.Name);

                        }*/
 

                        Vector2i Target2 = ExilePather.FastWalkablePositionFor(bestTarget, OuroborosSettings.Instance.CombatRange);
                        Log.InfoFormat("[Ouroboros] _summonRagingSpirit to {0},{1}", Target2.X, Target2.Y);
                        var buaerr = LokiPoe.InGameState.SkillBarHud.BeginUseAt(_summonRagingSpiritSlot, false, Target2);
                        if (buaerr != LokiPoe.InGameState.UseResult.None)
                        {
                            Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", buaerr, "Summon Raging Spirit");
                        }
                        else
                        {
                            Stopwatch _SRSStopWatch = Stopwatch.StartNew();
                            for (;;)
                            {
                                if (_SRSStopWatch.ElapsedMilliseconds > 3000)
                                    break;
                                if (NumberOfMobsNear(LokiPoe.Me, OuroborosSettings.Instance.CombatRange) > 0)
                                {
                                    await Coroutine.Sleep(500);
                                }
                                else
                                    break;
                            }
                          
                            _summonRagingSpiritCount = skill.GetStat(StatTypeGGG.NumberOfActiveRagingSpirits);

                            if (_summonRagingSpiritCount >=
                                    OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                            }
                        }

                    }
                }
 
Great work man, did you ever update this? I'm running at 75 range (should I bother with Max Ranged Range? I have SRS on 3 as Single Target Ranged Skill Slot) however I can't seem to get Envy to work with it, does yours work?

Updated the code a little bit. Used stopwatch and check for monsters around. Replaced hard coded numbers of combat range to use settings value.
Sometimes when get surrounded by mobs bot start derping and don't cast spirits, do know why.
Code:
if (_summonRagingSpiritSlot != -1 &&
                    _summonRagingSpiritStopwatch.ElapsedMilliseconds >
                    OuroborosSettings.Instance.SummonRagingSpiritDelayMs)
                {
                    var skill = LokiPoe.InGameState.SkillBarHud.Slot(_summonRagingSpiritSlot);
                    var max = skill.GetStat(StatTypeGGG.NumberOfRagingSpiritsAllowed);
                    if (skill.NumberDeployed < max && skill.CanUse())
                    {
                        /*for (int srs_c = 0; srs_c < 3; srs_c++)
                        {
                            ++_summonRagingSpiritCount;

                            var err1 = LokiPoe.InGameState.SkillBarHud.UseAt(_summonRagingSpiritSlot, false, targetPosition);

                            if (_summonRagingSpiritCount >=
                                OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                                break;
                            }

                            if (err1 == LokiPoe.InGameState.UseResult.None) { return true; }

                            Log.ErrorFormat("[Logic] Use returned {0} for {1}.", err1, skill.Name);

                        }*/
 

                        Vector2i Target2 = ExilePather.FastWalkablePositionFor(bestTarget, OuroborosSettings.Instance.CombatRange);
                        Log.InfoFormat("[Ouroboros] _summonRagingSpirit to {0},{1}", Target2.X, Target2.Y);
                        var buaerr = LokiPoe.InGameState.SkillBarHud.BeginUseAt(_summonRagingSpiritSlot, false, Target2);
                        if (buaerr != LokiPoe.InGameState.UseResult.None)
                        {
                            Log.ErrorFormat("[Logic] UseAt returned {0} for {1}.", buaerr, "Summon Raging Spirit");
                        }
                        else
                        {
                            Stopwatch _SRSStopWatch = Stopwatch.StartNew();
                            for (;;)
                            {
                                if (_SRSStopWatch.ElapsedMilliseconds > 3000)
                                    break;
                                if (NumberOfMobsNear(LokiPoe.Me, OuroborosSettings.Instance.CombatRange) > 0)
                                {
                                    await Coroutine.Sleep(500);
                                }
                                else
                                    break;
                            }
                        
                            _summonRagingSpiritCount = skill.GetStat(StatTypeGGG.NumberOfActiveRagingSpirits);

                            if (_summonRagingSpiritCount >=
                                    OuroborosSettings.Instance.SummonRagingSpiritCountPerDelay)
                            {
                                _summonRagingSpiritCount = 0;
                                _summonRagingSpiritStopwatch.Restart();
                            }
                        }

                    }
                }
 
Great work man, did you ever update this? I'm running at 75 range (should I bother with Max Ranged Range? I have SRS on 3 as Single Target Ranged Skill Slot) however I can't seem to get Envy to work with it, does yours work?
Nope i did not. Max combat range is used to check mobs. With envy i got the problem too, even with checked settings "EnableAurasFromItems", seems need to debug the part of aura cast. Mapbot also ignore envy.
I attach my ouroboros hard coded to this build https://www.pathofexile.com/forum/view-thread/1816896
Just as example, many things, as i said, hardcoded.
Stone golem on 1 slot
Vaal skills on 8
Casting srs is modified.
Vaal auras uses one slot 8 and triggered not only on mobs, but also when energy shield below 70%
this line in code (LokiPoe.Me.EnergyShieldPercent < 70))
If vaal skill ready and not selected, it will be set to 8 slot.
And slots are:
stone golem
shield charge/whirling blades
srs
raise zombie (if used)
flesh offering
aura (one, to mapbot can precast auras)
move skill
vall aura
Also i recommend sacrifice two slots to CWDT+Flame dash, can save bot from stuck when surrounded by mobs.
 

Attachments

Last edited:
This CR works like a charm =)

Possible for you tou make that one but with shrine skip?
Keep geting stuck on shrines =(
Rather no shrines then one sometimes :)

Thx in advance
 
Back
Top