SRL Archive - Archive

mike-gee420 - SRL Member Application


mike-gee420

2012-11-10 17:41:25

How Long have You Played Runescape?
8 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
None


Are you a member of any other communities?
No


Tell us about yourself…
From: mike-gee420
My name is Mikey, I have lived on Vancouver island my whole life, I've never really left much. Got bored of not doing anything, I have a job for a moving company, but just felt boring at my house. Downloaded game after game, and then i found Villavu! :) . Now i can play an alright game, and learn some programming language along the way. Now i dont really even care about Runescape, I just want to learn to script, Some programming language and anything else this site can teach me :), Your all really friendly here.



Please show us one (or multiple) of your scripts.
program MikeysHardcoreGoldCrafter;  // V 5.0

{$DEFINE SMART}
{$DEFINE SRL5}
{$i SRL/srl.simba}
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 = 'al-khirad'; // '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 //
AreYouMem ='non'; //'mem' or 'non' mem //

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
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(2, 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(2, 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(1, 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(1, 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('mlwAAAHicY2dgYFBlZGBQBmJdINYCYgUgFgJiQSC+AMRHofRdIH4ExLeA+BwQX7siD9TNhBV7M+AGjHgwFAAAp7YI6w==');
If (Not LoggedIn) Then Exit;
Case Lowercase(GoldOrGems) of 'gold': Exit;
end;

Case Lowercase(AreYouMem) of 'non':
begin
Case lowercase(WhatToCraft) of 'ring': Exit;
end;

Case lowercase(WhatToCraft) of 'necklace': Exit;
end;
end;
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;
SetupSRL;
If (SRL_SixHourFix) Then
SRL_Procs[srl_OnRSUpdate] := @SixHourFix;
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.

J J

2012-11-10 17:59:31

Not a bad script but you are still making some basic mistakes and are not using advanced enough techniques to be a SRL Member in my opinion:

Not using cases properly

Case Lowercase(WhatToCraft) of 'ammy': ClickAmmy;
end;

Case Lowercase(WhatToCraft) of 'ring': ClickRing;
end;

Case Lowercase(WhatToCraft) of 'necklace': ClickNeck;
end;

Correct:

case WhatToCraft of
'ammy': ....
'ring': ...
'necklace': ...
end;


Quite some infinite loops and not using some stuff properly such as if statements. Sometimes your logic is off aswell, waituptext returns a boolean already so no need to check for the uptext again. Random(200) could return such a low number that the uptext wouldn't appear within such a short timeframe.

 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;

Correct: (still has an infinite loop)
repeat
If FindObjCustom(bx, by, ['alk-to', 'ounter'], [4082768, 3885646, 3951438], 4) Then
if WaitUpTextMulti(['alk-to', 'ounter'], RandomRange(300, 600)) then
begin
Mouse(bx, by, 2, -1, True);
Wait(2300 + Random(200));
If IsUpText('alk-to') Then
begin
Mouse(bx, by,1, 1, False);
WaitOption('ank Ban', 200);
Wait(2300 + Random(200));
end;
end;
until Bankscreen;

For your freeing you could use FreeDTMs if you declare them as an Integer array but that is not needed, but looks better.
FreeDTM(SAmmy);
FreeDTM(EAmmy);
FreeDTM(RAmmy);
FreeDTM(DAmmy);

To end, I would like to see more advanced ways of finding objects instead of using FindObjCustom. Look into TPA's and use Auto Color Aid to get CTS 2 colors/modifiers.

All in all I'm going to vote no purely based on the script. Your activity isn't that great either but judging on your latest posts it is increasing which is a good thing.

riwu

2012-11-10 21:25:37

If you are supporting multiplayer, you may want to use variables from player records instead of the global Const so that each player can have different settings.

Also for DTMs that may not be used at all, (eg. Nature DTM when user set WantToAlc to false), it may be better to load them only when they'll be used.

You need a begin and end for multiple statements, else statements following the first will be executed regardless of Boolean value:

If FindObjCustom(fx, fy, ['urn', 'nace'], [6140882, 11254214, 9279908, 9028528], 5) Then
begin //add begin at the start of conditional execution.
Wait(100 + random(300));
IsUpText('urnace');
Mouse(fx, fy, 2, 2, True);
Writeln('Clicked the furnace');
end; //and end at the end of it.

Also you shouldn't have checks like If Not (LoggedIn) Then TerminateScript;
The player may be disconnected, or logged out on six hour, and even if it is indeed stuck you shouldn't terminate or you are defeating the purpose of multiplayer.

You dont need

If (SRL_SixHourFix) Then
SRL_Procs[srl_OnRSUpdate] := @SixHourFix;
as it is already done in SetupSRL. Not sure why you want to replicate that into your script.

Don't need TerminateScript; at the very end of your main program because it's already going to be terminated.

Other than these, would be the same as what JJ mentioned: fix your infinite loops (break timer), use case statements correctly, use more advanced obj finding (TPA/ATPA), dont rely so heavily on DTM.

[XoL]

2012-11-10 23:23:11

Sorry man (as stated above) and another reason being activity you have been here since feb 2011, well over a year yet you only have 50 posts. Please improve overall activity.

P1ng

2012-11-11 06:50:03

in addition to all of the above reasons, you have a crazy number of global variables.

Certainly at least these ones below don't need to be declared globally. Try and always declare x and y variables locally (within the procedure/function only).
Var
x, y, sx, sy, ex, ey, rx, ry, dx, dy, nx, ny

It's nice to see you've made a good crack at your members application, but unfortunately it just isn't advanced enough yet. Check out the guides on members applications (there's quite a few of them) and try learning the other bits and pieces that impress us ;)

Unfortunately, this time around I've had to vote no.

slushpuppy

2012-11-11 07:45:36

you are reusing too many routines in your script that can be encapsulated into a function, then called.

e.g.
          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

end;
end;

Can be rewritten as

procedure clickItemInvent(InventIndex, DTM : Integer);
var wx,wy : Integer;
begin
InvMouse(InventIndex, Mouse_Left);
Wait(800 + Random(100));
If FindDTM(DTM, wx, wy, MIX1, MIY1, MIX2, MIY2) Then
Mouse(wx, wy, 2, 2, true);
end;
///
Case Lowercase(GoldOrGems) of 'gold':
begin
clickItemInvent(14,wool);
end;
end;

Case Lowercase(GoldOrGems) of 'gems':
begin
clickItemInvent(15,wool);
end;
end;

mike-gee420

2012-11-11 10:48:56

Its great to see all this positive feedback about this! I'm nowhere near being a member it seems, but next time I'll be ready!

As for my post count, well, i wanted to learn some scripting before asking stupid questions, so i searched the site for any problem i had. And i was never any help with peoples problems. But I'm trying, more and more every day now. :)!!

And thank you all for the tips! J J Really opened my eyes on how much i really know. :duh:

Daniel

2012-11-24 22:21:49

Hi mike-gee420,

It appears you won't be getting in this time. :( You may apply again in one month. :) Please take this time to take in what others have said, to improve yourself and your script, so that you can garner a perfect score the next time you apply! Also, please read the various threads around the SRL Tutorial Island section regarding SRL members and the application process. A neat example is my How to become an SRL Member thread.

Best of luck!