SRL Archive - Outdated Tutorials

SRL Memberz [All reveled]


Naum

2007-12-26 11:49:13

How to become A Respected SRL Member


DISCLAIMER!!

This will only work if you have read the begginer and some of the intermidiate stuff.
I am not responsible for any denied appeals!


Intro


Ok So you want to be an srl Member.
Your just dying to reap the rewards of becoming an established scripter among the ranks of the second elite.
(Behind the devs, Of course :p).
Read this Tutorial and Find Out how you may achive this…


Links- Might want to visit before reading!


Try Boreas Tut

JAD's Tut

n33ss3ss3sss3s3333ssssss's Tut :D

Anyothers {Search Button}

———————————————————————–
STUFF YOU N33D!!!



*=Not required

The Criteria Of your Script Must Contain;

Failsafes <– Very Useful!!

Cases <– Must know these

Dtm's/DDTM's <— DTM=Nessesity

Bitmaps*<—Conditional

Arrays*+ Mapwalking<— Mapwalking= Nessesity

SetupPlayers<— Need this!

MultiPlayers<— Helps alot!

RaidalWalk/RadialRoadWalk* <— ++Chances of you getting in
^^^^^^^^^See Bobbohobbo's Tut^^^^^^^^^^

Forms*<–Help alot!

UsingColours*<–English Spelling
:D
————————————————————————–

Prologue

Ok So you got that covered Chances are that you will fail the first time you apply.
Thats why waiting is the key! I know this from past expeience i have Applied Eight Times Before.
Two times on a different account :rolleyes: .
After around 2-3 appleals you should be in.

When you read this tutorial DO NOT Cram yourself to the over-limit with knowledge just learn 1-2 new functions each day.
Hell DO Test it out if all means so. If you are impatient then DO NOT continue.
If You are a L33cher looking to exploit some of these scripts DO NOT waste time posting them up..
Ok if you are ready, take a few pills have a cup of tea. And your ready to Begin…

_______________________________________________________________

Table Of Contents:

0: What Type?

1: Examples

2:Attitude

3:Facts/Credits


What Types?

I recommend Walking script i.e woodcutter and banker. AutoFighter.
Miners? And if your really ambitious> Tut Runners :p

EXAMPLES


Ok they are 3 types of scripts that you can apply with.
( NB: This is MY Way of doing them use them as a guidline not all members agree)



They Are classified as so#:


1>The 'Bad' Script 1-50 lines:
Example:

 Program New;
Begin
Writeln('Hello World')
end.

As you can see this is what would not get you into members.
As everyone knows you will be classed 'as the person who looks up Pascal in wikipedia and copies examples'.
This will NOT damage your chances for members but it might take some time for you to get the right image into their heads.


2>The 'Alright/Ok' Script 200-450 lines#:
Example:
program AutoYewz;
{.include srl/srl.scar}
{.include SRL/SRL/skill/WoodCutting.scar}

//----------------------------------------------------------------------------//
//---> Variables //
//----------------------------------------------------------------------------//

var
BrokenAxeMask, AxeMask, x, y, Yew_LogMask, Tries: integer;
LoadsB, LogsChopped, DeathsAvoided, lol: integer;
Steel_Axe, Rune_Axe, Addy_Axe, Mith_Axe: integer;
Chat, Axe, position: string;


procedure LoadVars;
begin;


AxeMask := DTMFromString('78DA635465606058CA800618914820AD09245' +
'613500332671D01350A4062150135D244B84703482C23A0461248' +
'ACC5AF06001A0805A5');

BrokenAxeMask := DTMFromString('78DA6354616060906040038C0CFFC12403C37' +
'F20605407326430D52048200D52A348400DC82E79026A1480842C' +
'01359A404212BF1A005BE90697');

Rune_Axe := DTMFromString('78DA639CCEC4C0F09401051485F1318800694' +
'620FE0F048C4B806AEEA2AA718E4864E082AA0101C6C54035F751' +
'D5D887C6A1AA590A547313558D4B740A8A1A00CFA10E03');

Addy_Axe := DTMFromString('78DA6374606060686440014D497C0C22409A1' +
'188FF0301A337905187AAC6C6D786810BAA0604187D804415AA1A' +
'7B7F7B5435BE40A21C558D73B0338A1A00C1660AA8');

Mith_Axe := DTMFromString('78DA633CC4C4C010C0C8800C5A53F81852803' +
'448F43F10309E05AAF14155636111CCC0055503028CE7816A5C51' +
'D5D839C4A2AA3981A9C6C52D0D450D0061FC0C64');

Steel_Axe := DTMFromString('78DA63CC636260D8C3C8800C5A53F81852803' +
'448F43F10305602D5EC4055939B9ACAC0055503028CD540351B51' +
'D594E5E5A2AA29C154D3545989A20600C3BC0E32');

