Tickyy
2009-01-25 04:16:27
<!– BEGIN TEMPLATE: formanswers –>
Tickyy - SRL Member Application Form
Tickyy
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
a bit of Java
Other Communitys
rsbot, but i don't really visit the forums there.
How Long have You Played Runescape
since 2005 now.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, my name is adriatik and i'm 15.
I really love this community, and i would like to stay forever.
My first script was a autotalker(with form), i learned a lot of things.
The competition gave me the final kick, i won a lot of experience and now i want to be a Member because i think i deserve it :P.
~ Tickyy.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
Tickyy - SRL Member Application Form
Tickyy
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
a bit of Java
Other Communitys
rsbot, but i don't really visit the forums there.
How Long have You Played Runescape
since 2005 now.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Well, my name is adriatik and i'm 15.
I really love this community, and i would like to stay forever.
My first script was a autotalker(with form), i learned a lot of things.
The competition gave me the final kick, i won a lot of experience and now i want to be a Member because i think i deserve it :P.
~ Tickyy.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{------------------------------------------------------------------------------]
___________ __ __ Ver 0.1
\__ ___/|__| ____ | | __ ___ __ ___ __
| | | |_/ ___\ | |/ /< | |< | |
| | | |\ \___ | < \___ | \___ |
|____| |__| \___ >|__|_ \ / ____| / ____|
\/ \/ \/ \/
Rimmington Miner
By Tickyy
[------------------------------------------------------------------------------]
[- DESCRIPTION ]
[------------------------------------------------------------------------------]
This Script will Mine And Bank at falador or Mine And Sell at General Store
All Ores(Copper, Tin, Iron, Gold.) are Possible.
Start it At Rimmington Mine.
Note: I used this script for the J Competition.
[------------------------------------------------------------------------------}
program RimmingtonMiner;
{.include SRL\SRL.scar}
{.Include SRL\SRL\Skill\Mining.scar}
procedure DeclarePlayers;
begin
HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Pin := ''; // Bankpin
Players[0].Active := True;
Players[0].Booleans[0] := True; // Bank or Sell ( True = Bank | False = Sell )
Players[0].Integers[1] := 60; // How many Loads
Players[0].Strings[1] := ''; // Ore Type - See Line 17.
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Pin := ''; // Bankpin
Players[1].Active := False;
Players[1].Booleans[0] := True; // Bank or Sell ( True = Bank | False = Sell )
Players[1].Integers[1] := 60; // How many Loads
Players[1].Strings[1] := ''; // Ore Type - See Line 17.
end;
Const
RunDir = 's'; // Run when at fight.
newcopper = rimmington_Copper;
newtin = rimmington_Tin;
newiron = rimmington_Iron;
newgold = rimmington_Gold;
nub1 = 5865372;
nub2 = 3097926;
var
Loads, Antiban, Ores, x, y, Gasses : Integer;
{==============================================================================]
- DON'T HAVE TO TOUCH ANYTHING BELOW HERE -
[==============================================================================}
function WhichOre : integer;
begin
case Lowercase(Players[CurrentPlayer].Strings[1]) of
'tin' : Result := newtin;
'copper' : Result := newcopper;
'iron' : Result := newiron;
'gold' : Result := newgold;
end;
end;
{ -------------------------------------------------- }
function DeadTree: Integer;
var
arP: TPointArray; // Thanks to ACA2
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 1518397, MMX1, MMY1, MMX2, MMY2, 43);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 1.96) and (H <= 15.27) and (S >= 30.21) and (S <= 100.02) and (L >= 7.82) and (L <= 26.29) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 1.14) and (X <= 6.10) and (Y >= 0.98) and (Y <= 5.99) and (Z >= 0.12) and (Z <= 3.33) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
{ -------------------------------------------------- }
function DTMs(DTM: String): Integer;
begin
case Lowercase(DTM) of
'copper': Result := DTMFromString('78DA63B4676460C86600034608C570BDC6828' +
'11D89CFE8096465A0AAE9C8F74355E3026415A2AA5914A785AAC6' +
'1AC82A43555391E882AA461FC8CA4155E36AA18EAAC600C82A415' +
'5036221AB0100167509FF');
'tin': Result := DTMFromString('78DA63CC616460C86500034608C5D0D3DCC4C' +
'005E5FF0702C612202B03554D5B8E0F5C0D58BC10C82A40559399' +
'9488AA261DC82A43555391E882AA2616C8CA475593146081AA260' +
'6C82A4155036221AB010087290F63');
'gold': Result := DTMFromString('78DA634C61606098C100068C108AE1DA7A690' +
'62E28FF3F10306603195351D554A7B8C1D580C5B380C45C543527' +
'9748A1AA8903120B51D514C53AA2AA890012D350D5240558A0AA0' +
'903127350D55424BAA0AA0901120B50D58058C86A00B5CA1292');
'iron': Result := DTMFromString('78DA639CCEC8C090C300068C108AC1D740858' +
'10BCAFF0F048C7381AC025435D62AD2703560F18540563AAA9A8E' +
'7C3F54359380AC32543545B18EA86A3A81AC5C5435A1AE06A86A3' +
'A80AC1254352016B21A00D6FA0E9E');
end;
end;
procedure FreeThem(DTM: Integer);
begin
FreeDTM(DTM);
end;
{ -------------------------------------------------- }
Procedure ProgressReport;
begin
cleardebug;
WriteLn('============= Rimmington Miner V0.1 ==============|');
WriteLn('|| Loads Done: ' + IntToStr(Loads) + 'Times ');
WriteLn('|| Performed AntiBan: ' + IntToStr(AntiBan) + 'Times ');
WriteLn('|| Ores Banked or Sold: ' + IntToStr(Ores));
WriteLn('|| Ran For: ' + TimeRunning);
WriteLn('==================================================|');
end;
{ -------------------------------------------------- }
Procedure TehStarting;
Begin
ClearDebug;
Wait(1000)
WriteLN(' Rimmington Miner ')
Wait(1500)
WriteLN(' Made By ')
WriteLN('___________ __ __ ')
Wait(250)
WriteLN('\__ ___/|__| ____ | | __ ___ __ ___ __ ')
Wait(250)
WriteLN(' | | | |_/ ___\ | |/ /< | |< | |')
Wait(250)
WriteLN(' | | | |\ \___ | < \___ | \___ |')
Wait(250)
WriteLN(' |____| |__| \___ >|__|_ \ / ____| / ____|')
Wait(250)
WriteLN(' \/ \/ \/ \/ ')
Wait(2000)
End;
{ -------------------------------------------------- }
Procedure OutOfStuck;
Begin
if(not(FindObjRock(x, y, WhichOre)))then
begin
repeat
SetAngle(False);
MakeCompass(Inttostr(Random(360)));
Until FindObjRock(x, y, WhichOre);
end;
end;
{ -------------------------------------------------- }
Procedure RandomCheck;
begin
FindNormalRandoms;
if FindFight then
begin
MakeCompass('n');
mouse(630, 154, 5, 5, True);
fflag(0);
SleepAndMoveMouse(15000+random(5000));
Mouse(630, 15, 5, 5, True);
SleepAndMoveMouse(2000 + random(2000));
fflag(0);
end;
end;
{ -------------------------------------------------- }
procedure AntiBanz;
begin
If(not LoggedIn)then Exit;
Case Random(22) of
0: MMouse(Random(MSX2),Random(MSY2),0,0);
1: HoverSkill('random',false);
2: PickupMouse;
3: GameTab(1+Random(12));
4: SleepAndMoveMouse(400+Random(1500));
5: if Random(2) = 1 then MMouse(1, 338, 515, 165);
6: if Random(2) = 1 then MMouse(515, 1, 250, 503);
7: RandomMovement;
8:
begin
case Random(3) of
0:
begin
KeyDown(VK_RIGHT);
Wait(500+Random(2000));
KeyUp(VK_RIGHT);
end;
1:
begin
KeyDown(VK_Left);
Wait(500+Random(2000));
KeyUp(VK_Left);
end;
2:
begin
case Random(2) of
0:
begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
1:
begin
KeyDown(VK_Left);
Wait(500+Random(1400));
KeyUp(VK_Left);
end;
end;
end;
end;
end;
end;
Gametab(4);
AntiBan := Antiban + 1;
ProgressReport;
end;
{ -------------------------------------------------- }
procedure HandleGas;
begin
Mouse(MMCX + 10, MMCY + 10, 5, 5, True);
SaveScreenshot(ScriptPath + 'Found gas ' + TimeRunning + '.bmp');
Flag;
Inc(Gasses);
end;
{ -------------------------------------------------- }
Procedure WalkToMine;
begin
MakeCompass('n');
RadialRoadWalk(FindFallyRoadColor, 270, 115, 60, 1, 1);
flag;
RadialRoadWalk(FindFallyRoadColor, 145, 205, 73, -1, 1);
flag;
if not RadialRoadWalk(FindRoadColor, 220, 140, 70, 1, 1) then
begin
Writeln('Using Failsafe 2-1!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 210, 150, 73, 2, 2);
end;
if not RadialRoadWalk(FindRoadColor, 220, 140, 73, 2, 2) then
begin
Writeln('Using Failsafe 2-2!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 310, 200, 69, 1, 1);
end;
if not RadialRoadWalk(FindRoadColor, 310, 230, 71, 1, 1) then
begin
Writeln('Using Failsafe 2-3!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 300, 220, 70, 2, 2);
end;
if not RadialWalk(FindRoadColor, 180, 330, 72, 1, 1) then
begin
Writeln('Using Failsafe 2-4!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 145, 295, 73, 2, 2);
end;
RadialWalk(DeadTree, 220, 140, 71, 1, 1);
if not RadialWalk(FindStoneColor, 210, 150, 70, 2, 2) then
begin
Disguise('Using Failsafe!');
RadialWalk(FindRoadColor, 180, 330, 60, 1, 1);
RadialWalk(FindStoneColor, 210, 150, 70, 2, 2);
end;
if (FindSymbol(x, y, 'Mining spot')) then
Begin
Disguise('We are back...');
Mouse(x, y, 5, 5, True);
end;
OutOfStuck;
end;
{ -------------------------------------------------- }
procedure Bank;
var
Tries: Byte;
begin
wait(randomRange(1000, 2000));
SetAngle(True);
if (not(Loggedin)) then exit;
Inc(Tries);
repeat;
OpenBank('veb', True, True);
until (BankScreen) or (PinScreen) or (Tries > 30);
if (PinScreen) then
InPin(Players[CurrentPlayer].Strings[0]);
if (BankScreen) then
begin
Deposit(2, 28, True);
CloseBank
end;
ProgressReport;
WalkToMine;
end;
{ -------------------------------------------------- }
Procedure WalkToBank;
Begin
if (FindSymbol(x, y, 'Mining spot')) then
Begin
Mouse(x, y, 5, 5, True);
end;
MakeCompass('W');
wait(1111);
if not RadialWalk(FindStoneColor, 70, 160, 70, 1, 1) then
begin
Writeln('Using Failsafe 1-1!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 70, 160, 35, 1, 1);
end;
if not RadialRoadWalk(FindRoadColor, 160, 40, 70, 1, 1) then
begin
Writeln('Using Failsafe 1-2!');
Disguise('Using Failsafe!');
RadialWalk(DeadTree, 70, 110, 70, 1, 1);
end;
MakeCompass('n');
wait(1111);
RadialRoadWalk(FindRoadColor, 120, 10, 70, 2, 2);
Wait(RandomRange(100, 300));
RadialRoadWalk(FindRoadColor, 20, 135, 70, 0, 1);
flag;
MakeCompass('W');
wait(randomRange(600, 800));
if not RadialRoadWalk(FindRoadColor, 65, 115, 70, 0, 1) then
begin
Writeln('Using Failsafe 1-3!');
Disguise('Using Failsafe!');
RadialWalk(FindRockColor, 65, 115, 70, 1, 1);
end;
RadialRoadWalk(FindRoadColor, 70, 115, 60, 0, 1);
flag;
RadialRoadWalk(FindRoadColor, 70, 115, 60, 0, 1);
flag;
RadialRoadWalk(FindFallyRoadColor, 30, 120, 70, 1, 2);
if RadialRoadWalk(FindFallyRoadColor, 110, 60, 70, 2, 2) then
begin
SymbolAccuracy := 0.5;
If FindSymbol(x, y, 'Bank') Then
MouseFlag(x, y, 0, 0, 0)
else
SymbolAccuracy := 0.45;
end;
Bank;
end;
{ -------------------------------------------------- }
Procedure ToMinez;
Begin
ProgressReport;
Disguise('Walking to Mine!');
if (FindSymbol(x, y, 'Portal')) then
begin
Writeln('We Found the Portal Symbol');
Mouse(x, y, 2, 2, True);
flag;
end;
RadialWalk(FindRoadColor, 100, 30, 70, 1, 1);
Mouse(808, 222, 1, 1, True);
if (FindSymbol(x, y, 'Mining spot')) then
Begin
Mouse(x, y, 5, 5, True);
Disguise('Found Teh Mine!');
end;
OutOfStuck;
end;
{ -------------------------------------------------- }
function RemainingOres(var X, Y: Integer): String;
var
I: Integer;
begin
for I:= 0 to 3 do
begin
case I of
0: Result:= 'copper';
1: Result:= 'tin';
2: Result:= 'iron';
3: Result:= 'gold';
end;
if(FindDTM(DTMs(Result), X, Y, MIX1, MIY1, MIX2, MIY2)) then
Exit;
end;
Result:= '';
end;
{ -------------------------------------------------- }
procedure SellShit;
var
X, Y, Sold : Integer;
B: TBox;
RO: String;
begin
repeat
Wait(RandomRange(250, 500));
RO:= RemainingOres(X, Y);
Writeln('Remaining Ore = "' + RO + '"');
if(not(RO = '')) then
begin
Writeln('Found ' + Capitalize(RO) + ' at slot ' + IntToStr(CoordsToItem(X, Y)));
B:= InvBox(CoordsToItem(X, Y));
MouseBox(B.X1, B.Y1, B.X2, B.Y2, 2);
Wait(200 + Random(300));
ChooseOption('50');
Wait(1000 + Random(500));
end;
until(RO = '');
ToMinez;
end;
{ -------------------------------------------------- }
Procedure WalkToShop;
begin
if(not LoggedIn)then Exit;
if(InvFull)then
begin
Disguise('Walking to the shop!');
if (FindSymbol(x, y, 'Mining spot')) then Mouse(x, y, 2, 2, True);
MakeCompass('n')
flag;
if not RadialRoadWalk(FindRoadColor, 225, 180, 73, 1, 1) then
begin
Writeln('Using Failsafe!');
Disguise('Using Failsafe!');
Mouse(576, 141, 1, 1, True);
flag
Mouse(581, 131, 1, 1, True);
end;
flag;
RadialRoadWalk(FindRoadColor, 290, 250, 40, 2, 2);
if (FindSymbol(x, y, 'Portal')) then
begin
Writeln('We Found the Portal Symbol');
Mouse(x, y, 5, 5, True);
flag;
end;
if not RadialWalk(FindLadderColor, 300, 200, 70, 1, 1) then
begin
Writeln('Using Failsafe!');
Disguise('Using Failsafe!');
if (FindSymbol(x, y, 'shop')) then
Mouse(x, y, 1, 1, true);
end;
flag;
repeat
Wait(6000);
until (FindObjCustom(x, y, ['hop'], [nub1, nub2], 3));
Wait(Random(150));
Mouse(x, y, 0, 0, False);
ChooseOption('Trade');
wait(2000 + Random(6000));
end;
Sellshit;
end;
{ -------------------------------------------------- }
Procedure Starting;
Begin
Disguise('Setting up.');
Wait(6000);
Setrun(true);
GameTab(4);
SetAngle(false);
if (FindSymbol(x, y, 'Mining spot')) then
Begin
Mouse(x, y, 5, 5, True);
end;
Wait(2500);
if(not(FindObjRock(x, y, WhichOre)))then
begin
MakeCompass('S');
Wait(Random(500));
end;
OutOfStuck;
end;
{ -------------------------------------------------- }
procedure MineOre;
var
f : integer;
begin
Wait(Random(500))
if(not LoggedIn)then Exit;
x := MSCX;
y := MSCY;
if FindObjRock(x, y, WhichOre)then
begin
if(not FindGas(x, y))then
begin
Disguise('Found teh rock... Attempting to mine');
Case (Random(3)) of
0, 2: begin
Wait(random(100));
Mouse(x, y, 2, 2, False);
ChooseOption('Mine');//otherwise it may Examine
end;
1: Mouse(x, y, 2, 2, True);
end;
if(not(FindObjRock(x, y, WhichOre)))then
begin
OutOfStuck;
end;
Wait(Random(50));
Flag;
MarkTime(f);
Disguise('Mining rock...');
Wait(Random(50));
repeat
Wait(Random(200));
RandomCheck;
Wait(Random(50));
case (Random(3))of
0: AntiBanz;
end;
Wait(Random(50));
until (FindGas(x, y))or(FindBlackChatMessage('anage'))or(TimeFromMark(f) > 8000)or(InvFull);
if(FindGas(x, y))then
HandleGas;
end;
if(InvFull) then
begin
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
Disguise('Walking to Bank');
Ores := Ores + 28;
Loads := Loads + 1;
ProgressReport;
WalkToBank;
end else
Disguise('Walking to Shop');
WalkToShop
end;
end;
RandomCheck;
end;
{ -------------------------------------------------- }
Procedure MainLoop;
var
Loads : integer;
begin
Wait(222);
repeat
if(not LoggedIn)then LoginPlayer;
repeat
MineOre;
wait(100);
MineOre;
RandomCheck;
until (Loads >= (Players[CurrentPlayer].Integers[1])) or (not LoggedIn);
NextPlayer(Players[CurrentPlayer].Active);
until false;
end;
{ -------------------------------------------------- }
begin
SetupSRL;
SetupMining;
TehStarting;
DeclarePlayers;
LoginPlayer;
Starting;
Mainloop;
end.
——————————————————
<!– END TEMPLATE: formanswers –>