Jump to content

Matenia

Elite user
  • Posts

    2226
  • Joined

  • Last visited

Posts posted by Matenia

  1. Make your own profiles, then deactivate free mode (or rather deactivate freemode anyway). Also blacklist the water zones for your bot, then it will avoid those when finding a path.

    The Battlegrounder product isn't very advanced. Some people have thought aobut writing their own. I've started and it's a big project that requires more time than some fightclasses.

     

  2. 3 hours ago, scripterx said:

    There are some things that I can't understant too, for example I noticed on battleground my Priest Fight Class once ressed does this:

    Inner Fire > Mount > Dismount > Vampiric Embrace > Mount > Dismount > Fortitude > Mount > Dismount > Spirit..and so on. I set all buffs on top priority, combat only = false, can cast on mount= false, and still I get this weird behaviour.

    It should ress corpse, Inner Fire, Vampiric Embrace, Stamina, Spirit, Shadow Protection, Fear Ward, and THEN mount. I don't know.

    The bot queues up mounting regardless of your fightclass. So by the time that action is finished (the bot does a sleep for the duration of your mount cast), your fightclass is at it again and it tries to cast something.

    Because the intial mounting sleep isn't long enough, by the time your fightclass gets to do its thing, the bot hasn't recognized that you're mounted. So the "mount = false" condition still holds true and it casts again.

    Therefore your best shot is to set a higher latency to make those sleeps last longer. The other option is to have Droidz adjust the behavior to make sure mounting is updated correctly.

  3. 38 minutes ago, scripterx said:

    Were you avoiding SoTA and IoC? Im botting bg for more than 1 year, sometimes even 2 days+ straight and not a single warning.

    This thread is about TBC. Warmane doesn't give a shit about their Cata/MoP servers, because they're just happy anyone in playing at all.

    They also don't crack down as hard on 3.3.5 servers, because the Chinese don't infest these as heavily.

  4. I've gotten banned on Warmane recently.
    Was BG botting, used a good (my own, non-public) profile and fightclass.

    No whisper, just a permaban right away. Was botting for a friend, had never gotten banned before. It happend when one of those "banwaves" was going on with the reason of "Use of botting programs" rather than a REAL wave where everyone gets permabanned as "bot".

    I think the two are fundamentally different, probably different GMs too. 

  5. It's easy enough. All spells the client casts through the interface inevidbly go through CastSpellByName() (in Lua).
    Therefore, you can overwrite CastSpellByName with your own function, do a condition for HoJ and just make it do nothing if target has CoS etc.

    Do I think that guy is actually doing it that way? Probably not. He's likely just boasting/lying about something he has done in a way more simplistic way.

  6. Don't bother with manacost. You can generally estimate the mana percentage it costs and see if you're above. For everything IsUsableSpell covers what you need.

    Most of us hang around the wRobot Discord. The link is in sidebar/footer iirc, but just in case: https://discord.gg/ED2Mjfp

    And there is a gearscore addon for 2.4.3. It's absolutely useless bullshit though, especially on lower levels. TBC isn't Wrath, itemization works very differently and the guy who backported it did it to troll Feenix. Only the Warmane community was actually stupid enough to pick it up and use it.
    Pawn uses actual, real stat weights.

  7. I might be too late here, but I use this helper class, that allows me to easily iterate over ranks and break the loop if (highest to lowest) I know a spell or (lowest to highest) I don't know a spell anymore.

    class RotationSpell
    {
        public Spell Spell;
        private string Name;
        private int? Rank;
    
        public RotationSpell(string name, int? rank = null)
        {
            this.Name = name;
            this.Rank = rank;
            this.Spell = new Spell(name);
        }
    
        public bool IsUsable()
        {
            return Spell.IsSpellUsable;
            //return Lua.LuaDoString<bool>("usable = (IsUsableSpell(\""  + Name + "\") and true or false)", "usable");
        }
    
        public bool CanCast()
        {
            return Lua.LuaDoString<bool>("return (IsUsableSpell(\"" + FullName() + "\") and GetSpellCooldown(\"" + FullName() + "\") == 0)");
        }
    
        public float GetCooldown()
        {
            string luaString = @"
            cooldownLeft = 0;
    
            local start, duration, enabled = GetSpellCooldown(""{0}"");
            if enabled == 1 and start > 0 and duration > 0 then
                cooldownLeft = duration - (GetTime() - start)
            end";
            return Lua.LuaDoString<float>(string.Format(luaString, FullName()), "cooldownLeft");
        }
    
        public void UpdateRank(int rank)
        {
            this.Rank = rank;
        }
    
        public string FullName()
        {
            return Rank != null ? (Name + "(Rank " + Rank + ")") : Name;
        }
    
        public bool IsKnown()
        {
            return Lua.LuaDoString<bool>("return (GetSpellInfo(\"" + FullName() + "\") ~= nil)");
        }
    
    }

     

  8. Quote

     

    [D] 09:53:15 - Warning: TeamViewer is launched on your computer, this software can cause problems with WRobot, I recommend to close all TeamViewer process when you use WRobot

    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Idle already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.MovementLoop already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Grinding already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Trainers already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Talents already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.FlightMasterDiscoverState already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.ToTown already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.FlightMasterTakeTaxiState already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.ProspectingState already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.MillingState already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Farming already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Looting already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Regeneration already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.BattlePetState already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.IsAttacked already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.MyMacro already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Resurrect already launched, ignore it.
    [D] 09:53:26 - [FSM] State Grinder.Bot.ApiniedifaelaAhohefoq already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.BattlegrounderCombination already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Pause already launched, ignore it.
    [D] 09:53:26 - [FSM] State wManager.Wow.Bot.States.Relogger already launched, ignore it.

     


    Stop restarting it so quickly. Give it some time.

  9. The simple answer is no. The longer answer is that through Lua events and more complicated C# code, you might be able to achieve that. You could also just record a quest with "FollowPath" type and tick the little box with "Is complete when last path reached".

    But something like "have I actually interacted successfully with the flightmaster" might not really work.

     

    What you could do is set said flight master as a quest giver. You would then set your 1 step (in the quester) as to pick up some random quest (that's unlikely/impossible to be finished) and your bot would run there, interact with the NPC trying to pick it up, but not find it. Thus you'd get stuck at the NPC.

×
×
  • Create New...