Yew_logMask := DTMFromString('78DA63CC656260E0646440063E969C601A26C' +
'A98C284C483014654352540357F19F0ABA900AA1120604E1A508D' +
'280135B14035BC04D49403D5B0E1570300088D04EC');

end;
//----------------------------------------------------------------------------//
//---> Setup //
//----------------------------------------------------------------------------//

const
Direction = 'W'; // direction to run if in case of fight?
Mask = 'Norton Anti-Virus'; //what you want scar to desguise it's self as?
Loads = 2; //how many loads for each player?
GetBesAxe = 'Rune'; // case of losing your axe :P must have axe on you in bank
// Choose from : Addy, Rune, Mith, Steel.
//-----------------------------------------------------------------------//
//---> Version Number No touching //
//-----------------------------------------------------------------------//

VersionNumber = '0.1'; //leave this alone!

//----------------------------------------------------------------------------//
//---> Setup Players //
//----------------------------------------------------------------------------//

procedure DeclarePlayers;
begin
Disguise(Mask);
getapplication.MINIMIZE;

HowManyPlayers := 2;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;


Players[0].Name := 'tttttt'; //Your Username.
Players[0].Pass := 'ttttt'; // Your Password.
Players[0].Nick := 'ttt'; // 3-4 letters from your name.
Players[0].Active := True; //True = Use player, False = Don't use.
Players[0].pin := 0000; //pin in here if you dont have dont touch!

Players[1].Name := ''; //Your Username.
Players[1].Pass := ''; // Your Password.
Players[1].Nick := ''; // 3-4 letters from your name.
Players[1].Active := True; //True = Use player, False = Don't use.
Players[1].pin := 0000; //pin in here if you dont have dont touch!


writeln(inttostr(HowManyPlayers) + ' Players');
end;

//----------------------------------------------------------------------------//
//---> SuperScripter's Auto Responder //
//----------------------------------------------------------------------------//

procedure SSAutoRespond;
begin
if InChat('lol') then
begin
case Random(19) of
2: TypeSend('...')
5: TypeSend('Lil')
8: TypeSend('contento')
13: TypeSend('Hehe')
15: TypeSend('funy')
17: TypeSend(':)')
19: TypeSend('wave:zzzzzz')
end;
if InChat(Players[CurrentPlayer].Nick) then
begin
case Random(7) of
2: TypeSend('!!!');
5: TypeSend('No me gusta ingles'); // <-- SPanish :p
7: TypeSend('Estoy Trieste'); // some more spanish :D
9: Typesend('chicos verqueros')
end;
end;
end;
end;

//----------------------------------------------------------------------------//
//---> Find Fast Randoms!!!! //
//----------------------------------------------------------------------------//

function FindFastRandoms: Boolean; //By Wt-Fakawi
var
i: Integer;
begin
for i := 1 to 11 do
begin
case I of
1: if FindDead then
Result := True;
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;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: begin
if FindFight then
begin
RunTo(Direction, False);
Wait(5000 + random(3000));
Runback;
DeathsAvoided := DeathsAvoided + 1;
end;
end;
10: if FindTalk then
Result := True;

11: if ClickToContinue then
Result := True;
end;

end;
end;

//----------------------------------------------------------------------------//
//---> Different Cutting Ways //
//----------------------------------------------------------------------------//

function DifferentTechniques: Boolean;
begin
case Random(6) of
1: Mouse(x, y, 1 + Random(6), 5 - Random(4), true)
2: Mouse(x, y, 1 + Random(6), 5 - Random(4), true)
3: Mouse(x, y, 1 + Random(6), 5 - Random(4), true)
4: Mouse(x, y, 1 + Random(6), 5 - Random(4), true)
5: begin
Mouse(x, y, 1 + Random(6), 5 - Random(4), false)
wait(200 + Random(234))
ChooseOption('Chop')
end;
end;
end;

//----------------------------------------------------------------------------//
//---> AntiBan //
//----------------------------------------------------------------------------//

procedure AntiBan;
begin
case Random(30) of
1: HoverSkill('Random', false);
5: AlmostLogout;
9: HoverSkill('woodcutting', false);
19: BoredHuman;
25: RandomMovement;
30: RandomRClick;
27: PerfectNorth;
end;
end;

//----------------------------------------------------------------------------//
//---> Banking Procedure //
//----------------------------------------------------------------------------//

