Jump to content

RuneScape Auto-Miner


jvanegmond
 Share

Recommended Posts

if... you drop the ore while the rock has no ore in it... it saves a lot of time! :P can I edit your script a little? maybe add randoms detection? and dropping of ores? or do you want to do that... or want me not to do that?

Edited by Kickassjoe

What goes around comes around... Payback's a bitch.

Link to comment
Share on other sites

  • Replies 129
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

if... you drop the ore while the rock has no ore in it... it saves a lot of time! :nuke: can I edit your script a little? maybe add randoms detection? and dropping of ores? or do you want to do that... or want me not to do that?

However the question is not adressed to me, I would like that feature :P

Greetz,

Link to comment
Share on other sites

hmmm... when I drop it if the place it is being dropped in is in the scan screen... it just picks it back up again... i dont think there is any way around that, that i know of.....

What goes around comes around... Payback's a bitch.

Link to comment
Share on other sites

If you like, you can pick up my project as it where yours, just don't forget who did the initial work. There are lots of options still to be made: I don't have a lot of time, so please do.

Edit

hmmm... when I drop it if the place it is being dropped in is in the scan screen... it just picks it back up again... i dont think there is any way around that, that i know of.....

Ah yes, I remember that problem. Maybe you can get the exact color of the dropped ore and set it not to pick up that color? Or set the miner to use different mining spots: It will switch place when it drops the full inventory.. That would be nice.

Edited by Manadar
Link to comment
Share on other sites

Ah yes, I remember that problem. Maybe you can get the exact color of the dropped ore and set it not to pick up that color? Or set the miner to use different mining spots: It will switch place when it drops the full inventory.. That would be nice.

I dont even know how to quote right lmao

I think getting the color of the ore dropped would be easier/possibler then moving to different mining spots... but I wouldnt know how to do that... because, say I'm mining iron, and it gets the color... it already has the color... so i cant make it not click on the dropped ores...

WAIT! I have an idea! :P the check function could look for the color of dropped ores before looking for the color of the rock... and then set the coords of the dropped ores to vars... and if the color found when looking for the rock to click was in a certain pixel range of the coords of the dropped one... then search again?

That would be like my only idea on how to do that... if i'm like way off could u point me in the right direction? Or if I have the right idea could you please say so? Thanks!

P.S. :) thats what ima look like after i figure this out! :nuke: and after I try my pathetic attempts at random detection (thts gonna take a WHILE, but i will post here if I ever figure out how, because manadar was so nice and posted his script here and let me edit it a little (or a lot) Thanks Manadar! :D )

What goes around comes around... Payback's a bitch.

Link to comment
Share on other sites

Seems like you're getting excited about this project. So am I still. They all sound like good attempts at improving the AutoMiner. I have also tried to make the checking-region modify to the average position of the clicks. It failed, but it is very much possible. Here is a example of how it would work:

- User sets up AutoMiner

- AutoMiner starts mining, stores the X and Y position of the clicks on the ores in a array.

- AutoMiner continues mining but after Z amount of clicks the average X and Y coordinates are calculated, and also the average distance between clicks. It will then modify the region where it is clicking.

This will be a good way to go around the process of setting the red box to exactly the right size.

Link to comment
Share on other sites

I am excited about anything about runescape-related macroing... I have a habit of starting sumthing and then working way to hard to get it how i like it :P

wouldnt checking for the color of a dropped ore and then setting it to a var... and then not clicking 25 - 50 pixels from that color?

I havent known autoit for all that long... only like 2 or 3 months now... but I like doing things that make me think (i hate school tho... dumbass teachers), and then beating all my friends in games tht we play :nuke:

What goes around comes around... Payback's a bitch.

Link to comment
Share on other sites

  • 1 month later...

Good work. Havn't tried it yet due to I quit gameing. School Grades went up! I worked made one of the best autospammer bots for rs. It had a gui that allowed you to choose x number of messages. If you wanted a certain color or random also special effects and time delay. Had hotkeys to start/stop messages/reset options/turn off.

Also another automator (Did I spell that right?) was a autosmither. It would take certain ores out and smith them in falador. But I quit doing it because Had no gui or configs, just had to manually edit script for x/y/colors. I just told this long story to support people makeing more programs like these and that It can be done. Unfortuntly I lost both of them when hd went bad.

Link to comment
Share on other sites

Sorry to hear that, Cloud.

I would have loved to see your autosmither in action. My little brother and sister were hooked on runescape, and my parents forbid them from playing runescape. So, because I'm such a good sport, I stopped playing too. School grades still are going everywhere but up.

