evil dark
2007-03-01 17:19:10
<!– BEGIN TEMPLATE: formanswers –>
evil dark - SRL Member Application Form
evil dark
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
i was script for my self
Programming Knowledge
java-php and some of delphi
Other Communitys
used to make scripts
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
hi im evil dark and im a scripter in like 4 Languages in so kinda a programmer and im now try to make big scripts in runescape to help players if they board of runescape and i wish i will be help fully as much i can : best wishes for all the programmers
ur scripter:evil dark
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
evil dark - SRL Member Application Form
evil dark
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
i was script for my self
Programming Knowledge
java-php and some of delphi
Other Communitys
used to make scripts
How Long have You Played Runescape
4 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
hi im evil dark and im a scripter in like 4 Languages in so kinda a programmer and im now try to make big scripts in runescape to help players if they board of runescape and i wish i will be help fully as much i can : best wishes for all the programmers
ur scripter:evil dark
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program SRLSmelter;
////west falador smeltir by evil dark and i cut some of other players to help full my script////
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Smithing.scar}
//********************************************\\
Const
Name = ''; // Put your name here for SRL
Pass = ''; // Put your pass here for SRL
Nick = ''; // Put your nickname here for SRL
BarType = 'iron'; //Choose from bronze, iron, silver, steel, gold, mithril, adamantite, or rune
Debug = False; //only tells you the road color...
//***************Colors***********************\\ Change only if they don't work!
BankCol = 5101552;
WaterCol = 14566928;
FurnaceCol = 1998847;
RiverCol = 12161406;
//********************************************\\
//Don't edit below this Point! Unless you know what you're doing.
Var Ore1,Ore2,Bar:string;
Var FirstOre,SecondOre,FirstOreBmp, SecondOreBmp,BarBmp:integer;
Var BarsSmelted,Trips:Integer;
Var FB1,FB2,FB3: Integer; // BankerDTMs (Yellow dots at three angles: -10,0,+10 degrees)
// For use with DTM3Flag that plants a flag when any of 3 DTM's is found
Const StartPlayer = 0; // Only for use with 1 player.
Procedure DeclarePlayers;
begin
HowManyPlayers:=1; // Only for use with 1 player.
NumberOfPlayers(HowManyPlayers);
Players[0].Name :=Name;
Players[0].Pass :=Pass;
Players[0].Nick :=Nick;
Players[0].Loc :='Falador';
Players[0].String1 := BarType // Choose from bronze, iron, silver, steel, gold, mithril, adamantite, rune
Players[0].Active := True;
end;
Procedure FillMem; // 3 yellow dot bankers @ different angle ; Taken from Wizzup and WT-Fakawi's GuildRaper
begin
FB1 := DTMFromString('78DA636C66626008634001972E5E66F80FA41' +
'981F83F1030B601D5C4A0AAF9F38789810BAA0604189B8850D345' +
'580D00CA7B110D');
FB2 := DTMFromString('78DA63EC61626008614001478F1E65F80FA41' +
'981F83F1030F602D544A1AAF9F38789810BAA0604182712A1662A' +
'504D247E3500C2961107');
FB3 := DTMFromString('78DA636C646260086140038C0CFFC12403C37' +
'F206004A9894255F1E70F130317540D58472B504D3401359D4035' +
'31F8D50000978B0E8E');
end;
procedure MoveMouseRandom;
var x,y:integer;
begin
x:=Random(766);
y:=Random(504);
MMouse(x,y,15,15);
end;
procedure EndScript;
begin
if BankScreen then
begin
DepositAll;
wait(250);
repeat
CloseBank;
until (not(BankScreen))
end;
Wait(1000);
Logout;
TerminateScript;
end;
function DTM3FlagEX(DTM1, DTM2, DTM3: Integer;MouseXAdjust,MouseYAdjust:Integer;Click: Boolean): Boolean;//by Wt-Fakawi, adjusted just a lil bit. :)
var
x, y: Integer;
begin
repeat
if not LoggedIn then break;
if findMMDTM(x, y, DTM1) then
begin
Result := True;
if (Click) then
begin
Mouse(x+MouseXAdjust, y+MouseYAdjust, 0, 0, True);
Flag;
break;
end
else
break;
end
else
Result := False;
if findMMDTM(x, y, DTM2) then
begin
Result := True;
if (Click) then
begin
Mouse(x+MouseXAdjust, y+MouseYAdjust, 0, 0, True);
Flag;
break;
end
else
break;
end
else
Result := False;
if findMMDTM(x, y, DTM3) then
begin
Result := True;
if (Click) then
begin
Mouse(x+MouseXAdjust, y+MouseYAdjust, 0, 0, True);
Flag;
break;
end
else
break;
end
else
Result := False;
Wait(100);
until (not FlagPresent);
end;
function OpenBankQuietTimed(WhichBank: String; HowLong:Integer): Boolean; //by WT-Fakawi, added a time part so that it didn't lag completely
var
VarrockEastCounter, VarrockWestCounter, DraynorCounter,
FaladorEastCounter, FaladorWestCounter, TheCounter,
Dx, Dy, tol, Mark2, Mark3: integer;
acc, accthres: extended;
begin
VarrockEastCounter := BitmapFromString(30, 1, 'z78DA6DC' +
'E5D0A80300C03E02BCDD92EE9E3DCF0FE4732EC077D90908F5228' +
'9460E689AEDC0C35D13E068DCEAA6E5DDB34E7E2D6524C1D96B7E' +
'5B0D0DCCCFF1CF70945095C92CBAE56E6F1C972C4DEE046457B00' +
'D4FB2728');
VarrockWestCounter := BitmapFromString(30, 1, 'z78DA333530B' +
'130B1304521413484044218DB05C6868A1A98184144CC0C4D5C8C' +
'8C9149134B6333034B9C24C24C98692011430C930DA1A48BB1235' +
'0171209001C2C2544');
FaladorEastCounter := BitmapFromString(1, 43, '252323554227644D' +
'2D6E55337B5F3A7B5F3A6E5A336E5A33968979948778928677928' +
'677756D6383786A8D7F6F9586719C8B7687683F8C6D42896E4D80' +
'68498068497D65487D65487A63467A6346776145776145755F437' +
'55F436E5533715735775C38775C387762388F6F43816A3B7E683A' +
'816A3B9276547E683A846C3D746036');
FaladorWestCounter := BitmapFromString(1, 29, '98887381' +
'633B87683F7D6548836A4A7D65487D65487A63467A63467A63467' +
'76145776145755F43755F436B52316B52316E5533715735775C38' +
'A1835C9F815B8C6D428C6D428C6D428C6D427B643A7B643A74603' +
'68B866F');
DraynorCounter := BitmapFromString(34, 1, 'z78DA658E4B0' + // works too for al karid
'E80300844AF34FCB45DAA70FF2B89B40B12339997F0C980BA5C98' +
'06837A7AE828CE74551F77FF51CBCD1FC5D901369614282816E59' +
'683EF94207AF2BA55C9948672BFB2FB7D5A1F6E8A10D0C9274552' +
'39FD022AE92A73');
case WhichBank of
'feb': TheCounter := FaladorEastCounter;
'fwb': TheCounter := FaladorWestCounter;
'vwb': TheCounter := VarrockWestCounter;
'veb': TheCounter := VarrockEastCounter;
'akb': TheCounter := DraynorCounter;
'db': TheCounter := DraynorCounter;
'eb': TheCounter := DraynorCounter;
end;
SendArrowSilentWait(0, 750 + Random(500));
MarkTime(Mark3);
Tol := 1;
accthres := 0.6;
repeat
FindDeformedBitmapToleranceIn(TheCounter, Dx, Dy, MSX1 + 50, MSY1 + 50, MSX2 - 50, MSY2 - 50, tol, 4, True, acc);
if (acc >= accthres) then
begin
MMouse(Dx, Dy, 0, 0);
if IsUpTextMulti('e Bank', 'Booth', 'ooth') then
begin
GetMousePos(Dx, Dy);
Mouse(Dx, Dy, 0, 0, False);
if ChooseOption(Dx, Dy, 'uickly') then
begin
MarkTime(Mark2);
repeat
Wait(10);
if TimeFromMark(Mark2) > 10000 then
begin
writeln('couldnt find the bank. Exiting');
FreeBitMap(VarrockEastCounter);
FreeBitMap(VarrockWestCounter);
FreeBitMap(FaladorEastCounter);
FreeBitMap(FaladorWestCounter);
FreeBitMap(DraynorCounter);
Exit;
end;
until BankScreen;
end;
Result := True;
FreeBitMap(VarrockEastCounter);
FreeBitMap(VarrockWestCounter);
FreeBitMap(FaladorEastCounter);
FreeBitMap(FaladorWestCounter);
FreeBitMap(DraynorCounter);
Exit;
end;
end;
wait(100);
FindNormalRandoms;
tol := tol + 4; if tol >= 20 then
begin
tol := 1;
accthres := accthres - 0.1;
if accthres < 0.2 then
begin
writeln('couldnt find the bank. Exiting');
FreeBitMap(VarrockEastCounter);
FreeBitMap(VarrockWestCounter);
FreeBitMap(FaladorEastCounter);
FreeBitMap(FaladorWestCounter);
FreeBitMap(DraynorCounter);
Exit;
end;
end;
until TimeFromMark(Mark3) > HowLong;
FreeBitMap(VarrockEastCounter);
FreeBitMap(VarrockWestCounter);
FreeBitMap(FaladorEastCounter);
FreeBitMap(FaladorWestCounter);
FreeBitMap(DraynorCounter);
end;
function ClickMiniColor(col:Integer;MouseXAdj,MouseYAdj:Integer):Boolean;
var x1,y1,c:integer;
var x2,y2:integer;
begin
c:=0;
while (c <= 40) do
begin
if FindMiniColor(x1,y1,col,c,False) then
begin;
if FindSymbol(x2,y2,'bar') then
begin
if (Distance(x1,y1,x2,y2)<10) then Exit;
end;
x1:=x1+MouseXAdj;
y1:=y1+MouseYAdj;
result:=true;
MouseFindNoFlag(x1,y1,MouseXAdj,MouseYAdj);
Exit;
end;
c:=c+5;
end;
end;
function FindMiniTol(color,inc, maxtol:integer):Boolean;
var x,y,c:Integer;
begin
c:=0;
while(c<=maxtol) do
begin
x:=645;
y:=85;
if FindMiniColor(x,y,color,c,True) then
begin
result:=true;
Exit;
end;
c:=c+inc;
end;
end;
function indFallyRoadColor:integer;
var red,green,blue:integer;
var TestColor,a,b,GenericFallyRoadColor:integer;
begin
GenericFallyRoadColor:=6518652;
Flag;
a:=595;
b:=30;
repeat
b:=b+1;
repeat;
a:=a+1;
if FindColorTolerance(x,y,GenericFallyRoadColor,a,b,700,120,60) then
begin
a:=x;
b:=y;
TestColor:=GetColor(x,y);
red:=(TestColor mod 256);
green:=((TestColor/256) mod 256);
blue:=((TestColor/256) / 256);
if Red-Green>=2 then if Red-Green<=15 then
if Red-Blue>=20 then if Red-Blue<=30 then
if Green-Blue>=10 then if Green-Blue<=26 then
begin
if GetColor(a+5,b+5)=TestColor then
if GetColor(a+3,b+3)=TestColor then
if GetColor(a,b+5)=TestColor then
if GetColor(a+5,b)=TestColor then
if GetColor(a,b+3)=TestColor then
if GetColor(a+3,b)=TestColor then
if GetColor(a+5,b+3)=TestColor then
if GetColor(a+3,b+5)=TestColor then
begin
result:=TestColor;
Writeln('Falador RoadColor = '+IntToStr(TestColor));
exit;
end;
end;
end else a:=700;
until a>=700;
a:=595;
until b>=120;
Writeln('Could not find Falador Road Color!');
result:=0;
end;
procedure SetRoadColor;
begin
if LoggedIn then
if ((RoadColor=0) or (not(FindColor(x,y,RoadColor,MMX1,MMY1,MMX2,MMY2)))) then RoadColor:=FindFallyRoadColor;
end;
function CheckLogin:Boolean;
begin
if not(LoggedIn) then
begin
LoginPlayer;
wait(800 + random(250));
SetRoadColor;
result:=true;
end;
end;
function HaveFirstOre:Boolean;
begin
if FirstOre>0 then result:=FindItemBmpTol(FirstOreBMP,15);
end;
function HaveSecondOre:Boolean;
begin
if SecondOre>0 then result:=(CountItemBmpTol(SecondOreBMP,15)>=(SecondOre/FirstOre));
end;
function CustomOpenFurnace:Boolean;
var x,y,c:integer;
begin
c:=0;
while (c < 30) do
begin
x:=259;
y:=169;
if FindMainColor(x,y,3625384,c,true) then
begin;
x:=x+random(50);
y:=y+random(30);
MMouse(x,y,0,0);
if IsUpText('urna') then
begin
Mouse(x,y,1,1,true);
result:=true;
Flag;
Exit;
end;
end;
c:=c+5;
end;
end;
procedure SetupBars(Var metal:string);
Begin
case Lowercase(metal) of
'bronze' : Begin Ore1:='tin' Ore2:='copper' FirstOre:=14 SecondOre:=14 FirstOreBmp:=TinOre SecondOreBmp:=CopperOre BarBmp:=BronzeBar end;
'iron' : Begin Ore1:='iron' Ore2:='' FirstOre:=28 SecondOre:=0 FirstOreBmp:=IronOre SecondOreBmp:=0 BarBmp:=IronBar end;
'silver' : Begin Ore1:='silver' Ore2:='' FirstOre:=28 SecondOre:=0 FirstOreBmp:=SilverOre SecondOreBmp:=0 BarBmp:=SilverBar end;
'steel' : Begin Ore1:='iron' Ore2:='coal' FirstOre:=9 SecondOre:=18 FirstOreBmp:=IronOre SecondOreBmp:=CoalOre BarBmp:=SteelBar end;
'gold' : Begin Ore1:='gold' Ore2:='' FirstOre:=28 SecondOre:=0 FirstOreBmp:=GoldOre SecondOreBmp:=0 BarBmp:=GoldBar end;
'mithril' : Begin Ore1:='mithril' Ore2:='coal' FirstOre:=5 SecondOre:=20 FirstOreBmp:=MithOre SecondOreBmp:=CoalOre BarBmp:=MithrilBar end;
'admantite' : Begin Ore1:='adamantite' Ore2:='coal' FirstOre:=4 SecondOre:=24 FirstOreBmp:=AdamantOre SecondOreBmp:=CoalOre BarBmp:=AdamantBar end;
'rune' : Begin Ore1:='rune' Ore2:='coal' FirstOre:=3 SecondOre:=24 FirstOreBmp:=RuniteOre SecondOreBmp:=CoalOre BarBmp:=RuniteBar end;
end;
end;
procedure CheckOres;
begin
if not HaveFirstOre then TerminateScript;
if not HaveSecondOre then TerminateScript;
end;
function Smelt(var metal:string; Amount:Integer):boolean;
var bmp: integer;
var rx, ry:Integer;
begin
case Lowercase(metal) of
'bronze' : begin bmp:= BronzeBar end;
'iron' : begin bmp:=IronBar end;
'silver' : begin bmp:=SilverBar end;
'steel' : begin bmp:=SteelBar end;
'gold' : begin bmp:=GoldBar end;
'mithril' : begin bmp:=MithrilBar end;
'admantite' : begin bmp:=AdamantBar end;
'rune' : begin bmp:=RuniteBar end;
end;
if FindBitMapTol(x,y,bmp,20,375,490,435) then
begin
mouse(x,y,0,0,false);
if (Amount < 10) then
begin
if (Amount < 5) then
ChooseOption(rx, ry, 'Smelt 5');
if (Amount < 10) then
ChooseOption(rx, ry, 'Smelt 10');
end
else
begin
ChooseOption(rx, ry, 'Smelt X');
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount) + chr(13));
end;
result:= true;
end
else
begin
CustomOpenFurnace;
result:=false;
end;
end;
procedure WalkToBank;
begin
if ((Trips mod 5) > 0) then SetRun(true);
if not RadialRoadWalk(RoadColor,320,350,50,4,4) then
begin
SetRoadColor;
RadialRoadWalk(RoadColor,320,350,60,4,4);
end;
FFlag(10+random(6));
repeat
if ClickMiniColor(WaterCol,4,4) then break;
FindTalk;
RadialRoadWalk(RoadColor,270,300,50,4,4);
FFlag(10+random(16));
until (ClickMiniColor(WaterCol,4,4));
Flag;
repeat
if DTM3FlagEX(FB1,FB2,FB3,2+Random(6),-2,True) then break;
RadialRoadWalk(RoadColor,260,170,25,4,4);
FFlag(5+random(10));
until(DTM3FlagEX(FB1,FB2,FB3,2+Random(6),-2,True))
Flag;
end;
procedure WithdrawFromCoords(rx,ry:integer; Amount:integer);
begin
if (BankScreen) then
begin
if (Amount = 1) then
begin
Mouse(rx, ry, 2, 2, True);
end
else
begin
if (Amount = 1) or (Amount = 5) or (Amount = 10) or (Amount = 0) then
begin
if (Amount = 5) then
repeat
Mouse(rx, ry, 2, 2, False);
wait(250+random(100));
until (ChooseOption(x,y,'Withdraw 5'));
if (Amount = 10) then
repeat
Mouse(rx, ry, 2, 2, False);
wait(250+random(100));
until (ChooseOption(x,y,'Withdraw 10'));
if (Amount = 0) then
repeat
Mouse(rx, ry, 2, 2, False);
wait(250+random(100));
until (ChooseOption(x,y,'Withdraw All'));
end
else
begin
repeat
Mouse(rx, ry, 2, 2, False);
wait(250+random(100));
until (ChooseOption(x,y,'Withdraw X'));
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount) + chr(13));
end;
end;
end;
end;
Function CheckEastBank:Boolean;
var x,y:integer;
begin
if FindColorTolerance(x,y,RiverCol,MMX1,MMY1,MMX2,MMY2,60) then
begin
if x<MMCX then result:=true;
end;
end;
Procedure EastToWest;
begin
SetRoadColor;
repeat
RadialRoadWalk(RoadColor,280,330,55,2,2)
FFlag(7+random(7));
until(ClickMiniColor(FurnaceCol,0,0))
Flag;
WalkToBank;
end;
Procedure BankStuff;
var timer:Integer;
var x,y:Integer;
begin
FindTalk;
if FindMiniTol(FurnaceCol,5,40) then
begin
SetRoadColor;
wait(50);
WalktoBank;
Wait(300+random(100));
end
if CheckEastBank then EastToWest;
if (CountItemBmpTol(FirstOreBMP,15)=FirstOre) and (CountItemBmpTol(SecondOreBMP,15)=SecondOre) then Exit;
MarkTime(Mark);
if not BankScreen then
begin
timer:=6000;
repeat
if (not(Loggedin)) then Exit;
if not OpenBankQuietTimed('fwb',timer) then
begin
Timer:=Timer+2000;
if not(DTM3FlagEX(FB1,FB2,FB3,6,-3,True)) then ClickMiniColor(BankCol,3,3);
End;
until(BankScreen or (TimeFromMark(Mark)>60000));
end
if(BankScreen)then
begin
Wait(Random(2000)+200);
DepositAll;
Wait(random(500)+300);
FixBank;
Wait(random(200) + 300);
repeat
if not(HaveFirstOre) then
begin
if FindBitmapToleranceIn(FirstOreBMP,x,y,MSX1,MSY1,MSX2,MSY2,15) then
begin
WithdrawFromCoords(x,y,FirstOre);
wait(random(100) + 700);
end
else EndScript;
if (CountItemBmpTol(FirstOreBMP,15)>FirstOre) then
begin
DepositAll;
Wait(300+random(50));
end;
end;
until (HaveFirstOre);
if SecondOre>0 then
begin
repeat
if not(HaveSecondOre) then
if FindBitmapToleranceIn(SecondOreBMP,x,y,MSX1,MSY1,MSX2,MSY2,15) then
begin
WithdrawFromCoords(x,y,SecondOre);
wait(random(100) + 700);
end
else EndScript;
until(HaveSecondOre)
end;
end;
if (random(6)=1) then CloseBank;
SetRoadColor;
end;
procedure WalkToFurnace;
begin
if ClickMiniColor(FurnaceCol,0,0) then Exit;
ClickMiniColor(WaterCol,3,3);
wait(300+random(100));
Flag;
repeat
RadialRoadWalk(RoadColor,110,70,50,4,4)
FFlag(12+random(11));
until(ClickMiniColor(FurnaceCol,0,0));
Flag;
end;
procedure SmeltOres;
var sTime:Integer;
begin
repeat
if(not(CustomOpenFurnace)) then Mouse(655,100,2,2,true);
Flag;
wait(500+random(200));
until(Smelt(Bar,FirstOre));
MarkTime(sTime);
repeat
if (TimeFromMark(sTime) > (3000*FirstOre)) then
begin
if not HaveFirstOre then Exit
else if not HaveSecondOre then Exit;
CustomOpenFurnace;
repeat
wait(500+random(200));
until((not(HaveFirstOre)) or (not(HaveSecondOre)) or (Smelt(Bar,FirstOre)));
MarkTime(sTime);
end;
if ClickToContinue or FindTalk then begin
repeat
CustomOpenFurnace;
wait(300+random(200));
until((not(HaveFirstOre)) or (not(HaveSecondOre)) or (Smelt(Bar,FirstOre)));
MarkTime(sTime);
end;
wait(500+random(100));
if (Random(10)<4) then MoveMouseRandom;
until((Not HaveFirstOre) or (Not HaveSecondOre))
BarsSmelted:=BarsSmelted + CountItemBmpTol(BarBmp,20);
end;
procedure Setup;
begin
ActivateClient;
Trips:=0
BarsSmelted:=0
SetupSRL;
SetUpSRLSmithing;
DeclarePlayers;
CurrentPlayer:=StartPlayer;
Bar:=Lowercase(Players[CurrentPlayer].String1);
SetupBars(Bar); //Bar to Use ;
BenMouse:=True;
MouseSpeed:=20;
LampSkill:='smithing';
FillMem;
end;
begin
Setup;
HighestAngle;
repeat
CheckLogin;
SetRoadColor;
SetRun(false);
wait(100+random(100));
BankStuff;
wait(500+random(200));
CheckOres;
WalkToFurnace;
wait(300+random(200));
SmeltOres;
FindTalk;
wait(300+random(200));
WalkToBank;
Trips:=Trips + 1;
writeln('Worked for ' + ScriptTime2(2) + '.');
writeln('Made ' + inttostr(Trips) + ' Trips and ' +inttostr(BarsSmelted) + ' Bars.');
wait(300+random(200));
until(false)——————————————————
<!– END TEMPLATE: formanswers –>