js1155
2012-12-03 19:34:23
makes gold braclets in edgville there are some but they dont work post eoc
2012-12-03 19:34:23
2012-12-03 19:37:33
From: js1155
makes gold braclets in edgville there are some but they dont work post eoc
2012-12-03 19:38:40
2012-12-03 19:47:13
program EdgeSmelth;
{$DEFINE SMART}
{$i srl/srl.Simba}
{$i sps/sps.simba}
var x, y, goldBar, goldOre, tsexp, tcexp, sexp, cexp, furnaceEntranceDTM, bracelet, SmithExp, CraftExp: integer;
Const
GoldSmithGountlets = true; //true have, false dont have (must be wear them if have)
version = '1.0';
//-------------
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
With Players[0] Do
Begin
Name := '';
Pass := '';
Pin := '';
WorldInfo := [64]
BoxRewards := ['Coins', 'oins'];
Active := True;
End;
End;
Procedure ProgressReport;
begin
clearDebug;
WriteLn('------Laimonas171-Edge bracelet--' + Version + '----');
WriteLn('Worked time :' + TimeRunning);
end;
procedure preparebanking;
begin
if(FindSymbol(x, y, 'bank')) then
begin
mouse(x, y, 5, 5, true);
fflag(2);
end else
begin
if(FindSymbol(x, y, 'transportation')) then
begin
mouse(x+10, y, 5, 5, true);
fflag(2);
end;
end;
end;
function furnaceFloorColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(14.82, 1.33);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 4144954, MMX1, MMY1, MMX2, MMY2, 3);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 53) and (R <= 65) and (G >= 53) and (G <= 69) and (B >= 50) and (B <= 69) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 3.64) and (X <= 5.24) and (Y >= 3.74) and (Y <= 5.66) and (Z >= 3.75) and (Z <= 6.30) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Function countgold: Integer;
var silver: integer;
begin
Silver := BitmapFromString(5, 2, 'meJwTiMgTLZ0kUtDLxMAARIKxJaJl' +
'U8Rr54pVzQSKAwB0iwh/');
result := CountItems('Bitmap', Silver, [15]);
FreeBitmap(Silver);
end;
procedure ifloginscreen;
begin
if(LoggedIn=false)then
TerminateScript;
end;
function furnacec: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.09, 0.98);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 2834374, MSX1, MSY1, MSX2, MSY2, 11);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 16.26) and (X <= 35.83) and (Y >= 9.25) and (Y <= 24.70) and (Z >= 1.78) and (Z <= 8.69) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function FindObjectF(var fx, fy: Integer): Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2: Integer;
P: TPoint;
R, G, B: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.27);
if not(FindColorsTolerance(arP, 1515937, MSX1, MSY1, MSX2, MSY2, 6)) then
begin
Writeln('Failed to find the color, no object found.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToRGB(arC[i], R, G, B);
if (R >= 136) and (R <= 185) and (G >= 27) and (G <= 40) and (B >= 19) and (B <= 28) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 10.84) and (X <= 20.71) and (Y >= 6.18) and (Y <= 11.74) and (Z >= 1.27) and (Z <= 2.23) then
begin
for j := 0 to arL2 do
begin
if (arUC[i] = arC[j]) then
begin
SetLength(arAP, Length(arAP) + 1);
arAP[High(arAP)] := arP[j];
end;
end;
end;
end;
end;
SortTPAFrom(arAP, Point(MSCX, MSCY));
ararP := SplitTPAEx(arAP, 10, 10);
arL := High(ararP);
for i := 0 to arL do
begin
if (Length(ararP[i]) < 10) then Continue;
P := MiddleTPA(ararP[i]);
MMouse(P.x, P.y, 5, 5);
Wait(100 + Random(100));
if (IsUpText('urnace')) then
begin;
Result := True;
Break;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
if (i = arL + 1) then
begin
Writeln('FindObject could not find object.');
Exit;
end;
GetMousePos(fx, fy);
end;
Procedure OpenEdgeBank;
begin
if not (BankScreen) then
begin
if (FindObjCustom(x, y, ['to B', 'anker'], [5320248, 3481124], 12)) then
begin
mouse(x, y, 3, 3, false);
WaitOption('ank B', 500);
FFlag(0);
wait(500+random(150));
if (PinScreen) then InPin('7595');
end else
begin
if (FindObjCustom(x, y, ['Counter', 'ank C'], [13165542, 9276039], 12)) then
begin
mouse(x, y, 5, 5, true);
FFlag(0);
wait(500+random(150));
if (PinScreen) then InPin('7595');
end;
end;
wait(500+random(150));
end;
end;
procedure Antiban; //idea taken from Coh3n's tutorial.
begin
if not (LoggedIn) then
Exit;
FindSpinTicket;
FindNormalRandoms;
begin
case Random(99) of
10: RandomMovement;
15: RandomMovement;
20: PickUpMouse;
25: BoredHuman;
30: RandomMovement;
35: PickUpMouse;
40: HoverSkill(skill_Smithing, False);
50: RandomMovement;
60: BoredHuman;
69: HoverSkill(SKILL_CRAFTING, False);
end;
end;
end;
Procedure GoToFurnace;
begin
MakeCompass('n');
SetAngle(0);
if Not (FindSymbol(x, y, 'furnace')) then
begin
FindNormalRandoms;
furnaceEntranceDTM := DTMFromString('mbQAAAHicY2VgYPgPxL+h+CsQszEyMHQC6TognsUAYXcAcXCoP4O9vTaDb5AqmG1lY87AAxTnQsOMWDAYAABDUQrq');
if(FindDTM(furnaceEntranceDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
mouse(x+10, y, 3, 3, true);
fflag(0);
freeDTM(furnaceEntranceDTM);
end else
begin
RadialWalkTolerance(furnaceFloorColor, 180, 270, 55, 5, 5, 12);
mouse(x, y, 3, 3, true);
fflag(3);
end;
end else
begin
mouse(x, y, 3, 3, true);
FFlag(0);
end;
WriteLn('go to furnace');
end;
Procedure GoToBank;
begin
if Not (FindSymbol(x, y, 'bank')) then
begin
FindNormalRandoms;
RadialWalkTolerance(furnaceFloorColor, 180, 270, 55, 5, 5, 12);
mouse(x, y, 3, 3, true);
fflag(3);
end else
begin
FindNormalRandoms;
mouse(x, y, 3, 3, true);
fflag(0);
end;
WriteLn('go to bank');
end;
Procedure WalkToFurnace;
Var
ToFurnace: TPointArray;
Begin
ToFurnace := [Point(99, 99), Point(107, 92), Point(122, 88), Point(131, 88), Point(147, 85)];
SPS_WalkPath(ToFurnace);
If Sps_WalkPath(ToFurnace) Then
Begin
ClearDebug;
Writeln('Going to furnace.');
End else
GoToFurnace;
End;
Procedure WalkToBank;
Var
ToBank: TPointArray;
Begin
ToBank := [Point(147, 84), Point(130, 86), Point(122, 87), Point(115, 92), Point(102, 101)];
SPS_WalkPath(ToBank);
If Sps_WalkPath(ToBank) Then
Begin
ClearDebug;
Writeln('Going to bank.');
End else
GoToBank;
End;
Procedure banking;
var goldOre: integer;
begin
FindNormalRandoms;
if(not fflag(0)) then
wait(3000+random(150));
OpenEdgeBank;
if(countgold < 27)then
begin
DepositAll;
wait(200+random(150));
goldOre := DTMFromString('mWAAAAHicY2FgYJjBxMDQB8SzgHgxEAcyMjAEAbEHEHsD8eZ+KYZEPzOGTb2SDJkh1gz8QD3ImBENgwAA4fkIew==');
// goldBar:= DTMFromString('mbQAAAHicY2VgYJjPxMCwBIgXA/FsIF4FxAqMDAzyQKwCxKpArAjEC+rFGC4tlwXjSHcehhur5Rj4gfrRMSMWDAYA8jMK5w==');
if(FindDTM(goldOre, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
mouse(x, y, 5, 5, false);
wait(200+random(150));
WaitOption('w-All', 500);
freeDTM(goldOre);
WriteLn('took some ore');
end else
begin
IF(BankScreen)THEN
BEGIN
CloseBank;
Logout;
WriteLn('You have no gold ores.');
TerminateScript;
END;
end;
end;
CloseBank;
end;
function ReturnInvAmount: Integer;
begin
result := CountItems('dtm', goldbar, []);
end;
function ReturnInvAmountb: Integer;
begin
result := CountItems('dtm', bracelet, []);
end;
Procedure Smelth;
var t, howmuchdone, exptoadd: integer;
begin
goldOre := DTMFromString('mWAAAAHicY2FgYJjBxMDQB8SzgHgxEAcyMjAEAbEHEHsD8eZ+KYZEPzOGTb2SDJkh1gz8QD3ImBENgwAA4fkIew==');
if(FindDTM(goldOre, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
mouse(x, y, 5, 5, true);
if(not fflag(0)) then
wait(300+random(150));
if(FindObjectF(x, y)) then
begin
mouse(x, y, 5, 5, true);
//wait(200+random(150));
// WaitOption('-> Fu', 500);
fflag(0);
wait(2050+random(150));
WriteLn('use ore on furnace');
if(FindColorTolerance(x, y, 9661192, 266+(random(150)), 311, 472, 325, 32)) then
begin
mouse(x ,y ,5 ,5 , true);
writeLN('started to smelt');
MarkTime(t);
goldBar := DTMFromString('mrAAAAHic42BgYHBkZGBwBmJfIPYEYjsgNgBiEyC2BWIfIHYCYncg9gPicCAOAmIvqPiN1XJAU5hwYhEgiQ8zEsAwAAAwQgbB');
if(not GameTab(tab_Inv))then
GameTab(tab_Inv);
howmuchdone := ReturnInvAmount + 1;
Repeat
ifloginscreen;
Antiban;
Wait(100 + Random(150));
cleardebug;
if(howmuchdone < ReturnInvAmount)then
begin
if(GoldSmithGountlets = true)then
begin
exptoadd := (56 + (1/5));
end else
begin
exptoadd := (45/2);
howmuchdone := ReturnInvAmount;
end;
SmithExp := SmithExp + exptoadd;
end;
ProgressReport;
//Writeln(ReturnInvAmount);
until (ReturnInvAmount=28) OR (TimeFromMark(t) > 120000);
FreeDTM(goldbar);
end;
end;
end;
end;
Procedure mainLoop;
var time, rnd: integer;
begin
SetAngle(0);
MarkTime(time);
repeat
ifloginscreen;
banking;
Wait(500+random(300));
until(BankScreen OR (TimeFromMark(time) > 120000) OR (countgold = 28))
WalkToFurnace;//GoToFurnace;
if(not fflag(0)) then
wait(700+random(350));
rnd := Random(50);
if(rnd = 20) then
ClickNorth(SRL_ANGLE_HIGH);
Smelth;
WalkToBank;// GoToBank;
end;
begin
Smart_FixSpeed := true;
SetupSRL;
DeclarePlayers;
{$IFDEF SMART}
{$IFDEF SIMBAMAJOR980}
Smart_Server := 10;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
{$ELSE}
SRL_SixHourFix := True;
Smart_FixSpeed := True;
{$ENDIF}
{$ENDIF}
if (not LoggedIn) then
LogInPlayer;
ClearDebug;
//GoToBank;
SPS_Setup(runescape_other,['edgemap']); //must be declared for each player
ClickNorth(SRL_ANGLE_HIGH);
repeat
mainLoop;
until(false);
end.2012-12-03 19:49:33
2012-12-03 19:56:39
From: js1155
so this wil work post eoc?