Skimming through the code..just wondering why this is reflection if your script is mainly color, it seems as the only thing you used reflection was for the Anvil[which could be done with FindObjCustom, FindObjTPA, Findcolor, etc.], and the walking which is understandable..I guess. Also, in you're DeclareMetal/bar/smith functions, you don't need all those if..then statement.....
Example:
Simba Code:
procedure DeclareMetalColors;
begin
if TypeOfMetal = ('Bronze') then MetalColor := 1649465;
if TypeOfMetal = ('Iron') then MetalColor := 2302756;
if TypeOfMetal = ('Steel') then MetalColor := 7566457;
if TypeOfMetal = ('Mithril') then MetalColor := 6373696;
if TypeOfMetal = ('Adamant') then MetalColor := 2040863;
if TypeOfMetal = ('Rune') then MetalColor := 6774607;
end;
could be
Simba Code:
Procedure DeclareMetalColors;
begin
case TypeOfMetal of
'Bronze': MetalColor := 1649465; //and so forth for the rest of the metals,etc.
//could be shortened even more if you use a Function with an integer result
Also..
Simba Code:
function HammerInventory: boolean;// *** Checks if Hammer is in your inventory ***
begin
Result := false;
if FindDtm(HammerDtm, x, y, MIX1, MIY1, MIX2, MIY2) then Result := True;
end;
could be easily shortened to:
Simba Code:
function HammerInventory: boolean;// *** Checks if Hammer is in your inventory ***
begin
Result := FindDtm(HammerDtm, x, y, MIX1, MIY1, MIX2, MIY2);
end;
Also, you should know something like this isn't required:
Simba Code:
function CheckAnvil: boolean; // *** Checks too see if smith screen is open ***
begin
if FindColorTolerance(x, y, 459604, 162, 33, 197, 58, 5) then
Result := True;
if not FindColorTolerance(x, y, 459604, 162, 33, 197, 58, 5) then
Result := False;
end;
And can be easily turned into:
Simba Code:
function CheckAnvil: boolean; // *** Checks too see if smith screen is open ***
begin
Result := FindColorTolerance(x, y, 459604, 162, 33, 197, 58, 5);
end;
I also see that in a lot of the functions in your script you use:
Simba Code:
if HammerInventory = false then
That's okay, but it doesn't show much knowledge of the various statements within Simba, but if you didn't know it can be easily
Simba Code:
if not HammerInventory then //same thing as if HammerInventory = false
or
Simba Code:
if HammerInventory then //means if HammerInventory = true
Any ways, there's a bit more I could highlight[such as standards[although it is not necessary]], however I'd just like to say congratz on this nice and simple script, it is good see more people actively scripting!
E- Don't forget to put anti ban, it isn't very hard to do. :