• Visit Rebornbuddy
  • Sometimes Wizard had ignore items or globes when Teleport to alarge distance position

    Discussion in 'Trinity' started by Night Breeze, Feb 9, 2017.

    1. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      Items has a pickup range, when bot Teleport to a large distance position to avoid something it will ignore items.
      In rift, progress globes must be pickup, so how do i fix it?
       
    2. CNN

      CNN New Member

      Joined:
      Feb 11, 2017
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
      Valid question.

      Please also tell how can I tweak it in the code myself. Unfortunately can't think of how to do it from character routine, there is nothing to overload. As far as I understand from the code, character routine being completely turned off and switched to another routine if some globe or important stuff is found. I simply want to force a region clear or some check.
       
    3. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      I think you must mark them when they are in background. When we need navigation to new node or grid, check them in a whitelist, most priority to pickup them than a new navigation movement event.
      This check must before navigation event, if not, i think maybe bot will explore the map again.

      And the other question, when bot find them in combat, always pickup them and ignore combat until it had pickup all items.In this case, bot always die.Because i discover i cannot write a lot of codes in GetMovementPower method to check this.

      And i think steps like this:
      1.combat
      2.cluster unit return null
      3.pickup them
      4.navigation to new postion

      Could this help you?
       
      Last edited: Feb 11, 2017
    4. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      Thanks for your attention.
       
    5. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      I read your reply again, maybe you are right. In consle i found that plugin always select rotine agian. I don't know whether this reason.If change rotine will clear item marker.
      And it always ignore elites too.Is there targeting had clear too?

      I havnt use lot of time to read source, and loot provider i don't really know it.I can only guess.
       
      Last edited: Feb 11, 2017
    6. CNN

      CNN New Member

      Joined:
      Feb 11, 2017
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
      Correct. It's visible in console how Trinity switches routines.

      Yeah, maybe tweaking something in object/target list during GetMovementPower might help. However, it would be ideal not to turn off my main routine, but allow it to choose. I'm already receiving "destination" parameter, why not always use it and let me choose if I want to walk or teleport or do something else. Unfortunately I can't find the code where the complete switch happens.
       
    7. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      All of current routine variable assignment in RoutineManager Class, you can review them.
       
    8. Night Breeze

      Night Breeze Member

      Joined:
      Jan 28, 2017
      Messages:
      100
      Likes Received:
      14
      Trophy Points:
      18
      I found it. When Wizard active Archon, RoutineManager will call SkillsOnChanged method.And when Archon buff gone, it will call SkillsOnChanged method agian.
      this is my fix:

      Code:
              private void SkillsOnChanged(ChangeDetectorEventArgs<HashSet<SNOPower>> args)
              {
                  if (ChangeEvents.IsInGame.Value && ZetaDia.Me != null && !ZetaDia.Me.SkillOverrideActive && !CurrentRoutine.GetType().IsSubclassOf(typeof(WizardBase)) )
                  {
                      SelectRoutine();
                  }
              }
      
      This is a temporary solution, I don't agree to do this.
       

    Share This Page