How do I make it check equipped items for pickaxe? It only seems to work when the pic is in inventory....
Also, how do I get it to fire urns?
How do I make it check equipped items for pickaxe? It only seems to work when the pic is in inventory....
Also, how do I get it to fire urns?
Last edited by helpmeman; 02-19-2012 at 12:56 AM.
There's no such thing as "fire" urns; you'll need to look up what urns are made using fire runes on the runescape website.
Also the inventory colors and layout has changed quite allot since I wrote the functions for checking it. You may consider bypassing that check all together. Look for this:
Simba Code:if not Check4Pickaxe then
begin
writeln('No pickaxe found, trying to get one from bank');
if not(Try2GetPick) then
begin
Logout;
Players[CurrentPlayer].Active := false;
Inc(CurrentPlayer);
end;
end;
That is the check for pickaxe statement. Erase it or comment it out to avoid the check.
---- Kanah ----
“If God did not exist then surely man would create him" - Voltiare
It should fire the urns automatically; although if it uses the northern pottery wheel sometimes it fails to find the oven. I'll need to look in to why it fails sometimes.
---- Kanah ----
“If God did not exist then surely man would create him" - Voltiare
Man I love this scriptI think its the best, most versitile crafting script out there to get your crafting up ^^
I used it for a bit, and loved it. The only problem is I keep getting the ys error, and after I mine the clay, I go to the well, and the bot gets lost standing next to the well and turns off x.x
EDIT: Ok so it just cant seem to detect the well, via SRL or ObjectDTM
Last edited by Cortal; 03-19-2012 at 06:23 PM.
I write my own custom location detection: well location checking is done in the function AtWell() see code below. I see how there might be some problems considering all the updates that have occurred since its inception. The colors may need to be updated. You can manually update the WellColors array if you feel adventurous enough to code yourself else you can expect an update within a week. Thanks for your feedback
Simba Code:function AtWell (UseBackup:Boolean): Boolean;
//This function determines if we're at the well
// backup uses findobj to find the well and move to it
var
WellColors: TIntegerArray;
WellTPA,LoopTPA,RockTPA: TPointArray;
WellATPA,RockATPA: T2DPointArray;
dist,i,Len, RockColor,WellDTM: Integer;
Comp1TP,Comp2TP: TPoint;
Found: Boolean;
begin
WellColors := [12966884,1316117,6715781,6062474,5799045];
RockColor := 4022382;
Len := length(WellColors);
Result := false;
//Find all the well colors
Found := false;
for i := 0 to (Len-1) do
begin
if (FindColorsTolerance(LoopTPA,WellColors[i],MSX1,MSY1,MSX2,MSY2,5)) then
begin
//WellTPA := CombineTPA(WellTPA,LoopTPA);
AppendTPA(WellTPA,LoopTPA);
Found := true;
end;
end;
if (Found) then
begin
//Get rid of duplicate points
ClearDoubleTPA(WellTPA);
//Group the points
WellATPA := SplitTPAEx(WellTPA,20,20);
SortATPASize(WellATPA,true);
//debug some things
writeln('I have '+tostr(length(WellATPA))+' groups');
//Largest one
//MMouse(MiddleTPA(WellATPA[0]).x,MiddleTPA(WellATPA[0]).y,0,0);
writeln('The largest one has a size of '+tostr(length(WellATPA[0])));
//At least 180 points is good i thinks
//Now lets look for the rock
if (FindColorsTolerance(RockTPA,RockColor,MSX1,MSY1,MSX2,MSY2,5)) then
begin
writeln('Found rock colors');
RockATPA := SplitTPAEx(RockTPA,40,40);
SortATPASize(RockATPA,true);
writeln('Num of rock groups: '+tostr(length(RockATPA)));
//writeln('The Number of Rock points are '+tostr(length(RockATPA[0])));
Len := length(RockATPA);
//Now check all the groups for some distance between them and size tolerance
//Assume largest well color collection is well
comp1TP := MiddleTPA(WellATPA[0]);
if (length(WellATPA[0])>130) then
begin
for i := 0 to (Len-1) do
begin
comp2TP := MiddleTPA(RockATPA[i]);
dist := distance(comp1TP.x,comp1TP.y,comp2TP.x,comp2TP.y);
writeln('The Number of Rock points are '+tostr(length(RockATPA[i])));
writeln('dist = '+tostr(dist));
if (dist>70)and(dist<180)and(length(RockATPA[i])>80) then
begin
writeln('Found Rock and well pair');
//MMouse(comp2TP.x,comp2TP.y,0,0);
Result := true;
break;
end;
end;
end;
end;
end;
if not(Result) and(UseBackup) then
begin
//WellDTM := DTMFromString('mWAAAAHicY2FgYHgGxFeB+AkQvwfiViDuAOLJQNwMxK72pgxtVekMdfmhDE3lKQziQDFkzIiGQQAAeLEK1Q==');
//WellDTM := DTMFromString('mQwAAAHicY2ZgYFBiZGDQBmJFIO4C8suA+DwQi4uLMdy/dpChINmeQQTIh2FGJAwEAPK6Bk8=');
WellDTM := DTMFromString('mWAAAAHicY2FgYLgDxPeBeB8QXwPiRCAOBuKdQLwCiG3N9RnuXzvIkJdox5AVZ8PwHygmgoQZ0TAIAACXCgvS');
if (FindDTMs(WellDTM,WellTPA,MSX1,MSY1,MSX2,MSY2)) then
begin
RAaSTPA(WellTPA,40);
Len := length(WellTPA);
for i:= 0 to (Len-1) do
begin
MMouse(WellTPA[i].x,WellTPA[i].y,MRAND,MRAND);
wait(100);
if (WaitUptext('/ 1 more',450)) then
begin
Mouse(WellTPA[i].x,WellTPA[i].y,MRAND,MRAND,false);
if (ChooseOption('xamine Well')) then
begin
Result := true;
Mouse(WellTPA[i].x,WellTPA[i].y,MRAND,MRAND,false);
ChooseOption('alk here');
wait(100);
FFlag(5);
break;
end;
end;
end;
end;
FreeDTM(WellDTM);
end;
if (Result) then
begin
writeln('Found well');
end else
writeln('Failed to find Well');
end;
---- Kanah ----
“If God did not exist then surely man would create him" - Voltiare
Thanks ^^ I understand the coding and stuff, and I prob can do a fix of my own, I just wasnt sure if it was something as simple as you said, or a change in the simba files ^^ Now that I know I can fix that, Ill prob update the locations to get to the well and the well colors. I noticed if I make it stand next to the well it finds it, but the scripts makes it click a distance away so its next to a building instead. That most likely is the only issue.
I may have to read into objdtm to learn how to edit that last point to end up next to the well xP
EDIT: Wow im glad this happenedHuh I might start scripting now ^^ I figured out the objectdtm thing, and its rather simple to create paths
So I have the walking part down already
and clicking with colors shouldnt be too hard ^^
EDIT2: Or not... xD I couldnt get the script to make my guy run from whatever rock he was to the odtm path I made x.x Like he was at the bottom clay rock, at the bottom of the mine isntead of in the middle, and the odtm couldnt be found from there x.x
EDIT3: Ok so its just the ObjectDTM stuff that needs to be updated. The way from the rocks to the well is broken, the way from the oven to the bank is broken, and I found that it has issues moving to certain rocks. While mining sometimes it randomly stops and gets the objectdtm errors.
Last edited by Cortal; 03-20-2012 at 07:21 PM.
This is incredible. one of the best scripts i've used on simba... mad props to you sir!!
EDIT: I've noticed that it sometimes gets stuck when goin to the well.
It seems to get stuck in the room directly north of the well.
Last edited by peeweewoen; 05-14-2012 at 03:28 AM.
can this script pie dish(unfired) into pie dish(fired)?
Good job very useful for crafting levels![]()
Breathe easy man
:My hand was made strong by the Almighty:
Took me a few minutes to get it working the way I wanted it to. It does bug out sometimes going to the well, but for the most part it works at getting me some quick levels while being at the low levels. Very short Proggy.
|====================================|
=========== THE Pot Maker =============
Time Running 0:19:13
Current action: Walk to mine
Level Goal: 29 / 50
Mining xp: 420
Crafting xp: 2772
=======================================
[Error] D:\ZX\zx\Simba\Includes\srl/srl/misc/smart.simba(46:19): Invalid number of parameters at line 45
Compiling failed.
what happened??? i didn't change anything :/
There are currently 1 users browsing this thread. (0 members and 1 guests)