Procedure NOpenBank;
Begin;
If FindObj(x,y,'Bank',7042941,5) or
FindObj(x,y,'booth',2900815,5) or
FindObj(x,y,'ank boo',7767438,5) then
Begin
Mmouse(x,y,0,0)
If IsUpText('Use') then
Begin
Mouse(x,y,0+Random(3),3-Random(2),false)
ChooseOption('uickly')
wait(1000+Random(3450))
end;
Writeln('Bank Found')
end;
end;
//----------------------------------------------------------------------//
//---> Depositing.. //
//----------------------------------------------------------------------//

Procedure NDeposit;
Begin
If finddtm(Yew_LogMask,x,y,MIX1,MIY1,MIX2,MIY2) then
writeln('found')
Begin
mouse(x,y,2,0+Random(2),false)
ChooseOption('All')
wait(300+Random(700))
end;
end;
//----------------------------------------------------------------------//
//---> Get Axe Head //
//----------------------------------------------------------------------//

procedure GetAxeHead;
begin
if (findDTM(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin;
Axe := 'Present'
end;
if (not (findDTM(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2))) then
begin
Axe := 'Absent';
writeln('Axe Absent')
end;
end;

//------------------------------------------------------------------//
//---> Get Best Axe --> Will Get axes Up to Steel <-- //
//------------------------------------------------------------------//

procedure GetBestAxe;
begin
if Axe = 'Absent' then
begin
wait(100 + Random(200))
NOpenBank;
if (bankScreen) then
FixBank;
begin
case GetBesAxe of
'Rune': begin
if (findDTM(Rune_Axe, x, y, MSX1, MSY1, MSX2, MSY2)) then
mouse(x, y, 0, 2, true)
end;
'Addy': begin
if (findDTM(Addy_Axe, x, y, MSX1, MSY1, MSX2, MSY2)) then
mouse(x, y, 0, 2, true)
end;
'Mith': begin
if (findDTM(Mith_Axe, x, y, MSX1, MSY1, MSX2, MSY2)) then
mouse(x, y, 0, 2, true)
end;
'Steel': begin
if (findDTM(Steel_Axe, x, y, MSX1, MSY1, MSX2, MSY2)) then
mouse(x, y, 0, 2, true)
end;
end;
CloseBank;
end;
end;
end;


procedure WaitWhileCutting;
begin
repeat
FindEnt(x, y, true);
AntiBan;
FindFastRandoms;
GetAxeHead;
GetBestAxe;
SSAutoRespond;
until (not (IsUpText('Chop')))
end;



function Chop: boolean;
begin
if FindObj(x, y, 'Yew', 1855816, 5) then
begin
FindFastRandoms;
if isuptext('Chop') then
begin
FindEnt(x, y, true)
mouse(x, y, 2, 2, true)
wait(30 + Random(290))
DifferentTechniques;
WaitWhileCutting;
end;
Result:=True;
end;
end;


procedure WalktoYewz;
begin;
if (not (LoggedIn)) then LoginPlayer;
HighestAngle;
wait(200 + Random(340))
Makecompass('N')
SetRun(True)
Gametab(4);
GetAxeHead;
mmouse(x,y,0,2)
GetBestAxe;
wait(200 + Random(200))
// FIX!!!!!
Flag;
If findsymbol(x,y,'Tree')then
Begin
mouse(x,y+10,0,0,true)
if (flagpresent) then
Flag;
end;
end;


procedure getposition;
begin
if findsymbol(x, y, 'water') then
begin
position := 'North'
end else
begin
position := 'South'
end;
end;

function switchposition: boolean;
begin
getposition;
if position = 'South' then
begin
if findcolorspiraltolerance(x, y, 91905, 630, 20, 672, 67, 50) then
begin
mouse(x + 6, y + 5, 2, 2, true)
flag;
result := true
end else
result := false
end;
if position = 'North' then
begin
if findcolorspiraltolerance(x, y, 91905, 610, 96, 661, 150, 50) then
begin
mouse(x + 6, y - 5, 2, 2, true)
flag;
result := true
end else
result := false
end;
end;



procedure ChopDown;
begin;
if not (loggedin) then
Nextplayer(true);
SetRun(false);
gametab(4);
HighestAngle;
begin
repeat
Chop;
if not FindObj(x, y, 'Yew', 1855816, 5) then
if (not IsUpText('Yew'))then
SwitchPosition;
AntiBan;
wait(5000 + Random(1000))
until (invfull)
logschopped := logschopped + 27;
end;
end;

procedure Bank;
begin;
if (not(loggedin))then
NextPlayer(false);
if (invfull) then
begin
GetPosition;
if position = 'North' then
SwitchPosition;
if findsymbol(x, y, 'dungeon') then
Makecompass('N');
Mouse(x, y, 0 + Random(3), 1 - Random(1), true);
if (FlagPresent) then
Flag;
SetRun(True);
mouse(641, 32, 0, 0, true)
if (flagpresent) then
Flag;
if findsymbol(x, y, 'Bank') then
mouse(x, y, 2 + Random(1), 3 - Random(2), true);
if (flagpresent) then
repeat
wait(6000 + Random(4000))
until not (flagpresent)
MakeCompass('E')
LowestAngle;
NOpenBank;
if (PinScreen) then
begin
InPin(IntToStr(Players[CurrentPlayer].Pin));
if (bankScreen) then
begin
Deposit(2,28,2);
wait(1000 + Random(200))
CloseBank
LoadsB := LoadsB + 1;
end;
end;
end;
end;


procedure Proggie;
var
PActive: string;
begin
SRLRandomsReport;
if Players[CurrentPlayer].Active then PActive := 'True' else PActive := 'False';
Writeln('//=============== Auto ================\\');
Writeln('\\======== -' + VersionNumber + '- Progress Report ========//');
Writeln('/==========================================\');
Writeln('| Worked for ' + TimeRunning);
Writeln('| Chopped ' + IntToStr(LogsChopped) + (' logs.'));
Writeln('| Banked ' + IntToStr(LoadsB) + (' times.'));
writeln('| DeathsAvoided ' + IntToStr(Deathsavoided) + (' times.'));
Writeln('\==========================================/');
end;

//------------------//
//Edited Out;
//Credit me for any uses you might need ;p//

{--------Main Loop Ends----------}
{-Script Ends Here :(-}

Another Primitive Example:
{.Script Info:
# ScriptName = PwrMiner
# Author = ->(Nauman)<-
# Description = Mines The Selected Ore then DROPS!! IT.
# Version = 0.1 BETA
# Date = 23rd October 2007
# Comments = Use this well!
# Instructions= 1.Have Your Axe Weilded
2.Stand Next to the Ore you want to PwrMine.
3.Fill Out the form 48-89.
4.Specify The Window Press Play
5.Enjoi!
/Script Info}
{ ------------------------------------------------------------------
| /-------------\ /--------- |
| / \ / \ |
| / \ / \ |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| |________| | |______ | | |
| / / / / |
| / / / / |
| / / / / SCRIPT |
| / / UPER / /_____ |
| / / |/ |/ | |
| / / | | | |
| / / | | | |
| / / | | | |
| / /________ \ / |
| | | | \ / |
| | | | \------------/ |
| | | | |
| | | | Version Info: |
| \ / Version 0.0001 Test <- Just a Test Ver|
| \ / Version 0.001<-- Current Version |
| \ / Updates! |
| \---------/ Version 0.1<-- Should Be Banking Soon! |
------------------------------------------------------------------
}

program PowerMiner;
{.include srl/srl.scar}
{.include srl/srl/skill/mining.scar}

var
Oremask, AxeMask, LoadsB, fx, fy: integer;
OresMined, DeathsAvoided, x, y: integer;
BrokenPickAxe, PickAxeHandle: integer;
Mark:integer;
AxeLost: Boolean;
Axe: string;

const
What_To_Mine = 'Copper'; //What rock to mine Choose between:Clay,Copper,Tin,Iron,Silver//
{ Note: This is powerminer it will drop the ore not bank it}
Loads = 10; // How many Loads or inventoryfull's to drop!!!

What_To_Disguise_Scar_As = 'Deezer | Music on demand, f...'; //you got it :)

//-----------------------------------------------------------------------//
//---> Version Number No touching //
//-----------------------------------------------------------------------//

VersionNumber = '0.1 BETA'; // dont touch!

//----------------------------------------------------------------------------//
//---> Setup Players //
//----------------------------------------------------------------------------//

procedure DeclarePlayers;
begin
GetApplication.MINIMIZE;
Disguise(What_To_Disguise_Scar_As);

HowManyPlayers := 3;
CurrentPlayer := 0;
NumberOfPlayers(HowManyPlayers);

Players[0].Name := 'srl';
Players[0].Pass := 'poo';
Players[0].Nick := 'rlco'; //3 Lowercase Letters of your username//
Players[0].Active := True; //player active?

Players[1].Name := 'Srl';
Players[1].Pass := 'poo';
Players[1].Nick := 'rlco'; //3 Lowercase Letters of your username//
Players[1].Active := True;

Players[2].Name := 'srlc';
Players[2].Pass := 'po';
Players[2].Nick := 'rlco'; //3 Lowercase(aai not AAI)<-- Letters of your username//
Players[2].Active := True;

end;


//------------------------------------------------------//
//---> Load DTM's + Bitmap's! //
//------------------------------------------------------//

procedure LoadVars;
begin

OreMask := BitmapFromString(11, 11, 'z78DA73730301033070436' +
'2238B60024C35B84CC0A5923C13F0BB937813F0EB22DE04CC5022' +
'CF04CADD404CC890EA0BFCE2F85D4E4C6A212FF470998FCC0600F' +
'B599CC1');

AxeMask := DTMFromString('78DA63BCCFC0C010CAC8800A1819FE8349068' +
'6FF40C0F800C888C554832081F47520114D40CD2320114940CD33' +
'20114F40CD2B20914040CD25C2EE01001A130DB2');

BrokenPickAxe:= BitmapFromString(37, 36,
'z78DAED97C11580200CC556EA14EE3F1213D4E7A32DF697E4EAC5' +
'180A680600A0CAE330C36BEF699F0AEFF4B7AB789319765E47753' +
'BC5F59935779D7798EF5F20B7751FBB887BD6AA38E995DBEBA463' +
'7C6FAC98E8BFAA29DE246FF0A21AD5A88657FC0CA51AD5A846B58' +
'81DD514FFB567786137CFD100CA58F61718BB');

end;

//----------------------------------------------------------------------------//
//---> Find Fast Randoms!!!! //
//----------------------------------------------------------------------------//

function FindFastRandoms: Boolean; //By Wt-Fakawi
var
i: Integer;
begin
for i := 1 to 12 do
begin
case I of
1: if FindDead then
Result := True;
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;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: begin
if FindFight then
begin
RunTo('N', False);
Wait(5000 + random(3000));
Runback;
DeathsAvoided:=DeathsAvoided+1;
end;
end;
10: if FindTalk then
Result := True;
11: if ClickToContinue then
Result := True;
end;
end;
end;

//--------------------------------------------------------------------//
//---> Broken Pic Checker //
//--------------------------------------------------------------------//

procedure Check;
Begin
If FindBitmap(BrokenPickAxe,x,y)then
begin
mouse(x,y,2,3,false)
ChooseOption('Drop')
Writeln('Gas Got us Terminating Script!')
LogOut;
NextPlayer(true);
end;
end;

//------------------------------------------------------------------------//
//---> Pic Axe Handle Checker //
//------------------------------------------------------------------------//
Function PickChecker:boolean;
begin
PickAxeHandle := BitmapFromString(37, 36,
'z78DAEDD8B10940211044C196AE0AFB2FC954102E5E9679A1D15F' +
'C69F382349CAED3CF5EDDA4FACCB5FD77D33A9F9D7A851A3468D5' +
'AFEAEEE75D4A851A3466DFFFED675D4A851A366DDBFA5F59D5C69' +
'5DF233F830');
if (not(FindBitmap(PickAxeHandle,x,y)))then
Begin;
AxeLost := False;
Exit;
If FindBitmap(PickAxeHandle,x,y) then
Begin
AxeLost := True;
FindPick;
end;
end;
end;


//------------------------------------------------------------------------//
//---> NAuto Responder! //
//------------------------------------------------------------------------//

Procedure NAutoRespond;
begin // _!_!_!_
if FindChatText('Mining lvl') then //Auto Responder by me!!! |*_* |
SayCurrentLevels('Mining'); // |""" |
If FindChatText('lol')then // | " |
Begin // -----
Case Random(7) of
1:TypeSend ('^-^')
2:TypeSend ('Lawl')
3:TypeSend ('l0l')
4:TypeSend ('Hehe')
5:TypeSend ('Whats it is this time? :P')
6:TypeSend ('Yawn!')
7:TypeSend ( 'red:scroll:##########.......~~~~~~~~')
end;
if FindChatText(Players[CurrentPlayer].Nick)then
Begin
Case Random(3) of
1:TypeSend ('!!!');
2:TypeSend ('Sorry No english');
3:TypeSend ('From English Not me no');
end;
end;
end;
end;
//------------------------------------------------------------------------//
//---> My Ubber Sigggy! //
//------------------------------------------------------------------------//

procedure sig;
begin;
cleardebug;
writeln(' ######## ######### Super ')
wait(750)
writeln(' # # Script ')
writeln(' # # ')
wait(750)
writeln(' # # # # # # # # # B ')
wait(750)
writeln(' # # Y ')
wait(750)
writeln(' # # ->[Nauman]<- ')
wait(750)
writeln('##### ### ######## Yakman rulz !! ')
wait(1000)
end;

//----------------------------------------------------------------------//
//---> Get Axe Head //
//----------------------------------------------------------------------//

procedure GetAxeHead; // Adapted from my Yew Script
begin;
if (findDTM(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin;
Mmouse(x, y, 2 - Random(2), 2)
if isuptext('Wield') then
writeln('Found An Axe!!')
mouse(x,y,0,0,true)
Axe := 'Present'
end;
if (not (findDTM(AxeMask, x, y, MIX1, MIY1, MIX2, MIY2))) then
begin
Axe := 'Absent';
writeln('Axe Absent')
end;
end;

//----------------------------------------------------------------------------//
//---> AntiBan //
//----------------------------------------------------------------------------//

procedure AntiBan;
begin
case Random(30) of
0: gametab(1+Random(5))
1: HoverSkill('Random', false);
5: Mmouse(882+Random(100), 323+Random(122),100-Random(99+1),999-Random(198));
9: HoverSkill('Mining', false);
19: BoredHuman;
25: RandomMovement;
30: RandomRClick;
27: PerfectNorth;
end;
end;

//----------------------------------------------------------------------------//
//--->Waiting.. //
//----------------------------------------------------------------------------//

procedure WaitWhileMining;
begin
MarkTime(mark)
repeat
NAutoRespond;
FindFastRandoms;
PickChecker
Check;
if GasFound(fx, fy) then
begin
RunTo('E', False)
wait(7000 + Random(3000))
writeln('We avoided Gas!!! :P')
RunBack;
end;
NAutoRespond;
AntiBan;
until (FindBlackChatMessage('You manage to mine some')) or (TimeFromMark(mark)>20000)
end;

//-------------------------------------------------------------------//
//---> Setup Procedure //
//-------------------------------------------------------------------//

procedure Setup;
begin
if (not (LoggedIn)) then LoginPlayer;
begin
SetRun(True);
GameTab(4);
SetChat('on',1);
SetChat('off', 2);
wait(234 + Random(1000));
GetAxeHead;
wait(2 + Random(3));
MakeCompass('N');
end;
end;

//-------------------------------------------------------------------//
//---> Mining Procedure //
//-------------------------------------------------------------------//
procedure Mining;
begin;
HighestAngle;
case what_to_mine of
'Clay': begin
repeat
if FindObjOre(x, y, 'Mine', 6989253, 5, 2) then
mmouse(x, y, 2, 2)
if IsUpTextMulti('min', 'ne', 'rocks') then
wait(100 + Random(300))
mouse(x, y, 0, 2, true)
WaitWhileMining;
OresMined := OresMined + 1;
until (invcount = 28)
end
'Copper': begin
repeat
if FindObjOre(x, y, 'Rock', 2902115, 5, 2) then
mmouse(x, y, 0, 2)
if IsUpTextMulti('Min', 'ne', 'Rocks') then
wait(100 + Random(300))
mouse(x, y, 0, 2, true)
WaitWhileMining;
OresMined := OresMined + 1;
until (invcount = 28)
end;
'Iron': begin
repeat
if FindObjOre(x, y, 'Mine', 610943, 5, 2) then
mmouse(x, y, 0, 2)
if IsUpTextMulti('min', 'ne', 'rocks') then
wait(100 + Random(300))
mouse(x, y, 0, 2, true)
WaitWhileMining;
OresMined := OresMined + 1;
until (invcount = 28)
end;
'Silver': begin
repeat
if FindObjOre(x, y, 'Mine', 10724528, 5, 2) then
mmouse(x, y, 0, 2)
if IsUpTextMulti('min', 'ne', 'rocks') then
wait(100 + Random(300))
mouse(x, y, 0, 2, true)
WaitWhileMining;
OresMined := OresMined + 1;
until (invcount = 28)
end;
end;
end;

//-------------------------------------------------------------------//
//--->Dropping... //
//-------------------------------------------------------------------//

procedure DropOres;
begin
if not (loggedin) then NextPlayer(True);
if (invcount = 28) then
begin
MmouseItem(28)
if isuptext('Use') then
begin
DropToPosition(2, 28)
LoadsB := LoadsB + 1;
end;
end;
end;

//-------------------------------------------------------------------//
//---> My Proggie //
//-------------------------------------------------------------------//

procedure Proggie;
var
PActive: string;
begin
SRLRandomsReport;
if Players[CurrentPlayer].Active then PActive := 'True' else PActive := 'False';
Writeln('//=============== Auto PwrMiner ================\\');
Writeln('\\======== -' + VersionNumber + '- Progress Report ========//');
Writeln('/==========================================\');
Writeln('| Worked for ' + TimeRunning); //|
Writeln('| Mined ' + IntToStr(OresMined) + (' Ore$. |'));
Writeln('| Load Dropped ' + IntToStr(LoadsB) + (' Yay! |'));
writeln('| DeathsAvoided ' + IntToStr(Deathsavoided) + (' times.|'));
Writeln('\==========================================/');
end;

//----------------------------------------------------------------------------//
//---> The magical Main Loop //
//----------------------------------------------------------------------------//
begin
MarkTime(mark)
SetupSRL;
Sig;
DeclarePlayers;
LoadVars;
Setup;
Proggie;
repeat
Mining;
DropOres;
Proggie;
until (LoadsB = Loads);
if LoadsB = Loads then
begin;
Writeln('Loads Done and Dusted')
NextPLayer(true);
if timefrommark(mark) >40000 then
TerminateScript;
end;
end.

{--------Main Loop Ends----------}
{-Script Ends Here :(-}


[LEFT]The Top was my Yew cutter that ive applied with a few times a script with criteria similar to this will get you a 'head just over/below water' votings.
This one i applied with a few times before. The PwrMiner you can use to learn from. But its been realeased officially so im letting you use it.
With this pwrminer you can excpect your voting will be good or alright depending on the members m00ds :).
If you post these in your App you will get caught and have a damaged reputation<–Just to make it clear[/LEFT]




3: The 'Uber 1337' Script 450-1000+lines#:

Example
Here


This Type will boost your chances of getting In.
Believe me you need lots of experience.



=================================================

ATTITUDE

When you go into the battlefield(;P) then you MUST take these on board

1; Always DO listen to critisism. Most members have first hand experience at this.. Except Fakawi.. And Maybe…Kaitneiks

2;DO NOT Hate someone just because they have voted no. They will have a very good reason for this. And will explain in thier posts.

3;Always DO ask where you went wrong and how to improve so you stand a better chance next time.

4;DO NOT post your Next Appeal after 3 weeks. There is a reason for this. Firstly it takes 2 weeks to make a new script and a few days to test it.

5;Always laugh at members jokes ;p. Even if they don't make sense just laugh due to good manners. :)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Facts!!!

Fact Number 1: Did you know that only 2 out of 10 (per average) people get chosen for an srl member every month!

Fact Number 2: Did you know that the members appliances forum gets around 5-10 app's a month.

Fact Number 3: Did you know that they are numerous projects in srl that you could be in?

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Credit List / Ty's

Firstly I want to say thank-you to Fakawi and Wizzup for giving me a second Chance :) .

Secondly I want to say another thank-you to RickJess and P1nky for there effort to support me.

Thridly I want to say a 'furthermore' thank-you to the SRL Dev's and Members who made this possible.

Fourthly I want to say thanks to the people who voted yes and no in my poll. Who made me correct my script as much as possible Thank-You.


<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>


->{Nauman}<-

jhildy

2007-12-26 12:14:30

remember that lines dont mean everything. You could have a sick script with everything required with only around 350 lines. As long as it works properly and has everything.

Naum

2007-12-26 12:27:10

kk.

[-jesus-]

2007-12-26 17:38:06


Fact Number 2: Did you know that the members appliances forum gets around 5-10 app's a month.


I've seen like 5-10 in a week once or twice since I got members lol:rolleyes:

& Nice tut. rep+ for helping ppl.

Naum

2007-12-27 05:19:00

Thanks Jesus!

n3ss3s

2007-12-27 05:22:05

Nice, but if my sticky doesn't start to show up there you'll get hurt as much as the applicants that don't read it :p Jk/Jk but I think you should add it:
http://www.villavu.com/forum/showthread.php?t=19941

Naum

2007-12-27 05:32:31

Done n3s

the scar noob

2007-12-27 05:47:31

Yay! I'm in the "The 'Uber 1337' Script 450-1000+lines#:"? Lol, my apply sript had kinda 600+lines.
but as stated before, the lines of the script aint enough. Ever heard about, for eg., the used technique?:p
You're right about the walking, failsafes etc; I have to add that:)

Btw, the example of the uberleetest script aint really uber leet in my opinion;)

Nice "tut";):D

-Tsn.

Naum

2007-12-27 05:56:56

ahem i repeat!!!!!!
( NB: This is MY Way of doing them use them as a guidline not all members agree)

richk1693

2008-01-02 22:00:31

Great tutorial. Hopefully a few less useless apps will show up now. Very informative and will be great to read before applying.


5;Always laugh at members jokes ;p. Even if they don't make sense just laugh due to good manners.
Is this your way of getting people to laugh at your bad comedy? (Kidding)

Naum

2008-01-03 07:26:51

Yeah i guess. But it does get you votes especially when you laugh at N3s3ss's dried humour jokes XD

Markus

2008-01-03 08:09:02

One thing, please modify that you'll need bitmaps OR dtms, not DTMs and that you might have bitmaps.

Naum

2008-01-03 09:02:37

kk

nielsie95

2008-01-03 09:16:43

I edited it out for you (didn't know you were planning to). :)

Sp0rky

2008-01-03 09:39:28

From: [-jesus-]
I've seen like 5-10 in a week once or twice since I got members lol:rolleyes:

& Nice tut. rep+ for helping ppl.


I second that.

A great tutorial, good job.

Don't go giving away our secrets :o

Soon everyone will find out that [-jesus-] is a professional pimp.

Naum

2008-01-03 10:09:04

Lol i never knew this was going to be a good tut :).
Hope that this will get stickied *cough*Nielsie*cough*

Naum

2008-01-05 13:52:14

Edited a bit corrected spelling mistakes. Build up for newest chapter :p

Naum

2008-02-18 11:52:16

Common more replies.

TViYH

2008-02-18 15:07:05

Why double post?

Anyways, it's a good tutorial!

Richard

2008-02-18 16:07:24

Great tut Naum, thanks to you and your help I'm at 60% yes with my members app :D

Rep for you :)

Naum

2008-02-27 13:44:38

Sorry for the double post.
Thx DR

FreakyMonkey

2008-03-27 00:30:30

hey i have a question. wat if the script i am making does not need radial walk (its an auto fletcher), but i do have map walking. would that negatively affect my chances A LOT?

Naum

2008-03-28 12:25:00

Not really it's just at what some members like to see.
But Symbol clicking / map walking is applicable!

Torrent of Flame

2008-03-28 12:46:54

I cant read it! I hate the colours 0_o

Lol, its long so it must be good.

Either that or its just the huge font..

=P Nice Tutorial ^^

Naum

2008-04-02 12:07:49

Lol its alright.
My first proper tutorial

kor

2008-05-28 10:46:20

BUMP! i really think this is a good thread so i dont want it to die ;) anyways, i have a question. if i make a script, will i have to release it or could i just apply to srl membership with it? i really need to know ;)

Naum

2008-05-28 11:30:51

From: kor
BUMP! i really think this is a good thread so i dont want it to die ;) anyways, i have a question. if i make a script, will i have to release it or could i just apply to srl membership with it? i really need to know ;)


