SRL Archive - Archive

king vash - SRL Member Application Form


king vash

2008-02-09 04:18:56

<!– BEGIN TEMPLATE: formanswers –>
king vash - SRL Member Application Form
king vash

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
yes
Someone about 3 year ago, I forgot who

Programming Knowledge
Pascal, C, C++, some Html

Other Communitys
XKCD, GameFaqs, Digg

How Long have You Played Runescape
5 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

I'm a junior in highschool. Very interested in computers and programming, especially Scar, and Rubik Cubes. I'm involved in First Robotics, AMC, Science Club, Rubik Cube Club, and Chess Club. when not working on our robot, or faking homework, I play video games and program. My two favorite scripts our LAME, and Wizzup's Essance Miner. I mined 25k Essances, and am in the process of converting them to 150k airs (70% done), using my script (the one below this). I also think the answer to life the universe and everything is 6*9 (if your in base 13).

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted


{---------------------------------------------------------------
# ScriptName = Air Crafter Master
# Author = King Vash
# Description = Crafts air runes with an air tiara (wear it when you start)
# Version = .98 (I count down)
# Date = 25/1/08
# Comments = Start the script in Falador East bank.
---------------------------------------------------------------}
program AirCrafterMaster;
{.include SRL/SRL/Misc/Smart.scar}
{.include SRL/SRL.scar}

var
i, x, y, z, Load, LoadsToRun, BankEss, Crafted, WaitCount : Integer;
FRoadsColor, FWaterColor, RoadsColor, RockColor : Integer;
Run, ColorFail :Boolean;

//debug variables
MidFinder, ScanFinder : array[0..2] of Integer;
DDTMfailed : array[1..13] of Integer;
WalkerHelp, BankFast, BankGlass, MouseOver, ObjectFinder: Integer;

{-----USER SETTINGS --- SET THESE --- }
const randomnum = 4; //random # to add to # of runs
const UserWait = 1; //time to wait between switching players
const TotalWait = 1; //time to wait before restarting at end of player list
const userun = True; //do you want to run?
const debugwrite = True; //do you want debug in the debug box or Status?

procedure DeclarePlayers;
begin
SRLId := 'XXX'; //SRL stats ID
SRLPassword := 'XXX'; //SRL stats password

HowManyPlayers := 1; //Obvious
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Player to start with

Players[0].Name :='XXX'; //Name
Players[0].Pass :='XXX'; //Password
Players[0].Nick :='XXX'; //3 letters of your name
Players[0].Active := True;
Players[0].Integers[0] := 3; //How many loads per login
Players[0].Strings[0] := 'XXX'; //BankPin
end;
{-----END USER SETTINGS ---}

procedure AntiBan;
var z:integer;
begin
if not(loggedin) then exit;
z:=random(58);
status('antiban case: ' + IntToStr(z));
case z of
1,3,4:HoverSkill('RuneCrafting',False);
2,5,6,7,8,10: gametab(z);
9: HoverSkill('WoodCutting',False);
11,12,13,14:wait(500+random(1000));
15,16:PickUpMouse;
17,18:MMouse(random(400),random(400),50,50);
19,20:SleepAndMoveMouse(798+random(100));
21:IdleTime(200,100,20);
22,23:SayCurrentLevels('runecrafting');
24: TypeSend('Runecrafting level?');
25: TypeSend('RC lvls');
26: TypeSend('rc level');
27: MMouse(1000,750,100,100);
28: MMouse(-25,-10,10,10);
29: MouseBox(MSX1,MMY1,MMX2,MMY2,3);
end;
gametab(4);
end;

procedure AntiRandom(number:integer);
begin
case number of
1:FindNormalRandoms;
2:begin
if FindTalk then exit;
if FindInventoryRandoms then exit;
end;
3: begin
if NoGameTab then
begin
Players[CurrentPlayer].loc := 'Has No GameTab:' + Players[CurrentPlayer].loc;
Logout;
Exit;
end;
end;
end;
end;

