///////////////////////////////////////////////////////////////////////
/// ///
/// ///
/// munk's spida killa for nubs ///
/// v1.2 4/03/07 ///
/// ///
/// modifed by me ///
/// This script is designed for new characters ///
/// straight off of tutorial island. It kills ///
/// spiders in the Lumbridge Castles basement and ///
/// on the rare chance you die, it will walk back ///
/// to the basement. Start in the basement logged ///
/// out or in, doesn't matter. Use Scar Divi 3.06 ///
/// with newest SRL. Thanks to WT-fakawi for the ///
/// anti-randoms. Please Post progress reports ///
/// and thanks for using the script. ///
/// ///
/// ///
///////////////////////////////////////////////////////////////////////
program spidaKilla;
{.include srl/srl.scar}
var
j,count,pcount,oc,oatt,ostr,odef,deafs,b: integer;
colors: TVariantArray;
const killsTilSwitch = 500;
const killslimit = 500;
const fightmode = 1; //Use 1-4 depending on the weapon you are wielding
const color1 = 2109495; //no need to set, 0 for defaults...
const color2 = 2766153; //...can change to fight other monsters...
const color3 = 4676985; //...or if the colors are changed
const color4 = 4940416;
const color5 = 4087173;
const walkback = false; //set to false if not fighting in lumby castle basement to logout if you die
const mname = 'Cow';
const UseRunAway=true; //Use run away (True/False)
const RunAtHP= 42; //Run away if hp is at this level
const Direction='N'; //Runaway direction (N,S,E,W)
procedure declarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'username';
Players[0].Pass := 'pass';
Players[0].Nick := 'some letters from middle of your name';
Players[0].loc := 'field';
Players[0].Active := True;
end;
function FindFastRandoms: Boolean; //By WT-Fakawi.
var
i: Integer;
begin
for i := 2 to 8 do
begin
case I of
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
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
7: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
8: RC;
end;
wait(1);
end;
end;
procedure randoms;
begin
wait(random(25)) Findfastrandoms;
wait(random(25)) FindNormalRandoms;
wait(random(25)) SolvePinBall;
wait(random(25)) SolveBox;
wait(random(25)) findname;
wait(random(25)) Findtalk;
PopUp('ontinue');
clearreport;
SRLrandomsreport;
end;
procedure responder;
var msg: string;
begin
if (inChat(Players[currentplayer].Name) or inChat(Players[currentplayer].Nick) or inChat('nobo') or inChat(left(Players[currentplayer].Name,4))) then
begin
case random(11) of
0: msg:='hey';
1: msg:='sup';
2: msg:='whatchu want?';
3: msg:='cant talk right now, sry';
4: msg:='what do you want?';
5: msg:='...?';
6: msg:='??';
7: msg:='haha';
8: msg:='sry, i dont feel like talking, im turning chat off now';
9: msg:='hello';
10: msg:='thats me!';
end;
typesend(HumanText(msg, 50));
end;
if (inChat('noob') or inChat('nub') or inChat('newb') or inChat('noobie') or inChat('what') or inChat('nooby') or inChat('newbie')) then
begin
case random(11) of
0: msg:='thanks buddy';
1: msg:='haha, ok';
2: msg:='lol';
3: msg:='haha, your funny';
4: msg:='ok, nvm';
5: msg:='right back atcha';
6: msg:='...?';
7: msg:='haha';
8: msg:='alright, im turning chat off now';
9: msg:='yeah';
10: msg:='it happens';
end;
typesend(HumanText(msg, 50));
end;
if (inChat('trade me') or inChat('food plz') or inChat('can i have') or inChat('auto') or inChat('can i buy') or inChat('my cow') or inChat('plz food')) then
begin
case random(11) of
0: msg:='nah, sry';
1: msg:='oops';
2: msg:='go away';
3: msg:='no';
4: msg:='leave me alone';
5: msg:='no, sorry';
6: msg:='...?';
7: msg:='not now, dawg! not now!';
8: msg:='no, get your yourself';
9: msg:='nope';
10: msg:='negative';
end;
typesend(HumanText(msg, 50));
end;
if (inChat('hello') or inChat('whats up') or inChat('talk') or inChat('hey') or inChat('hows it goin')) then
begin
case random(11) of
0: msg:='hey';
1: msg:='sup';
2: msg:='whatchu want?';
3: msg:='cant talk right now, sry';
4: msg:='what do you want?';
5: msg:='...?';
6: msg:='??';
7: msg:='haha';
8: msg:='sry, i dont feel like talking, im turning chat off now';
9: msg:='hello';
10: msg:='thats me!';
end;
typesend(HumanText(msg, 50));
end;
if (inChat('fight?') or inChat('fight me') or inChat('fite me') or inChat('lets go to wild')) then
begin
case random(11) of
0: msg:='nah, not right now';
1: msg:='just go away';
2: msg:='go away';
3: msg:='haha, no';
4: msg:='not now, dawg! not now!';
5: msg:='maybe later';
6: msg:='haha, im ignoring you now';
7: msg:='leave me alone';
8: msg:='whatever';
9: msg:='i am training right now';
10: msg:='ha!';
end;
typesend(HumanText(msg, 50));
end;
if (inChat('att lvl?') or inChat('attack lvl?') or inChat('att level?') or inChat('attack level?') or inChat('attack?') or inChat('att?')) then
begin
sayCurrentLevels('attack');
end;
if (inChat('str lvl?') or inChat('strength lvl?') or inChat('str level?') or inChat('strength level?') or inChat('strength?') or inChat('str?')) then
begin
sayCurrentLevels('strength');
end;
if (inChat('def lvl?') or inChat('defence lvl?') or inChat('def level?') or inChat('defence level?') or inChat('defence?') or inChat('def?') or inChat('defense?') or inChat('defense lvl?') or inChat('defense level?')) then
begin
sayCurrentLevels('defence');
end;
end;
Procedure ban;
var
skill: string;
Begin
b:=0;
if(not(LoggedIn))then loginplayer;
case Random(7) of
0: begin
if(FightMode = 1) then begin
HoverSkill('Attack',false);
end;
if(FightMode = 2) then begin
HoverSkill('Strength',false);
end;
if(FightMode = 3) then begin
HoverSkill('Attack',false);
wait(1000 + random(500));
HoverSkill('Strength',false);
end;
if(FightMode = 4) then begin
HoverSkill('Defence',false);
end;
end;
1: GameTab(1 + Random(6));
2: begin
MMouse(random(600),random(400),0,0);
wait(1000+random(1000));
if isuptext('Walk') then
begin
wait(300 + random (200));
mouse(x,y,2,2,true);
end;
end;
3: begin
MMouse(random(600),random(350),0,0);
wait(random(300));
MMouse(random(600),random(350),0,0);
wait(random(500));
MMouse(random(600),random(350),0,0);
wait(100+random(500));
end;
4: begin
mouse(random(500),random(300),0,0,false);
wait(100+random(500));
MMouse(random(600),random(350),0,0);
end;
5: begin
MMouse(random(450),random(600),0,0);
wait(500+random(1000));
end;
6: begin
SendArrowWait(3,800+random(1000));
HighestAngle;
wait(1000+random(1000));
makecompass('n');
end;
end;
end;
procedure dead;
begin
if (GetColor(28, 415) = 0) and (GetColor(72, 428) = 0) then //FindDead in antirandoms is off by 2 pixels, im guessing the last jagex update.
begin
if walkback=true then
begin
inc(deafs);
if findobj(x,y,'Large door',6867707,5) then
begin
mouse(x,y,0,3,false);
if not popup('Open') then
begin
popup('ancel');
end;
end;
mouse(622,95,1,1,true);
flag;
if findobj(x,y,'Trapdoor',3427164,3) then
begin
mouse(x,y,0,0,false);
if not popup('Open') then popup('ancel');
flag;
end;
if findobj(x,y,'Climb-down',1118484,1) then
begin
mouse(x,y,0,0,true);
flag;
end else
begin
logout;
nextplayer(false);
end;
end else
begin
logout;
nextplayer(false);
end;
end;
end;
procedure proggie;
var
nc,natt,nstr,ndef:integer;
begin
gametab(1);
nc:=getcombatlevel;
natt:=getskilllevel('attack');
nstr:=getskilllevel('strength');
ndef:=getskilllevel('defense');
ClearDebug;
writeln('========================================= ===============');
writeln('The Spida Killa by munk');
writeln('--------------------------------------------------------');
writeln('Time : ' + scripttime2(2));
writeln('Kills : ' + inttostr(count));
writeln('Lvls : +' + inttostr(nc - oc) + ' Combat, +'+ inttostr(natt - oatt) + ' Attack, +'+ inttostr(nstr - ostr) + ' Strength, +'+ inttostr(ndef - odef) + ' Defense')
writeln('Died : ' + inttostr(deafs) + ' times');
writeln('========================================= ===============');
end;
procedure setup;
begin
SetUpSRL;
setarraylength(colors,5);
if color1=0 then
begin
colors[0] := 5003368;
end else
begin
colors[0] := color1;
end;
if color2=0 then
begin
colors[1] := 2109495;
end else
begin
colors[1] := color2;
end;
if color3=0 then
begin
colors[2] := 3686221;
end else
begin
colors[2] := color3;
end;
if colors[3]=0 then
begin
colors[3] := 5138053;
end else
begin
colors[3] := color4;
end;
if colors[4]=0 then
begin
colors[4] := 2109495;
end else
begin
colors[4] := color5;
end;
count:=0;
mousespeed:=15;
declareplayers;
activateclient;
wait(2000+random(1000));
if not loggedin then loginplayer;
makecompass('n');
highestangle;
gametab(1);
SetFightMode(fightmode);
oc:=getcombatlevel;
oatt:=getskilllevel('attack');
ostr:=getskilllevel('strength');
odef:=getskilllevel('defence');
setchat('on',1);
setchat('friends',2);
setchat('off',3);
setRun(true);
end;
procedure attack;
begin
if not loggedin then loginplayer;
if not FindColor(x, y, 65280, 200, 100, 300, 180) then
begin
for j:=0 to 4 do
begin
if findobj(x,y,'Attack',colors[j],5) then
begin
if (80 > random(100)) then
begin
mouse(x,y,0,0,true);
inc(count);
inc(pcount);
fflag(10);
exit;
end else
begin
mouse(x,y,0,0,false);
if popup('Attack') then
begin
inc(count);
inc(pcount);
fflag(10);
proggie;
exit;
end else
begin
Mmouse(x,y,random(600), random (400));
end;
end;
end;
end;
end;
wait(100 + random(900));
end;
//==================runaway========================= =//
procedure RunAwayIfNeed;
begin
if (35 > random(100)) then
begin
if(UseRunAway=True)
then begin
if(GetHp<=runAtHp)then
begin
ReportVars[2]:=1
RunAwayDirection(Direction);
wait(200);
SRLRAndomsReport;
fflag(10);
wait(7500 + random(5000));
logout;
nextplayer(false);
exit;
end;
end;
end;
wait(1000);
end;
begin //main loop
setup;
repeat
attack;
dead;
randoms;
RunAwayIfNeed;
responder;
inc(b);
if b>5 then ban;
if (pcount=killstilswitch) then
begin
nextplayer(true);
pcount:=0;
end;
until(count=killslimit);
end.