I think you should release it then Apply ;)

kor

2008-05-28 12:14:38

From: NaumanAkhlaQ
I think you should release it then Apply ;)

Thanks, i will do that when the script is done ;) just need to tweak some walking procedures, add anti ban, anti randoms and then i think it's done :p

shrubie1

2008-05-29 07:21:10

lol its funny because theres only 2 posters on this thread that arent srl members( exluding me ). you'd think it would be the other way around lol.

Naum

2008-05-29 09:16:38

Thats becuase After reading my tutorial all the members who posted here became SRL Members ;)

Gu3st...

2008-05-29 10:19:17

Nice tut there Nauman ;) just edit the colours plx

My script had over 3000 lines (A)

(i had a bmp that had over 1000 lines in there)

Naum

2008-05-31 09:35:46

Cool

fPsnx

2008-06-10 05:54:02

ill try i want be srl member ^^

D darknight1

2010-03-10 11:37:53

Good tutorial. Im obviously not applying for members yet, but im going to use this for my first script.

Dgby714

2010-03-10 12:42:31

From: D darknight1
Good tutorial. Im obviously not applying for members yet, but im going to use this for my first script.


Good thing you can't grave dig tuts lol O.o

hmm never even seen this nice tips though =)

Tim0suprem0

2010-03-10 16:30:57

