hamster31
2011-12-18 00:01:09
How Long have You Played Runescape?
9 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Visual Basic, Java – Basic, and now basic Python
Are you a member of any other communities?
Robotzindisguise
Tell us about yourself…
Please show us one (or multiple) of your scripts.
9 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
What is your general programming knowledge?
Visual Basic, Java – Basic, and now basic Python
Are you a member of any other communities?
Robotzindisguise
Tell us about yourself…
From: hamster31
My name is Ham. I live in PA, and love working with computers. Going to university for a finance degree. Messing around with computers is my hobby and learning something new is my passion. I enjoy a challange and try to think outside the box if i have to to get something to work.
Same as before but now I'm reapplying with an updated version of that same script…I hope this is good enough I hope! I hope that this doesn't get shot down :(
Please show us one (or multiple) of your scripts.
{------------------------------Script Info-------------------------------------|
| ScriptName = FaT Summoner |
| Author = Hamster31 |
| Description = Infuses pouches in Tavelery while starting in falador |
| Version = 1.0 |
| Date = 12/17/11 |
| Credit for This Intro goes to Narcle :) |
|==============================================================================|
| Instructions |
|==============================================================================|
| |
| Setup: 1. Start in Falador West Bank |
| 2. Setup Bank Tabs According to the Thread |
| 3. Start Script and just Wait :) |
|______________________________________________________________________________}
program PouchMaker;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
{$i ObjectDTM/ObjDTMInclude.simba}
{$DEFINE PAINT}
{$i srl/srl/misc\stats.simba}
var
xpgain, strtxp,endxp,pm, i, Shard, Pouch, Falador, Wo:Integer;
EverythingPresent:Boolean;
/////////////////////////////////////////////////////////////////////////////
//-----\\\\\\\--\\\\\\\\\-----\\\\\\---------\\\\\\\\--- \\\\\\\\\\--------//
//-----\\-----------\\--------\\----\\-------\\-----\\--------\\-----------//
///////////////////////////// START--HERE /////////\\////////////////////////
//-----------\\-------\\--------\\----\\-------\\----\\---------\\---------//
//------\\\\\\\--------\\--------\\----\\-------\\-----\\--------\\--------//
/////////////////////////////////////////////////////////////////////////////
const
SRLStats_User = ''; // Your SRL Stats ID (If you dont have one then just leave it as it is)
SRLStats_Password = ''; // Your SRL Stats Password (If you dont have one then just leave it as it is)
procedure DeclarePlayers;
begin
HowManyPlayers := 1; //The Number of Players
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
//Player[0] -- For Multiplayer - Replace 0 with the next digit Below..
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 lowercase letters from username; used for random event detection
Players[0].Active := True; // Set to true if you want to use Player 0
Players[0].Pin := ''; // Leave blank if the player doesn't have a bank pin
Players[0].Strings[0] := ''; // Pick one of the following: crimson, blue, gold, green
Players[0].Integers[0] := 0; // The Amount of Shards each Pouch Needs
Players[0].Integers[2] := 0; // Bank Tab the Secondary Items are In
// Player[1] --For Multiplayer - Set Active to TRUE //
//Players[1].Name := ''; // Username
//Players[1].Pass := ''; // Password
//Players[1].Nick := ''; // 3-4 lowercase letters from username; used for random event detection
//Players[1].Active := False; // Set to true if you want to use Player 1
//Players[1].Pin := ''; // Leave blank if the player doesn't have a bank pin
//Players[1].Strings[0] := ''; // Pick one of the following: crimson, blue, gold, green
//Players[1].Integers[0] := 0; // The Amount of Shards each Pouch Needs
//Players[0].Integers[2] := 0; // Bank Tab the Secondary Items are In
end;
/////////////////////////////////////////////////////////////////////////////
//-------------\\\\\\\--\\\\\\\\\----\\\\\\\\-------\\\\\\\\\--------------//
//-------------\\-----------\\--------\\----\\-------\\-----\\-------------//
//////////////////////////// SETUP ENDS HERE /////////\\\\\\\\\//////////////
//-------------------\\-------\\--------\\----\\-------\\------------------//
//--------------\\\\\\\--------\\--------\\\\\\\\-------\\-----------------//
/////////////////////////////////////////////////////////////////////////////
function checkSummoning:Integer;
begin
endxp := getXP(SKILL_SUMMONING);
if(endxp=-1) then
endxp:=GetXP(SKILL_SUMMONING);
if(endxp=-1) then
endxp:=GetXP(SKILL_SUMMONING);
if(endxp=-1) then
endxp:=GetXP(SKILL_SUMMONING);
result:= endxp;
xpgain:=endxp-strtxp;
end;
procedure progress;
var
Texts: array of string;
I: Integer;
begin
Texts := [
'|---------------------------------------------|',
'|FaT Summoner Version 0.2Beta:',
'|---------------------------------------------|',
'|Worked for : ' + TimeRunning,
'|Pouches Made: ' + IntToStr(pm),
'|Experience Gained: ' + inttostr(xpgain),
'|---------------------------------------------|'];
ClearDebug;
for I := 0 to High(Texts) do
begin
WriteLn(Texts[I]);
end;
stats_IncVariable('Summoning EXP (Gained)',xpgain);
stats_IncVariable('Summoning Pouches (Made)',pm);
Stats_Commit;
end;
procedure Summoningsymbol;
var
x,y:integer;
begin
If (findsymbol(x,y,'summoning store')) then
begin
mouse(x,y,1,1,true);
Writeln('Summoning Store Found');
wait(280+random(220));
end else
begin
Writeln('Summoning Store Not Found');
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Walking to Summoning Store';
LogOut;
TerminateScript;
end;
end;
procedure SummonWalk; //Map walks to the Location
var
Path:TStringArray;
I,x,y,t:Integer;
begin
t:=t+1;
Path := ['650:53:2:1:7:661:104:1:7:638:131',
'680:57:2:0:7:662:108:1:7:642:138',
'637:48:2:1:7:586:39:1:7:684:59',
'624:38:3:1:7:607:31:1:7:599:50:1:7:592:38',
'638:47:4:1:7:611:89:1:7:619:68:1:7:602:76:1:7:603:56',
'590:50:4:1:7:602:84:1:7:631:57:1:7:609:109:1:7:593:96',
'618:41:4:1:7:623:69:1:7:650:90:1:7:606:96:1:7:625:113',
'618:41:4:1:7:626:93:1:7:638:84:1:7:639:65:1:7:633:113',
'585:57:3:1:7:637:104:1:7:649:113:1:7:648:132']
for I := 0 to 4 do
begin
WriteLn(i);
ObjDTMWalk(Path[i], 0, 100, 80, True);
wait(500 + random(500));
end;
Makecompass('N');
Setangle(true);
repeat
wait(t);
until (Not IsMoving)
If findobjcustom(x,y,['usician'], [3809126, 1314405],20) then
begin
writeln('Musician Found');
if (Not runenergy(70)) then
begin
MMouse(x,y,1,1);
mousebox(x,y,x+1,y+2,2);
wait(400);
Chooseoption('isten-to');
wait(5000);
for I := 5 to 8 do
begin
WriteLn(i);
ObjDTMWalk(Path[i], 0, 100, 80, True);
wait(500 + random(500));
end;
end else
begin
writeln('No need for Musician');
for I := 5 to 8 do
begin
WriteLn(i);
ObjDTMWalk(Path[i], 0, 100, 80, True);
wait(500 + random(500));
end;
end;
end else
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Walking to Musician';
LogOut;
Exit;
end;
end;
procedure checkgate;
var
x,y:integer;
begin
Setangle(true);
if (findobjcustom(x,y,['lose'],[8420225,8354175,7959417],5)) then
begin
Writeln('Gate Open');
summoningsymbol;
end else
begin
Mouse(x,y,1,1,true);
Writeln('Gate Closed - Opening Gate');
wait(500+ random(250));
summoningsymbol;
end;
end;
procedure BacktoBank; //Return Path to the Bank After teleport
var
x,y:integer;
t:integer;
begin
if FindNormalRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Inactive.';
Exit;
end else
t := t+100;
MakeCompass('N');
Mouse(565,96,2,2,true);
wait(500);
repeat
wait(t);
until (Not IsMoving)
if (findcolortolerance(x,y,4803234 or 4738201,MMX1,MMY1,MMX2,MMY2,20)) then
begin
mouse(x,y,2,2,true);
Writeln('Bank Found');
end else
if findsymbol(x,y,'bank') then
begin
Mouse(x,y,5,5,true);
Writeln('Could not find color but found the next best thing - Bank Symbol');
t:=0;
end
end;
procedure findTD;
var
x,y,t:integer;
begin
t:=t+100;
if (findobjcustom(x,y,['pen','limb'],[855309, 921102, 798517],5))then
begin
Writeln('TrapDoor found');
movemouse(x,y);
If(WaitUptext('Open', 300)) then
begin
Mouse(x, y, 0, 0, true);
Writeln('TrapDoor');
repeat
wait(t);
until (not IsMoving)
wait(300);
mousebox(232,154,251,152,1);
end else
If(WaitUptext('Climb', 300)) then
begin
Mouse(x, y, 0, 0, true);
Writeln('TrapDoor');
end;
end;
end;
procedure TrapDoor;
var
x,y,t: integer;
begin
repeat
wait(t);
until (Not isMoving)
Writeln('Trying to Find TrapDoor');
if FindNormalRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Inactive.';
Exit;
end else
t:=t+1000;
Makecompass(115+random(5));
setangle(true);
wait(1000 + random(500));
repeat
wait(t);
until (Not IsMoving)
if (Findcolortolerance(x,y,859681,MSX1,MSY1,MSX2,MSY2,30)) then
begin
findTD;
end else
begin
summoningsymbol;
repeat
wait(t);
until (Not IsMoving)
findTD;
end;
end;
procedure MakePouch;
var
x,y,c,t,a,b:integer;
begin
if FindNormalRandoms then
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Inactive.';
Exit;
end else
c := 105 + random(30);
makecompass(c);
repeat
wait(t);
t := t+1;
until (not IsMoving) or (t>=1000)
wait(1000 + random(500));
if (findobjcustom(x,y,['nfuse','ouch'],[2389103, 2058596, 2058082,1992032],5)) then
begin
writeln('Obelisk Found');
movemouse(x,y);
wait(500+ random(250));
mouse(x,y,0,0,true);
repeat
wait(t);
until (Not IsMoving)
if (findcolor(a,b,105157,200,35,210,45)) then
begin
Mousebox(50,71,75,80,3);
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(1000 + random(50));
ChooseOption('use-All');
Wait(1000 + random(500));
mousebox(690,222,710,227,1);
pm:=pm+24;
checksummoning;
end else
begin
Writeln('Checkbox not toggled - Toggling Checkbox');
wait(200);
Mousebox(200,35,210,45,1);
Mousebox(50,71,75,80,3);
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(1000 + random(50));
ChooseOption('use-All');
Wait(1000 + random(500));
mousebox(690,222,710,227,1);
pm:=pm+24;
checksummoning;
end;
end;
end;
procedure WithdrawItems;
var
x,y: integer;
begin
if FindNormalRandoms then //finds randoms and if in random, logs out if
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Inactive.';
Exit;
end else
makecompass('N');
if OpenBank(Players[CurrentPlayer].Loc, False, False) then
begin
BankTab(Players[CurrentPlayer].Integers[2]);
MouseBox(45, 100, 60, 113, 3);
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(380 + random(50));
ChooseOption('raw-All');
end;
end;
CloseBank;
MMouse(711,438,2,2);
wait(1000);
if (Waituptext('pouch',1000)) then
begin
logout;
TerminateScript;
end;
Wait(750 + random(200));
end;
procedure WithdrawBank; //Finding Bank Procedure
var
Tr, Bo: integer;
x, y: integer;
begin
if FindNormalRandoms then //finds randoms and if in random, logs out if
if not LoggedIn then
begin
Players[CurrentPlayer].Active := False;
Players[CurrentPlayer].Loc := 'Inactive.';
Exit;
end else
makecompass('N');
setangle(false);
if BankScreen = false then
begin
writeln('Trying to open bank..');
MakeCompass('N');
SetAngle(true);
OpenBankFast('fwb');
end;
repeat
wait(10);
Tr := Tr +1;
until (Tr = 1000) or (BankScreen = true);
if BankScreen = True then
begin
Writeln('Bank successfully Opened');
wait(1000 + random(1000));
if BankScreen then
begin
Wait (200 + Random(300));
FixBank;
if (InvFull) then
Mousebox(570, 260, 585, 265, 3);
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait(380 + random(50));
ChooseOption('sit-All');
end;
ActivateClient;
WithdrawItems;
end;
end else
if BankScreen = False then
begin
Bo := Bo + 1;
writeln('Lets Try that again - ' + IntToStr(Bo) + ' Times');
if (Bo >= 5) then
begin
writeln('Could not Find Bank, Logging Out Now'); //Logout;
NextPlayer(false);
TerminateScript;
end;
end;
CloseBank;
end;
procedure FreeAllDTMs;
begin
FreeDTM(Shard);
FreeDTM(Players[CurrentPlayer].Integers[1]);
FreeDTM(Pouch);
FreeDTM(Falador);
end;
procedure InvSetup;
var
CharmAmount, ShardAmount, x, y : Integer;
begin
Shard := DTMFromString('mFQEAAHicncw7CoAwEEXRp4X/KEqEBPffuAg79+UNDoid5sKphnlOUq27Bh1GONOiQqmnAZPd0k+PGR4BGyJWLLaXnMduS995/a/I8OoCm1kDsQ==');
Pouch := DTMFromString('mVAEAAHicE2BgYOADYiYGBOACYmEgZoHyZZGwJFS9FBALAjErlOYEYh4gFkNSC1IjADWLH6pXGioHsoMRau+8WR1QFnlYhIEywEghRgcAu7MEEg==');
Falador := DTMFromString('mFQEAAHic42VgYOCDYgkgFgJiaSCWgWJJIGaGyoP4MMDLgAqYgJgViMWBWAoJ80DFQPrbZs2GqiQeizCQDhjJwCgAAKRFA4s=');
for i:= 0 to (HowManyPlayers - 1) do
begin
case LowerCase(Players[i].Strings[0]) of
'crimson': Players[i].Integers[1] := DTMFromString('mAAEAAHic42FgYOADYjYgFgFiXiAWB2IpIJZGwiJQNSB5HgZUwAyV4wZifqhaKSQcoyADJJmIxiIMpAFGEjEyAACnJwJK');
'gold': Players[i].Integers[1] := DTMFromString('m6wAAAHic42ZgYGAHYlEoDQJ8UL4IEAtC+TA5HiDmBmIpJAxSxwbEzAyoICvSGkgyEYVFGIgHjCRgJAAAbVUCPw==');
'green': Players[i].Integers[1] := DTMFromString('mAAEAAHic42FgYOAHYjEglgRiGSCWBWI5KC0JleOAqmMFYh4GCGAGYjYg5gRiXiAWAWJxIJZCwhJAnFOcDCSZSMCkAUYSMTIAAENdAyo=');
'blue': Players[i].Integers[1] := DTMFromString('m6wAAAHic42ZgYOABYjYgFgZiMSDmBWJJIJYCYlaovDCULwDELFDMDqW5oPJySFgCZA4PSCcTUViEgXjASAJGAgA5EAHP');
else
writeln('Please Choose Right Charms');
end;
OpenBankFast('fwb');
wait(500);
Setangle(true);
If (bankscreen) then
begin
DepositAll;
Players[CurrentPlayer].Strings[0] := Capitalize(Players[CurrentPlayer].Strings[0]);
SearchBank(Players[CurrentPlayer].Strings[0] + ' Charm');
wait(1000);
if (Finditem(x,y,'dtm',Players[CurrentPlayer].Integers[1],MSX1,MSY1,MSX2,MSY2,[10])) then
begin
wait(500);
CharmAmount := GetAmountBox(IntToBox(x-22,y-22,x+22,y+22));
ShardAmount := (CharmAmount*Players[i].Integers[0]);
Writeln('Possible Pouches: ' + IntToStr(CharmAmount));
Writeln('Shards Needed: ' + IntToStr(ShardAmount));
Withdrawitem(Players[CurrentPlayer].Integers[1],'dtm',CharmAmount,Players[CurrentPlayer].Strings[0],[10]);
Wait(1000);
SearchBank('Shard');
wait(1000);
if (InvCount>=1) then
begin
if Finditem(x,y,'dtm',Shard,MSX1,MSY1,MSX2,MSY2,[0]) then
begin
WithdrawItem(Shard,'dtm',ShardAmount,'Spirit',[0]);
Writeln('Shards Withdrawn');
SearchBank('Pouch');
if (InvCount>=2) then
begin
wait(500+random(500));
If finddtm(Pouch,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
Wait(1000);
Mouse(x,y,0,0,false);
Wait(500);
ChooseOption('raw-X');
wait(380+random(20));
TypeSend(IntToStr(CharmAmount));
Writeln('Pouches Withdrawn');
end else
Writeln('Pouches Not Found');
SearchBank('Falador');
If FindDtm(Falador,x,y,MSX1,MSY1,MSX2,MSY2) then
begin
WithdrawItem(Falador,'dtm',CharmAmount,'Falador',[0]);
Writeln('Falador Tablets Withdrawn');
CloseBank;
end else
begin
Writeln('Falador Tablets not found');
FreeAllDtms;
Exit;
end;
end else
begin
Writeln('Pouches not found');
FreeAllDtms;
Exit;
end;
end else
begin
Writeln('Shards not found');
FreeAllDtms;
Exit;
end;
end;
end else
begin
Writeln('Charms not found');
FreeAllDTMs;
Exit;
end;
end else
begin
Writeln('Bank not found');
FreeAllDTMs;
TerminateScript;
end;
end;
end;
procedure checkInventory;
var
x,y,SA:integer;
begin
If (InvCount=4) then
begin
InvMouse(1,3);
If WaitUpText('harm',300) then
begin
Writeln('Charms Present');
InvMouse(2,3);
If WaitUpText('hard',300) then
begin
Writeln('Shards Present');
GetMousePos(x,y);
SA := GetAmountBox(inttobox(x-22,y-22,x+22,y+22));
if (SA<Players[CurrentPlayer].Integers[0]) then
begin
terminatescript;
end else
InvMouse(3,3);
If WaitUpText('ouch',300) then
begin
Writeln('Pouches Present');
InvMouse(4,3);
If WaitUpText('ador',300) then
begin
Writeln('Teletabs Present');
EverythingPresent := true;
end else
begin
Writeln('Teletabs Not Present');
Exit;
end;
end else
begin
Writeln('Pouches Not Present');
Exit;
end;
end else
begin
Writeln('Shards Not Present');
Exit;
end;
end else
begin
Writeln('Charms Not Present');
Exit;
end;
end;
end;
procedure stats;
begin
if (stats_Username = '') then
begin
stats_Username := 'Anonymous';
stats_Userpass := 'anon1337';
end;
end;
Procedure Mainloop;
begin
Writeln('Lets Begin!');
begin
repeat
repeat
checkinventory; //Checks if Inventory is correct;
if (EverythingPresent = true) then
begin
withdrawbank; //Withdraws items
SummonWalk; // Walks to the the place
CheckGate; //Checks to see if gate is open
TrapDoor; //Finds and Enters Trapdoor
MakePouch; //Infuses Pouch
wait(6000 + random(2000)); //Random Wait
BacktoBank; //Walks back to Bank
progress;
end else
InvSetup; //Setup Inventory
until(not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
until(false); //KEEPS ON GOING
end;
end;
begin
smart_server := 1;
smart_members := true;
smart_signed := true;
smart_superDetail := false;
clearDebug();
setupSRL();
LoadObjects;
ActivateClient;
DeclarePlayers;
SetupSRLStats(329, SRLStats_User, SRLStats_Password);
if not loggedin then
loginplayer;
stats;
strtxp:=GetXP(SKILL_SUMMONING);
wait(300+ random(200));
Mainloop;
TerminateScript;
end.