BraK
2012-11-06 11:57:24
Well, I have been working on this for about a month now,
What it Does
This script makes all f2p gold stuff at the edgeville and al-khirad furnaces.
It (strings the ammys), enchants them, and Alc's them.
(Only 14 gold amulets each stringing run, not 28(Makes 14 and banks 14)).
Requirements
-Lv 8 Crafting
-Amulet Mold
-Gold Bars
Optional
-Lv 40 Smith( For making Gold Bars )
-Lv 24+ Crafting( For Sapphire ammys and up ).
-Lv 7+ Magic( For Lv 1 Enchant and up ).
-lv 55 Magic for high Alc ( Low alc would be to useless )
-Ores,
-Gems,
-wool,
-Staff.
How to Setup
(If your in edgeville, stand right beside the northern banker)
(If your in al-khirad, stan infront of bankers anywhere)
-Gold bars(Ores optional) in 1st bank slot.
-Gems in 2nd bank slot.
-Balls of wool in 3rd bank slot.
-Cosmic runes in 4th bank slot.
-Nature runes in 5th bank slot.
-Fire runes in 6th bank slot.(Unless useing rubys)
Note*: If no Cosmic runes or wool, but you still want to alc,
put something grey here.
( Optional) Staff for enchant spell.(Need staff to enchant.)
-( Optional) Runes for spells.
-Setup 'al-khirad' or 'edgeville'.
-setup 'make' or 'use' bars.
-setup 'gold' or 'gems'.
-setup 'yes' or 'no for Alch.
-Setup GemType For Proggy.
-Set XP bar to Crafting.
optional XP Setup: ( Crafting, Magic, Smelting)
In That Order.
-setup what your making( for Proggy ).
Thanks to NKN for his help with proggys and antiban,
and everyone else who wrote tuts(I read allot figuring out little stuff).
Here it is!
What it Does
This script makes all f2p gold stuff at the edgeville and al-khirad furnaces.
It (strings the ammys), enchants them, and Alc's them.
(Only 14 gold amulets each stringing run, not 28(Makes 14 and banks 14)).
Requirements
-Lv 8 Crafting
-Amulet Mold
-Gold Bars
Optional
-Lv 40 Smith( For making Gold Bars )
-Lv 24+ Crafting( For Sapphire ammys and up ).
-Lv 7+ Magic( For Lv 1 Enchant and up ).
-lv 55 Magic for high Alc ( Low alc would be to useless )
-Ores,
-Gems,
-wool,
-Staff.
How to Setup
(If your in edgeville, stand right beside the northern banker)
(If your in al-khirad, stan infront of bankers anywhere)
-Gold bars(Ores optional) in 1st bank slot.
-Gems in 2nd bank slot.
-Balls of wool in 3rd bank slot.
-Cosmic runes in 4th bank slot.
-Nature runes in 5th bank slot.
-Fire runes in 6th bank slot.(Unless useing rubys)
Note*: If no Cosmic runes or wool, but you still want to alc,
put something grey here.
( Optional) Staff for enchant spell.(Need staff to enchant.)
-( Optional) Runes for spells.
-Setup 'al-khirad' or 'edgeville'.
-setup 'make' or 'use' bars.
-setup 'gold' or 'gems'.
-setup 'yes' or 'no for Alch.
-Setup GemType For Proggy.
-Set XP bar to Crafting.
optional XP Setup: ( Crafting, Magic, Smelting)
In That Order.
-setup what your making( for Proggy ).
Thanks to NKN for his help with proggys and antiban,
and everyone else who wrote tuts(I read allot figuring out little stuff).
Here it is!
program MikeysHardcoreF2PGoldCrafter; // V 5.0
{$DEFINE SMART}
{$DEFINE SRL5}
{$i SRL/srl.simba}
// To Test: bankwalk Tol
Var
x, y, sx, sy, ex, ey, rx, ry, dx, dy, nx, ny, Ammy, GoldBar, GoldAmmy, Nature,
AmmysStrung, SpellsCast, OreSmelt, XpStart, XpCraft, XpSmelt, XpMage: integer;
const
AmmysToMake = 1000; // How many bars to use//
RunAtEnergy = 70; // % to run at //
WhatFurnace = 'edgeville'; // 'al-khirad' or 'edgeville'//
WhatToCraft = 'ammy'; //'ammy', 'ring', 'necklace'//
MakeOrUse = 'make'; // 'make' or 'use' bars? //
GoldOrGems = 'gems'; // Use 'gold' bars, or 'gems' //
WantToAlc = 'yes'; // 'yes' or 'no' //
WhatYouMakin = ''; // used for Proggy, you can put anything here //
Procedure DeclarePlayers;
begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
with Players[0] do
begin
Name := ''; //Edit this
Pass := ''; //Edit this
BoxRewards := ['amp'];
LampSkill := SKILL_PRAYER; // Maybe this?
Pin := ''; // And this
Active := True;
end;
/////////////////////////Next Account////////////////////////////////////
with Players[1] do
begin
Name := '';
Pass := '';
BoxRewards := ['amp'];
LampSkill := SKILL_PRAYER;
Pin := '';
Active := True;
end;
end;
//////////////////VERY DELLICATE SCRIPT DON'T TOUCH BELOW THIS//////////////////
procedure SetupStuff;
begin
GoldBar := DTMFromString('m1gAAAHic42JgYKhjZmDoBuIeIO4E4lYgbgDiCiAuBuIiKNuJkYHBFoidgdgNiL2A2B+IfYHYG4hdgNgOiBc1iAFNZSKI4xmIA4xEYgQAAEl0CZk=');
GoldAmmy := DTMFromString('mWAAAAHicY2FgYJgFxDOBeBoQzwdiZ0YGBjsgdoLiHYekGbZvlQTTDXVCDLOBaviRMCMaBgEAIF0KAQ==');
Nature := DTMFromString('mlwAAAHicY2dgYHBmYmDwB+IAIPYAYksgNgViEyAWZ2RgEARiSSBWAWJlIJYFYjGQeIUwUDcTVpzMgBsw4sFQAACkegO2');
end;
Procedure FreeTheStuff;
begin
FreeDTM(GoldBar);
FreeDTM(GoldAmmy);
FreeDTM(Nature);
end;
Procedure ClickFurnace;
var
fx, fy : integer;
begin
If (Not LoggedIn) Then Exit;
Case Lowercase(WhatFurnace) of 'al-khirad':
begin
If FindObjCustom(fx, fy, ['urn', 'nace'], [6140882, 11254214, 9279908, 9028528], 5) Then
Wait(100 + random(300));
IsUpText('urnace');
Mouse(fx, fy, 2, 2, True);
Writeln('Clicked the furnace');
end;
end;
////////////////////////////////////////////////////////////////////////////////
Case Lowercase(WhatFurnace) of 'edgeville':
begin
wait(1500 + Random(200));
MouseBox(243, 103, 261, 105, Mouse_Right);
WaitOption('urnace', 200);
Writeln('Clicked the furnace');
end;
end;
end;
Procedure BankScreenClick;
var
bx, by : integer;
begin
If Not (LoggedIn) Then TerminateScript;
GameTab(tab_Inv);
If BankScreen Then Exit;
FindSpinTicket;
Case Lowercase(WhatFurnace) of 'al-khirad':
begin
repeat
If FindObjCustom(bx, by, ['ank bo', 'nk booth'], [3951438, 9943523, 5595247, 5397867], 3) Then
Wait(500 + Random(100));
IsUpTextMultiCustom(['ank bo', 'nk booth']);
Mouse(bx, by, -1, 1, True);
Wait(3000 + Random(400));
Until Bankscreen;
end;
end;
/////////////////////////////////////////////////////////////////////
Case Lowercase(WhatFurnace) of 'edgeville':
begin
MouseBox(277, 163, 297, 181, Mouse_Left);
Wait(1800 + Random(200));
If Not Bankscreen Then
repeat
If FindObjCustom(bx, by, ['alk-to', 'ounter'], [4082768, 3885646, 3951438], 4) Then
WaitUpTextMulti(['alk-to', 'ounter'], Random(200));
If IsUpTextMultiCustom(['ank', 'ounter']) Then
Mouse(bx, by, 2, -1, True);
Wait(2300 + Random(200));
If IsUpText('alk-to') Then
Mouse(bx, by,1, 1, False);
WaitOption('ank Ban', 200);
Wait(2300 + Random(200));
Until Bankscreen;
end;
end;
FindNormalRandoms;
end;
Procedure GemsNGold;
var
bx, by, MakeGold : integer;
begin
MakeGold := DTMFromString('mbQAAAHicY2VgYChiZmAoAOJKIE4B4lIglmViYNAEYgUglgFiMSC+tFwWqJoJBUsyYAJGLBgMAHu8BKc=');
Writeln('about to click stuff');
Case Lowercase(MakeOrUse) of 'use':
begin
repeat
InvMouse(1, Mouse_Left);
ClickFurnace;
Wait(3500 + Random(200));
Until FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
end;
end;
Case Lowercase(MakeOrUse) of 'make':
begin
repeat
ClickFurnace;
Wait(1800 + Random(200));
Writeln('About to make bar');
Until FindDTM(MakeGold, x, y, MCX1, MCY1, MCX2, MCY2);
If FindDTM(MakeGold, x, y, MCX1, MCY1, MCX2, MCY2) Then
repeat
FindDTM(MakeGold, x, y, MCX1, MCY1, MCX2, MCY2);
Mouse(x, y, 2, 2, True);
Case Lowercase(GoldOrGems) of 'gold':
begin
OreSmelt := OreSmelt + 28
Wait(71000 + Random(500));
end;
end;
case Lowercase(GoldOrGems) of 'gems':
begin
OreSmelt := OreSmelt + 14
WriteLn('Made Bars');
Wait(37500 + Random(500));
end;
end;
Until FindDTM(GoldBar, x, y, MIX1, MIY1, MIX2, MIY2);
repeat
InvMouse(1, Mouse_Left);
ClickFurnace;
Wait(2000 + Random(200));
Until FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
end;
end;
FreeDTM(MakeGold);
end;
Procedure ClickAmmy;
Var
SAmmy, EAmmy, RAmmy, DAmmy : integer;
begin
SAmmy := DTMFromString('mbQAAAHicY2VgYJjBxMAwHYjnAvEkIJ4NxNGMDAwpQJwExHGMEL6k3E6G2zflGDwdTBge3pcH03JA/VxomBELBgMAGl4LTg==');
EAmmy := DTMFromString('mWAAAAHicY2FgYFjBxMCwHIjXAvESILZgZGCwh2IrIJbcIsvw6oUiw7o1EmDaCKhHEgkzomEQAAAyEApk');
RAmmy := DTMFromString('mWAAAAHicY2FgYBBnZGCQAGJZIBYGYlEgloSyhYD4g6ESw+2b8gyLF4kz3LsjzzAbqIcLiFmhmBENgwAAaN0HvQ==');
DAmmy := DTMFromString('mbQAAAHicY2VgYDBkZmDQZobQFlA6hRGCM6B0HBD//fSJ4cM7ZYYH9xQYPOyMwVgSqJ8fDTNiwWAAAOzEC44=');
Case Lowercase(GoldOrGems) of 'gold':
begin
repeat
If FindDTM(GoldAmmy, nx, ny, MSX1, MSY1, MSX2, MSY2)Then
FindDTM(GoldAmmy, nx, ny, MSX1, MSY1, MSX2, MSY2);
Mouse(x, y, 1, 1, False);
Wait(400 + Random(150));
ChooseOption('ll Gold Amm');
Wait(800 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(52000 + Random (1000));
end;
end;
Case Lowercase(GoldOrGems) of 'gems' :
begin
repeat
begin
If FindDTM(SAmmy, sx, sy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(sx, sy, 1, 1, False);
If FindDTM(EAmmy, ex, ey, MSX1, MSY1, MSX2, MSY2)Then
Mouse(ex, ey, 1, 1, False);
If FindDTM(RAmmy, rx, ry, MSX1, MSY1, MSX2, MSY2)Then
Mouse(rx, ry, 1, 1, False);
If FindDTM(DAmmy, dx, dy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(dx, dy, 1, 1, False);
end;
ChooseOption('All');
Wait(900 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(26000 + Random (500));
end;
end
FreeDTM(SAmmy);
FreeDTM(EAmmy);
FreeDTM(RAmmy);
FreeDTM(DAmmy);
end;
Procedure ClickRing;
var
GoldRing, SRing, ERing, RRing, DRing : integer;
begin
GoldRing := DTMFromString('mbQAAAHicY2VgYJBmZGCQAWIRIFYEYikgvgoUvwDEVxgg7FtA7OFgzHDvgALD+3NKDCfWyDI8PKzAYA4UZ0XDjFgwGAAALS0Mtg==');
SRing := DTMFromString('mbQAAAHicY2VgYPBiZGBwAWJvIA4EYl8gvgoUvwLEtxgg7DNA7OFgzLB6sgTDtR3yDKfXyzLIKZ1nkASKsyJhcyBmxILBAABCNgxu');
ERing := DTMFromString('mWAAAAHicY2FgYOhjZGBoB+IpQDwZiM8wQPAFID4ExJ4OJgx/b6kwrJgowSC1VY5BEijGCsXmQMyIhkEAAGB2CsM=');
RRing := DTMFromString('mWAAAAHicY2FgYNjDyMCwBYj3A/EBID7FAMEXgPggEHs6mDD8uqHCcHe/AsMXY2UGSaAYKxSbAzEjGgYBALYCDDQ=');
DRing := DTMFromString('mWAAAAHicY2FgYHjJyMDwCIjfAPFbID4DFDsJxBeA+BAQezqYMBxeIcNwd78Cw99PnxgkgWKsUGwOxIxoGAQAFmQOEw==');
Case Lowercase(GoldOrGems) of 'gold':
begin
repeat
If FindDTM(GoldRing, nx, ny, MSX1, MSY1, MSX2, MSY2)Then
Mouse(nx, ny, 1, 1, False);
Wait(400 + Random(150));
ChooseOption('ll Gold Ring');
Wait(800 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(52000 + Random (1000));
end;
end;
Case Lowercase(GoldOrGems) of 'gems' :
begin
repeat
begin
If FindDTM(SRing, sx, sy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(sx, sy, 1, 1, False);
If FindDTM(ERing, ex, ey, MSX1, MSY1, MSX2, MSY2)Then
Mouse(ex, ey, 1, 1, False);
If FindDTM(RRing, rx, ry, MSX1, MSY1, MSX2, MSY2)Then
Mouse(rx, ry, 1, 1, False);
If FindDTM(DRing, dx, dy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(dx, dy, 1, 1, False);
end;
ChooseOption('All');
Wait(900 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(26000 + Random (500));
end;
end;
FreeDTM(SRing);
FreeDTM(ERing);
FreeDTM(RRing);
FreeDTM(DRing);
FreeDTM(GoldRing);
end;
Procedure ClickNeck;
var
GNeck, SNeck, ENeck, RNeck, DNeck : integer;
begin
GNeck := DTMFromString('mWAAAAHicY2FgYJgKxIuAeBIQzwJIfkYGhl9AmhtI8wLx9Z1yDIeWSzPc3SfPcGqdDIMRUE4SiFmhmBENgwAAN38KZQ==');
SNeck := DTMFromString('mWAAAAHicY2FgYDgOxGeB+BgQXwViXkYI5gDi30C+pOwWhiMrpRn2LZZiuLFLjkEZKMYKxfxAzIiGQQAAO04KMQ==');
ENeck := DTMFromString('mWAAAAHicY2FgYPgBxYyMDAxsQMwLxOxAzAXEv4HiEutlGLbPk2TYt1iK4e0ZRQZloBgrFPOD9KFhEAAA5HIJAA==');
RNeck := DTMFromString('mWAAAAHicY2FgYNBmZGDQAmIDILYAYj4gZgdibiD+DZS/pyvPsHO+FMOZDTIM784qMpgDxViRMCMaBgEAlLMIPg==');
DNeck := DTMFromString('mWAAAAHicY2FgYIhlhOBUIM4HYh4g5gRibiD+B5T//OIFw/E1MgyHlkszfL6oxGAOFGOFYn4gZkTDIAAAKikKyA==');
Case Lowercase(GoldOrGems) of 'gold':
begin
repeat
If FindDTM(GNeck, nx, ny, MSX1, MSY1, MSX2, MSY2) Then
Mouse(nx, ny, 1, 1, False);
Wait(400 + Random(300));
ChooseOption('ll Gold Ring');
Wait(800 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(52000 + Random (1000));
end;
end;
Case LowerCase(GoldOrGems) of 'gems' :
begin
repeat
begin
If FindDTM(SNeck, sx, sy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(sx, sy, 1, 1, False);
If FindDTM(ENeck, ex, ey, MSX1, MSY1, MSX2, MSY2)Then
Mouse(ex, ey, 1, 1, False);
If FindDTM(RNeck, rx, ry, MSX1, MSY1, MSX2, MSY2)Then
Mouse(rx, ry, 1, 1, False);
If FindDTM(DNeck, dx, dy, MSX1, MSY1, MSX2, MSY2)Then
Mouse(dx, dy, 1, 1, False);
end;
ChooseOption('All');
Wait(900 + Random(100));
Until Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2);
Wait(26000 + Random (500));
end;
end;
FreeDTM(GNeck);
FreeDTM(SNeck);
FreeDTM(ENeck);
FreeDTM(RNeck);
FreeDTM(DNeck);
end;
Procedure GetGems;
var
AGem, GoldOre : integer;
begin
AGem := DTMFromString('mlwAAAHicY2dgYPBkYmAIBWJ/IPYGYicgdoTSRYwMDNVAXA/ETUDcAMS1QFwGxAsnLgbqZsKKzRlwA0Y8GAoAPIcHmg==');
GoldOre := DTMFromString('mbQAAAHicY2VgYEhkYmDIA+JsII4E4kAgtmRkYDACYkcgdgFiCyDeOVkaqJoJBc9mwASMWDAYAACQcwUw');
BankScreenClick;
If Not BankScreen Then Logout;
Case LowerCase(MakeOrUse) of 'use':
begin
Wait(1000 + Random(200));
If FindDTM(GoldBar, x, y, MBX1, MBY1, MBX2, MBY2) Then
repeat
Case Lowercase(GoldOrGems) of 'gold' :
begin
If BankScreen Then
DepositAll;
Withdraw(0, 0, 28);
Wait(1000 + Random(200));
WriteLn('Got some Gold');
end;
end;
Case Lowercase(GoldOrGems) of 'gems' :
begin
If Not FindDTM(AGem, x, y, MBX1, MBY1, MBX2, MBY2) Then Logout;
If BankScreen Then
DepositAll;
Withdraw(0, 0, 14);
Wait(500 + Random(200));
Withdraw(1, 0, 14);
WriteLn('Got some gems');
end
end;
until FindDTM(GoldBar, x, y, MIX1, MIY1, MIX2, MIY2);
CloseBank;
end;
end;
Case Lowercase(MakeOrUse) of 'make':
begin
repeat
If Not FindDTM(GoldOre, x, y, MBX1, MBY1, MBX2, MBY2) Then Logout;
If Not FindDTM(GoldOre, x, y, MIX1, MIY1, MIX2, MIY2) Then
Case Lowercase(GoldOrGems) of 'gold' :
begin
If BankScreen Then
DepositAll;
Withdraw(0, 0, 28);
Wait(1000 + Random(200));
WriteLn('Got some Ores');
end;
end;
Case Lowercase(GoldOrGems) of 'gems' :
begin
If Not FindDTM(AGem, x, y, MBX1, MBY1, MBX2, MBY2) Then Logout;
If BankScreen Then
DepositAll;
Withdraw(0, 0, 14);
Wait(300 + Random(200));
Withdraw(1, 0, 14);
WriteLn('Got some gems');
end;
end;
Until FindDTM(GoldOre, x, y, MIX1, MIY1, MIX2, MIY2);
CloseBank;
end;
end;
FindNormalRandoms;
FreeDTM(AGem);
FreeDTM(GoldOre);
end;
Procedure RadialWalking(FurnaceWalkin: Integer);
begin
If (Not LoggedIn) Then Exit;
Case FurnaceWalkin of
/////////////////////////////////Al-Khirad//////////////////////////////////////
1: RadialWalkTolerance(9547453, 30, 50, 53, 3, 2, 20);
2: RadialWalkTolerance(602204, 27, 40, 60, -5, 5, 20);// Path to furnace
/////////////////////////////////////////////////////////////////////////////////
3: RadialWalkTolerance(9547453, 212, 223, 65, 3, -3, 20);
4: RadialWalkTolerance(12632256, 198, 250, 65, 2, 2, 25); // Path to bank
end;
end;
Procedure FurnaceWalk;
var
i : integer;
begin
If (Not LoggedIn) Then Exit;
RunEnergy(RunAtEnergy);
FindSpinTicket;
Case Lowercase(WhatFurnace) of 'al-khirad':
begin
repeat
GameTab(Tab_Inv);
for i := 1 to 2 do
RadialWalking(i);
Wait(500 + Random(100));
Until FindObjCustom(x, y, ['Furn', 'nace'], [6141140, 10398647, 10596026, 7437187, 6712197], 5);
Wait(500 + Random(100));
end;
end;
//////////////////////////////////////////////////////////////////////
Case Lowercase(WhatFurnace) of 'edgeville':
begin
repeat
RadialWalkTolerance(4080960, 334, 335, 60, 1, 5, 25);
until FindObjCustom(x, y, ['urn', 'nace'], [3817539, 1449880, 7833738], 10);
end;
end;
FindNormalRandoms;
Writeln('Walked to furnace');
end;
Procedure MakeStuff;
begin
GemsNGold;
repeat
If Not FindDTM(GoldAmmy, x, y, MSX1, MSY1, MSX2, MSY2) Then Exit;
Case Lowercase(WhatToCraft) of 'ammy': ClickAmmy;
end;
Case Lowercase(WhatToCraft) of 'ring': ClickRing;
end;
Case Lowercase(WhatToCraft) of 'necklace': ClickNeck;
end;
Until Not FindDTM(GoldBar, x, y, MIX1, MIY1, MIX2, MIY2);
Case Lowercase(GoldOrGems) of 'gold': Ammy := Ammy + 28
end;
Case Lowercase(GoldOrGems) of 'gems' : Ammy := Ammy + 14
end;
RunEnergy(RunAtEnergy);
Writeln('We made some Stuff!');
end;
Procedure BankWalk;
var
r : integer;
begin
If (Not LoggedIn) Then Exit;
FindSpinTicket;
Case Lowercase(WhatFurnace) of 'al-khirad':
begin
repeat
RunEnergy(RunAtEnergy);
for r := 3 to 4 do
RadialWalking(r);
Writeln('walked to the Bank');
Wait(500 + Random(100));
FindNormalRandoms;
Until FindObjCustom(x, y, ['ank bo', 'nk booth'], [9087440, 3554889, 6910075, 9548507, 3159871], 12);
end;
end;
/////////////////////////////////////////////////////////////////////////
Case Lowercase(WhatFurnace) of 'edgeville':
begin
RadialWalkTolerance(4082770, 146, 151, 52, 3, 1, 25);
Wait(1300 + Random(100));
end;
end;
end;
Procedure StringAmmy;
var
wx, wy, Amm, Wool, AllAm : integer;
begin
Wool := DTMFromString('mbQAAAHicY2VgYIgH4lwgTgPicCCOAuLZULwMiJcA8QwgfnjjOpBkQsHeDJiAEQsGAwBbkQfp');
Amm := DTMFromString('mWAAAAHicY2FgYPjPCMHsTAwM34G0FZDWA2JrIDYDYm4De6AqJjiWZEAFjGgYBABBdASE');
AllAm := DTMFromString('mWAAAAHicY2FgYPBiYmAIAGJ3IHYG4mRGBoYkIE4D4nggXr5UAqiKCY7NGVABIxoGAQAOPgRk');
If (Not LoggedIn) Then Exit;
Case Lowercase(WhatToCraft) of 'necklace': Exit;
end;
Case Lowercase(WhatToCraft) of 'ring': Exit;
end;
Case Lowercase(WhatToCraft) of 'ammy':
begin
BankScreenClick;
Wait(1000 + Random(50));
If BankScreen Then
repeat
Case Lowercase(GoldOrGems) of 'gold':
begin
Deposit(1, 1, 14);
Withdraw(2, 0, 14);
Wait(1200 + Random(50));
end;
end;
Case Lowercase(GoldOrGems) of 'gems':
begin
If FindDTM(AllAm, x, y, MIX1, MIY1, MIX2, MIY2) Then
Withdraw(2, 0, 14);
Wait(1200 + Random(200));
end;
end;
Until FindDTM(Wool, x, y, MIX1, MIY1, MIX2, MIY2);
WriteLn('Got some wool');
Closebank;
repeat
Case Lowercase(GoldOrGems) of 'gold':
begin
InvMouse(15, Mouse_Left);
Wait(800 + Random(100));
If FindDTM(Wool, wx, wy, MIX1, MIY1, MIX2, MIY2) Then
InvMouse(14, Mouse_Left);
end;
end;
Case Lowercase(GoldOrGems) of 'gems':
begin
InvMouse(14, Mouse_Left);
Wait(800 + Random(100));
If FindDTM(Wool, wx, wy, MIX1, MIY1, MIX2, MIY2) Then
Mouse(wx, wy, 2, 2, true);
end;
end;
Wait(1200 + Random(200));
If FindDTM(Amm, x, y, MCX1, MCY1, MCX2, MCY2)Then
MMouse(x, y, 2, 2);
ClickMouse2(True);
Wait(10000 + Random(500));
WriteLn('Stung Ammys');
Until Not FindDTM(Wool, x, y, MIX1, MIY1, MIX2, MIY2);
AmmysStrung := AmmysStrung + 14
end;
end;
FreeDTM(Amm);
FreeDTM(Wool);
FreeDTM(AllAm);
end;
Procedure Enchant;
var
L, ex, ey, Enchnt, Circle, Cosmic : integer;
begin
Circle := DTMFromString('mbQAAAHicY2VgYGBiZWBgBGIOIP7FwsDACqQ/A8W/AfFHKH4NxCuWi4NUo2B+BkzAiAWDAQA2QQdg');
Enchnt := DTMFromString('mbQAAAHicY2VgYPBiguAQIPYGYlcgtmNkYLAEYgcg9gBiRyD+/fs3gxQvMwqeDdTPjIYZsWAwAADzpQcS');
Cosmic := DTMFromString('mggAAAHicY2NgYOgE4tlAPBOIJwBxMxDXA/EcqPgyIF4DxCuBeBYQ37yuACSZMHA+A3bAiANDAACIPAlx');
If (Not LoggedIn) Then Exit;
Case Lowercase(GoldOrGems) of 'gold': Exit;
end;
If FindDTM(Circle, x, y, MIX1, MIY1, MIX2, MIY2)Then Exit;
If Not (Bankscreen) Then
BankScreenClick;
Wait(1500 + Random(100));
repeat
If Not FindDTM(Cosmic, x, y, MBX1, MBY1, MBX2, MBY2) Then Exit;
FindDTM(Cosmic, x, y, MBX1, MBY1, MBX2, MBY2);
Mouse(x, y, 2, 2, False);
Chooseoption('14');
Wait(800 + Random(100));
WriteLn('Got Runes');
CloseBank;
Until FindDTM(Cosmic, x, y, MIX1, MIY1, MIX2, MIY2);
Wait(500 + Random(200));
GameTab(Tab_Magic);
Wait(500 + Random(100));
If Not FindDTM(Enchnt, x, y, MIX1, MIY1, MIX2, MIY2) Then Exit;
For L := 1 to 14 do
repeat
If FindDTM(Enchnt, ex, ey, MIX1, MIY1, MIX2, MIY2)Then
Mouse(ex, ey, 2, 2, True);
Wait(700 + Random(100));
InvMouse(L, 1);
Wait(1300 + Random(100));
If Not IsUptext('lvl') Then GameTab(Tab_Magic);
Until Not FindDTM(Cosmic, x, y, MIX1, MIY1, MIX2, MIY2);
WriteLn('Enchanted Stuff');
GameTab(tab_Inv);
Wait(2000 + Random(200));
SpellsCast := SpellsCast + 14
FreeDTM(Cosmic);
FreeDTM(Enchnt);
FreeDTM(Circle);
end;
Procedure Alc;
var
RubySFS : integer;
begin
RubySFS := DTMFromString('mQwAAAHicY2ZgYHBlYmBwA2InIOZlZGAQAmJBIF6iKM6wfZ4Uw55FUgzmQHXKUMyIhIEAAMXrBU0=');
If (Not LoggedIn) Then Exit;
Case Lowercase(GoldOrGems) of 'gold': Exit;
end;
Case Lowercase(WantToAlc) of 'no': Exit;
end;
Case Lowercase(WantToAlc) of 'yes':
begin
BankScreenClick;
Wait(500 + Random(100));
If Not FindDTM(Nature, x, y, MBX1, MBY1, MBX2, MBY2) Then Exit;
Repeat
FindDTM(Nature, x, y, MBX1, MBY1, MBX2, MBY2);
Mouse(x, y, 2, 2, False);
Chooseoption('14');
Wait(1200 + Random(100));
WriteLn('Ready To Alc');
Until FindDTM(Nature, x, y, MIX1, MIY1, MIX2, MIY2);
If FindDTM(RubySFS, x, y, MIX1, MIY1, MIX2, MIY2) Then Exit;
Withdraw(5, 0, 70);
Wait(800 + Random(100));
end;
end;
FreeDTM(RubySFS);
end;
Procedure AlchStuff;
var
ax, ay, M, HighAlc : integer;
begin
HighAlc := DTMFromString('mbQAAAHicY2VgYLjDBsGXofQrIO5mZGBoB+IeIO4H4k4gXjeFh0GGgRGMYXA2AyZgxILBAAAAPglc');
If (Not LoggedIn) Then Exit;
If Not FindDTM(Nature, x, y, MIX1, MIY1, MIX2, MIY2) Then Exit;
CloseBank;
GameTab(Tab_Magic);
Wait(1000 + Random(200));
For M := 1 to 14 do
repeat
If FindDTM(HighAlc, ax, ay, MIX1, MIY1, MIX2, MIY2)Then
Mouse(ax, ay, 1, 1, True);
Wait(500 + Random(100));
InvMouse(M, 1);
Wait(1600 + Random(100));
Until Not FindDTM(Nature, x, y, MIX1, MIY1, MIX2, MIY2);
WriteLn('We dont have to sell these!');
Wait(3000 + Random(200));
SpellsCast := SpellsCast + 14
FreeDTM(HighAlc);
end;
Procedure Antiban;
begin
If (Not LoggedIn) Then Exit;
If (Not FindNormalRandoms) Then
Case Random(500) of
0: RandomRClick;
1: PickUpMouse;
2: HoverSkill('Crafting', False);
3: HoverSkill('Random', False);
4: PickUpMouse;
End;
GameTab(Tab_Inv);
End;
procedure Proggy;
var
OrePH, AmmyPH, StrungPH, EnchantPH, XPH, XP, SXPH, SXP, CXPH, CXP,
MXPH, MXP : Integer;
begin
OrePH := Round((OreSmelt * 3600) / (GetTimeRunning / 1000));
AmmyPH := Round((Ammy * 3600) / (GetTimeRunning / 1000));
StrungPH := Round((AmmysStrung * 3600) / (GetTimeRunning / 1000));
EnchantPH := Round((SpellsCast * 3600) / (GetTimeRunning / 1000));
XP := ((GetXPBar(1) + GetXPBar(2) + GetXPBar(3)) - XpStart);
SXP := (GetXPBar(3) - XpSmelt);
CXP := (GetXPBar(1) - XpCraft);
MXP := (GetXPBar(2) - XpMage);
XPH := Round(XP * (3600.0 / (GetTimeRunning / 1000.0)));
SXPH := Round(SXP * (3600.0 / (GetTimeRunning / 1000.0)));
CXPH := Round(CXP * (3600.0 / (GetTimeRunning / 1000.0)));
MXPH := Round(MXP * (3600.0 / (GetTimeRunning / 1000.0)));
If Not LoggedIn Then TerminateScript;
Writeln('*********** Amulet Maker**********');
Writeln('* Proggy Based ~By NKN~ ');
Writeln('*Making: ' + WhatYouMakin + 'Amulets*');
Writeln('*Gold ores smelted: ' + IntToStr(OreSmelt) + ' (' + IntToStr(OrePH) + ' P/H)');
Writeln('*Smithing XP: ' + IntToStr(SXP)+ ' (' + IntToStr(SXPH) + ' XP/H)');
Writeln('*Bars Crafted: ' + IntToStr(Ammy) + ' (' + IntToStr(AmmyPH) + ' P/H)');
Writeln('*Ammys Strung: ' + IntToStr(AmmysStrung) + ' (' + IntToStr(StrungPH) + ' P/H)');
Writeln('*Crafting XP: ' + IntToStr(CXP)+ ' (' + IntToStr(CXPH) + ' XP/H)');
Writeln('*Spells cast: ' + IntToStr(SpellsCast) + ' (' + IntToStr(EnchantPH) + ' P/H)');
Writeln('*Magic XP: ' + IntToStr(MXP)+ ' (' + IntToStr(MXPH) + ' XP/H)');
Writeln('*XP earned: ' + IntToStr(XP)+ ' (' + IntToStr(XPH) + ' XP/H)');
Writeln('*Total Time: ' + TimeRunning);
Writeln('********************************');
FindNormalRandoms;
end;
Begin
ClearDebug;
SRL_SixHourFix := True;
SMART_FixSpeed := True;
If (SRL_SixHourFix) Then
SRL_Procs[srl_OnRSUpdate] := @SixHourFix;
SetupSRL;
DeclarePlayers;
LoginPlayer;
FindNormalRandoms;
ClickNorth(SRL_ANGLE_HIGH);
Case Lowercase(WhatFurnace) of 'edgeville': MakeCompass(90);
end;
XpStart := (GetXPBar(1) + GetXPBar(2) + GetXPBar(3));
XpCraft := (GetXPBar(1));
XpSmelt := (GetXPBar(3));
XpMage := (GetXPBar(2));
begin
repeat
SetupStuff;
RunEnergy(RunAtEnergy);
GetGems;
Proggy;
FurnaceWalk;
MakeStuff;
BankWalk;
StringAmmy;
Enchant;
Alc;
AlchStuff;
AntiBan;
FindNormalRandoms;
FreeTheStuff;
Until(Ammy + 0 = AmmysToMake);
NextPlayer(True);
end;
TerminateScript;
SmartKillClients;
end.