procedure Proggies;
begin
writeln('');
writeln('============Air Crafter Master By King Vash============');
writeln(' P=R=O=G=R=E=S=S= =R=E=P=O=R=T= =T=I=M=E=');
writeln(' :' + TimeRunning + ':');
writeln('Used Midfinder to find: Alter ' + IntToStr(MidFinder[0]) + ' times, Crafter-thing ' + IntToStr(MidFinder[1]) + ' times, Portal ' + IntToStr(MidFinder[2]) + ' times');
writeln('Needed Help Walking: ' + IntToStr(walkerhelp) + ' times, used MouseOver: ' + IntToStr(MouseOver) + ' times, FindObject found the Portal: ' + IntToStr(objectfinder) );
writeln('Failed at DDTM''s: 1=' + IntToStr(DDTMfailed[1]) + ', 2=' + IntToStr(DDTMfailed[2]) + ', 3=' + IntToStr(DDTMfailed[3]) + ', 4=' + IntToStr(DDTMfailed[4]) + ', 5=' + IntToStr(DDTMfailed[5]) + ', 6=' + IntToStr(DDTMfailed[6]) +', 7=' + IntToStr(DDTMfailed[7]) + ', 8=' + IntToStr(DDTMfailed[8]) + ', 9=' + IntToStr(DDTMfailed[9]) + ', 10=' + IntToStr(DDTMfailed[10]) );
writeln('');
for i:=0 to (HowManyPlayers-1) do writeln(Players[i].Nick + ': loads complete: ' + IntToStr(Players[CurrentPlayer].integers[1]) + ', is at: ' + Players[0].Loc );
writeln('');
writeln('Their are ' + IntToStr(BankEss) + ' ess in your bank, with ' + IntToStr(28*(Players[CurrentPlayer].integers[1])) + ' ess used, CrafterMaster has finished ' + IntToStr(2800*(Players[CurrentPlayer].integers[1])/BankEss) + ' percent');
writeln('You have now banked: ' + IntToStr(Crafted) + ' air runes at 16gp each that''s ' + IntToStr(crafted*16) + ' GP');
writeln('And Waited ' + IntToStr(WaitCount) + ' times');
writeln('===================Air Crafter Master===================');
writeln('');
ReportVars[0]:=Banks;
ReportVars[1]:=Crafted;
ReportVars[2]:=BankEss;
ReportVars[10]:=ObjectFinder;
ReportVars[11]:=MouseOver;
ReportVars[12]:=BankFast;
ReportVars[13]:=BankGlass;
For i:=14 to 16 do ReportVars[i] := ScanFinder[i-14];
For i:=17 to 19 do ReportVars[i] := MidFinder[i-17];
SRLRandomsReport;
end;

function arealoading:boolean;
var loadingscreen:integer;
begin
loadingscreen := BitmapFromString(47, 4, 'beNr7/x8IGJAAGpds' +
'ADeHJAOJccx/GCAoiF8cLotLPUHHIItg9S9+BcgMPLK43EmMY5B9h' +
'N+FRMqC2AA/tJVr');
result:= not( FindBitmapin(loadingscreen, x, y, 6, 14, 53, 18))
end;

function RunColorIs:integer;//1 - red, 2 - orange, 3 - yellow, 4 - green
var
Colors : TIntegerArray;
i,x,y : Integer;
begin
Colors := [255,2070783,65535,65280];
For i := 0 to 3 do
if FindColor(x,y, Colors[i], 740,105,759,115) then Break;
Result := I + 1;
end;

function AllInactive : Boolean;
var
i : Integer;
begin
Result := True;
for i:= 0 to (HowManyPlayers - 1) do if Players[i].Active = True then Result := False;
end;

procedure SetRunState;
begin
if ((UseRun=True) and (Run=False) and (RunColorIs > 2)) then
begin
SetRun(true);
Run := True;
end else
Run := False;
end;

procedure DebugClear;
begin
for z:=1 to 6 do DDTMfailed[z]:=0;
for z:=0 to 2 do MidFinder[z]:=0;
for z:=0 to 2 do ScanFinder[z]:=0;
WalkerHelp:=0;
BankFast:=0;
BankGlass:=0;
MouseOver:=0;
Bankess:=1;
Banks:=0;
WaitCount:=0;
for i:=0 to (HowManyPlayers-1) do
begin
Players[i].Integers[1]:=0;
Players[CurrentPlayer].Loc := ''
end;
end;

function FindColorPro(color:string):Integer;
begin
ColorFail := False;
case color of
'FallyRoad': Result:=FindFallyRoadColor;
'Water': Result:=FindWaterColor;
'Road': Result:=FindRoadColor;
'Rock': Result:=FindRockColor;
end;
if result = 0 then
begin
ColorFail := True;
case color of
'FallyRoad': if FRoadsColor <> 0 then Result := FRoadsColor;
'Water': if FWaterColor <> 0 then Result := FWaterColor;
'Road': if RoadsColor <> 0 then Result := RoadsColor;
'Rock': if RockColor <> 0 then Result := RockColor;
end;
end;
if result = 0 then
begin
ColorFail := True;
Players[CurrentPlayer].Loc := ('F at ' + color + ':' + Players[CurrentPlayer].Loc);
case color of
'FallyRoad': Result:=5728113;
'Water': Result:=11634289;
'Road': Result:=5526619;
'Rock': Result:=6842479;
end;
end;
// DeleteDebugLine(GetDebugLineCount);
end;

function SetUpDDTM(casedtm:integer):integer;
var Tolerance: integer;
BankMain,Road1Main,Road2Main,RoadRockMain,RockMain,BankerMain: TDTMPointDef;
BankTDTM,Road1TDTM,Road2TDTM,RoadRockTDTM,RockTDTM,BankerTDTM: TDTM;
BankSubpoint,Road1Subpoint,Road2Subpoint,RoadRockSubpoint,RockSubpoint,BankerSubpoint: array[0..3] of TDTMPointDef;
begin
z:=0
Tolerance:=1;
case casedtm of
1: begin
FRoadsColor := FindColorPro('FallyRoad');
FWaterColor := FindColorPro('Water');
BankMain.x:=614;
BankMain.y:=148;
BankMain.areasize:=1;
BankMain.areashape:=0;
BankMain.color:=FRoadsColor;
BankMain.tolerance:=Tolerance;

BankSubpoint[0].x:=615;
BankSubpoint[0].y:=153;
BankSubpoint[0].areasize:=1;
BankSubpoint[0].areashape:=0;
BankSubpoint[0].color:=FRoadsColor;
BankSubpoint[0].tolerance:=Tolerance;

