As of now it is a work in progress lots of buggies to work out and such and need to get my dtm more reliable
but .... it:
uses smart
has multiplayer capability (sketchy)
is actually pretty fast (when it works ^.^)
and has a proggy
i would really appreciate some feedback and suggestions on implementing antiban/randoms, which will be difficult because there will be like 10times as many when raising prayer lol
thanks
SCAR Code:
program BoneMe;
{////////////////////////////////////////////
// Currently a work in progress: //
// -Opens SMART //
// -Logs in character //
// -Burries or opens Bank depending //
// on if you have bones //
// -Gets more out of bank and repeats //
// until out of bones or until //
// the number to do has been reached//
////////////////////////////////////////////}
{.include SRL/SRL/misc/SMART.scar}
{.include srl/srl.scar}
var BoneBank,BoneCount,x,y:integer;
const
WorldToUse=123; //smart world to use
procedure Declaration;
begin
HowManyPlayers := 5; //# of Players Used
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :=''; // username
Players[0].Pass :=''; // password
Players[0].Nick :=''; // 3 letters of username
Players[0].Active:=True;
Players[0].Integers[0] := 50; //Amount of bones
Players[0].Strings[0] := 'vwb'; //bank used
Players[0].Strings[1] := 'Big'; //Big or Regular
end;
Procedure LoadDTM;
begin
case Players[currentplayer].strings[1] of
'Big': BoneBank:= DTMFromString('78DA63EC616060F0654001BB366C00D38C503' +
'EE314201182AAA6A9B212554D3390F04755B375D54A54355331ED' +
'AA2929465503728F07AA9A9DEBD7A1A80100E31B0D63');
'Regular': BoneBank:= DTMFromString('78DA63DCCFC0C0E0C78002BA1A1BC0342394C' +
'FB81D48F8A0AAB977F326AA9AA398E6345556A2AAD909248251D5' +
'CC9E300155CD0120E181AA66E9AC99286A004FC90E64');
end;
end;
procedure BuryDemBones;
var i,bones:integer;
begin
bones:=invcount
for i:= 1 to bones do
begin
if ExistsItem(i) then
begin
MouseItem(i,true);
wait(900+random(200));
bonecount:=bonecount+1;
end;
end;
Players[currentplayer].integers[1]:=bonecount;
//writeln('done burrying');
end;
procedure GetDemBones;
begin
OpenBank(Players[currentplayer].strings[0],true,true);
wait(500+random(200));
if BankScreen then
Begin
fixbank;
wait(1000+random(500));
//writeln('bank should be open');
if FindDTM(BoneBank,x,y,4,8,509,366) then
begin
mouse(x,y,2,2,false);
ChooseOption('ll');
end;
end;
if Not(BankScreen) then
begin
logout;
Players[currentplayer].active:=false;
nextplayer(true);
end;
CloseBank;
end;
Procedure Proggy;
var I:integer;
begin
Writeln('-----------------------------------------');
Writeln('- Bone Me!!! ');
Writeln('- by: Rader720 ');
Writeln('-Worked for ' + TimeRunning);
for i:= 0 to HowManyPlayers - 1 do
Begin
Writeln('-Character: ' + Players[i].Nick +
'; Prayer Level= ' +inttostr(Players[i].level[5]) +
' And burried ' + inttostr(Players[i].integers[1]) + ' bones');
end;
Writeln('-----------------------------------------');
end;
begin
ClearDebug;
SmartSetupEx(WorldToUse, false, false);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1118604);
activateclient;
setupsrl;
Declaration;
Repeat
if Players[currentplayer].Active = true Then
begin
BoneCount:=0;
if not(loggedin) then
begin
loginplayer;
Makecompass('N');
SetAngle(True);
end;
if loggedin then
begin
LoadDtm;
Makecompass('N');
SetAngle(True);
repeat
//writeln('into loop');
BuryDemBones;
Wait(1000+random(500));
GetDemBones;
Wait(1000+random(500));
until(bonecount>=Players[currentplayer].integers[0])
Players[currentplayer].active:=false; //you be done
NextPlayer(true);
Freedtm(BoneBank);
end;
end;
until(false)
end.