Kik
2007-08-22 11:25:56
<!– BEGIN TEMPLATE: formanswers –>
kikwit - SRL Member Application Form
kikwit
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
A Runescape Topic at the CheatEngine Forums
Programming Knowledge
Slight C++, Mostly SCAR
Other Communitys
SRL-Forums, CheatEngine, GameFAQs, that's about it
How Long have You Played Runescape
I played legit for a year or so, on and off. Then I took a year break, now I'm back. I don't 'play' Runescape that often, though.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
About 3 years ago, I first heard about RuneScape and started playing it, legit. Then I quit for a while, and started to 'hack' MapleStory with CheatEngine. I was into that for a few months, then Nexon, the parent company of MapleStory, implemented a severe antiban which detected abnormal changes in any values. So that community almost died out and I quit. After that, I started to get into computers and stuff (bought C++ for dummies) and had fun coding little programs with that (not enough to make a C++ plugin or something of that sort). Then I was searching around CheatEngine and heard about SCAR - so I googled it, downloaded it, and tried it (this was about 2-3 months ago). The community was, and still is the best I've ever been to. There are hundreds of active members of the forums, and most of them aren't complete idiots(SRL Members). I decided to try coding SCAR, and found it to be much, much easier than C++. I've enjoyed coding with SCAR since then, and learn more every day. I try to be an active member of the SRL-Forums. When SRL 4 Beta came out, I released a tutorial (the first one) to help newcomers manually install SRL (it's had over 1000 views since it was released 4 days ago). I've also made a tutorial for finding colors, because I found that alot of other tutorials lack in that section. I'm hoping to find a new place where I can learn more than the basics of SCAR in the SRL Members section from the scripts(that's where I learn most of what I know). I don't auto very much - I just enjoy SCAR.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
kikwit - SRL Member Application Form
kikwit
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
yes
A Runescape Topic at the CheatEngine Forums
Programming Knowledge
Slight C++, Mostly SCAR
Other Communitys
SRL-Forums, CheatEngine, GameFAQs, that's about it
How Long have You Played Runescape
I played legit for a year or so, on and off. Then I took a year break, now I'm back. I don't 'play' Runescape that often, though.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
About 3 years ago, I first heard about RuneScape and started playing it, legit. Then I quit for a while, and started to 'hack' MapleStory with CheatEngine. I was into that for a few months, then Nexon, the parent company of MapleStory, implemented a severe antiban which detected abnormal changes in any values. So that community almost died out and I quit. After that, I started to get into computers and stuff (bought C++ for dummies) and had fun coding little programs with that (not enough to make a C++ plugin or something of that sort). Then I was searching around CheatEngine and heard about SCAR - so I googled it, downloaded it, and tried it (this was about 2-3 months ago). The community was, and still is the best I've ever been to. There are hundreds of active members of the forums, and most of them aren't complete idiots(SRL Members). I decided to try coding SCAR, and found it to be much, much easier than C++. I've enjoyed coding with SCAR since then, and learn more every day. I try to be an active member of the SRL-Forums. When SRL 4 Beta came out, I released a tutorial (the first one) to help newcomers manually install SRL (it's had over 1000 views since it was released 4 days ago). I've also made a tutorial for finding colors, because I found that alot of other tutorials lack in that section. I'm hoping to find a new place where I can learn more than the basics of SCAR in the SRL Members section from the scripts(that's where I learn most of what I know). I don't auto very much - I just enjoy SCAR.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
program IronDestroyer;
{[SRL4BETA] [SCAR DIVI 3.11]}
//East Varrock Iron Miner and Banker by KikWit. Enjoy!
//Due to unused variables in mining.scar, please ignore the [Hint]
{-----------------------------------------------------}
{ KK KK }
{ KK KK }
{ KK KK }
{ KK KK KK K }
{ KKKKKK KK KK KKKKKK }
{ KKKKKKKK KK KK KK KK KK }
{ KK KK KK KK KK KK }
{ KK KK KK KKKKKK KK }
{ KK KK KK KK KK KKKKKK }
{ KK KK KK KK KK K KK }
{ KK KK KK KK KK KKKKKKKK }
{---- ------}
{_____ EAST VARROCK IRON DESTROYER _______}
{ Iron Miner and Banker }
{--------------------------}
{.include SRL\SRL.scar}
{.include SRL\SRL\skill\mining.scar}
var LoadI, LoadstoDo, OreI, IronOre, RandomN, Ran, x, y, ax, ay: Integer;
const
/////////////DO NOT EQUIP PICKAXE/////////////////////KW
IronColor = 2832734; //Color of iron
GuardColor1 = 1742813; //Color of guards (gold)
GuardColor2 = 1550800; //Color of gold emblem (gold)
GuardColor3 = 13160143; //Color of guards head (white)
Rocktol = 20; //If it messes up at guards(mine to bank), set higher.
OreTol = 6; //Anywhere between 5 and 10. If it can't find the rock, try setting it higher.
procedure DeclarePlayers;
begin
NumberOfPlayers(8); //Number of players to use
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0; //The player to start the script at
HowManyBooleans:= 0;
////////////Directions/////////////////////////////////////KW
//FILL IN SETUP //
//DO NOT EQUIP PICKAXE //
//FOR RUNE PICKS, I RECCOMEND 2000MS BETWEEN ORES //
//START AT VARROCK EAST BANK, CENTER FOR BEST RESULTS //
// YOU'D BETTER ENJOY IT! //
/////////////////////////////////////////////////////////////
Players[0].Name := 'Megatron'; //Username
Players[0].Pass := 'optimusrules'; //Password
Players[0].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[0].Integers[0] := 5; //Number of Loads to do
Players[0].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[0].Loc := 'Never Used'; //Don't change
Players[0].Active := True;
Players[1].Name := 'megatron'; //Username
Players[1].Pass := 'optimusrules'; //Password
Players[1].Nick := 'gat'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[1].Integers[0] := 5; //Number of Loads to do
Players[1].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[1].Loc := 'Never Used'; //Don't change
Players[1].Active := True;
Players[2].Name := 'Megatron'; //Username
Players[2].Pass := 'optimusrules'; //Password
Players[2].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[2].Integers[0] := 5; //Number of Loads to do
Players[2].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[2].Loc := 'Never Used'; //Don't change
Players[2].Active := False;
Players[3].Name := 'Megatron'; //Username
Players[3].Pass := 'optimusrules'; //Password
Players[3].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[3].Integers[0] := 5; //Number of Loads to do
Players[3].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[3].Loc := 'Never Used'; //Don't change
Players[3].Active := False;
Players[4].Name := 'Megatron'; //Username
Players[4].Pass := 'optimusrules'; //Password
Players[4].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[4].Integers[0] := 5; //Number of Loads to do
Players[4].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[4].Loc := 'Never Used'; //Don't change
Players[4].Active := False;
Players[5].Name := 'Megatron'; //Username
Players[5].Pass := 'optimusrules'; //Password
Players[5].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[5].Integers[0] := 5; //Number of Loads to do
Players[5].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[5].Loc := 'Never Used'; //Don't change
Players[5].Active := False;
Players[6].Name := 'Megatron'; //Username
Players[6].Pass := 'optimusrules'; //Password
Players[6].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[6].Integers[0] := 5; //Number of Loads to do
Players[6].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[6].Loc := 'Never Used'; //Don't change
Players[6].Active := False;
Players[7].Name := 'Megatron'; //Username
Players[7].Pass := 'optimusrules'; //Password
Players[7].Nick := 'atr'; //3 to 4 characters from Username. Ex:Optimus ->tim
Players[7].Integers[0] := 5; //Number of Loads to do
Players[7].Integers[1] := 5000; //Time to wait between Ores (In milliseconds, 1 second = 1000 milliseconds)
Players[7].Loc := 'Never Used'; //Don't change
Players[7].Active := False;
Writeln('Using ' + IntToStr(HowManyPlayers) + ' Players, Enjoy');
NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
LoadPlayerArray;
end;
//Just realized I never used CountItemDTM in Script//
////////////////Finds Special Randoms////////////WT-Fakawi
Function FindFastRandoms: Boolean; //By Wt-Fakawi, modified slightly
var
i: Integer;
begin
for i:=1 to 11 do
begin
case I of
1:If FindDead then
begin
Result := True;
Players[CurrentPlayer].Loc := 'dead';
end;
2:If FindMod then
Result := True;
3:If FindMime then
Result := True;
4:If FindMaze then
Result := True;
5:If FindQuiz then
Result := True;
6:If FindDemon then
Result := True;
7:begin
If NoGameTab then
begin
RandomN:=RandomN + 1;
Players[CurrentPlayer].Loc := 'No Gametab';
Result := True;
Logout;
Exit;
end;
end;
8:ClicktoContinue;
9:begin
if FindFight then
begin
RunAwayDirection('S');
RandomN:=RandomN + 1;
Wait(22000 + Random(2000));
RunBack;
Result := True;
end;
end;
10:begin
FindLamp('Mining');
end;
11:begin
if findtalk then
result:= true;
end;
end;
end;
end;
/////////Returns True If You Have A Pickaxe///////////////
function PickThere: boolean;
begin
if(not(FindNPCChatText('ickaxe to min')))then result:= true;
end;
////////////Attempts To Reattach Pickaxe//////////////////
procedure AttachPick;
begin
wait(100);
if(not(PickThere))then
begin
FindPickHeadColor;
if(FindObj(x, y, 'ick', hc1, 4))or
(FindObj(x, y, 'ick', hc2, 4))or
(FindObj(x, y, 'ick', hc3, 4))or
(FindObj(x, y,'ick', hc4, 4))or
(FindObj(x, y,'ick', hc5, 4))then
begin
Mouse(x, y, 0, 0, true);
wait(100);
LoadMiningBitMaps;
wait(500+random(300));
if(FindColorTolerance(x, y, MIX1, MIY1, MIX2, MIY2, hc1, 4))or
(FindColorTolerance(x, y, MIX1, MIY1, MIX2, MIY2, hc2, 4))then
begin
Mouse(x, y, 0, 0, true);
if(FindBitMapToleranceIn(PickHandle, x, y, MIX1, MIY1, MIX2, MIY2, 4))then Mouse(x, y, 0, 0, true);
end else
begin
Writeln('Couldnt Find my Pickaxe...');
Players[CurrentPlayer].Loc:= 'Lost Pickaxe';
Logout;
exit;
end;
FreeBitMap(PickHandle);
FreeBitMap(PickHead);
FreeBitMap(PickAxe);
FreeBitMap(PickAxeSteel);
FreeBitMap(Ore);
end;
end;
end;
/////////////Sets Auto-Retaliate To False////////WT-Fakawi
procedure Retaliate(AutoRet:Boolean); // WT-Fakawi.
begin
GameTab(1);
if AutoRet then
begin
If not FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
if not AutoRet then
begin
If FindColor(x,y,1777020,624, 385, 719,396) then
begin
Mouse(666,381,8,8, True);
end;
end;
end;
///////////////Sets Up The Script To Run////////////////KW
procedure StartupScript;
begin
ClearDebug;
Writeln('|-----------------------------|');
Writeln('|Thanks for Using Kiks Iron |');
Writeln('|East Varrock Miner and Banker|');
Writeln('| Enjoy! |');
Writeln('|-----------------------------|');
wait(1250);
SetupSRL;
DeclarePlayers;
Wait(100);
ActivateClient;
Wait(250);
Retaliate(False);
wait(100+random(50));
if(not(LoggedIn))then
begin
LoginPlayer;
end;
Wait(340+random(100));
end;
//////////////Anti-Randoms and Fail-Safes////////////////KW
procedure RandomsFailSafes;
begin
FindFastRandoms;
if Players[CurrentPlayer].Loc = 'mine' then
begin
if FindGas(ax, ay)then
begin
Wait(20000+random(2500));
inc(RandomN);
end;
FindNormalRandoms;
MouseSpeed:= (7 + random(6)); //Keep 'em guessing ;-D
end;
end;
///////////////////AntiBan Procedure////////////////////KW
procedure NoBan;
begin
if(not(LoggedIn))then exit;
case random (8) of
0:begin
HoverSkill('Mining', false);
Wait(2300+random(475));
GameTab(4);
end;
1:begin
HoverSkill('Strength', false);
Wait(3300+random(475));
GameTab(4);
end;
2:begin
HoverSkill('Smithing', false);
Wait(400+random(2475));
GameTab(4);
end;
3:PickupMouse;
4:AlmostLogout;
5:case random(3) of
0: TypeSend('Mining lvls?');
1: TypeSend('Smithing lvls?');
2: TypeSend('Fishing levels?');
end;
6: SleepandMoveMouse(9000+random(2000));
7:begin
DoEmote(1+random(37));
GameTab(4);
end;
end;
end;
///////////////////Progress Report//////////////////////KW
procedure ProgReport;
begin
ClearDebug;
Writeln('|--------------------------------------------------------|');
Writeln('|Thanks for Using Kiks East Varrock Iron Miner and Banker');
Writeln('|Worked for: ' + TimeRunning);
Writeln('|Mined Approx. ' + IntToStr((LoadI * 27)) + ' Iron Ores');
Writeln('|Banked ' + InttoStr(LoadI) + ' Loads');
Writeln('|Encountered ' + InttoStr(RandomN) + ' Fights/Gasses');
Writeln('|Gained a total of ' + InttoStr((OreI) * 35) + ' Experience');
Writeln('|Locations:');
Writeln('|' + Players[0].Name + ': ' + Players[0].Loc);
Writeln('|' + Players[1].Name + ': ' + Players[1].Loc);
Writeln('|' + Players[2].Name + ': ' + Players[2].Loc);
Writeln('|' + Players[3].Name + ': ' + Players[3].Loc);
Writeln('|' + Players[4].Name + ': ' + Players[4].Loc);
Writeln('|' + Players[5].Name + ': ' + Players[5].Loc);
Writeln('|' + Players[6].Name + ': ' + Players[6].Loc);
Writeln('|' + Players[7].Name + ': ' + Players[7].Loc);
Writeln('|--------------------------------------------------------|');
end;
///////////////////Loads A DTM//////////////////////////KW
procedure LoadDTM;
begin
IronOre := DTMFromString('78DA6314606060E06540019EBA0A0C3F81342' +
'310FF07024669204384010D302291405A0E48701150C309242408' +
'A8610512A204D4B0030976026A048104137E350058D40670');
end;
///////////////Walks From Bank To Mine//////////////////KW
procedure BanktoMine;
var i: integer;
begin
if(not(LoggedIn))then exit;
SetRun(True);
GameTab(4);
RadialRoadWalk(FindVarrockRoadColor, 35, 80, 69, 2, 1);
RadialRoadWalk(FindVarrockRoadColor, 55, 112, 54, 0, 0); //Elbow
for i:= 1 to 8 do
begin
RadialRoadWalk(FindVarrockRoadColor, 120, 200, 58, 0, 0); //North to South
Writeln('Walking: ' + inttostr(i));
if(FindSymbol(x, y, 'mining spot')) then break;
end;
if(FindSymbol(x, y, 'mining spot')) then
begin
Mouse(x, y, 2, 2, true);
Flag;
Writeln('Found Mining Spot');
RandomsFailSafes;
end else NextPlayer(false);
if(FindColorTolerance(x, y, IronColor, MSX1, MSY1, MSX2, MSY2, 9)) then
begin
Mouse(x, y, 0, 0, true);
end else
Mouse(200, 60, 20, 20, true);
end;
///////////////Walks From Mine To Bank//////////////////KW
procedure MinetoBank;
var a: integer;
begin
if(not(LoggedIn))then exit;
SetRun(True);
RadialRoadWalk(FindVarrockRoadColor, 25, 95, 43, 2, 2);
RadialRoadWalk(FindVarrockRoadColor, 341, 390, 70, 0, 0);
RadialRoadWalk(FindVarrockRoadColor, 320, 420, 58, 3, 2);
RadialRoadWalk(FindVarrockRoadColor, 350, 420, 58, 3, 2);
for a:= 1 to 8 do
begin
if (FindColorTolerance(x, y, GuardColor1, MSX1, MSY1, MSX2, MSY2, Rocktol)) or
(FindColorTolerance(x, y, GuardColor2, MSX1, MSY1, MSX2, MSY2, Rocktol)) or
(FindColorTolerance(x, y, GuardColor3, MSX1, MSY1, MSX2, MSY2, Rocktol)) then break;
RadialRoadWalk(FindVarrockRoadColor, 285, 420, 58, 2, 2);
end;
RadialRoadWalk(FindVarrockRoadColor, 257, 300, 57, 2, 2);
RandomsFailSafes;
RadialRoadWalk(FindVarrockRoadColor, 257, 300, 50, 0, 0);
MakeCompass('S');
LowestAngle;
end;
////////////////////Banks The Ore///////////////////////KW
procedure BankOre;
begin
if(not(LoggedIn))then exit;
RadialRoadWalk(FindVarrockRoadColor, 300, 420, 33, 2, 2);
RandomsFailSafes;
OpenBank;
if(BankScreen)then
begin
Players[CurrentPlayer].Loc := 'Bank';
LoadDTM;
if FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2)then
begin
Mouse(x, y, 1, 1, false);
wait(50+random(25));
ChooseOption('All');
Wait(100+random(300));
FreeDTM(IronOre);
CloseBank;
end;
end;
end;
////////////////Mines The Iron Ore//////////////////////KW
procedure MineOre;
var inv: integer;
begin
if(not(LoggedIn))then exit;
SetRun(True);
GameTab(4);
Ran:= (1+random(35));
Players[CurrentPlayer].Loc := 'Mine';
wait(10);
repeat
if(not(LoggedIn))then exit;
wait(10);
RandomsFailSafes;
wait(10);
ProgReport;
if FindObjOre(x, y, 'ine', IronColor, OreTol, 1)then
begin
Wait(10);
Mouse(x, y, 2, 2, True);
inc(OreI);
Wait((Players[CurrentPlayer].Integers[1] - 300)+random(200));
end;
if(not(PickThere))then AttachPick;
Wait(200);
if(OreI = Ran)then
begin
NoBan;
Ran:= (1+random(35)); //So it won't constantly do antiban until you mine another ore
end;
until(InvFull);
end;
//////////////The Meat Of The Main Loop/////////////////KW
procedure AllinOne;
begin
if(not(LoggedIn))then exit;
MakeCompass('N');
HighestAngle;
BanktoMine;
if(not(LoggedIn))then exit;
MineOre;
if(not(LoggedIn))then exit;
MinetoBank;
if(not(LoggedIn))then exit;
BankOre;
LoadI:=LoadI + 1;
LoadstoDo:= LoadstoDo + 1;
ProgReport;
if(LoadsToDo = Players[CurrentPlayer].integers[0]) then
begin
NextPlayer(True);
LoadsToDo:= 0;
exit;
end;
end;
/////////////////////Main Loop/////////////////////////KW
begin
SetupSRL;
ClearDebug;
wait(10);
StartupScript;
LoadI:= 0;
RandomN:= 0;
LoadstoDo:= 0;
OreI:= 0;
MouseSpeed:= 10;
repeat
if(not(LoggedIn))then NextPlayer(False);
AllinOne;
until(false)
end.
//Kik Wit——————————————————
<!– END TEMPLATE: formanswers –>