BankSubpoint[1].x:=623;
BankSubpoint[1].y:=134;
BankSubpoint[1].areasize:=1;
BankSubpoint[1].areashape:=0;
BankSubpoint[1].color:=FRoadsColor;
BankSubpoint[1].tolerance:=Tolerance;

BankSubpoint[2].x:=609;
BankSubpoint[2].y:=131;
BankSubpoint[2].areasize:=1;
BankSubpoint[2].areashape:=0;
BankSubpoint[2].color:=FRoadsColor;
BankSubpoint[2].tolerance:=Tolerance;

BankSubpoint[3].x:=598;
BankSubpoint[3].y:=148;
BankSubpoint[3].areasize:=1;
BankSubpoint[3].areashape:=0;
BankSubpoint[3].color:=FWaterColor;
BankSubpoint[3].tolerance:=Tolerance;

BankTDTM.MainPoint := BankMain;
BankTDTM.SubPoints := BankSubpoint;
result := AddDTM(BankTDTM);
end;
2: begin
FRoadsColor := FindColorPro('FallyRoad');
Road1Main.x:=624;
Road1Main.y:=129;
Road1Main.areasize:=1;
Road1Main.areashape:=0;
Road1Main.color:=FRoadsColor;
Road1Main.tolerance:=Tolerance;

Road1Subpoint[0].x:=623;
Road1Subpoint[0].y:=107;
Road1Subpoint[0].areasize:=1;
Road1Subpoint[0].areashape:=0;
Road1Subpoint[0].color:=FRoadsColor;
Road1Subpoint[0].tolerance:=Tolerance;

Road1Subpoint[1].x:=612;
Road1Subpoint[1].y:=151;
Road1Subpoint[1].areasize:=1;
Road1Subpoint[1].areashape:=0;
Road1Subpoint[1].color:=FRoadsColor;
Road1Subpoint[1].tolerance:=Tolerance;

Road1Subpoint[2].x:=662;
Road1Subpoint[2].y:=112;
Road1Subpoint[2].areasize:=1;
Road1Subpoint[2].areashape:=0;
Road1Subpoint[2].color:=FRoadsColor;
Road1Subpoint[2].tolerance:=Tolerance;

Road1Subpoint[3].x:=618;
Road1Subpoint[3].y:=153;
Road1Subpoint[3].areasize:=1;
Road1Subpoint[3].areashape:=0;
Road1Subpoint[3].color:=FRoadsColor;
Road1Subpoint[3].tolerance:=Tolerance;

Road1TDTM.MainPoint := Road1Main;
Road1TDTM.SubPoints := Road1Subpoint;
result := AddDTM(Road1TDTM);
end;
3: begin
RoadsColor := FindColorPro('Road');
Road2Main.x:=632;
Road2Main.y:=135;
Road2Main.areasize:=1;
Road2Main.areashape:=0;
Road2Main.color:=RoadsColor;
Road2Main.tolerance:=Tolerance;

Road2Subpoint[0].x:=632;
Road2Subpoint[0].y:=120;
Road2Subpoint[0].areasize:=1;
Road2Subpoint[0].areashape:=0;
Road2Subpoint[0].color:=RoadsColor;
Road2Subpoint[0].tolerance:=Tolerance;

Road2Subpoint[1].x:=635;
Road2Subpoint[1].y:=150;
Road2Subpoint[1].areasize:=1;
Road2Subpoint[1].areashape:=0;
Road2Subpoint[1].color:=RoadsColor;
Road2Subpoint[1].tolerance:=Tolerance;

Road2Subpoint[2].x:=628;
Road2Subpoint[2].y:=123;
Road2Subpoint[2].areasize:=1;
Road2Subpoint[2].areashape:=0;
Road2Subpoint[2].color:=RoadsColor;
Road2Subpoint[2].tolerance:=Tolerance;

Road2Subpoint[3].x:=630;
Road2Subpoint[3].y:=151;
Road2Subpoint[3].areasize:=1;
Road2Subpoint[3].areashape:=0;
Road2Subpoint[3].color:=RoadsColor;
Road2Subpoint[3].tolerance:=Tolerance;

Road2TDTM.MainPoint := Road2Main;
Road2TDTM.SubPoints := Road2Subpoint;
result := AddDTM(Road2TDTM);
end;
4: begin
RoadsColor := FindColorPro('Road');
RockColor := FindColorPro('Rock');

RoadRockMain.x:=621;
RoadRockMain.y:=148;
RoadRockMain.areasize:=1;
RoadRockMain.areashape:=0;
RoadRockMain.color:=RockColor;
RoadRockMain.tolerance:=Tolerance;

RoadRockSubpoint[0].x:=608;
RoadRockSubpoint[0].y:=143;
RoadRockSubpoint[0].areasize:=1;
RoadRockSubpoint[0].areashape:=0;
RoadRockSubpoint[0].color:=RoadsColor;
RoadRockSubpoint[0].tolerance:=Tolerance;

RoadRockSubpoint[1].x:=619;
RoadRockSubpoint[1].y:=134;
RoadRockSubpoint[1].areasize:=1;
RoadRockSubpoint[1].areashape:=0;
RoadRockSubpoint[1].color:=RoadsColor;
RoadRockSubpoint[1].tolerance:=Tolerance;