Nice to hear your story, and thanks.

Link to comment
Share on other sites

  • 4 months later...

Im new to Autoit scripting and have created a little auto miner program. which uses mouse clicks x/y cordnates. which i know is bad for other people because of differnet resolutions.

$mine = "0"
$loop = "0"
Do  
    Do
        MouseClick("left" , 373, 364)
        Sleep(9195)
        $mine = $mine + 1
    Until $mine = 28
    Sleep(900)

    MouseClick("Right", 714, 370)
    Sleep(40)
    MouseClick("left", 708, 413)
    Sleep(40)
    MouseClick("right", 753, 370)
    Sleep(40)
    MouseClick("left", 732, 411)
    Sleep(40)
    MouseClick("right", 800, 373)
    Sleep(40)
    MouseClick("left", 769, 407)
    Sleep(40)
    MouseClick("right", 842, 372)
    Sleep(40)
    MouseClick("left", 800, 416)
    Sleep(40)
    MouseClick("right", 713, 409)
    Sleep(40)
    MouseClick("left", 709, 446)
    Sleep(40)
    MouseClick("right", 756, 407)
    Sleep(40)
    MouseClick("left", 737, 445)
    Sleep(40)
    MouseClick("right", 799, 406)
    Sleep(40)
    MouseClick("left", 772, 449)
    Sleep(40)
    MouseClick("right", 839, 409)
    Sleep(40)
    MouseClick("left", 772, 446)
    Sleep(40)
    MouseClick("right", 717, 444)
    Sleep(40)
    MouseClick("left", 711, 482)
    Sleep(40)
    MouseClick("right", 757, 440)
    Sleep(40)
    MouseClick("left", 736, 481)
    Sleep(40)
    MouseClick("right", 799, 442)
    Sleep(40)
    MouseClick("left", 785, 490)
    Sleep(40)
    MouseClick("right", 841, 445)
    Sleep(40)
    MouseClick("left", 802, 483)
    Sleep(40)
    MouseClick("right", 716, 480)
    Sleep(40)
    MouseClick("left", 706, 516)
    Sleep(40)
    MouseClick("right", 759, 476)
    Sleep(40)
    MouseClick("left", 747, 519)
    Sleep(40)
    MouseClick("right", 798, 480)
    Sleep(40)
    MouseClick("left", 773, 518)
    Sleep(40)
    MouseClick("right", 841, 481)
    Sleep(40)
    MouseClick("left", 801, 516)
    Sleep(40)
    MouseClick("right", 714, 516)
    Sleep(40)
    MouseClick("left", 712, 553)
    Sleep(40)
    MouseClick("right", 757, 514)
    Sleep(40)
    MouseClick("left", 738, 552)
    Sleep(40)
    MouseClick("right", 799, 518)
    Sleep(40)
    MouseClick("left", 789, 554)
    Sleep(40)
    MouseClick("right", 842, 515)
    Sleep(40)
    MouseClick("left", 804, 555)
    Sleep(40)
    MouseClick("right", 716, 553)
    Sleep(40)
    MouseClick("left", 710, 567)
    Sleep(40)
    MouseClick("right", 755, 550)
    Sleep(40)
    MouseClick("left", 743, 572)
    Sleep(40)
    MouseClick("right", 798, 553)
    Sleep(40)
    MouseClick("left", 782, 567)
    Sleep(40)
    MouseClick("right", 841, 552)
    Sleep(40)
    MouseClick("left", 809, 569)
    Sleep(40)
    MouseClick("right", 716, 586)
    Sleep(40)
    MouseClick("left", 713, 575)
    Sleep(40)
    MouseClick("right", 800, 588)
    Sleep(40)
    MouseClick("left", 790, 572)
    Sleep(40)
    MouseClick("right", 840, 584)
    Sleep(40)
    MouseClick("left", 800, 569)
    Sleep(500)
    $mine = 0
    $loop = $loop + 1
Until $loop = 100

your can set the loop to 100. after the Sleep(9000) that is the scrip i use to empty the entire inventory of ore.

to get this working just go to an ore and stand NORTH of the ore and rune the script. it will mine 28 ore then empty inventory the only problem is that i based on the average time it takes to mine 1 iron ore. and it kinda messes up if it takes longer than about 3.4 secs it clicks again and throws off the number of ore in inventory

Link to comment
Share on other sites

Manador, i love ur auto mining script and im creating and inventory emptier based on ur script. and this is what i've gotten so far. im not sure if it is searching or not im trying ot get it to search within the red rectangle and right click on found ore types and drop them. any help would be appreciated. once i get this working i'll try and find a way to put it into your script.

