[source wowFollow bot vb.net] menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 17
  1. #1
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [source wowFollow bot vb.net]

    Full project source (all project files) included in link at bottom.
    Very primitive follow/heal bot, coded in vb.net, .Net framework 3.0
    ONLY works on 32 bit wow, and probably 32 bit windows os.
    ONLY works for wow 5.1.0 (16309)
    USES injection 1 time -> ie. warden could catch if they monitor the addr it patches!


    It probably doesn't do exactly what you want, but I'm posting the code so...modify it how you want! I will NOT be doing updates. this is more of a...here is some source-code type of thing.



    1. log fully into world
    2. File ->Attach
    3. Target the person you want to follow and hit "Set Master"
    4. Also type their name into the txt box for 'master name' ie. it uses /target {name} to select main
    5. Set up keys bindings / cooldowns / percentages
    6. Press START

    all it does is follow your main, and if main's health < %, cast spell. That's it. It WON'T help you kill the mobs. Only stand there, watching the main char, and healing them if needed. As a crappy work-around, it doesn't actually read spell info from wow.exe, it will spam the spell based solely on cooldown, which won't work very well.

    Because of how the bot uses keyboard/mouse, you can't use the computer while the bot is on! I can't say this enough times. <--funny to see someone try tho.


    Full project files: http://www.qfpost.com/file/d?g=2agNWeuL1 --> 3 download buttons on that page! find the right one lol?
    a lot of it copied from my personal bot project, there are probably a few mistakes, and parts that shouldn't be there.

    MemoryManager and wowObjectManager are probably 2 most useful. ObjMgr is awkward because of how I do the offsets, ie. I only found 'max health' for 'player' objects, not 'unit' objects, so units don't have a HealthAsPercent property sloppy and incomplete. Take it or leave it.
    Last edited by abuckau907; 12-02-2012 at 12:58 AM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

    [source wowFollow bot vb.net]
  2. #2
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Inside the main loop...
    Code:
    Public Sub StartBotting()
            ''todo: better FSM here? or whatever logic control structure you choose. Custom Scripting language?! //todo
            _isBotOn = True
            Dim _timeLapse As New TimeSpan
            GOOEY.FocusWoW()      
            Do Until _isBotOn = False
                ''Priority #0. If we're dead, we can't do anything..
                If OBJMGR.LocalPlayer.Health = 0 Then
                    DoOutput("LocalPlayer DIED!")
                    _isBotOn = False
                    Form1.cmdBotOnOff.Text = "STOP"
                    Exit Do
                End If
                ''Priority #1. If master is dead, we can't do anything. logout. //todo: rez
                If OBJMGR.MasterPlayer.Health = 0 Then 'master is dead. wtf :(
                    DoOutput("MAINCHAR IS DEAD" & Environment.NewLine & "SHUTTING OFF")
                    _isBotOn = False
                    Form1.cmdBotOnOff.Text = "START"
                    Exit Do
                End If
                ''Priority #2. Self Defense.
                If OBJMGR.GetTargetCount(OBJMGR.LocalPlayer) > 0 Then
                    DoOutput("something is targeting me? wth?")
                    If OBJMGR.LocalPlayer.HealthAsPercent < 98 Then
                        DoOutput("i'm hurt. Being Attacked?!")
                        ''wow will auto-target an attacker. wait a second for that that to happen. (Subject to Change?)**
                        'wait for auto-target
                        Dim _timeoutLapse As TimeSpan
                        Dim _starTime As Date = Date.Now
                        Do Until OBJMGR.LocalPlayer.TargetGuid > 0
                            _timeoutLapse = Date.Now.Subtract(_starTime)
                            If _timeLapse.TotalSeconds >= 5 Then
                                'nothing is attacking us?
                                DoOutput("auto-target fail?" & Environment.NewLine & "blacklist mob? //todo" & Environment.NewLine & "about to die??")
                                Threading.Thread.Sleep(1000)
                            End If
                        Loop
                        If OBJMGR.LocalPlayer.TargetGuid > 0 Then
                            'we have a target. Kill it!
                            Dim _curTarget As New wowObjMgrUnitObject
                            _curTarget.BaseAddress = OBJMGR.GetObjectBaseFromGuid(OBJMGR.LocalPlayer.TargetGuid)
                            Do Until _curTarget.Health = 0
                                If OBJMGR.LocalPlayer.TargetGuid <> _curTarget.GUID Then
                                    ''Target switch. it Happens.
                                    DoOutput("Target switch!")
                                    If _curTarget.Health = 0 Then
                                        DoOutput("Is Ok. Old Target dead")
                                    Else
                                        DoOutput("Old target still alive. wth?") ''shouldn't happen
                                    End If
                                    'update _curTarget?
                                    If OBJMGR.LocalPlayer.TargetGuid > 0 Then
                                        'auto acquired a new target (group attack on LocalPlayer?)
                                        DoOutput("Group Attack?")
                                        _curTarget.BaseAddress = OBJMGR.GetObjectBaseFromGuid(OBJMGR.LocalPlayer.TargetGuid)
                                    Else
                                        'race condition where we read .Health value > 0, but wow.exe sets instantly Target.Health=0, LocalPlayer.TargetGuid = 0
                                        'killed target
                                        Exit Do
                                    End If
                                End If
                                'spam 1 attack spell :(
                                If SelfDefenseSpell.CooldownRemaining = 0 Then
                                    SelfDefenseSpell.CastThisSpell()
                                End If
                                DoOutput("..in combat")
                                Threading.Thread.Sleep(_rndm.Next(1000, 1500))
                            Loop
                            DoOutput("Target Killed!!!")
                        End If
                    End If
                End If
                ''Priority #3. Face the MainChar 
                If OBJMGR.MasterPlayer.WorldPos.RelativeTurnDistance > 1.5 Then
                    GPS.TurnToPoint(OBJMGR.MasterPlayer.WorldPos)
                End If
                ''Priority #4. Within FollowDistance to MainChar
                If OBJMGR.MasterPlayer.WorldPos.DistanceFromLocalPlayer > FollowDistance Then
                    'DoOutput("getting closer")
                    Dim _rcd As Int32 = _rndm.Next(_followDistance - 2, _followDistance + 4)
    
                    Do Until OBJMGR.MasterPlayer.WorldPos.DistanceFromLocalPlayer <= _rcd
                        If GPS.IsRunningForward = False Then GPS.StartRunningForward()
                        If OBJMGR.MasterPlayer.WorldPos.RelativeTurnDistance > 0.15 Then
                            GPS.TurnToPoint(OBJMGR.MasterPlayer.WorldPos)
                        End If
                    Loop
                    If GPS.IsRunningForward Then GPS.StopRunningForward()
                Else
                    If GPS.IsRunningForward Then
                        GPS.StopRunningForward()
                    End If
                End If
                ''Priority #5 Is MainChar Curent Target?
                If OBJMGR.LocalPlayer.TargetGuid <> modPublic.MastersGUID Then
                    DoOutput("Need to target MainChar")
                    If GOOEY.TargetMaster() Then
                        DoOutput("Success")
                    Else
                        DoOutput("Fail") 'continue as normal. //todo: better efforts
                    End If
                End If
                ''Priority #6. Cast HealthSpell2 'more powerful
                If OBJMGR.LocalPlayer.HealthAsPercent <= HealPercent2 Then
                    If HealSpell2.CooldownRemaining = 0 Then
                        DoOutput("MainChar needs large heal")
                        HealSpell2.CastThisSpell()
                    End If
                End If
                ''Priority #7. Cast HealthSpell1 'only restores minor hp
                If OBJMGR.MasterPlayer.HealthAsPercent <= HealPercent1 Then
                    If HealSpell1.CooldownRemaining = 0 Then
                        DoOutput("MainChar needs small heal")
                        HealSpell1.CastThisSpell()
                    End If
                End If
                Application.DoEvents()
            Loop
            DoOutput("BOT OFF")
        End Sub

    edit: never actually tested the 'self defense' code because my main kept the aggro -- only tested for about 5-10 minutes.
    wowObjMgr.GetTargetCount() -- noticed it always returns 0, probably because of how I found the offset for TargetGuid ->via local player, and not via a unit type.
    //tmrRadar_Tick --> lblWhatever.text = OBJMGR.GetTargetCount(OBJMGR.LocalPlayer)
    // i removed the label right before posting due to GetTargetCount 'error'.
    Last edited by abuckau907; 12-02-2012 at 01:07 AM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  3. #3
    maikel233's Avatar Contributor
    Reputation
    137
    Join Date
    Sep 2010
    Posts
    110
    Thanks G/R
    38/64
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Nice going to check out the source i preffer C Sharp

  4. #4
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks. good for you :/ --they're both .Net, and i don't use any 'vb language features' that c# doesn't have, so converting it is pretty straight forward.
    Last edited by abuckau907; 12-03-2012 at 02:16 AM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  5. #5
    morrisamyu's Avatar Private
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    5
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice going to check out the source i preffer C Sharp

  6. #6
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by morrisamyu View Post
    Nice going to check out the source i preffer C Sharp
    again, I'm glad you prefer it, but that's irrelevant.

    --if you actually (which you might) had a good reason to prefer C# , you probably wouldn't need to look at my code. Which makes me think you prefer c# cuz everone else does...or because the syntax is easier to read than vb (lol?) If it was written in C#, would you tell me if you prefer C++...i'd hope not :/ Either way, it was unwarranted.
    Last edited by abuckau907; 12-05-2012 at 05:44 AM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  7. #7
    r470n's Avatar Member
    Reputation
    1
    Join Date
    Jun 2011
    Posts
    1
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nice work, only see some parts of the code but i will see the rest later.
    thanks

  8. #8
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks, hope it helps.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  9. #9
    Galenos's Avatar Banned
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just got it working, man this is great!

  10. #10
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Galenos View Post
    Just got it working, man this is great!
    lol, I wrote it to help study the wowObjectManager, I didn't think anyone would actually use it because of the mouse/keyboard thing. Kind of wasteful. But kind of sweet. Glad you like it. If you have any questions on customizing it, let me know

    --it's totally possible to make it help you kill mobs

    If OBJMGR.MasterPlayer.HasTarget
    TargetMob(OBJMGR.MasterPlayer.Target)
    KillTarget()
    End if

    something along those lines.
    Last edited by abuckau907; 12-04-2012 at 09:39 PM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  11. #11
    Traz's Avatar Contributor
    Reputation
    149
    Join Date
    Jul 2007
    Posts
    432
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just read your tutorials and checked your bot source.
    Detailed way of explaining it, thank you for this contribution.
    +Rep

  12. #12
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @Traz Thanks. Appreciate it.

    @everyoneelse sorry to be butthurt over the vb/c# thing, but most of the time are basically equal, and I'm sick of being told vb sucks when it doesn't :/
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  13. #13
    ieatglueandstuff's Avatar Member
    Reputation
    14
    Join Date
    Dec 2008
    Posts
    162
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by abuckau907 View Post
    again, I'm glad you prefer it, but that's irrelevant.

    --if you actually (which you might) had a good reason to prefer C# , you probably wouldn't need to look at my code. Which makes me think you prefer c# cuz everone else does...or because the syntax is easier to read than vb (lol?) If it was written in C#, would you tell me if you prefer C++...i'd hope not :/ Either way, it was unwarranted.
    Everyone likes sharp cuz its made for noobs...just like call of duty.

  14. #14
    abuckau907's Avatar Active Member
    Reputation
    49
    Join Date
    May 2009
    Posts
    225
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I disagree, c# is really good. Development time is fast and performance is too. Syntax is like c/c++, which ppl already know. And it's M$'s favorite so the dev team is good and always adds new features/fixes bugs faster. There are more c# examples by ms than there are in vb.
    Vb uses more human readable keywords such as 'Inherits' instead of : , End If instead of } . Not the deciding factor, but I like it. Visually easier to track.
    c# can do some pointer/unsafe stuff (?) that vb can't. out of the box. i'm sure there are hackarounds..I personally haven't needed them yet.
    They are both .Net, so if you're on Windows, framework probably has you covered. Tons of classes,structs and functions. Is nice.
    cod is sick..sarcasm? Anyone who codes and plays blackopsII hctdm, pm me. <(o.o)> ^(o.o)^ <(o.o)> ^(o.o)^ v(o.o)v <--4:31am
    Last edited by abuckau907; 12-05-2012 at 09:54 PM.
    Some things that can be counted, don't matter. And some things that matter, can't be counted.

  15. #15
    maikel233's Avatar Contributor
    Reputation
    137
    Join Date
    Sep 2010
    Posts
    110
    Thanks G/R
    38/64
    Trade Feedback
    0 (0%)
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by morrisamyu View Post
    Nice going to check out the source i preffer C Sharp
    Copy paste? lol

Page 1 of 2 12 LastLast

Similar Threads

  1. [Release] [source wowSelfDefense bot vb.net]
    By abuckau907 in forum World of Warcraft Bots and Programs
    Replies: 5
    Last Post: 12-07-2012, 02:50 AM
  2. PocketGnome Source Mac Bot
    By vitosans in forum WoW Bots Questions & Requests
    Replies: 0
    Last Post: 05-04-2011, 12:40 PM
  3. [Bot] [Source] Dyno Bot Re-Release - Free bg bot
    By swollen in forum World of Warcraft Bots and Programs
    Replies: 58
    Last Post: 10-16-2010, 10:14 AM
  4. [SOURCE] Prospecting Bot/Addon For LuaNinja
    By GliderPro in forum World of Warcraft Bots and Programs
    Replies: 5
    Last Post: 11-22-2009, 05:02 AM
  5. [Bot:Source] Acidic Bot Source Code
    By =sinister= in forum World of Warcraft Bots and Programs
    Replies: 10
    Last Post: 07-03-2006, 05:38 PM
All times are GMT -5. The time now is 10:15 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