RoadRockSubpoint[2].x:=613;
RoadRockSubpoint[2].y:=153;
RoadRockSubpoint[2].areasize:=1;
RoadRockSubpoint[2].areashape:=0;
RoadRockSubpoint[2].color:=RoadsColor;
RoadRockSubpoint[2].tolerance:=Tolerance;

RoadRockSubpoint[3].x:=621;
RoadRockSubpoint[3].y:=132;
RoadRockSubpoint[3].areasize:=1;
RoadRockSubpoint[3].areashape:=0;
RoadRockSubpoint[3].color:=RoadsColor;
RoadRockSubpoint[3].tolerance:=Tolerance;

RoadRockTDTM.MainPoint := RoadRockMain;
RoadRockTDTM.SubPoints := RoadRockSubpoint;
result :=AddDTM(RoadRockTDTM);
end;
5: begin
RoadsColor := FindColorPro('Road');
RockColor := FindColorPro('Rock');

RockMain.x:=607;
RockMain.y:=134;
RockMain.areasize:=1;
RockMain.areashape:=0;
RockMain.color:=RockColor;
RockMain.tolerance:=Tolerance;

RockSubpoint[0].x:=619;
RockSubpoint[0].y:=115;
RockSubpoint[0].areasize:=1;
RockSubpoint[0].areashape:=0;
RockSubpoint[0].color:=RockColor;
RockSubpoint[0].tolerance:=Tolerance;

RockSubpoint[1].x:=636;
RockSubpoint[1].y:=125;
RockSubpoint[1].areasize:=1;
RockSubpoint[1].areashape:=0;
RockSubpoint[1].color:=RockColor;
RockSubpoint[1].tolerance:=Tolerance;

RockSubpoint[2].x:=632;
RockSubpoint[2].y:=139;
RockSubpoint[2].areasize:=1;
RockSubpoint[2].areashape:=0;
RockSubpoint[2].color:=RoadsColor;
RockSubpoint[2].tolerance:=Tolerance;

RockSubpoint[3].x:=636;
RockSubpoint[3].y:=148;
RockSubpoint[3].areasize:=1;
RockSubpoint[3].areashape:=0;
RockSubpoint[3].color:=RoadsColor;
RockSubpoint[3].tolerance:=Tolerance;

RockTDTM.MainPoint := RockMain;
RockTDTM.SubPoints := RockSubpoint;
Result :=AddDTM(RockTDTM);
end;

6: begin
Tolerance:=5;

BankerMain.x:=644;
BankerMain.y:=252;
BankerMain.areasize:=1;
BankerMain.areashape:=0;
BankerMain.color:=195836;
BankerMain.tolerance:=Tolerance;

BankerSubpoint[0].x:=648;
BankerSubpoint[0].y:=251;
BankerSubpoint[0].areasize:=1;
BankerSubpoint[0].areashape:=0;
BankerSubpoint[0].color:=195836;
BankerSubpoint[0].tolerance:=Tolerance;

BankerSubpoint[1].x:=647;
BankerSubpoint[1].y:=252;
BankerSubpoint[1].areasize:=1;
BankerSubpoint[1].areashape:=0;
BankerSubpoint[1].color:=195836;
BankerSubpoint[1].tolerance:=Tolerance;

BankerSubpoint[2].x:=652;
BankerSubpoint[2].y:=252;
BankerSubpoint[2].areasize:=1;
BankerSubpoint[2].areashape:=0;
BankerSubpoint[2].color:=195836;
BankerSubpoint[2].tolerance:=Tolerance;

BankerSubpoint[3].x:=656;
BankerSubpoint[3].y:=251;
BankerSubpoint[3].areasize:=1;
BankerSubpoint[3].areashape:=0;
BankerSubpoint[3].color:=195836;
BankerSubpoint[3].tolerance:=Tolerance;

BankerTDTM.MainPoint := BankerMain;
BankerTDTM.SubPoints := BankerSubpoint;
Result :=AddDTM(BankerTDTM);
end;
end;
end;

function DDTMmaster(number:integer):boolean;
var
xoff,yoff,correctingrun,ddtm,flagger,time:integer;
begin
if not LoggedIn then Exit;
SetRunState;
GameTab(4);
flagger:=10;
xoff:=0;
yoff:=0;
correctingrun:=1;
case number of
1: begin //half way to gate
ddtm:=setupddtm(1);
yoff:=6;
flagger:=1;
end;
2: begin //tree above gate
ddtm:=setupddtm(2);
yoff:=15;
flagger:=1;
end;
3: ddtm:=setupddtm(3); //tree after gate
4: ddtm:=setupddtm(4); //rock below tree
5: begin //rock group
ddtm:=setupddtm(5);
yoff:=-5
end;
6: begin //rock group
ddtm:=setupddtm(5);
xoff:=-45;
yoff:=-5
flagger:=2;
end;
7: begin //rock group
ddtm:=setupddtm(5);
yoff:=-10;
x:=5;
correctingrun:=-1;
end;
8: begin //rock below tree
ddtm:=setupddtm(4);
xoff:=-10
yoff:=-18;
correctingrun:=-1;
end;
9: begin //tree above gate
ddtm:=setupddtm(2);
correctingrun:=-1;
end;
10:begin //half way to gate
ddtm:=setupddtm(1);
correctingrun:=-1;
yoff:=-10;
end;
11:begin //bank
ddtm:=setupddtm(6);
correctingrun:=-1;
yoff:=-15;
xoff:=10;
flagger:=1
end;
end;
result:=False;
MarkTime(time);
repeat
if not LoggedIn then Exit;