#include <GUIConstants.au3>

Global $CurrentColor = "0xAF0000"
Global $ScanWidth = 180, $ScanHeight = 250
Global $StartX = 688
Global $StartY = 315
Global $x = $StartX, $y = $StartY
Global $ColorClay = IniRead("MineData.ini", "Colors", "Clay", "?")
Global $ColorCopper = IniRead("MineData.ini", "Colors", "Copper", 9003840)
Global $ColorTin = IniRead("MineData.ini", "Colors", "Tin", 7432553)
Global $ColorIron = IniRead("MineData.ini", "Colors", "Iron", 4072732)
Global $ColorSilver = IniRead("MineData.ini", "Colors", "Silver", 16777215)
Global $ColorCoal = IniRead("MineData.ini", "Colors", "Coal", 3815975)
Global $ColorGold = IniRead("MineData.ini", "Colors", "Gold", 10193720)
Global $ColorMithril = IniRead("MineData.ini", "Colors", "Mithril", 5329529)
Global $ColorAddy = IniRead("MineData.ini", "Colors", "Addy", "?")
Global $ColorRunite = IniRead("MineData.ini", "Colors", "Runite", "?")
$GUI = GUICreate("",110,40,$x,$y,$WS_POPUP)
$ColorLabel = GUICtrlCreateLabel("Select Ore in inventory",0,1,110,20,$SS_CENTER)
SetColor()
WinSetOnTop($GUI,"",1)
GUISetState()
$Top = GUICreate("Top Line", $ScanWidth, 2,$x,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Left = GUICreate("Left Line", 2, $ScanHeight,$x,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Right = GUICreate("Right Line", 2, $ScanHeight,$x + $ScanWidth - 2,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Bottom = GUICreate("Bottom Line", $ScanWidth, 2,$x,$y + 40 + $ScanHeight,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
    
$menu   = GUICtrlCreateContextMenu ($ColorLabel)
$MenuClay = GUICtrlCreateMenuitem ("Clay", $menu)
$MenuTin = GUICtrlCreateMenuitem ("Tin", $menu)
$MenuCopper = GUICtrlCreateMenuitem ("Copper", $menu)
$MenuIron = GUICtrlCreateMenuitem ("Iron", $menu)
$MenuSilver = GUICtrlCreateMenuitem ("Silver", $menu)
$MenuCoal = GUICtrlCreateMenuitem ("Coal", $menu)
$MenuGold = GUICtrlCreateMenuitem ("Gold", $menu)
$MenuMithril = GUICtrlCreateMenuitem ("Mithril", $menu)
$MenuAddy = GUICtrlCreateMenuitem ("Adamantite", $menu)
$MenuRunite = GUICtrlCreateMenuitem ("Runite", $menu)
    
While 1
    $msg = GUIGetMsg()
        Select
            Case $msg = $MenuClay
            $CurrentColor = $ColorClay
            SetColor()
        Case $msg = $MenuTin
            $CurrentColor = $ColorTin
            SetColor()
        Case $msg = $MenuCopper
            $CurrentColor = $ColorCopper
            SetColor()
        Case $msg = $MenuIron
            $CurrentColor = $ColorIron
            SetColor()
        Case $msg = $MenuSilver
            $CurrentColor = $ColorSilver
            SetColor()
        Case $msg = $MenuCoal
            $CurrentColor = $ColorCoal
            SetColor()
        Case $msg = $MenuGold
            $CurrentColor = $ColorGold
            SetColor()
        Case $msg = $MenuMithril
            $CurrentColor = $ColorMithril
            SetColor()
        Case $msg = $MenuAddy
            $CurrentColor = $ColorAddy
            SetColor()
        Case $msg = $MenuRunite
            $CurrentColor = $ColorRunite
            SetColor()
        EndSelect
        
WEnd

Func SetColor()
    GUICtrlSetBkColor($ColorLabel,$CurrentColor)
    GUISetBkColor($CurrentColor,$GUI)
EndFunc

Func Check()
    Sleep(Random(0,500,1))
    $Pixel = PixelSearch($x+2,$y+42,$x+2+$ScanWidth,$y+42+$ScanHeight,$CurrentColor)
    If Not @error Then
        MouseClick("Right", $Pixel[0],$Pixel[1],1,2)
    EndIf
EndFunc
Link to comment
Share on other sites

Nvm i found the problem i never created a start menu item. it works great just now gata think of a way for it to click drop.

EDIT: how do i get it to rescan after it clicks drop to get it to continue looping till noe ore can be found. then restart the mining process.

Link to comment
Share on other sites

ok i've got it working this is an script to empty out an entire inventory of a certain ore. this is created bassed on manador's mining script. so most of the credit goes out to him.

im gonna post the code because i dont know how to upload the script.

#include <GUIConstants.au3>

Global $CurrentColor = "0xAF0000"
Global $ScanWidth = 180, $ScanHeight = 250
Global $StartX = 688
Global $StartY = 315
Global $x = $StartX, $y = $StartY
Global $ColorClay = IniRead("MineData.ini", "Colors", "Clay", "?")
Global $ColorCopper = IniRead("MineData.ini", "Colors", "Copper", 9003840)
Global $ColorTin = IniRead("MineData.ini", "Colors", "Tin", 7432553)
Global $ColorIron = IniRead("MineData.ini", "Colors", "Iron", 4072732)
Global $ColorSilver = IniRead("MineData.ini", "Colors", "Silver", 16777215)
Global $ColorCoal = IniRead("MineData.ini", "Colors", "Coal", 3815975)
Global $ColorGold = IniRead("MineData.ini", "Colors", "Gold", 10193720)
Global $ColorMithril = IniRead("MineData.ini", "Colors", "Mithril", 5329529)
Global $ColorAddy = IniRead("MineData.ini", "Colors", "Addy", "?")
Global $ColorRunite = IniRead("MineData.ini", "Colors", "Runite", "?")
$GUI = GUICreate("",110,40,$x,$y,$WS_POPUP)
$ColorLabel = GUICtrlCreateLabel("Select Ore in inventory",0,1,110,20,$SS_CENTER)
SetColor()
WinSetOnTop($GUI,"",1)
GUISetState()
$Top = GUICreate("Top Line", $ScanWidth, 2,$x,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Left = GUICreate("Left Line", 2, $ScanHeight,$x,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Right = GUICreate("Right Line", 2, $ScanHeight,$x + $ScanWidth - 2,$y + 40,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
$Bottom = GUICreate("Bottom Line", $ScanWidth, 2,$x,$y + 40 + $ScanHeight,$WS_POPUP,-1,$GUI)
GUISetBkColor(0xFF0000)
GUISetState()
    
$menu   = GUICtrlCreateContextMenu ($ColorLabel)
$Start = GUICtrlCreateMenuitem ("Start!", $menu,-1,1)
$Stop = GUICtrlCreateMenuitem ("Stop", $menu,-1,1)
$MenuClay = GUICtrlCreateMenuitem ("Clay", $menu)
$MenuTin = GUICtrlCreateMenuitem ("Tin", $menu)
$MenuCopper = GUICtrlCreateMenuitem ("Copper", $menu)
$MenuIron = GUICtrlCreateMenuitem ("Iron", $menu)
$MenuSilver = GUICtrlCreateMenuitem ("Silver", $menu)
$MenuCoal = GUICtrlCreateMenuitem ("Coal", $menu)
$MenuGold = GUICtrlCreateMenuitem ("Gold", $menu)
$MenuMithril = GUICtrlCreateMenuitem ("Mithril", $menu)
$MenuAddy = GUICtrlCreateMenuitem ("Adamantite", $menu)
$MenuRunite = GUICtrlCreateMenuitem ("Runite", $menu)
    
While 1
    $msg = GUIGetMsg()
        Select
                        
        Case $msg = $Start
            Check()
        Case $msg = $MenuClay
            $CurrentColor = $ColorClay
            SetColor()
        Case $msg = $MenuTin
            $CurrentColor = $ColorTin
            SetColor()
        Case $msg = $MenuCopper
            $CurrentColor = $ColorCopper
            SetColor()
        Case $msg = $MenuIron
            $CurrentColor = $ColorIron
            SetColor()
        Case $msg = $MenuSilver
            $CurrentColor = $ColorSilver
            SetColor()
        Case $msg = $MenuCoal
            $CurrentColor = $ColorCoal
            SetColor()
        Case $msg = $MenuGold
            $CurrentColor = $ColorGold
            SetColor()
        Case $msg = $MenuMithril
            $CurrentColor = $ColorMithril
            SetColor()
        Case $msg = $MenuAddy
            $CurrentColor = $ColorAddy
            SetColor()
        Case $msg = $MenuRunite
            $CurrentColor = $ColorRunite
            SetColor()
        EndSelect
        
WEnd

Func SetColor()
    GUICtrlSetBkColor($ColorLabel,$CurrentColor)
    GUISetBkColor($CurrentColor,$GUI)
EndFunc

Func Check()
    Do
        Sleep(Random(0,500,1))
        $Xdif = 0
        $Ydif = -35
        $Pixel = PixelSearch($x+2,$y+42,$x+2+$ScanWidth,$y+42+$ScanHeight,$CurrentColor)
        If Not @error Then
        MouseClick("Right", $Pixel[0],$Pixel[1],1,2)
        sleep(20)
        Mouseclick("left", $Pixel[0] - $Xdif, $Pixel[1] - $Ydif)
        EndIf
    Until @error
EndFunc
Link to comment
Share on other sites

  • 2 weeks later...

The problem with dropping the ore, as I can remember because that was a long long time ago, is that the autominer sees the ore on the ground and recognizes it as an ore rock, and picks up the dropped ores.. That would just cost you a lot of time trying to pick up the ores that you just dropped...

Link to comment
Share on other sites

hi,

u guys do good work here, AutoMiner is great!

The problem with dropping the ore, as I can remember because that was a long long time ago, is that the autominer sees the ore on the ground and recognizes it as an ore rock, and picks up the dropped ores.. That would just cost you a lot of time trying to pick up the ores that you just dropped...

what about this: if a ore is found, check if its distance to the character is big enough, so it won't take ores, that have been dropped on the place, the character is standing... and if the character moves, it would take not more then 1 ore...

/signed

greetz, RìggníXBiTrAtE.tk

Link to comment
Share on other sites

what about this: if a ore is found, check if its distance to the character is big enough, so it won't take ores, that have been dropped on the place, the character is standing... and if the character moves, it would take not more then 1 ore...

/signed

Not a bad idea. Thinking about this another idea occurred to me. Just check the top left corner whether your target is an 'Ore Rock' or is not e.g. 'xxx ore'.
Link to comment
Share on other sites

  • 4 weeks later...
  • 2 weeks later...

hey i just made a autoit account today....i play runescape and would like an AutoMiner. I downloaded this miner.exe or watever (the link u had at the bottom of ur topic) and it took like 1 second. I opened my Winrar and i saw the miner.exe, so i opened that and it had a "read me.txt" file and the "RS Auto-Miner.au3" file. I clicked on the read me and read what to do. I logged on runescape and clicked the "RS Auto-Miner.au3" file, then a weird thing popped up that i think is the script: this is wat the beggining looked like::

#NoTrayIcon

#include <GUIConstants.au3>

#include <Misc.au3>

HotKeySet("!^x", "Abort")

Global $CurrentColor = "0xAF0000"

Global $StartX = IniRead("MineData.ini", "Pos", "X",0)

Global $StartY = IniRead("MineData.ini", "Pos", "Y",0)

Global $x = $StartX, $y = $StartY

Global $ScanWidth = 110, $ScanHeight = 120

Global $T1[5],$T2[5]

Global $SleepCheck = 500, $SleepMine = 4000

Global $Idle = 0

Global $MoveMode = True

Global $AppTitle = "RS Auto-Miner"

Global $ColorClay = IniRead("MineData.ini", "Colors", "Clay", "?")

Global $ColorCopper = IniRead("MineData.ini", "Colors", "Copper", 9003840)

Global $ColorTin = IniRead("MineData.ini", "Colors", "Tin", 7432553)

Global $ColorIron = IniRead("MineData.ini", "Colors", "Iron", 4072732)

Global $ColorSilver = IniRead("MineData.ini", "Colors", "Silver", 16777215)

Global $ColorCoal = IniRead("MineData.ini", "Colors", "Coal", 3815975)

Global $ColorGold = IniRead("MineData.ini", "Colors", "Gold", 10193720)

Global $ColorMithril = IniRead("MineData.ini", "Colors", "Mithril", 5329529)

Global $ColorAddy = IniRead("MineData.ini", "Colors", "Addy", "?")

Global $ColorRunite = IniRead("MineData.ini", "Colors", "Runite", "?")

;beta below

Global $Sens = IniRead("MineData.ini", "Beta", "Sensitifity", 8)

Global $AverageX, $AverageY, $i

I thought a window was supposed to pop up to begin the automining??

Ya so can u reply and tell me wats wrong plzzz

THANK YOU

Link to comment
Share on other sites

This is because this is the uncompiled script, meaning that it merely has text that will tell what the program should do once it's compiled. You need to run a file with the extension EXE (compiled). Either download autoit and use the compiler, or get someone to compile it for you (I'm too lazy).

Kurt

... it's hard speaking 'idiot' ...

Awaiting Diablo III..

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...