Works flawlessly, will post update when I get my xp gained.
Works flawlessly, will post update when I get my xp gained.
IT doesn't click on the oak larders, or detect when to remove them, some help ?
News:
Apologies for not updating or providing any support in the past few weeks.
I've been mega busy with other things and just haven't had the time.
I'm currently working on finishing the new rewrite of my mining script (finally), then I'll probably move on to this and the Oak Door script (if I have the funding for a lot of planks to test with...). I'll be doing a complete rewrite designed for speed and efficiency. Until then, be patient or attempt to fix whatever is wrong yourself.
Keep an eye on the threads in the coming week or two.
My Scripts:
MethDwarfMiner - A Resource Dung Coal Miner
MethLarder - Oak Larder Maker #~# Oak Door Maker - MethDoorer
MethSudokuLITE - Small Casket Sudoku Solver (MEMBERS+ ONLY)
its working pretty good i just tweaked some of the color tolerance on finding the butler and larder and it works pretty good aswell as messed with my camera angle here is a small proggy of what it can still do
![]()
why having to enter name/pass in the script if you gotta log-in yourself and set the position? if it logs out by crash or so then it logs back in I guess and then it is out of position anyway, so why did you put it in?
My Scripts:
MethDwarfMiner - A Resource Dung Coal Miner
MethLarder - Oak Larder Maker #~# Oak Door Maker - MethDoorer
MethSudokuLITE - Small Casket Sudoku Solver (MEMBERS+ ONLY)
any idea how much it would cost to go from lvl 43-70?
Great bot man, needed 70 con for the void stares back quest. Keep up the good work.
well its 10m for me to go from 50-75
It's not enough that i should succeed - others should fail.
Why doesnt it take planks? It goes to the screen "how many planks", and doesnt put any number in
I will probably be running this for the weekendWill post back.
if there any way to increase the speed of the mouse? cause i think that it is a bit slow.
in addition, i think your bot wasted a lot of time on some unessential staff, like checking the exp, Ah, i really don't know how to say, your script just make me think it is not human being, a human won't check skill every time and will not search butler every time.
One thing is definitely good is that it seems can run for an hour or more, but the sad thing is it do have a slow exp/hr.
in addtion you need way more failsafes since this script stops at 7:00mins? doing nothing just sitting there.
Also when I run it again ,it loads new SMART instead of using old
sacred clay hammers?
great script man been testing it out and it works great if i run for awhile ill give ya a long proggie to show off2 things that i noticed though are
- first small thing is atleast with me if camera angle is highest possible and facing completly north it hovers the door inbetween building and if its directly west it hovers the sink i found it works pretty much flawless with it set highest and fast north north west aprox 330-340 degrees clockwise
-second if the butler interupts you by bringing you more planks while the bot thinks it clicked to on the build menu to make another it hovers the brown of the portal... not sure why but it doesnt mess it up at all just thought id let ya know incase u wanted to make a failsafe there or somethin
thanks very much for the script
-gphi
Alright, so I get everything set up, everything is in the right place. It goes to click on the butler to retrieve oak planks, and when it asks how many it just re clicks on the butler instead of typing in the number on oak planks to retrieve... Help?
Thanks meth for the great script. Got me a cheap gilded altar in BXPW. That's 35 levels from 40-75![]()
It just stands there repeatedly clicking the larder
Wrong thread and can't find a delete post button.
yaroow@hush.com
I'm gonna run it over nightMight post proggy in the morning if it worked. Hope it does
![]()
assuming this is not currently working ?
With no prior knowledge of this language, I fixed this in 5 minutes.
Code:program MethLarder; {$define SMART} {$i srl/srl.simba} var lardersMade, expGained, tempX, tempY, PLANK_DTM, numPlanks, progCount, outOfPlanks: Integer; //vars for butler butlerCol, butlerTol, fetchNum, minInv, maxInv : Integer; butlerHue, butlerSat : Extended; const SRLStats_Username = ''; //Leave blank if you don't have a stats account SRLStats_Password = ''; LARDERS = 1000; // The number of larders you want to make BUTLER = 'Butler'; // "Demon" or "Butler" - whichever one you're using procedure DeclarePlayers; begin HowManyPlayers := 1; NumberOfPlayers(HowManyPlayers); CurrentPlayer := 0; Players[0].Name := ''; //Username Players[0].Pass := ''; //Password Players[0].Active := True; end; function findLarder: Boolean; var x, y, h, i, CTS: Integer; pArray: TPointArray; aPArray: T2DPointArray; begin if(not(LoggedIn)) then Exit; CTS := GetColorToleranceSpeed; ColorToleranceSpeed(2); SetColorSpeed2Modifiers(0.07, 0.19); FindColorsSpiralTolerance(MSCX, MSCY, pArray, 4349815, MSCX - 100, MSY1, MSCX + 100, MSCY, 4); aPArray := TPAtoATPAEx(pArray, 60, 60); if (length(aPArray) = 0) then begin Result := False; end; h := High(aPArray); for i := 0 to h do begin MiddleTPAEx(aPArray[i], x, y); MMouse(x, y, 5, 5); wait(randomRange(200, 300)); if (IsUpText('earch')) then begin GetMousePos(tempX, tempY); Result := True; exit; end; end; end; function findEmpty:Boolean; var x, y, h, i, CTS: Integer; pArray: TPointArray; aPArray: T2DPointArray; begin if(not(LoggedIn)) then Exit; CTS := GetColorToleranceSpeed; ColorToleranceSpeed(2); SetColorSpeed2Modifiers(0.28, 0.19); FindColorsSpiralTolerance(MSCX, MSCY, pArray, 11186105, MSCX - 100, MSY1, MSCX + 100, MSCY, 10); aPArray := TPAtoATPAEx(pArray, 45, 45); if (length(aPArray) = 0) then begin Result := False; end; h := High(aPArray); for i := 0 to h do begin MiddleTPAEx(aPArray[i], x, y); Mouse(x, y, 5, 5, mouse_right); wait(randomRange(200, 300)); if (OptionsExist(['arder spac'], false)) then begin GetMousePos(tempX, tempY); Result := True; exit; end; end; end; function findButler:Boolean; var x, y, h, i, CTS: Integer; pArray: TPointArray; aPArray: T2DPointArray; begin if(not(LoggedIn)) then Exit; CTS := GetColorToleranceSpeed; ColorToleranceSpeed(2); SetColorSpeed2Modifiers(butlerHue, butlerSat); FindColorsSpiralTolerance(MSCX, MSCY, pArray, butlerCol, MSX1, MSY1, MSX2, MSY2, butlerTol); aPArray := TPAtoATPAEx(pArray, 30, 30); if (length(aPArray) = 0) then begin Result := False; end; h := High(aPArray); for i := 0 to h do begin MiddleTPAEx(aPArray[i], x, y); MMouse(x, y, 5, 5); wait(randomRange(200, 300)); if (IsUpText('utle')) then begin GetMousePos(tempX, tempY); Result := True; break; end; end; end; function findBuild:Boolean; var x, y, h, i, CTS: Integer; pArray: TPointArray; aPArray: T2DPointArray; begin if(not(LoggedIn)) then Exit; CTS := GetColorToleranceSpeed; ColorToleranceSpeed(2); SetColorSpeed2Modifiers(0.11, 0.41); FindColorsSpiralTolerance(MSCX, MSCY, pArray, 6588315, MSX1, MSY1, MSCX, MSCY, 4); aPArray := TPAtoATPAEx(pArray, 35, 35); if (length(aPArray) = 0) then begin Result := False; end; h := High(aPArray); for i := 0 to h do begin MiddleTPAEx(aPArray[i], x, y); MMouse(x, y, 5, 5); wait(randomRange(200, 300)); if (IsUpText('Oak lar')) then begin Result := True; GetMousePos(tempX, tempY); exit; end; end; end; procedure makeLarder; var clickTime: Integer; begin numPlanks := CountItems('dtm', PLANK_DTM, []); while (((not findButler) and (numPlanks <= maxInv) and (numPlanks >= minInv)) or (numPlanks > maxInv) or (findLarder) or (outOfPlanks = 1)) do begin If ((outOfPlanks = 1) and (numPlanks < minInv)) then begin writeln('No more planks, logging out'); outOfPlanks := 2; break; end; If (findEmpty) then begin ChooseOption('uild'); MarkTime(clickTime); wait(randomRange(800, 1200)); while ((not findBuild) and (TimeFromMark(clickTime) < 6000)) do begin wait(randomRange(200,400)); end; Mouse(tempX, tempY, 5, 5, mouse_left); wait(randomRange(500, 1000)); Inc(lardersMade); expGained := expGained + 480; stats_IncVariable('Oak Larders (Constructed)', 1); stats_IncVariable('Construction EXP (Gained)', 480); end else begin if (findLarder) then begin Mouse(tempX, tempY, 5, 5, mouse_right); wait(randomRange(200,300)); ChooseOption('emove'); repeat wait(randomRange(100,200)); until (FindNPCChatText('es', Nothing)); TypeSend('1'); wait(randomRange(500, 800)); end; end; numPlanks := CountItems('dtm', PLANK_DTM, []); wait(randomRange(600,1000)); end; wait(randomRange(1000,1500)); end; procedure fetchButler; begin if (outOfPlanks = 0) then begin repeat numPlanks := CountItems('dtm', PLANK_DTM, []); if (numPlanks > maxInv) then break; if (findLarder) then break; if (findButler) then begin Mouse(tempX, tempY, 5, 5, mouse_right); wait(randomRange(100, 200)); ChooseOption('etch'); wait(randomRange(1000, 2000)); ClickContinue(True, True); FindNPCChatText('coins.',Clickleft); numPlanks := CountItems('dtm', PLANK_DTM, []); if (numPlanks > maxInv) then break; if (FindNPCChatText('nother', Clickleft)) then begin wait(randomRange(800,1000)); end else begin FindNPCChatText('Oak pla', ClickLeft); wait(randomRange(1000, 2000)); TypeSend(toStr(fetchNum)); end; wait(randomRange(500, 1000)); if (FindText(tempX, tempY, 'regret', UpChars, MCX1, MCY1, MCX2, MCY2)) then begin outOfPlanks := 1; Writeln('Ran out of planks, using up inventory'); break; end; end; until (not findButler); end; end; procedure setUpButler; begin case BUTLER of 'Butler': begin butlerCol := 1122129; butlerTol := 7; butlerHue := 0.42; butlerSat := 1.85; fetchNum := 20; minInv := 8; maxInv := 16; end; 'Demon': begin butlerCol := 1450310; butlerTol := 9; butlerHue := 0.34; butlerSat := 2.71; fetchNum := 26; minInv := 8; maxInv := 10; end; end; end; procedure ProgReport; var expHr: Integer; begin Stats_Commit; Writeln(' '); Writeln(' Methrends Oak Larder Maker '); Writeln(' Running For: ' + TimeRunning); Writeln(' Larders Made: ' + IntToStr(lardersMade)); Writeln(' Construction Exp Gained: ' + IntToStr(expGained)); Writeln(' '); end; begin ClearDebug; SetupSRL; SmartSetRefresh(100); If (SRLStats_Username = '') then SetupSRLStats(586, 'Anonymous', 'anon1337') else SetupSRLStats(586, SRLStats_Username, SRLStats_Password); DeclarePlayers; if (not LoggedIn) then Writeln('Please log in and setup the position as needed'); repeat wait(randomRange(500,1500)); until (LoggedIn); MakeCompass(0); SetAngle(SRL_ANGLE_HIGH); progCount := 0; outOfPlanks := 0; setUpButler; PLANK_DTM := DTMFromString('mrAAAAHic42BgYHBiYmDwBGI/IPZggvDtgdgGiF2B+BFQzXUgvgXEj4H4LRB/AuKPQPwciLNCrIEkE4OBggKYRseSQBIfZiSAYQAAg00Lrg=='); repeat makeLarder; fetchButler; Inc(progCount); If ((progCount mod 5) = 0) then ProgReport; until ((lardersMade >= LARDERS) or (outOfPlanks = 2)); logout; ProgReport; end.
For some reason it doesn't click on the larder (In build menu) and it just hovers over the "X" I've looked at the script, being a novice id assume it has something to do with this part of the code...
I'm not sure what to change to get it to work.Code:begin ChooseOption('uild'); MarkTime(clickTime); wait(randomRange(800, 1200)); while ((not findBuild) and (TimeFromMark(clickTime) < 6000)) do begin wait(randomRange(200,400)); end; if (findBuild) then begin Mouse(tempX, tempY, 5, 5, mouse_left); end else begin CloseWindow; continue; end;
Any help what's wrong, and if a solution can be given, any chance of explaining why it worked? I would like to understand it a bit better.
It doesn't click, it hovers the larder build image but doesn't click it![]()
Made by P1ng
There are currently 1 users browsing this thread. (0 members and 1 guests)