if ColorFail then
case number of
1: ddtm:=setupddtm(1);
2: ddtm:=setupddtm(2);
3: ddtm:=setupddtm(3);
4: ddtm:=setupddtm(4);
5: ddtm:=setupddtm(5);
6: ddtm:=setupddtm(5);
7: ddtm:=setupddtm(5);
8: ddtm:=setupddtm(4);
9: ddtm:=setupddtm(2);
10:ddtm:=setupddtm(1);
11:ddtm:=setupddtm(6);
end;

if (DTMRotated(ddtm, x, y, mmx1 , mmy1, mmx2, (mmy2+-10+correctingrun*10))) then
begin
if rs_onminimap(x + xoff + 5, y + yoff + 5) then
begin
status('using off map helper');
Mouse(x + xoff, y + yoff, 5, 5, true);
end else
begin
Mouse(x, y, 5, 5, True);
FFlag(1);
Mouse(MMCX + xoff, MMCY + yoff, 3, 3, True);
end;
Status('Found ' + inttostr(number) +' with test ' + inttostr(random(100)));
Ftwait(8);
wait(500);
FFlag(flagger);
Result:=True;
FreeDTM(ddtm);
end else
begin
y:=8+random(2);
repeat
y:=y+1
MMouse(247 + z, 173+(y*10*correctingrun),10,5);
wait(150);
WalkerHelp:=WalkerHelp + 1;
until ((rs_GetUpText='Walk here') or (y=20))
if y=20
then z:=z+20
else Mouse(247 + z, 173+(y*10*CorrectingRun), 10, 5, true);
FFlag(5);
end;
until(Result = True) or (TimeFromMark(time) > 30000);
if not result then
begin
Players[CurrentPlayer].Loc := ('F in DDTMMaster('+ inttostr(number) + ')');
Writeln('failed in DDTMmaster(' + inttostr(number) +') sorry');
DDTMfailed[number]:=DDTMfailed[number]+1;
end;
end;

