touchmoney
2012-03-21 04:39:31
How Long have You Played Runescape?
1 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
My self
What is your general programming knowledge?
VB,C#,pascal,java
Are you a member of any other communities?
powerbot
Tell us about yourself…
Please show us one (or multiple) of your scripts.
1 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
My self
What is your general programming knowledge?
VB,C#,pascal,java
Are you a member of any other communities?
powerbot
Tell us about yourself…
From: touchmoney
I'm a freelance,and i like programming,play runescape.
I want play this game,not to play by the RS……
Please show us one (or multiple) of your scripts.
program grenndrag;
{$i srl/srl/misc/smart.Simba}
{$DEFINE SMART}
{$i SRL\SRL.Simba}
const
FishNumber ='18';
DragonNumber =6;
DisableSMARTPaint = False;
procedure DeclarePlayers;
begin
Fish := 8;
NumberOfPlayers(1);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Member := True;
Players[0].Active := True;
end;
procedure FrDTM;
begin
FreeDTM(Q[0]);
FreeDTM(Q[1]);
FreeDTM(Q[2]);
FreeDTM(Q[3]);
FreeDTM(Q[4]);
FreeDTM(Q[5]);
FreeDTM(Q[6]);
FreeDTM(Q[7]);
FreeDTM(Q[8]);
FreeDTM(Q[9]);
FreeDTM(Q[10]);
FreeDTM(Q[11]);
FreeDTM(Q[12]);
end;
Procedure SetupBackGround;
var
TPA: TPointArray;
B: TBox;
begin
if DisableSMARTPaint then
Exit;
B := IntToBox(0, 345, 515, 379);
TPA := TPAFromBox(B);
SMART_DrawDotsEx(True, TPA, 725267);
B := IntToBox(0, 378, 515, 378);
TPA := TPAFromBox(B);
SMART_DrawDotsEx(false, TPA, 2570567);
SMART_DrawTextEx(False, 44, 345, BigChars, tag, 2570567);
SMART_DrawTextEx(False, 250, 344+10, UpCharsEx, tag2, 2570567);
end;
procedure Setup;
begin
Smart_Server := 10; fisher;
Smart_Members := True;
Smart_Signed := True;
MouseSpeed := 18;
ClearDebug;
SetupSRL;
DeclarePlayers;
if not (LoggedIn) then
LoginPlayer;
ObjDTM_Setup;StupSRL;
ObjDTM_Debug := True;
SetupBackGround;
Mouse(628, 100, 4, 4, true);
wait(1000);
shijiao(38,1000);
level:=GetCombatLevel;
end;
Function findchuanfu(): Boolean;
var
i, ii,L, P: integer;
T: TPoint;
NPCs, TPA: TPointArray;
ATPA: T2DPointArray;
BoxArr: TBoxArray;
Colors : TIntegerArray;
begin
if not (LoggedIn) then LoginPlayer;
Colors :=[3086880,3940649,2960687];
P := GetSystemTime;
NPCs := GetMMDotsOnMS('npc');
L := Length(NPCs);
if L < 1 then
Exit;
SetLength(BoxArr, L);
for i := 0 to L-1 do
begin
T := MMtoMS(NPCs[i]);
BoxArr[i] := IntToBox(Max(T.x-40, MSX1), Max(T.y-40, MSY1), Min(T.x+40, MSX2), Min(T.y+40, MSY2));
end;
With Players[0] do
for i := 0 to L-1 do
with BoxArr[i] do
begin
SetLength(ATPA, Length(Colors));
For ii := 0 to High(Colors) do //Color array
FindColorsTolerance(ATPA[ii], Colors[ii], X1, Y1, X2, Y2, 4);
TPA := MergeATPA(ATPA);
if Length(TPA) > 0 then
begin
ATPA := SplitTPA(TPA, 6);
SortATPASize(ATPA, True);
T := MiddleTPA(ATPA[0]);
if IsFightAt(T.x, T.y) then
Continue;
if not DisableSMARTPaint then
begin
SMART_ClearCanvasArea(IntToBox(0, 0, MSX2, MSY2));
SMART_DrawBoxEx(False, BoxArr[i], clBlue);
SMART_DrawDotsEx(False, ATPA[0], clRed);
end;
MMouse(T.x, T.y, 3, 3);
if WaitUpTextMulti(['Talk'], random(100)) then
begin
ClickMouse2(False);
Result := ChooseOption('Bank Banker');
if Result then
begin
FFlag(0);
Exit;
end Else Continue;
end;
end;
end;
end;
function FindLoot: Boolean;
var
arP, arAP: TPointArray;
arC, arUC: TIntegerArray;
ararP: T2DPointArray;
tmpCTS, i, j, arL, arL2,n,m: Integer;
P: TPoint;
X, Y, Z: Extended;
begin
Result :=false;
if not (LoggedIn) then LoginPlayer;
if InvFull then
begin
Wait(250);
if FindDTM(Q[7],m, n, MIX1,MIY1,MIX2,MIY2) or FindDTM(Q[8],m, n, MIX1,MIY1,MIX2,MIY2)then
begin
CMove(m, n, 0, 0, true);
CMove(m, n, 0, 0, true);
wait(500)
end else exit;
end;
SetColorSpeed2Modifiers(0.21, 0.89);
if FindColorsTolerance(arP, 5513753, 0, 25, MSX2, MSY2, 20) then
begin
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 1.22) and (X <= 10.22) and (Y >= 0.22) and (Y <= 10.93) and (Z >= 2.05) and (Z <= 15.90) 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;
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 WaitUpTextMulti(['ake','Take'],50) then
begin
GetMousePos(p.x, p.y);
CMove(p.x, p.y, 1,1, false);
if WaitOptionMulti(Loots, 200) then Result :=true;
WaitOptionMulti(Loots, 200);
Wait(RandomRange(500, 700));
while IsMoving do
begin
Wait(250);
end;
if InvFull then
begin
Wait(250);
if FindColorTolerance(m, n, 1727673, 556, 208, 735, 460,15) then
begin
CMove(m, n, 0, 0, true);
CMove(m, n, 0, 0, true);
wait(500)
end else exit;
end;
end;
end;
end;
if FindColorsTolerance(arP, 13093584, 0, 25, MSX2, MSY2, 10) then
begin
arC := GetColors(arP);
arUC := arC;
ClearSameIntegers(arUC);
arL := High(arUC);
arL2 := High(arC);
for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 50.22) and (X <= 85.22) and (Y >= 52.22) and (Y <= 85.93) and (Z >= 55.05) and (Z <= 90.90) 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;
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 WaitUpTextMulti(['ake','Take'],50) then
begin
GetMousePos(p.x, p.y);
CMove(p.x, p.y, 2, 2, false);
if WaitOptionMulti(Loots, 200) then Result :=true;
WaitOptionMulti(Loots, 200);
Wait(RandomRange(500, 700));
while IsMoving do
begin
Wait(250);
end;
if InvFull then
begin
Wait(250);
if FindDTM(Q[7],m, n, MIX1,MIY1,MIX2,MIY2) or FindDTM(Q[8],m, n, MIX1,MIY1,MIX2,MIY2)then
begin
CMove(m, n, 0, 0, true);
CMove(m, n, 0, 0, true);
wait(500)
end else exit;
end;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
end;
Function HpCheck(): boolean;
var
x, y:Integer;
begin
if not (LoggedIn) then LoginPlayer;
KeyDown(112);
wait(50);
KeyUp(112);
if not(FindColorTolerance(x, y, 65280, 718, 18, 744, 43,10)) and LoggedIn then
begin
while not(FindColorTolerance(x, y, 65280, 718, 18, 744, 43,10)) do
begin
if FindDTM(Q[8],x, y, MIX1,MIY1,MIX2,MIY2) or FindDTM(Q[7],x, y, MIX1,MIY1,MIX2,MIY2) then
begin
CMove(x, y, 0, 0, true);
CMove(x, y, 0, 0, true);
wait(800);
end else
begin
Result := true;
exit;
end;
end;
end;
if not(FindDTM(Q[8],x, y, MIX1,MIY1,MIX2,MIY2)) and not(FindDTM(Q[7],x, y, MIX1,MIY1,MIX2,MIY2)) then
begin
Result := true;
exit;
end;
if InvFull and LoggedIn then
begin
if FindDTM(Q[8],x, y, MIX1,MIY1,MIX2,MIY2) or FindDTM(Q[7],x, y, MIX1,MIY1,MIX2,MIY2) then
begin
CMove(x, y, 0, 0, true);
CMove(x, y, 0, 0, true);
wait(800)
end;
end;
Result := false;
end;
function isbank(): Boolean;
var
x,y,anti,t:integer;
begin
anti :=1;
CMove(687, 184, 0, 0,true);
wait(300);
if not(findzb(Q[3])) then
begin
CMove(656, 185, 0, 0,true);
wait(300);
CMove(579, 225, 0, 0,true);
CMove(579, 225, 0, 0,true);
wait(500);
CMove(620, 225, 0, 0,true);
CMove(620, 225, 0, 0,true);
wait(500);
CMove(660, 225, 0, 0,true);
CMove(660, 225, 0, 0,true);
anti :=0;
end;
wait(500);
MarkTime(t);
repeat
wait(100);
if TimeFromMark(t) > 10000 then
begin
Result := false;
exit;
end;
findchuanfu;
until FindColorTolerance(x, y, 4578112, 351, 303, 369, 321,10);
wait(500);
DepositAll;
wait(1000);
if anti=0 then
begin
CMove(96, 108, 0, 0,true);
wait(500);
end;
wait(500);
MMouse(185, 111, 0, 0);
wait(400);
if WaitUpTextMulti(['Super'], 200) then
CMove(185, 111, 0, 0,true);
wait(500);
MMouse(229, 111, 0, 0);
wait(400);
if WaitUpTextMulti(['Super'], 200) then
MarkTime(t);
repeat
if TimeFromMark(t) > 30000 then
begin
Result := false;
exit;
end;
if BankScreen then
begin
wait(1000);
CMove(52, 108, 0, 0,false);
wait(500);
writeln(ChooseOption('X'));
wait(2500);
SendKeys(FishNumber,200);
KeyDown(13);
wait(100);
KeyUp(13);
wait(3000);
if FindDTM(Q[7],x, y, MIX1,MIY1,MIX2,MIY2) or FindDTM(Q[8],x, y, MIX1,MIY1,MIX2,MIY2) then break;
end else findchuanfu;
until false;
closebank;
CMove(656, 185, 0, 0,true);
wait(300);
if anti = 0 then
begin
wait(1000);
CMove(579, 225, 0, 0,true);
CMove(579, 225, 0, 0,true);
CMove(579, 225, 0, 0,true);
CMove(579, 225, 0, 0,true);
end;
Result := true;
end;
procedure tobank;
var x,y,t:integer;
begin
Disguise(Players[0].Name);runs;
wait(1000);
while InFight do wait(500);
BackCity(291, 165);
CMove(696, 101, 0, 0,true);
FFlag(6);
wait(1000);
CMove(673, 125, 0, 0,true);
FFlag(6);
wait(1000);
if not isbank then
begin
tobank;
exit;
end;
BackCity(159, 260);
SMART_ClearCanvasArea(IntToBox(MSX1, MSY1, MSX2, MSY2));
end;
procedure smokedg(a:integer);
var
x,y,t,i,num,action:integer;
color:TIntegerArray;
begin
wait(1000);
case a of
1:
begin
CMove(415, 87, 0, 0,true);
wait(2000);
FFlag(6);
KeyDown(39);
wait(1000);
KeyUp(39);
color:= [4933153,5393444,6248490];
end;
2:
begin
CMove(415, 87, 0, 0,true);
wait(2000);
FFlag(6);
wait(1000);
CMove(683, 37, 0, 0,true);
wait(4000);
FFlag(6);
color:= [9137485,8282950,4142379];
end;
3:
begin
CMove(415, 87, 0, 0,true);
wait(2000);
FFlag(6);
wait(1000);
CMove(683, 37, 0, 0,true);
wait(4000);
FFlag(6);
wait(1000);
CMove(645, 13, 0, 0,true);
wait(4000);
FFlag(6);
color:= [9919829,9525586,6766650];
end;
4:
begin
CMove(415, 87, 0, 0,true);
wait(2000);
FFlag(6);
wait(1000);
CMove(683, 37, 0, 0,true);
wait(4000);
FFlag(6);
wait(1000);
CMove(645, 13, 0, 0,true);
wait(4000);
FFlag(6);
wait(1000);
CMove(554, 82, 0, 0,true);
wait(4000);
FFlag(6);
color:= [4933153,5393444,6248490];
end;
5:
begin
CMove(608, 13, 0, 0,true);
wait(2000);
FFlag(6);
wait(1000);
color:= [4933153,5393444,6248490];
end;
6:
begin
CMove(567, 44, 0, 0,true);
wait(4000);
FFlag(6);
color:= [9137485,8282950,4142379];
end;
end;
CMove(659, 185, 0, 0,true);
wait(500);
for i :=0 to 2 do
begin
CMove(578+i*40, 232, 0, 0,false);
wait(200);
ChooseOption('Drink');
end;
for i :=0 to 1 do
begin
if FindDTM(Q[0],x, y, MIX1,MIY1,MIX2,MIY2) then
begin
CMove(x, y, 0, 0,false);
ChooseOption('Drop');
end;
wait(2000);
end;
MarkTime(t);
repeat
if not LoggedIn then Loginplayer;
KeyDown(112);
wait(50);
KeyUp(112);
MMouse(258, 182, 3, 3);
if FightIt3(color,level) then
begin
wait(4000);
while InFight do
begin
if FindColorTolerance(x, y, 2070783, 718, 18, 744, 43,10) then
if HpCheck() then
begin
FindLoot;
FindLoot;
for i:=0 to 2 do
begin
CMove(694, 110, 0, 0,true);
wait(4000);
end;
exit;;
end;
Randomevent;
if FindLoot then action:=1;
num := 1;
end;
end;
if TimeFromMark(t) > 30*60000 then
begin
CMove(584, 133, 0, 0,true);
wait(4000);
exit;
end;
if num < 3 then begin
if FindLoot then action:=1;
num := num+1;
end else if action=1 then
begin
if a=1 then
begin
CMove(300, 222, 0, 0,false);
end else
CMove(290, 111, 0, 0,false);
ChooseOption('Walk');
action:=0;
end;
Randomevent;
wait(50);
until HpCheck();
FindLoot;
FindLoot;
for i:=0 to 2 do
begin
CMove(694, 110, 0, 0,true);
wait(4000);
end;
end;
procedure GoHome;
var
i,j,x,y,t,a:integer;
isenter:boolean;
begin
tobank;
CMove(631, 158, 0, 0,true);
wait(3000);
FFlag(6);
wait(1000);
CMove(595, 150, 0, 0,true);
wait(20000);
FFlag(6);
wait(1000);
CMove(563, 109, 0, 0,true);
CMove(563, 109, 0, 0,true);
wait(3000);
FFlag(6);
wait(1000);
CMove(590, 82, 0, 0,true);
CMove(590, 82, 0, 0,true);
FFlag(6);
wait(1000);
repeat
MarkTime(t);
while true do
begin
if(TimeFromMark(t)>10000)then GoHome;
if not LoggedIn then Loginplayer;
CMove(246, 161, 0, 0, false);
if(ChooseOption('Open'))then
break;
MMouse(0, 0, 4, 4)
wait(1000);
end;
CMove(668, 134, 0, 0,true);
wait(3000);
until ismoving;
FFlag(6);
wait(2000);
CMove(595, 137, 0, 0,true);
wait(3000);
FFlag(6);
wait(2000);
isenter:=false;
for i:=0 to 3 do
begin
for j:=0 to 5 do
begin
MMouse(150+i*30, 100+j*40, 0, 0);
wait(300);
if WaitUpTextMulti(['Enter'], 50) then
begin
ClickMouse2(true);
isenter :=true;
break;
end;
end;
if isenter then break;
end;
if not isenter then GoHome;
for i:=0 to 6 do
begin
wait(1000);
if FindColorTolerance(x, y, 255, 220, 165, 310, 176,10) then
begin
CMove(265, 168, 0, 0,true);
wait(5000);
break;
end;
end;
a:=GetColor(56,271);
if not a=0 then
begin
writeln('******Wrong*********');
TerminateScript;
end;
CMove(626, 13, 0, 0,true);
wait(5000);
FFlag(6);
smokedg(DragonNumber);
end;
var x,y,t,i,j:integer;
begin
Setup;
while true do
GoHome;
end.