Jackrawl
2008-01-01 00:40:08
JackLKrawl - SRL Member Application Form
JackLKrawl
What is the meaning to life?
42
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Can 'read' C, but not write it
Other Communitys
None
How Long have You Played Runescape
Don't play it
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have been learning SCAR for about 6-7 months. This particular script we are applying with got destroyed during this pointer error earlier today, so this is 12 hour work. I'm pretty sure that there are a trivial errors within it, but for the most part, it is as good as the original.
'I' is actually two people - Sister and Brother. It's very difficult to write sentences with 'We' without making it sound weird, so usually we refer to us as 'I' because it is one username.
Anyway, I wanted to start the New Year off as an SRL Member, because we know all of the basics (or at least think we do), and we found a really cool avatar of House Ix and the Fremen - if you don't know what those two things are, I suggest you read the Dune Series, they're very good books. This is our best effort and we hope that you will accept us.
Happy New Years.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program AirCrafter;//Aer Faber is latin for 'Air Craftsman.' (This is the actually title of the program
{.include SRL/SRL.scar}
{.include SRL/SRL/misc/MusicLocation.scar}
var
dtmPoint1, dtmPoint2, dtmPoint3, dtmPoint4, dtmPoint5, dtmPoint6,
dtmPoint7, dtmPoint8, dtmAirAltar, dtmExit:Integer;
dtmRegularEssence, dtmPureEssence, dtmTalisman, dtmAirTiara, dtmAirRune:Integer;
intReg, intPure:integer;
Regular, Pure : Boolean;
SumA, SumB: integer;
a, b, c, d, e, f, g, h, j: integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Strings[0] := 'a'; //a - Regular Ess b - Pure ess c - Both
Players[0].Strings[1] := '' //Equipped if you have tali/tiara ready
Players[0].Strings[2] := '';
Players[0].Integers[0] := 1; //How many loads for this character
Players[0].Integers[1] := 0;
Players[0].Booleans[0] := True; //True for a tiara, False for a talisman
Players[0].Active := True;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
procedure DefineLoopDuration;
var
I:integer;
begin
for I := 0 to HowManyPlayers-1 do
begin
SumA := SumA + Players[I].Integers[0];
end;
if HowManyPlayers-1 = 0 then
begin
writeln('This loop shall run for ' + inttostr(SumA) + ' over one player');
end;
if HowManyPlayers-1 > 0 then
begin
writeln('This loop shall run for ' + inttostr(SumB) + ' over ' + inttostr(HowManyPlayers));
end;
end;
procedure ItemDDTMs;
var
SubPoint : Array [0..3] of TDTMPointDef;
MainPoint : TDTMPointDef;
TDTM: TDTM;
begin
MainPoint.x :=94;
MainPoint.y :=78;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=5723998;
MainPoint.Tolerance:=30;
SubPoint[0].x:=108;
SubPoint[0].y:=77;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=92;
SubPoint[1].y:=91;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=105;
SubPoint[2].y:=86;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmRegularEssence:= AddDTM(TDTM);
MainPoint.x :=600;
MainPoint.y :=265;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=8027012;
MainPoint.Tolerance:=15;
SubPoint[0].x:=634;
SubPoint[0].y:=265;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=608;
SubPoint[1].y:=273;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=619;
SubPoint[2].y:=278;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPureEssence:= AddDTM(TDTM);
MainPoint.x :=588;
MainPoint.y :=233;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=12105921;
MainPoint.Tolerance:=40;
SubPoint[0].x:=568;
SubPoint[0].y:=229;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=591;
SubPoint[1].y:=230;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=576;
SubPoint[2].y:=227;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmAirTiara:= AddDTM(TDTM);
MainPoint.x :=579;
MainPoint.y :=226;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=11974335;
MainPoint.Tolerance:=30;
SubPoint[0].x:=585;
SubPoint[0].y:=233;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=572;
SubPoint[1].y:=230;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=577;
SubPoint[2].y:=241;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmTalisman:= AddDTM(TDTM);
MainPoint.x :=662;
MainPoint.y :=230;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=14869221;
MainPoint.Tolerance:=10;
SubPoint[0].x:=648;
SubPoint[0].y:=232;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=662;
SubPoint[1].y:=241;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=676;
SubPoint[2].y:=227;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmAirRune:= AddDTM(TDTM);
end;
function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 1 to 8 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;
procedure Randomas;
begin
case random(40) of
1:MakeCompass('N');
2:MakeCompass('S');
3:MakeCompass('E');
4:MakeCompass('W');
5:RandomRClick;
6:BoredHuman;
end;
end;
procedure DestroyaOfRandoms;
begin
if not(loggedin) then exit;
FindFastRandoms;
FindNormalRandoms;
end;
procedure MotiDDTMs;
var
SubPoint : array [0..4] of TDTMPointDef;
MainPoint : TDTMPointDef;
TDTM: TDTM;
begin
MainPoint.x :=625;
MainPoint.y :=85;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=634;
SubPoint[0].y:=91;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=62965;
SubPoint[0].tolerance:=100;
SubPoint[1].x:=638;
SubPoint[1].y:=92;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=60909;
SubPoint[1].tolerance:=100;
SubPoint[2].x:=650;
SubPoint[2].y:=93;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=60909;
SubPoint[2].tolerance:=100;
SubPoint[3].x:=654;
SubPoint[3].y:=93;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=60909;
SubPoint[3].tolerance:=100;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint1:= AddDTM(TDTM);
MainPoint.x :=609;
MainPoint.y :=134;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=608;
SubPoint[0].y:=113;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=12227199;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=606;
SubPoint[1].y:=111;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=12227199;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=606;
SubPoint[2].y:=113;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=12227199;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=616;
SubPoint[3].y:=111;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=15591909;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint2:= AddDTM(TDTM);
MainPoint.x :=639;
MainPoint.y :=133;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=621;
SubPoint[0].y:=54;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=2313568;
SubPoint[0].tolerance:=70;
SubPoint[1].x:=624;
SubPoint[1].y:=86;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=2313568;
SubPoint[1].tolerance:=70;
SubPoint[2].x:=633;
SubPoint[2].y:=64;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=12161405;
SubPoint[2].tolerance:=70;
SubPoint[3].x:=622;
SubPoint[3].y:=96;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=12161405;
SubPoint[3].tolerance:=70;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint3:= AddDTM(TDTM);
MainPoint.x :=620;
MainPoint.y :=119;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=629;
SubPoint[0].y:=56;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=11502447;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=621;
SubPoint[1].y:=70;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=11502447;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=639;
SubPoint[2].y:=53;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=15528428;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=629;
SubPoint[3].y:=109;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=8691373;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint4:= AddDTM(TDTM);
MainPoint.x :=607;
MainPoint.y :=116;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=638;
SubPoint[0].y:=77;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=9677753;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=629;
SubPoint[1].y:=78;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=9677753;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=617;
SubPoint[2].y:=92;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=9677753;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=593;
SubPoint[3].y:=110;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=9677753;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint5:= AddDTM(TDTM);
MainPoint.x :=622;
MainPoint.y :=130;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337;
MainPoint.Tolerance:=255;
SubPoint[0].x:=620;
SubPoint[0].y:=77;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=9677753;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=625;
SubPoint[1].y:=77;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=9677753;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=630;
SubPoint[2].y:=77;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=9677753;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=636;
SubPoint[3].y:=77;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=9677753;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint6:= AddDTM(TDTM);
MainPoint.x :=626;
MainPoint.y :=118;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=1337
MainPoint.Tolerance:=255;
SubPoint[0].x:=588;
SubPoint[0].y:=61;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=9809339;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=596;
SubPoint[1].y:=60;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=9809339;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=607;
SubPoint[2].y:=61;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=9809339;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=615;
SubPoint[3].y:=61;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=9809339;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint7:= AddDTM(TDTM);
MainPoint.x :=228;
MainPoint.y :=209;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=3156218;
MainPoint.Tolerance:=50;
SubPoint[0].x:=246;
SubPoint[0].y:=221;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=3156218;
SubPoint[0].tolerance:=50;
SubPoint[1].x:=222;
SubPoint[1].y:=212;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=3156218;
SubPoint[1].tolerance:=50;
SubPoint[2].x:=223;
SubPoint[2].y:=209;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=3156218;
SubPoint[2].tolerance:=50;
SubPoint[3].x:=218;
SubPoint[3].y:=202;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=3156218;
SubPoint[3].tolerance:=50;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmPoint8:= AddDTM(TDTM);
MainPoint.x :=366;
MainPoint.y :=42;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=3554368;
MainPoint.Tolerance:=40;
SubPoint[0].x:=320;
SubPoint[0].y:=48;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=6055277;
SubPoint[0].tolerance:=40;
SubPoint[1].x:=363;
SubPoint[1].y:=70;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=4870227;
SubPoint[1].tolerance:=40;
SubPoint[2].x:=402;
SubPoint[2].y:=42;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=3619390;
SubPoint[2].tolerance:=40;
SubPoint[3].x:=324;
SubPoint[3].y:=47;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=5001812;
SubPoint[3].tolerance:=40;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmAirAltar:= AddDTM(TDTM);
MainPoint.x :=662;
MainPoint.y :=230;
MainPoint.Areasize:=1;
MainPoint.Areashape:=0;
MainPoint.Color:=14869221;
MainPoint.Tolerance:=10;
SubPoint[0].x:=648;
SubPoint[0].y:=232;
SubPoint[0].areasize:=1;
SubPoint[0].areashape:=0;
SubPoint[0].color:=65536;
SubPoint[0].tolerance:=0;
SubPoint[1].x:=662;
SubPoint[1].y:=241;
SubPoint[1].areasize:=1;
SubPoint[1].areashape:=0;
SubPoint[1].color:=65536;
SubPoint[1].tolerance:=0;
SubPoint[2].x:=676;
SubPoint[2].y:=227;
SubPoint[2].areasize:=1;
SubPoint[2].areashape:=0;
SubPoint[2].color:=65536;
SubPoint[2].tolerance:=0;
SubPoint[3].x:=676;
SubPoint[3].y:=227;
SubPoint[3].areasize:=1;
SubPoint[3].areashape:=0;
SubPoint[3].color:=65536;
SubPoint[3].tolerance:=0;
TDTM.MainPoint := MainPoint;
TDTM.SubPoints := SubPoint;
dtmExit:= AddDTM(TDTM);
end;
procedure WithdrawTiara;
var
x, y, stuck: integer;
begin
if FindObj(x, y, 'tiara', 103214, 30) then
begin
Mouse(x, y, 1, 1, True);
CloseBank;
GameTab(4);
Stuck := 0;
repeat
Stuck := Stuck + 1;
if FindDTM(dtmAirTiara, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 1, 1);
if isuptext('ir tiara') then
begin
Mouse(x, y, 1, 1, True);
wait(50+random(50));
GameTab(5);
if FindObj(x, y, 'tiara', 103214, 30) then
begin
Players[CurrentPlayer].Strings[1] := 'Equipped';
exit;
end;
end;
end;
until Stuck = 40;
end;
Players[CurrentPlayer].Strings[2] := 'No Air Tiara found.';
NextPlayer(False);
end;
procedure WithdrawTalisman;
var
x, y: integer;
begin
if FindObj(x, y, 'talism', 103214, 30) then
begin
Mouse(x, y, 1, 1, True);
CloseBank;
GameTab(4);
if FindObj(x, y, 'talism', 103214, 30) then
begin
Players[CurrentPlayer].Strings[1] := 'Equipped';
Exit;
end;
end;
if FindDTM(dtmTalisman, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Mouse(x, y, 1, 1, True);
CloseBank;
GameTab(4);
if FindDTM(dtmTalisman, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
Players[CurrentPlayer].Strings[1] := 'Equipped';
Exit;
end;
end;
Players[CurrentPlayer].Strings[2] := 'No Air Talisman found.';
end;
procedure EquipPlayer;
var
x, y: integer;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then
begin
if not(loggedin) then LoginPlayer;
if DTMRotated(dtmPoint1, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
Flag;
DestroyaofRandoms;
Randomas;
OpenBankQuiet('feb');
case Players[CurrentPlayer].Booleans[0] of
True: WithdrawTiara;
False:WithdrawTalisman;
end;
if not Players[CurrentPlayer].Strings[1] = 'Equipped' then EquipPlayer;
OpenBankFast('feb');
A:=A+1;
end;
end;
end;
procedure WithdrawPureEssence;
var
x, y: integer;
begin
if FindObj(x, y, 'ure', 103214, 30) then
begin
Mouse(x, y, 1, 1, False);
ChooseOption('ll');
CloseBank;
intPure := intPure + 1;
Exit;
end;
if FindDTM(dtmPureEssence, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, False);
ChooseOption('ll');
CloseBank;
intPure := intPure + 1;
Exit;
end;
Players[CurrentPlayer].Strings[2] := 'Could not find Pure Essence';
if Players[CurrentPlayer].Strings[0] = 'c' then
begin
Pure:=False;
Exit;
end;
NextPlayer(False);
end;
procedure WithdrawRegularEssence;
var
x, y, stuck: integer;
begin
if FindObj(x, y, 'une essence', 5329496, 30) then
begin
Mouse(x, y, 1, 1, False);
ChooseOption('ll');
CloseBank;
intReg := intReg + 1;
Exit;
end;
repeat
if FindDTM(dtmRegularEssence, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
MMouse(x, y, 1, 1);
stuck:=stuck+1;
if isuptext('une essence') then
begin
Mouse(x, y, 1, 1, False);
ChooseOption('ll');
CloseBank;
intReg := intReg + 1;
Exit;
end;
end;
until stuck = 100;
Players[CurrentPlayer].Strings[2] := 'Could not find Regular Essence';
if Players[CurrentPlayer].Strings[0] = 'c' then
begin
Regular:=False;
Exit;
end;
NextPlayer(False);
end;
procedure WithdrawBothEssence;
begin
case random(2) of
0: WithdrawRegularEssence;
1: WithdrawPureEssence;
end;
if Regular = False then
begin
WithdrawPureEssence;
Players[CurrentPlayer].strings[0] := 'b';
end;
if Pure = False then
begin
Players[CurrentPlayer].strings[0] := 'a';
WithdrawRegularEssence;
end;
end;
procedure WithdrawEssence;
var
x, y, lost: integer;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
OpenBankQuiet('feb');
case Players[CurrentPlayer].Strings[0] of
'a' : WithdrawRegularEssence;
'b' : WithdrawPureEssence;
'c' : WithdrawBothEssence;
end;
Lost:=0;
repeat
Lost:=Lost+1;
wait(10);
if DTMRotated(dtmPoint1, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
Flag;
Break;
end;
until Lost = 1000;
end;
procedure WalkToGateFromBank;
var
x, y, lost : integer;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
if DTMRotated(dtmPoint2, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
if DTMRotated(dtmPoint3, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
FFlag(5);
Lost := 0;
repeat
if dtmRotated(dtmPoint4, x, y, MMX1, MMY1, MMX2, MMY2) then break;
Lost:=Lost+1;
wait(10);
DestroyaofRandoms;
Randomas;
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
B:=B+1;
end;
end;
end;
procedure WalkToRuinsFromGate;
var
x, y, Lost : integer;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
Lost := 0;
repeat
if DTMRotated(dtmPoint5, x, y, MMX1, MMY1, MMX2, MMY2) then break;
Lost := Lost + 1;
wait(10);
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
FFlag(10);
Lost := 0;
repeat
if DTMRotated(dtmPoint6, x, y, MMX1, MMY1, MMX2, MMY2) then break;
Lost := Lost+1;
wait(10);
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
FFlag(5);
Lost := 0;
repeat
if DTMRotated(dtmPoint7, x, y, MMX1, MMY1, MMX2, MMY2) then break;
Lost := Lost + 1;
wait(10);
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
FFlag(5);
C:=C+1;
end;
procedure EnterRuins;
var
x, y: integer;
begin
if not(loggedin) then exit;
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
if Players[CurrentPlayer].Booleans[0] = True then
begin
if FindObj(x, y, 'nter', 3026482, 50) then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
D:=D+1;
Exit;
end;
end;
if Players[CurrentPlayer].Booleans[0] = False then
begin
if FindObj(x, y, 'talisman', 213442, 30) then
begin
Mouse(x, y, 1, 1, True);
wait(50+random(50));
end;
if DTMRotated(dtmPoint8, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 1, 1);
if isuptext('nter') then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
D:=D+1;
Exit;
end;
end;
end;
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
end;
procedure Craft;
var
x, y, I: integer;
begin
if not(loggedin) then exit;
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
if not IsMusicPlaying('serene') then exit;
if DTMRotated(dtmAirAltar, x, y, MSX1, MSY1, MSX2, MSY2) then
begin
MMouse(x, y, 0, 0);
if isuptext('raft') then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
Players[CurrentPlayer].Integers[1] := Players[CurrentPlayer].Integers[1] + 1;
for I := 0 to HowManyPlayers do
begin
SumB := SumB + Players[I].Integers[1];
end;
E:=E+1;
Exit;
end;
end;
NextPlayer(False);
end;
procedure ExitRuins;
var
x, y, Lost : integer;
begin
Lost:=0;
repeat
Lost:=Lost+1;
wait(10);
if FindObj(x, y, 'ortal', 6458002, 40) then
begin //Copied King of Knives - I'll get the original version later
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
Break;
end;
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
F:=F+1;
end;
procedure WalkToGateFromRuins;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
MakeCompass('N');
RadialRoadWalk(FindRoadColor, 150, 180, 60, 0, 0);
FFlag(10);
RadialRoadWalk(FindRoadColor, 50, 150, 60, 0, 0);
DestroyaofRandoms;
Randomas;
FFlag(10);
RadialRoadWalk(FindRoadColor, 1, 150, 60, 0, 0);
FFlag(10);
RadialRoadWalk(FindRoadColor, 350, 20, 60, 0, 0);
FFlag(10);
RadialRoadWalk(FindRoadColor, 350, 20, 60, 0, 0);
if FindFallyRoadColor > 0 then
begin
RadialRoadWalk(FindFallyRoadColor, 350, 20, 60, 0, 0);
DestroyaofRandoms;
Randomas;
FFlag(10);
Exit;
end;
RadialRoadWalk(FindRoadColor, 350, 20, 60, 0, 0);
if FindFallyRoadColor > 0 then
begin
RadialRoadWalk(FindFallyRoadColor, 350, 20, 60, 0, 0);
DestroyaofRandoms;
Randomas;
FFlag(10);
Exit;
end;
NextPlayer(False);
end;
procedure WalkToBankFromGate;
var
x, y, Lost: integer;
begin
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
RadialRoadWalk(FindFallyRoadColor, 350, 20, 30, 0, 0);
DestroyaofRandoms;
Randomas;
FFlag(10);
if DTMRotated(dtmPoint4, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
if DTMRotated(dtmPoint3, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
FFlag(5);
Lost := 0;
repeat
if dtmRotated(dtmPoint2, x, y, MMX1, MMY1, MMX2, MMY2) then break;
Lost:=Lost+1;
wait(10);
until Lost = 1000;
if Lost = 1000 then
begin
Players[CurrentPlayer].Strings[2] := 'Lost';
NextPlayer(False);
Exit;
end;
Mouse(x, y, 1, 1, True);
DestroyaofRandoms;
Randomas;
Flag;
B:=B+1;
end;
end;
end;
procedure DepositRunes;
var
x, y: integer;
begin
if not(loggedin) then exit;
if not IsMusicPlaying('workshop') then Exit;
if Players[CurrentPlayer].Strings[1] = 'Inequipped' then exit;
OpenBankFast('feb');
if FindDTM(dtmAirRune, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Mouse(x, y, 1, 1, False);
ChooseOption('ll');
J:=J+1;
Exit;
end;
NextPlayer(False);
end;
procedure Progress;
var
I: integer;
begin//I need to know where it's breaking, and this was the most simple way.
writeln('Equipped ' + inttostr(a) + ' times');
writeln('Successfully walked to the gate from the bank ' + inttostr(b) + ' times');
writeln('Successfully walked to the ruins ' + inttostr(c) + ' times');
writeln('Successfully entered the ruins ' + inttostr(d) + ' times');
writeln('Successfully crafted ' + inttostr(e) + ' times');
writeln('Successfully left the ruins ' + inttostr(f) + ' times');
writeln('Successfully walked to the gate from the ruins ' + inttostr(g) + ' times');
writeln('Successfully walked to the bank ' + inttostr(h) + ' times');
writeln('Successfully deposited the runes ' + inttostr(j) + ' times');
for I := 0 to HowManyPlayers-1 do
begin
writeln(Players[I].Strings[2]);
end;
writeln('This is Jack L Krawl''s Air Crafter - 12/31/07');
end;
begin
SetupSRL;
SetupSRLMusic;
DeclarePlayers;
ItemDDTMs;
MotiDDTMs;
ActivateClient;
repeat
EquipPlayer;
WithdrawEssence;
WalkToGateFromBank;
WalkToRuinsFromGate;
EnterRuins;
Craft;
ExitRuins;
WalkToGateFromRuins;
WalkToBankFromGate;
DepositRunes;
Progress;
until SumA <= SumB;
end.——————————————————
<!– END TEMPLATE: formanswers –>