function OpenABank:boolean;
var
BankTimer, Ess, Air, EssTime, bankdtm: Integer;
begin
if not loggedin then exit;
Result:=False;
bankdtm := SetUpDDTM(6);
if not (DTMRotated(bankdtm, x, y, mmx1, mmy1, mmx2, mmy2)) then exit;
FreeDTM(bankdtm);
Players[CurrentPlayer].Loc := 'Banking da goods';
makecompass('n');
Status('opening bank');
if not loggedin then exit;
marktime(banktimer);
repeat
if BankScreen then Break;
if OpenBankFast('feb') then
begin
BankFast:=BankFast + 1;
Players[CurrentPlayer].Loc := 'Banked';
Break;
end else
begin
if OpenBankGlass('feb', true, true) then
begin
BankGlass:=BankGlass + 1;
Players[CurrentPlayer].Loc := 'Banked';
Break;
end else Players[CurrentPlayer].Loc := 'F at Banking';
end;
until ((BankScreen) or (PinScreen) or (not loggedin) or (timefrommark(banktimer)>25000));
If PinScreen Then
begin
InPin(Players[CurrentPlayer].Strings[0]);
status('pin in');
wait(1000 + random(1000));
end;
If BankScreen then
begin
status('opened bank window');
FixBank;
Air := DTMFromString('78DA630C61626068656440064F1F3E64E002D' +
'220D1FF40C0E80654D380AA0624CB045503E67902793D04D4C400' +
'79FD04D4240279F5F8D50000B6250B12');
if DTMRotated(air, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
status('Got Air DTM');
Crafted:=Crafted + AmountDtm('inv',Air);
end;
DepositAll;
ess := DTMFromString('78DA63EC616060F06740015121210C5C409A1' +
'188FF0301E3649020031A6084AB01F36603092F026A5A80442401' +
'350D40C21DBF1A00CD7D0990');
marktime(EssTime);
repeat
if DTMRotated(ess, x, y, msx1, msy1, msx2, msy2) then
begin
status('Got Ess DTM');
MMouse(x, y, 5, 5);
wait(200);
if IsUpTextMulti('une', 'ssenc', 'Withdraw 1 Rune es') then
begin
Banks:=Banks+1;
BankEss:=AmountDtm('bank',Ess)
Mouse(x, y, 5, 5, False);
ChooseOption('Withdraw All');
wait(250);
end;
end;
if DTMRotated(ess, x, y, MIX1, MIY1, MIX2, MIY2) then Result:=True;
until ((Result=True) or (TimeFromMark(EssTime) > 10000))
if Result= True then Players[CurrentPlayer].Loc := 'Got Ess from da Bank';
if Result= False then
begin
Players[CurrentPlayer].Loc := 'F at getting ess from bank';
Players[CurrentPlayer].Active := False;
end;
CloseBank;
end;
end;

Function BankToAlter:Boolean;
begin
Result:= False;
if not LoggedIn then Exit;
makecompass('n');
if not DDTMmaster(1) then Exit;
Antiban;
if not DDTMmaster(2) then Exit;
AntiRandom(4);
if not DDTMmaster(3) then Exit;
if not DDTMmaster(4) then Exit;
Antiban;
if not DDTMmaster(5) then Exit;
AntiRandom(4);
if not DDTMmaster(6) then Exit;
Result:= True;
end;

Function FindThatAltar:Boolean;
var
i, highest, altertime : Integer;
altarTPA, colorTPA, CombinedTPA: TPointArray;
Mid : TPoint;
begin
if not LoggedIn then Exit;
Result := False;
status('Finding Alter');
Players[CurrentPlayer].Loc := 'Entering Altar';
MarkTime(altertime);
FindColorsSpiralTolerance(180, 200, altarTPA, 3423283, msx1, msy1, msx2, msy2, 6);
FindColorsSpiralTolerance(180, 200, colorTPA, 4739654, msx1, msy1, msx2, msy2, 6);
CombinedTPA := CombineTPA(colorTPA,altarTPA);
Mid := MiddleTPA(CombinedTPA)
MMouse(Mid.x, Mid.y , 15, 15);
if IsUpText('ysteri') then
begin
Writeln('found with mid.x and mid.y');
Mouse(Mid.x, Mid.y, 4, 4, true);
MidFinder[0]:=MidFinder[0] + 1;
Result := True;
end else
begin
highest := high(CombinedTPA)-1;
for i:=1 to highest do
begin
MMouse(CombinedTPA[i].x,CombinedTPA[i].y,15,15);
if IsUpText('ysteri') then
begin
Writeln('found with scanner');
Mouse(CombinedTPA[i].x, CombinedTPA[i].y, 5, 5, true);
ScanFinder[0]:=ScanFinder[0] + 1;
Result := True;
end;
if (TimeFromMark(altertime) > 20000) then break
end;
end;
FFlag(2);
repeat
wait(75);
until ((arealoading) or (TimeFromMark(altertime) > 25000));
wait(1500);
Players[CurrentPlayer].Loc := 'In Da Altar with Ess';
end;

Function ClickThatAltar:Boolean;
var
i, highest, crafttime : Integer;
altarTPA, altar2TPA, CombinedTPA: TPointArray;
Mid : TPoint;
begin
if not LoggedIn then Exit;
Result := False;
status('clicking that darn altar');
Players[CurrentPlayer].Loc := 'Clicking Alter (Crafting)';
MarkTime(crafttime);
FindColorsSpiralTolerance(180, 200, altarTPA, 3554368, msx1, msy1, msx2, msy2, 6);
FindColorsSpiralTolerance(180, 200, altar2TPA, 5593952, msx1, msy1, msx2, msy2, 6);
CombinedTPA := CombineTPA(altarTPA,altar2TPA);
Mid := MiddleTPA(CombinedTPA)
MMouse(Mid.x, Mid.y , 15, 15);
if IsUpText('raft') then
begin
Writeln('found with mid.x and mid.y');
Mouse(Mid.x, Mid.y, 4, 4, true);
MidFinder[1]:=MidFinder[1] + 1;
Result := True;
end else
begin
highest := high(CombinedTPA)-1;
for i:=1 to highest do
begin
MMouse(CombinedTPA[i].x,CombinedTPA[i].y,10,10);
if IsUpText('raft') then
begin
Writeln('found with scanner');
Mouse(CombinedTPA[i].x,CombinedTPA[i].y, 5, 5, true);
ScanFinder[1]:=ScanFinder[1] + 1;
Result := True;
end;
if (TimeFromMark(crafttime) > 20000) then break
end;
end;
FFlag(1);
wait(2500);
Players[CurrentPlayer].Loc := 'In Da Altar with Airs';
end;

Function EscapeThatAltar:Boolean;
var
portaltime : Integer;
PortalTPA,Portal2TPA,Portal3TPA,CombinedTPA : TPointArray;
Mid : TPoint;
begin
if not LoggedIn then Exit;
Result := False;
status('Escaping A Alter');
Players[CurrentPlayer].Loc := 'Escapeing Alter';
MarkTime(portaltime);
FindColorsSpiralTolerance(180, 200, PortalTPA, 8630452, msx1, msy1, msx2, msy2, 5);
FindColorsSpiralTolerance(180, 200, Portal2TPA, 8367024, msx1, msy1, msx2, msy2, 5);
FindColorsSpiralTolerance(180, 200, Portal3TPA, 6919068, msx1, msy1, msx2, msy2, 5);
CombinedTPA := CombineTPA(PortalTPA,Portal2TPA);
CombinedTPA := CombineTPA(CombinedTPA,Portal3TPA);
Mid := MiddleTPA(CombinedTPA)
MMouse(Mid.x, Mid.y , 5, 5);
wait(250);
if IsUpText('ortal') then
begin
Writeln('found with mid.x and mid.y');
Mouse(Mid.x, Mid.y, 4, 4, true);
MidFinder[2]:=MidFinder[2] + 1;
Result := True;
end else
begin
wait(1000);
Mouse(150, 240, 20, 20, True);
FFlag(2);
wait(1000);
If ((FindObj(x, y, 'ortal', 7773861, 15)) or (FindObjTPA(x, y, 6655639, 7, -1, 5, 5, 2, 'ortal'))) Then
begin
wait(100);
Mouse(x, y, 4, 4, true);
Result := True;
Writeln('found with FindObject');
ObjectFinder:=ObjectFinder + 1;
end
end;
FFlag(1);
if (Result=True) then
begin
repeat
wait(75);
until ((arealoading) or (TimeFromMark(portaltime) > 25000));
Players[CurrentPlayer].Loc := 'Out of Da Altar';
end
end;

Function AltarToBank:Boolean;
begin
Result:= False;
if not LoggedIn then Exit;
makecompass('n');
if DTMRotated(SetUpDDTM(5), x, y, mmx1, mmy1, mmx2, mmy2)
then DDTMmaster(7)
else
begin
Mouse(686,83,8,4,true);
if not DDTMmaster(7) then exit;
MouseOver:=MouseOver+1;
end;
if not DDTMmaster(8) then exit;
if not loggedin then exit;
RadialRoadWalk(FindColorPro('Road'),300,420,55, 5, 5);
FFLag(3);
if not DDTMMaster(9) then exit;
if not DDTMMaster(10) then exit;
if not DDTMMaster(11) then exit;
Players[CurrentPlayer].loc:='Complete! You robbed the BANK';
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + 1;
Load:=Load + 1;
Result:= True;
end;

Procedure UserSwitch;
var Waited,Waiter:integer;
begin
If Loggedin then Logout else Players[0].Active := False;
If not AllInactive then
begin
Waiter := UserWait*60000;
If (CurrentPlayer = (HowManyPlayers-1)) then Waiter:=(TotalWait*60000) + (UserWait*60000);
marktime(Waited);
repeat
Status('User Wait \ TotalWait :' + IntToStr(TimeFromMark(Waited)/1000) + '/ ' + IntToStr(Waiter/1000) + ' waited');
Wait(1000 + random(2500));
until(TimeFromMark(Waited) >= Waiter);
NextPlayer(Players[0].Active);
WaitCount := WaitCount + 1;
end;
end;

Procedure scriptsetup;
begin
SmartSetup('se1', False, False);
SetTargetDC(SmartGetDC);
ClearDebug;
ActivateClient;
SetupSRL;
ScriptID := '619';
DebugClear;
DeclarePlayers;
end;

procedure playersetup;
begin
if not LoggedIn then Exit;
LoadsToRun := Players[CurrentPlayer].Integers[0] + random(randomnum)
Load :=0
SetAngle(True);
MakeCompass('n');
SetChat('on', 1);
SetChat('friends', 2);
SetChat('on', 5);
wait(150);
GameTab(2);
GetAllLevels;
wait(500);
GameTab(4);
end;

begin
scriptsetup;
LoginPlayer;
repeat
PlayerSetup;
LoadsToRun := Players[CurrentPlayer].Integers[0] + random(randomnum)
Load :=0
repeat
if not OpenABank then logout;
AntiRandom(1);
if not BankToAlter then logout;
AntiBan;
if not FindThatAltar then logout;
if not ClickThatAltar then logout;
Antiban;
Antiban;
if not EscapeThatAltar then logout;
AntiRandom(2);
if not AltarToBank then logout;
Proggies;
until((Load >= LoadsToRun) or (not loggedin))
UserSwitch;
until(AllInactive)
Proggies;
end.

My best report with this script is running right now, but is currently at

============Air Crafter Master By King Vash============
P=R=O=G=R=E=S=S= =R=E=P=O=R=T= =T=I=M=E=
:1 Hours, 27 Minutes and 37 Seconds:
Used Midfinder to find: Alter 29 times, Crafter-thing 30 times, Portal 30 times
Needed Help Walking: 113 times, used MouseOver: 30 times, FindObject found the Portal: 0
Failed at DDTM's: 1=0, 2=0, 3=0, 4=0, 5=0, 6=0, 7=0, 8=0, 9=0, 10=0

oom: loads complete: 30, is at: Complete! You robbed the BANK

Their are 12325 ess in your bank, with 840 ess used, CrafterMaster has finished 6 percent
You have now banked: 5040 air runes at 16gp each that's 80640 GP
And Waited 5 times
===================Air Crafter Master===================

Update: IT failed an hour later

============Air Crafter Master By King Vash============
P=R=O=G=R=E=S=S= =R=E=P=O=R=T= =T=I=M=E=
:2 Hours, 29 Minutes and 50 Seconds:

oom: loads complete: 49, is at: Escapeing Alter
You have now banked: 8400 air runes at 16gp each that's 134400 GP
And Waited 10 times
===================Air Crafter Master===================

——————————————————
<!– END TEMPLATE: formanswers –>

Sir R. M8gic1an

2008-02-09 04:42:17

before anything else let me ask you this:
how come LAME is one of your favorite scripts if it's supposed to be members only?

~RM

Santa_Clause

2008-02-09 04:48:30

From: Rasta Magician
before anything else let me ask you this:
how come LAME is one of your favorite scripts if it's supposed to be members only?

~RM


You obviously haven't been here for too long :p The first couple of releases of LAME were non-members. It was moved to SRL Members some time in May.

Markus

2008-02-09 04:51:28

Yea, it was moved to members loooong time ago. It surprises me he still got it.

Negaal

2008-02-09 04:59:36

Yes.

Edit:
# Version = .98 (I count down)

What are you going to do if you reach to 0.01?
0.009?:p

Narcle

2008-02-09 05:01:06

function RunColorIs:integer;//1 - red, 2 - orange, 3 - yellow, 4 - green
var
Colors : TIntegerArray;
i,x,y : Integer;
begin
Colors := [255,2070783,65535,65280];
For i := 0 to 3 do
if FindColor(x,y, Colors[i], 740,105,759,115) then Break;
Result := I + 1;
end;

That looks familiar :P however, i only see u use it once… sorta a waste.

I like the script though but I think you should simplify some things. Shortening a script tends to make it more reliable as well when you make something as simple as you can for reliability. Plus making something complex work again can be a pain sometimes.

Yes from me.

And to everybody else ignore his sig :P

n3ss3s

2008-02-09 06:14:40

Wait a second!

I'm getting a little suspicious, sorry, - but I remember seeing that RunColorIs before, unless it was in scripting help. I look more into it when I get home, but anyways, use the GetMMLevels, it returns the sign color as a string…

Naum

2008-02-09 06:58:02

Holding vote.

Wizzup?

2008-02-09 07:03:03

Voted yes. Looks great.

n3ss3s

2008-02-09 08:28:46

Okay, it was you (king) who posted the RunColorIs to Public Test Corner - yes from me :)

