Page 1 of 2 1 2 LastLast
Results 1 to 15 of 18
  1. #1
    Knight abuckau907's Avatar
    Reputation
    34
    Join Date
    May 2009
    Posts
    221
    CoreCoins
    4

    Trade Feedbacks

    Positive
    0
    Negative
    0

    [release] Path Runner (vb.net)

    Description: This tool lets you create paths and then later load them / run along them. (ie. Create paths for town-to-town travel)

    Written in: Vb.Net (MSVS 2008 Pro)
    Tested on: Windows XP Pro 32 only (I'm not sure if it works on x64, Windows 7, etc..as I don't have those machines, I won't answer questions about them -- with the exception of x64 --if it doesn't work I'll try to fix that soon)

    1) Wow MUST be the active app (ie. Open, not minimized) (preferably not full screen - makes it easier)
    2) It uses the mouse -> while the program is running, you CAN NOT use your computer (you can try..but it'll jerk the mouse around and you'll be angry)
    3) No fighting -- in fact, it doesn't even check if something is attacking you: it 100% ONLY RUNS from point to point
    4) So..if you're not OK with the program basically owning your mouse while it's running...stop reading - this is Not for everyone.
    5) (obviously..) it does NOT use Click To Move

    With that said..here is a basic 'tutorial' on how to use it.

    1) Log in and select your character --> go into game
    2) attach the program to wow (for mem_read) --> Do this by clicking "Attach To Wow -> Try " --> It will give a messagebox for success/failure
    3) Assign your run_forward key (default is 'w'...but I made an option for it)
    4) Assign your right_click location --> This is where the program right*clicks so it can turn (This can be anywhere on the wow screen, except for toolbars,nameplates etc --> I set it at around my toons head)
    5) THAT'S IT. Either create a path, or load one and run it.

    There are 2 buttons to run "To End" or "To Beginning" --> obvious.
    (when you create a new path..give it a descriptive name like redMesa_to_ThunderBluff or something --> that way you can remember if you want to run to the end, or beginning of the path.

    If at any time you want to stop the program before it's done, press (sometimes you have to hold it for a second) the 'Home' key (above the direction arrows usually) and it'll change the form's title to "STOPPING " & the time.

    Bugs: If you stop the program early, there is a chance it won't call the *UN*right click, and the next time you go to use the mouse it'll try to right click when you try to left click --> annoying, but easy to fix: just left/right click a few random times and this will auto-fix itsself --> shouldn't happen if you just let the program go.

    If you try to ctrl+alt+del to kill the program --> good luck, because it'll probably be jerking the mouse around too much (learn to use tab + arrow keys...)

    It stops when turning (ie. once you reach a point, and begin to turn to the next point -- it stops running for a moment while it turns) --> I admit this looks bottish, but the program should ONLY be used for travel and as such..I doubt you'll get 'bot bashed' while simply running. Easy fix, but not included in this version.

    Oo..pretty easy, but almost forgot --> When you go to set the right_click_location --> THIS program must be focused, not wow: tab until you're on the 'set loc' button --> then move your mouse over your toons head and hit {ENTER} --> the text near the 'mouse_loc' button should change. (If you forget this step..the mouse will constantly get moved to the Top Left of your screen and just sit there - important!)

    ...what a screen full ! Anyway, this was basically ripped in a hurry from my private bot --> I declare a lot of things public/global -- not good, but for such a small app/demo its easier to understand. I won't talk much about the programming unless anyone has questions..please feel free to ask.

    No Virus Scan: IT INCLUDES source code
    YES, it does use GetAsyncKeyState api --> check the source, the only time I use it is to check for the [Home] key to stop running a path. ( I recommend you compile yourself )

    for anyone not looking to compile themselves: just go into the folder
    KauPathRunner\KauPathRunner\bin\Debug and run KauPathRunner.exe <-- Are you scared...? You should be. Haha.
    (...included source)


    DOWNLOAD (all source included) MEGAUPLOAD - The leading online storage and file delivery service

    I hope someone finds this useful, but as it basically *owns* your mouse while its running, a lot of you won't.

    *also included a VERY basic 'radar' section to help in displaying the paths.

    Security Concerns: It only does mem_read, keybd_event, mouse_event: I'm guessing the chances of getting busted are slim-to-none..but i ignant, so..
    Last edited by abuckau907; 01-07-2010 at 10:24 PM.

  2. #2
    New User
    Reputation
    1
    Join Date
    May 2009
    Posts
    3
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Why you don't use Arrow keys to turn instead of mouse? In that case you could send keys directly to wow process, and bot would work in background mode (wow minimized)

  3. #3
    Banned
    Reputation
    192
    Join Date
    Jan 2008
    Location
    Denmark
    Posts
    1,244
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    I believe this is Detectable.
    - Created in VB? O.o

  4. #4
    Knight-Lieutenant snigelmannen's Avatar
    Reputation
    27
    Join Date
    Jul 2007
    Posts
    332
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    All hacks or programs that are doing anything with wow are detectable

    ps afaik, as long as you compile it as 32 and not using a injected driver i dont think it will be a problem on 64 bit.
    Last edited by snigelmannen; 01-08-2010 at 11:32 AM.
    " Spy sappin mah sentry! "

  5. #5
    Knight-Lieutenant [Sadistic]'s Avatar
    Reputation
    42
    Join Date
    Sep 2009
    Posts
    250
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    can i get the source on this i am doing research it would be nice if u pmed this to me


    Edit nvm you posted it ty
    Last edited by [Sadistic]; 01-08-2010 at 02:19 PM.

  6. #6
    ಠ_ಠ

    CoreCoins User

    maclone's Avatar
    Reputation
    812
    Join Date
    Nov 2007
    Location
    Deutschland
    Posts
    1,696
    CoreCoins
    65116

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Quote Originally Posted by Mango Jerry View Post
    I believe this is Detectable.
    - Created in VB? O.o
    It's not detectable by warden in its current state.
    It's coded in VB.Net and that's capable of doing nearly everything that can be done in C#
    Zomfg. And no, don't ask. - Dombo did it.

  7. #7
    Knight-Lieutenant [Sadistic]'s Avatar
    Reputation
    42
    Join Date
    Sep 2009
    Posts
    250
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    oh btw +rep for the source

  8. #8
    Knight abuckau907's Avatar
    Reputation
    34
    Join Date
    May 2009
    Posts
    221
    CoreCoins
    4

    Trade Feedbacks

    Positive
    0
    Negative
    0
    @Zaibas: Because it's harder to use arrows --> because it's a timeing thing (ie. only hold key down for xx seconds each time) where w/ the mouse it's mov xx pixels -- I guess keys *could* be as good, mouse just seems 75% easier: 2nd version will send directly to wow and not require it to be open.

    @MangoJerry: Detectable why? (mem_read only) & STFU: for most cases vb==c# --> CLR! :O (===8

    @snigelmannen: Thanks. Wasn't sure because I don't have access to a x64 machine and..just a lack of knowledge to be honest. I use Uint32 to store ram addresses and IntPtr when using them with api's. Just wasn't sure.

    @maclone: Thanks, I thought so too, but.. never know.

    @[Sadistic]: Rep--;

    Anyone actually *use* the program, or just commenting on my post?

  9. #9
    New User
    Reputation
    1
    Join Date
    May 2009
    Posts
    3
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Quote Originally Posted by abuckau907 View Post
    @Zaibas: Because it's harder to use arrows --> because it's a timeing thing (ie. only hold key down for xx seconds each time) where w/ the mouse it's mov xx pixels -- I guess keys *could* be as good, mouse just seems 75% easier: 2nd version will send directly to wow and not require it to be open.
    Well maybe if in future you'll find this useful, here's a movement key based face code from LBbot(which was actualy publicly posted at forum, so i think i do nothing bad publishing part of it). I found it very useful, with some rewrites i adapted it to my code, and it works preaty well.
    Here it is:
    Code:
    public void facePOS(GLocation position)
            {
                GLocation localPlayerPosition = objectList.LocalPlayer.Location;
                //Find the facing we need to get
                float wowFacing = negativeAngle((float)Math.Atan2((double)(position.Y - localPlayerPosition.Y), (double)(position.X - localPlayerPosition.X)));
    
                float face;
                //Lets calculate the new facing against out current facing
                if (negativeAngle(wowFacing - objectList.LocalPlayer.Facing) < Math.PI)
                {
                    //The position we want to face is reached fastest by turning to the left
                    face = negativeAngle((wowFacing - objectList.LocalPlayer.Facing));
                    faceWithTimer(face, Post.ArrowKeys.Left);
                }
                else
                {
                    //Lets turn to the right
                    face = negativeAngle((objectList.LocalPlayer.Facing - wowFacing));
                    //Console.WriteLine("Right is the shortest way, lets face");
                    faceWithTimer(face, Post.ArrowKeys.Right);
                }
            }
    
            private void faceWithTimer(double face, Post.ArrowKeys key)
            {
                GSpellTimer timer = new GSpellTimer(face * 1000 * Math.PI);
                Post.ArrowKeyDown(Memory.WindowHandle, key);
                timer.Reset();
                while (!timer.isReady)
                {
                    Thread.Sleep(1);
                }
                Post.ArrowKeyUp(Memory.WindowHandle, key);
            }
    
            private float negativeAngle(float angle)
            {
                //if the turning angle is negative
                if (angle < 0)
                    //add the maximum possible angle (PI x 2) to normalize the negative angle
                    angle += (float)(Math.PI * 2);
                return angle;
            }
    Look at its Math, and you can simply rewrite it in VB

    P.S. facing must be done while standing still, otherwise it will be inaccurate

  10. #10
    Master Sergeant
    Reputation
    15
    Join Date
    Oct 2008
    Location
    Sweden
    Posts
    71
    CoreCoins
    3

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Nice work

  11. #11
    Knight abuckau907's Avatar
    Reputation
    34
    Join Date
    May 2009
    Posts
    221
    CoreCoins
    4

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Quote Originally Posted by Zaibas View Post
    P.S. facing must be done while standing still, otherwise it will be inaccurate
    Depending: My bot uses path files (no fancy nav meshes yet) , so I do something like
    Code:
    Sub TurnToPoint(GPoint somePoint)
    if somePoint.DistanceFromLocalPlayer > 20 then
         if somePoint.TurnDistance > .75 then gps.StopRunningForward
    else
    gps.StopRunningForward()
    end if
    ...turn...
    .75= about 45 degrees, should be able to make a 'round turn': assuming the user made their path point not close to an object (and for when u need sharp turning, just make the points less than 20m apart and it'll auto-stop..path point files suck I know, but they can work very well and are uber easy)

    Q. how long does it take your arrow Turn() code to turn 180 degrees and 1) does it turn past the point / to what accuracy?

  12. #12
    New User
    Reputation
    1
    Join Date
    May 2009
    Posts
    3
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    To turn 180 degrees is about ~1sec (person who wrote that code did some tests, and wrote that it turns 360 degrees in 2,0159 sec)

    As for accuracy:
    while (!timer.isReady)
    {
    Thread.Sleep(1);
    }

    Thread.Sleep(1); means waiting (in milisec) bigger the number - less accuracy, but less lag. Personaly i use 100ms pauses(which makes not very accurate), but i re-face every 3sec while bot is moving (looks more relistic actualy when bot makes moves while runing instead of running straight foward )

  13. #13
    Knight abuckau907's Avatar
    Reputation
    34
    Join Date
    May 2009
    Posts
    221
    CoreCoins
    4

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Re-face every 3 seconds?? At 50m distance, I turn to around .05rads and ..i'm not checking the math on this, but that shouldn't significantly change until you're pretty close (<10m) and if it's every 3 seconds..how much are you not-facing after 3 seconds? In My RunToPoint() I check if .TurnDistance > .2 then Re-Face and when Ido re-face, it's so small most ppl wouldn't notice. ?? (<.2)

  14. #14
    Member
    Reputation
    1
    Join Date
    Apr 2008
    Posts
    12
    CoreCoins
    0

    Trade Feedbacks

    Positive
    0
    Negative
    0
    congrats man it looks simple enough

  15. #15
    Contributor Mr.Zunz's Avatar
    Reputation
    92
    Join Date
    Mar 2007
    Location
    Helios.exe
    Posts
    392
    CoreCoins
    26

    Trade Feedbacks

    Positive
    0
    Negative
    0
    Why dont use ctm mem writes, much easier


 

 
Page 1 of 2 1 2 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -4. The time now is 02:28 AM. Powered by vBulletin® Version 4.2.0
Copyright © 2013 vBulletin Solutions, Inc. All rights reserved.
Content Relevant URLs by vBSEO
vBulletin Optimisation by vB Optimise. Digital Point modules: Sphinx-based search

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193