shadeslayer
2008-11-09 08:15:28
<!– BEGIN TEMPLATE: formanswers –>
shadeslayer - SRL Member Application Form
shadeslayer
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
C, C++, LSL(linden scripting language)
Other Communitys
Sythe
How Long have You Played Runescape
2+ years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi
I am shadeslayer, was playing runescape since long, got into srl before sometime………. started using scripts, talking to good people of slr………..
Posted Proggies and now at last developed a script……….
I like being more on srl now than playing rs, (as scar plays for me now)……. learning scripting and maybe learned lil bit already :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
shadeslayer - SRL Member Application Form
shadeslayer
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
C, C++, LSL(linden scripting language)
Other Communitys
Sythe
How Long have You Played Runescape
2+ years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi
I am shadeslayer, was playing runescape since long, got into srl before sometime………. started using scripts, talking to good people of slr………..
Posted Proggies and now at last developed a script……….
I like being more on srl now than playing rs, (as scar plays for me now)……. learning scripting and maybe learned lil bit already :)
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
{-------------------------------------------------------------------------------
-----------------------Instuction For Using This--------------------------------
1. U need to have atleast 50 runecrafting
2. Need water altar tele tab from runecrafting guild
place them in first inventory slot
3. Need explorer ring (3)......to be put in 2nd inventory slot
4. Player Start at draynor bank.......
5. Ess must be anywhere in bank but visible
6. Need to be supervised, not ment for overnight use.....
7. Water tiera should be worn(Strictly)... no tally used
-------------------------------------------------------------------------------}
//Made by SHADESLAYER............... its my first script
//Special thanks to EvilChicken for helping me out on errors......
// and to n3ss3s to pointing me to talk to EvilChicken
//Does not have proggie or srl stats...... will be in future updates
program TabRuneCrafter;
{.Include SRL/SRL/Misc/SMART.SCAR}
{.Include SRL/SRL.SCAR}
{.Include SRL/SRL/Reflection/Reflection.SCAR}
{.Include SRL/SRL/Misc/WorldSwitcher.SCAR}
Var
//ObjectRecord, ObjectRecordss, ObjectRecordsss : TAutoColorInfo;
Path: TPointArray;
I, DTMTiara, DTMwaterTab, DTMeXplorer, DTMRune, DTMstile, TX, TY, rX, rY, sX, sY, Ess, BX, BY, Tries,
SleepFor, SleepTime, A, DST, SF, WX, WY,
SSLvl, SSEXP, EssLeft, RandC, FESS, FX, FY, PS : Integer;
Run, SST, SSD : String;
Const
MSpeed = 11; // Mouse Speed
WantToSleep = True;
SleepEvery = 40; // This Loads Out CurrentPlayer Sleeps For 30 - 60 Secs WantToSleep = True; // Use Player Sleep
DeBug = True;
Version = '1.0';
Procedure DeclarePlayers;
Begin
CurrentPlayer := 0; // First Player
HowManyPlayers := 1; // How many Players
NumberOfPlayers( HowManyPlayers );
Players[0].Name := ''; // RuneScape UserName
Players[0].Pass := ''; // RuneScape PassWord
Players[0].Nick := 'ror'; // 3 To 4 Letters Of UserName Not The First
Players[0].Pin := '0000'; // RuneScape Bank Pin Leave As 0000 If Got None
Players[0].Integers[0] := 10000; // How Much Ess This Player Has Got (or u want to craft)
Players[0].Active := True; // Use This Player
WriteLn( IntToStr ( HowManyPlayers ) + ' Player[s]' );
End;
Function FindTiara : Boolean;
Begin
Result := False;
DTMTiara := DTMFromString('78DA63D4646060106240017FFFFE65F80FA41' +
'981F83F10309A02199C0C6880118904D2D244A8D100123C04D4A8' +
'030971DC6A9841B411901021A04616D35FE86A00D91C0994');
Gametab(5);
If FindDTM(DTMTiara, TX, TY, MIX1, MIY1, MIX2, MIY2) Then Result := True;
If Result = False Then
Begin
Gametab(4);
If FindDTM(DTMTiara, TX, TY, MIX1, MIY1, MIX2, MIY2) Then
Begin
Mouse(TX, TY, 0, 0, False);
ChooseOption('ear');
Result := True;
End;
End;
FreeDTM(DTMTiara);
End;
Procedure SRandoms;
Begin
LampSkill := 'Runecrafting';
FindNormalRandoms;
SRLRandomsReport;
Inc(RandC);
End;
Procedure ChatsOffAll;
Begin
WriteLn('Setting Chats Off...');
ChatsOff;
SetChat('on',1); //Normal Chat if kept on, as here u can c what ppl are saying in normal chat, rest are all off
End;
Procedure PlayerEXP;
Begin
SSLvl := GetSkillInfo('runecrafting', False);
SSEXP := GetXP('runecrafting');
End;
Procedure SetupPlayer;
Begin
EssLeft := Players[CurrentPlayer].Integers[0]
If Not FindTiara Then TerminateScript;
SRandoms;
ChatsOffAll;
SetChat('on',1);
PlayerEXP;
End;
Procedure SGametab;
Begin
Case Random(14) Of
0 : Gametab(1);
1 : Gametab(2);
2 : Gametab(3);
3 : Gametab(4);
4 : Gametab(5);
5 : Gametab(6);
6 : Gametab(7);
7 : Gametab(8);
8 : Gametab(9);
9 : Gametab(10);
10 : Gametab(11);
11 : Gametab(12);
12 : Gametab(13);
13 : Gametab(14);
End;
End;
Function FindEss : Boolean;
Begin
FESS := DTMFromString('78DA635CC4C0C050C78002AE754833FC07D28' +
'C40FC1F0818AF0119D5A86AAEB623D48000E37520D180AAE64A1B' +
'9A9AF3986A30CC3943845D2730CD39592981AAE60890A84555730' +
'A5DCD5E4CBF9FAE42B36B2BA65D77BA3450D5AC0712F504CC598C' +
'E92F0C736612113ED389089F0944A8E9C57433869A49986A30C2B' +
'01348D41030A71553CD157435ED987EC76A17A1F001C57905AA9A' +
'CBE86A1A31D560A49F4622ED2294E6EB31D321865D20F92A026EA' +
'EC54CAB97DBB0E41D3C699E13445FC35483EC66901A001AE06B56' +
'');
MoveMouse(BX, BY);
If FindDTM(FESS, FX, FY, MSX1, MSY1, MSX2, MSY2) Then Result := True;
FreeDTM(FESS);
End;
Procedure SetupDefalts;
Begin
MouseSpeed := MSpeed;
MakeCompass('n');
SetAngle(True);
End;
procedure PlayersNonActive(Reason:string);
begin
Players[CurrentPlayer].Active:=false;
Players[CurrentPlayer].Loc:=reason;
logout;
end;
function GiveAnim:integer;
var
Tx:TMe;
begin
Tx:= Getme;
Result:= Tx.Animation;
end;
procedure DeHighlight;
var
TPe:TPointArray;
TP:TPoint;
begin
FindColorsTolerance(TPe, 16777215,MIX1,MIY1,MIX2,MIY2,1);
if Length(TPe) <= 0 then Exit;
try
TP:= MiddleTPA(TPe);
except
TP:= TPe[0];
end;
Mouse(TP.x, TP.y,4,4,true);
end;
Procedure SAntiban;
Begin
Case random(3) of
0 : Begin
MouseSpeed := 20;
BoredHuman;
SRandoms;
SetupDefalts;
End;
1 : Begin
MouseSpeed := 20;
SGametab;
SGametab;
SRandoms;
SetupDefalts;
End;
2 : Begin
MouseSpeed := 10;
hoverSkill('random', false);
SRandoms;
SetupDefalts;
End;
End;
End;
Procedure CheckRun;
Begin
If(GetMMLevels('run', Run) > 75)Then SetRun(True);
If(GetMMLevels('run', Run) < 15)Then SetRun(False);
End;
Procedure SetupSRLnSMART;
begin
Writeln('Setting Up SRL...');
SetupSRL;
SST := TheTime;
SSD := TheDate(3);
Writeln('Setting Up SMART...');
LoadSMART(40, True, True);
Wait(1000);
SetTargetDC(SmartGetDC);
Writeln('Waiting For Smart To Load...');
While Not RSReady Do Wait(100);
Writeln('Loading SRL Randoms Report...');
SRLRandomsReport;
Writeln('Setting Custom Mouse Speed');
MouseSpeed := MSpeed;
Writeln('Declaring Players...');
DeclarePlayers;
Writeln('Sorting Out Music To Off...');
LoginScreenMusic(True);
Login_SetAudio(1, 1, 1, Mono);
end;
Procedure PlayerSleep;
Begin
Inc(PS);
If Not PS = SleepEvery Then Exit;
If PS = SleepEvery Then
Begin
PS := 0;
Writeln('---------------------------------------------------------------------');
Writeln('Player Sleep');
Writeln('---------------------------------------------------------------------');
SleepTime := 0
Writeln('Getting Random Sleep MS...');
SleepFor := RandomRange(30000, 60000);
Writeln('Choose To Sleep For '+IntToStr(SleepFor)+'MS...');
SRandoms;
Logout;
Writeln('Sleeping For '+IntToStr(SleepFor)+'MS...');
LoginScreenMusic(False);
LoginScreenMusic(True);
MarkTime(SleepTime);
Wait(SleepFor);
Repeat
DST := TimeFromMark(SleepTime);
Wait(1);
Until(SleepTime > SleepFor);
Writeln('Sleeping Over Swiching To Random World');
SF := DST + SF
Players[CurrentPlayer].Integers[0] := EssLeft;
NextPlayer(True);
Writeln('---------------------------------------------------------------------');
End;
End;
function GiveAltarCoords(which:integer;inside:integer):TPoint;
var
Temp:TPoint;
begin
case which of
0:begin {AIR}
case Inside of
0:Temp:= Point(2985,3293); //Outisde Altar
2:Temp:= Point(2844,4834); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(2843,4832);
Exit;
end;
3:begin
Result:= Point(2841,4828); //Portal MM
Exit;
end;
4:Temp:= Point(2841,4828); //Portal MS
end;
end;
1:begin {MIND}
case Inside of
0:Temp:= Point(2982,3514); //Outisde Altar
2:Temp:= Point(2786,4841); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(2788,4839);
Exit;
end;
3:begin
Result:= Point(2793,4827); //Portal MM
Exit;
end;
4:Temp:= Point(2793,4827); //Portal MS
end;
end;
2:begin {WATER}
case Inside of
0:Temp:= Point(3185,3165); //Outisde Altar
2:Temp:= Point(3484,4836); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(3486,4835);
Exit;
end;
3:begin
Result:= Point(3495,4832); //Portal MM
Exit;
end;
4:Temp:= Point(3495,4832); //Portal MS
end;
end;
3:begin {EARTH}
case Inside of
0:Temp:= Point(3306,3474); //Outisde Altar
2:Temp:= Point(2658,4841); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(2658,4839);
Exit;
end;
3:begin
Result:= Point(2655,4829); //Portal MM
Exit;
end;
4:Temp:= Point(2655,4829); //Portal MS
end;
end;
4:begin {FIRE}
case Inside of
0:Temp:= Point(3313,3255); //Outisde Altar
2:Temp:= Point(2585,4838); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(2583,4839);
Exit;
end;
3:begin
Result:= Point(2576,4846); //Portal MM
Exit;
end;
4:Temp:= Point(2576,4846); //Portal MS
end;
end;
5:begin {BODY}
case Inside of
0:Temp:= Point(3053,3445); //Outisde Altar
2:Temp:= Point(2523,4840); //Inside Altar
1:begin //Near Inside Altar
Result:= Point(2521,4840);
Exit;
end;
3:begin
Result:= Point(2521,4833); //Portal MM
Exit;
end;
4:Temp:= Point(2521,4833); //Portal MS
end;
end;
end;
if TileOnMS(Temp,0) then
Result:=TileToMS(Temp,0);
end;
Function GetAlterText : Boolean;
Begin
If (Pos('owerful', GetBlackText(8)) > 0) Then Result := True;
End;
procedure CraftEss;
var
Tp:TPoint;
i,x,y:integer;
begin
if not(LoggedIn) then Exit;
Dehighlight;
repeat
TP:= GiveAltarCoords(2,2);
if (Tp.x <> 0) or (TP.y <> 0) then
begin
Mouse(Tp.x, Tp.y,4,4,true);
Flag;
Marktime(i);
repeat
writeln('Animation is currently '+inttostr(GiveAnim));
if TimeFromMark(i) > 6000 then
begin
if FindDTM(DTMRune,x,y,MIX1,MIY1,MIX2,MIY2) then Exit;
PlayersNonActive('Took Longer than 6 to craft');
Exit;
end;
wait(50);
SRandoms;
until (GiveAnim = 791)
while (GiveAnim = 791) do
wait(200);
end else
WalkToTile(GiveAltarCoords(2,1),2,0);
until(FindDTM(DTMRune,x,y,MIX1,MIY1,MIX2,MIY2))
SRandoms;
end;
procedure GoInAltar(which:integer);
var
TP, Center :TPoint;
c,a,b, acol, ax, ay:Integer;
begin
if not(LoggedIn) then Exit;
inc(c);
acol := 6972209;
Center := Point(2985,3293);
TP:= GiveAltarCoords(2,0);
DeHighlight;
SRandoms;
wait(1000 +random(500));
If FindObjCustom(ax, ay, ['erious', 'ruins', 'uins', 'Mysteri'], [acol], 5) Then
begin
if IsUpTextMultiCustom(['Mysteri','Enter Mys','erious ru']) then //is the uptext correct?
begin
Writeln('Found Altar Enterance with SortATPASize MiddleTPA');
Mouse(ax,ay,4,4,true);
end;
end;
wait(200);
FFlag(0);
if FindText(a,b,'oading',SmallChars,6,6,135,26) then
repeat
wait(25);
until not(FindText(a,b,'oading',SmallChars,6,6,135,26));
end;
Procedure CabagePort;
Begin
Gametab(4);
DTMeXplorer := DTMFromString('78DA637462626078CC80024E6F9202D38C503' +
'EA31950CD330634C088AAC61CA8E6110135764035B709A87106AA' +
'B943408D0F50CD43026A7C8970B31750CD1B026A5C806ADEA1AAF' +
'8F3BC11558D2350CD7B02E65812B60B00B0AF10E0');
If FindDTM(DTMeXplorer, rX, rY, MIX1, MIY1, MIX2, MIY2) Then
Begin
Mouse(rX, rY, 0, 0, False);
ChooseOption('abbage-port');
End;
FreeDTM(DTMeXplorer);
End;
Procedure Bank;
Begin
Tries := 0;
Ess := DTMFromString('78DA63D4646060906240016101010C2780342' +
'310FF07024673204398010D302291401AA44686801A3920214F40' +
'8D0C1176A9000915026A7481842A013526404209BF1A002E45080' +
'E');
Tries := Tries - Tries;
Repeat
OpenBankFast('db');
If PinScreen Then InPin(+Players[CurrentPlayer].Pin);
Inc(Tries);
Until((BankScreen) Or (Tries = 5));
If Tries > 5 Then
Begin
FreeDTM(Ess);
TerminateScript;
End;
If BankScreen Then
Begin
Wait(250+Random(250));
FixBankTab;
Deposit(3,28,true);
If FindDTM(Ess, BX, BY, MSX1, MSY1, MSX2, MSY2) Then
Begin
If FindEss Then
Begin
Writeln('Found Ess...');
Mouse(BX, BY, 7, 7, False);
Wait(500+Random(500));
ChooseOption('ll');
End;
End;
CloseBank;
End;
FreeDTM(Ess);
End;
function ToStile: TPointArray;
begin
SetLength(Result, 2);
Result[0] := Point(3054, 3290);
Result[1] := Point(3063, 3284);
end;
Function ToDraynorBank : TPointArray;
Begin
Case Random(6) Of
0 : Begin
SetLength(Result, 8);
Result[0] := Point(3063, 3282);
Result[1] := Point(3072, 3277);
Result[2] := Point(3078, 3272);
Result[3] := Point(3078, 3266);
Result[4] := Point(3081, 3258);
Result[5] := Point(3082, 3252);
Result[6] := Point(3089, 3249);
Result[7] := Point(3093, 3244);
End;
1 : Begin
SetLength(Result, 8);
Result[0] := Point(3063, 3282);
Result[1] := Point(3072, 3276);
Result[2] := Point(3073, 3269);
Result[3] := Point(3079, 3265);
Result[4] := Point(3081, 3258);
Result[5] := Point(3084, 3250);
Result[6] := Point(3092, 3249);
Result[7] := Point(3093, 3243);
End;
2 : Begin
SetLength(Result, 7);
Result[0] := Point(3063, 3282);
Result[1] := Point(3072, 3274);
Result[2] := Point(3080, 3264);
Result[3] := Point(3081, 3254);
Result[4] := Point(3086, 3248);
Result[5] := Point(3092, 3248);
Result[6] := Point(3093, 3243);
End;
3 : Begin
SetLength(Result, 7);
Result[0] := Point(3063, 3282);
Result[1] := Point(3073, 3277);
Result[2] := Point(3074, 3270);
Result[3] := Point(3080, 3264);
Result[4] := Point(3080, 3253);
Result[5] := Point(3088, 3249);
Result[6] := Point(3093, 3243);
End;
4 : Begin
SetLength(Result, 7);
Result[0] := Point(3063, 3282);
Result[1] := Point(3075, 3274);
Result[2] := Point(3078, 3266);
Result[3] := Point(3081, 3256);
Result[4] := Point(3086, 3249);
Result[5] := Point(3092, 3248);
Result[6] := Point(3092, 3244);
End;
5 : Begin
SetLength(Result, 7);
Result[0] := Point(3063, 3282);
Result[1] := Point(3072, 3275);
Result[2] := Point(3078, 3266);
Result[3] := Point(3081, 3259);
Result[4] := Point(3082, 3251);
Result[5] := Point(3091, 3249);
Result[6] := Point(3093, 3243);
End;
End;
End;
Procedure WalkToBank;
Begin
Path := ToDraynorBank;
For I := 0 To High(Path) Do
Begin
SRandoms;
WalkToTile(Path[I], 0, 0);
FFLag(0);
Flag;
End;
End;
Procedure WalkToStile;
Begin
Path := ToStile;
For I := 0 To High(Path) Do
Begin
SRandoms;
WalkToTile(Path[I], 0, 0);
FFLag(0);
Flag;
End;
End;
Procedure JumpStile;
Begin
DTMstile := DTMFromString('78DA63FCCEC0C0F08A0105C406D9836946289' +
'FF13390B883AA26C0DD0C55CD5F4C358E563AA86AFE0189AFA86A' +
'92C39D51D5FC00123F50D5E42579A3AAF984694E57551C8A1A009' +
'5C2113C');
If FindDTM(DTMstile, sX, sY, MIX1, MIY1, MIX2, MIY2) Then
Begin
Mouse(rX, rY, 0, 0, False);
ChooseOption('limb-over');
End;
FreeDTM(DTMstile);
End;
Procedure ToAltar;
Begin
Gametab(4);
DTMwaterTab := DTMFromString('78DA637462626078C680020444DB198C80342' +
'310FF07024647A09AEB0C6880118904D2BE40353709A80900AA79' +
'48408D3350CD27026A4C816ADE13A1E63E7E3500A4F30D01');
if FindDTM(DTMwaterTab,WX,WY,MIX1,MIY1,MIX2,MIY2) then
begin
Mouse(WX,WY,4,4,true)
end;
FreeDTM(DTMwaterTab);
End;
procedure VOIDMAIN;
Begin
Repeat
Inc(Tries);
Writeln('Banking...');
Bank;
Wait(2000+Random(1000));
Until((Invfull) Or (Tries >= 5));
Tries := 0;
Inc(Tries);
Writeln('Teleporting To Water Altar...');
Wait(1000+Random(500));
ToAltar;
SRandoms;
Wait(3000+Random(500));
Writeln('Entering Alter...');
GoInAltar(2);
Wait(2000+Random(500));
Writeln('Crafting Runes...');
CraftEss;
Wait(2000+Random(500));
Writeln('Cabage port now...');
CabagePort;
Wait(2000+Random(500));
Writeln('Walking back to Draynor bank........');
WalkToStile;
Wait(2000);
JumpStile;
Wait(2000);
WalkToBank;
End;
begin
ClearDebug;
{DTMRune := DTMFromString('78DA63CC676260F8C38002C4645631C800694' +
'620FE0F048C894035FF18D000231209A4416A5819F1ABC904AAE1' +
'23A0A618A8869F809A2AA01A6E026A6A816AFEE3773300F11D0B4' +
'5'); }
Writeln('---------------------------------------------------------------------');
Writeln('Script Setup');
Writeln('---------------------------------------------------------------------');
Writeln('Setting Up Script...');
SetupSRLnSMART;
Writeln('Logging In Player...');
LoginPlayer;
Writeln('Setting Angle To Highest...');
SetAngle(True);
Writeln('Setting Up Player...');
SetupPlayer;
Writeln('---------------------------------------------------------------------');
Repeat
Writeln('---------------------------------------------------------------------');
Writeln('Main Loop');
Writeln('---------------------------------------------------------------------');
Writeln('Checking Run...');
CheckRun;
VOIDMAIN;
Inc(a);
SAntiBan;
Writeln('---------------------------------------------------------------------');
If WantToSleep Then PlayerSleep;
ClearDebug;
If (AllPlayersInActive) Then Break;
Until((AllPlayersInActive));
end.——————————————————
<!– END TEMPLATE: formanswers –>