Naum

2008-02-09 08:46:01

Ok man a yesh from me definatelly!

PriSoner

2008-02-09 09:10:05

a definate yes from me..

MylesMadness

2008-02-09 09:50:22

Yes. Your a great scripter and I want to see some more heads around srl members.

MasterKill

2008-02-09 11:13:07

yes.

one of the best aply's i saw.

EDIT: i just remember your first aply… how short can 1 year be? :p

king vash

2008-02-09 12:47:53

Thanks people! I got to respond to some ppl

Rasta Magician - I have a old version of Lame that I have modified to work with new updates it works really well, 11 level 32 mages cause of it

Markus - look at my join date it's a long time ago

Negaal - something like that or just go to negative numbers

Narcle - I got the Idea out of your script and I'll use GetMMLevels when i figure that out

Wizzup? - your one of my heros!

Mylesmadness - Thanks! unfortunately I'm pretty busy but i get weekends where i can be very productive

MasterKill - depends what a year is, on mercury it's about 1.4 days and I got two days of school so I invested a chuck of time into this

[-jesus-]

2008-02-09 12:52:42

From: king vash

Where you Referred to SRL? If yes, by whom?
yes
Someone about 3 year ago, I forgot who


How is that possible??

(Yes btw)

Bobarkinator

2008-02-09 13:05:46