Yeah even though this is a massive gravedig, it's still pretty helpful lol. JAD's tut taught me how to start scripting.

iJake

2010-03-13 03:17:46

Spelling - Necessity.

(gravedig much)

i luffs yeww

2010-03-13 03:19:03

;) Can't grave dig tutorials, Jake. But either way the last post was only three days ago.. :p

iJake

2010-03-13 03:35:46

From: i luffs yeww
;) Can't grave dig tutorials, Jake. But either way the last post was only three days ago.. :p


Ah, right. :duh:

YoHoJo

2010-03-13 03:46:51

All of you stop posting useless posts about how you can't grave-dig tutorials, we get it!
You can still spam them though.

i luffs yeww

2010-03-13 03:50:05

From: YoHoJo
All of you stop posting useless posts about how you can't grave-dig tutorials, we get it!
You can still spam them though.


Okay. ;D But seriously, is members going to be a different process now that we're private? (Or will be within a day or two, so long as RAM was serious about the two week thing.)

YoHoJo

2010-03-13 04:09:06

I don't think anything about becoming and SRL member will change, where did you see talk about that happening?

i luffs yeww

2010-03-13 04:24:30

I didn't. I just thought it might because now there will be more room to learn, in my opinion. Less people to be bothered by and just having time with good scripters to learn. :) So in my mind it makes sense that it'd be more difficult, as more excelled projects would be expected. I dunno, though. And I was also thinking there may be a different way of achieving membership. Again, I dunno. Just thoughts. :p