Ah a very good app. Yes from me :)

ducels

2008-02-09 14:05:30

Yes from me. Saw a lot of similarities to my script, but I think most of it is your work :)

Some feedback:

For SetUpDDTM you don't really need all of those different TDTMs etc. You only use them once then the procedure ends, so you could use only one.

Line 715:
  MMouse(Mid.x, Mid.y , 15, 15);
if IsUpText('ysteri') then
begin
Writeln('found with mid.x and mid.y');
Mouse(Mid.x, Mid.y, 4, 4, true);
MidFinder[0]:=MidFinder[0] + 1;
Result := True;
end
For the MMouse and Mouse you probably don't want to use randoms on the Mouse because if you move the mouse to the point and then it clicks somewhere else (because of the randoms on it), it might miss the altar.

Line 723:
  begin
highest := high(CombinedTPA)-1;
for i:=1 to highest do
begin
MMouse(CombinedTPA[i].x,CombinedTPA[i].y,15,15);
if IsUpText('ysteri') then
begin
Writeln('found with scanner');
Mouse(CombinedTPA[i].x, CombinedTPA[i].y, 5, 5, true);
ScanFinder[0]:=ScanFinder[0] + 1;
Result := True;
end;
if (TimeFromMark(altertime) > 20000) then break
end;
end;
Same deal here with Mouse and MMouse. Also, TPAs start at 0 so it would be for i := 0 to highest do. Not too big of a deal ;)

king vash

2008-02-09 14:47:16

Ducel, thank for the advice, I changed the script for that hopefully that will fix my exit alter problems (where it's failing mainly), and I was wondering if I could repost my fixed script?

[-jesus-]

2008-02-09 15:05:53

From: king vash
Ducel, thank for the advice, I changed the script for that hopefully that will fix my exit alter problems (where it's failing mainly), and I was wondering if I could repost my fixed script?


I think you can post an updated version, but you should/need to keep the original 1 you posted with below it

Narcle

2008-02-09 21:45:17

From: king vash
Ducel, thank for the advice, I changed the script for that hopefully that will fix my exit alter problems (where it's failing mainly), and I was wondering if I could repost my fixed script?


Think it hardly matters at this point. 11 yes, 3 no. Your getting in :P

Naum

2008-02-10 04:37:01

Should i or should i not get someone to close this….

Hmmm…

nielsie95

2008-02-10 07:05:53

Welcome sir.