SRL Archive - Archive

U L T R A - SRL Member Application Form


Ultra

2008-02-26 20:32:24

<!– BEGIN TEMPLATE: formanswers –>
U L T R A - SRL Member Application Form
U L T R A

What is the meaning to life?
Live, work, love, and in the end die.


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
Little Of Java

Other Communitys
Moparscape.Org.

How Long have You Played Runescape
3 Years.

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

I like scripting, i learn stuff fast, i wish to be a programmer when in the future days (When I Be Older :P). I like talking on chat with friends/other people.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Here is my power-chopper, i tried to apply with it 2-4 weeks ago, now i fixed some stuff, added stuff and i am triying to aply with it again.

Program ULTRAPowerChopper;
{.Include SRL/SRL.Scar}

//INSTRUCTIONS.
{
WEAR YOUR AXE, USE LOW DETAIL, HIGHEST BRIGHTNESS, FULL OUT CONST/DECLARE PLAYERS, DRAG THE CROSS-HAIR ONTO THE RUNESCAPE SCREEN, HIT RUN, ENJOY!
}
//INSTRUCTIONS.

//Credits To: Rasta Magician - He Standarized My Script :P.
//Credits To: N1ke - He Fixed My Script Abit.
//Credits To: Timer & Spaztaz666 - They Helped Me With Multi-Player.

//Moved Some Code To Another Place.
//Removed Procedure WoodcuttingTalk.
//Added A Little More Fail-Safes.

Var
TreeTypeColor : Integer;
LogsCut : Integer;
LoadsCut, PLoadsCut : Integer;
Ents : Integer;
X, Y, AX1, AY1, AX2, AY2 : Integer;
RuneAxe, AddyAxe, MithAxe, BlackAxe, SteelAxe, IronAxe, BronzeAxe : Integer;

Const
Yew = 2184775;
Teak = 6071180;//Members Only.
Willow = 2332288;
Oak = 2188891;
Tree = 4483941;
Version = '2.3';


{SET UP HERE}
Const
TreeTolerance = 7;//Tolerance Of The Tree.
MaxSeconds = 3;//Maximum Seconds To Wait While Cutting A Tree.
RunAwayToDirection = 'n';//Direction To Run Away To If Find Ent Or Fight. LOWER CASE LETTER!
TreeType = 'Oak';//Yew, Teak, Willow, Oak, Tree. Capitalized.
SRLStatsID = '';//SRL STATS ID.
SRLStatsPW = '';//SRL STATS PASSWORD.

Procedure DeclarePlayers;
Begin

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

Players[0].Name := ''; //username
Players[0].Pass := ''; //password
Players[0].Nick := ''; //3-4 letters from your username
Players[0].Active := True;
Players[0].Integers[0] := 1;//Loads To Do

End;
{END OF SETUP}

Procedure LoadDTMs;
Begin

RuneAxe := DTMFromString('78DA630C666660B8C8C8800C5CA25318FE036' +
'990E87F20600C01AA3987AA06220B2381B43750CD79026A02806A' +
'2E1350E301547383801A2FA09A7BF8D50000AAEB0CF3');

AddyAxe := DTMFromString('78DA630C616660B8C8C8800C9C829D18FE036' +
'990E87F206004A93987AA06220B2381B43750CD79026A3C806A6E' +
'1050E303547393801A37A09A7BF8D5000089DC0CC6');

MithAxe := DTMFromString('78DA630C666660B8C8C8800C1C1CE219FE036' +
'990E87F20600C05AA3987AA06220B2381B43750CD79026A3C816A' +
'AE1250E30E54739B08731EE25703008ED00CCF');

BlackAxe := DTMFromString('78DA630C666660B8C0C8800C44858519FE036' +
'990E87F2060F401AAB989AA06220B2381B43750CD79026A3C806A' +
'6E1050130A54738E801A17A09AA7F8D50000137E0C2E');

SteelAxe := DTMFromString('78DA630C616660B8C8C8800CAA8B8A18FE036' +
'990E87F20600C05AA3987AA06220B2381B43750CD79026A3C816A' +
'AE1250E301547383801A37A09A7BF8D50000F0070D48');

IronAxe := DTMFromString('78DA630C666660B8C8C8800C827D7D19FE036' +
'990E87F206004A93987AA06220B2381B43750CD79026A3C816AAE' +
'1250E301547383801A37A09A7BF8D5000096F10CD3');

BronzeAxe := DTMFromString('78DA630C666660B8C8C8800CBCAD94C1344C9' +
'43114A8E61CAA1A982C5C8D3750CD79026ABC806A2E1150E30654' +
'738F801A4FA09A87F8D50000CE48079D');

AX1 := 573;

AY1 := 289;

AX2 := 601;

AY2 := 289;

End;

Function FindAxe : Boolean;
Begin
GameTab(5);
If(FindDTM(RuneAxe, X, Y, AX1, AY1, AX2, AY2))Or(FindDTM(AddyAxe, X, Y, AX1, AY1, AX2, AY2))Or
(FindDTM(MithAxe, X, Y, AX1, AY1, AX2, AY2))Or(FindDTM(BlackAxe, X, Y, AX1, AY1, AX2, AY2))Or
(FindDTM(SteelAxe, X, Y, AX1, AY1, AX2, AY2))Or(FindDTM(IronAxe, X, Y, AX1, AY1, AX2, AY2))Or
(FindDTM(BronzeAxe, X, Y, AX1, AY1, AX2, AY2))Then
Begin
WriteLn('Axe Is Equipped/Found.');
Result:=True;
End Else
If(Not(FindDTM(RuneAxe, X, Y, AX1, AY1, AX2, AY2)))And(Not(FindDTM(AddyAxe, X, Y, AX1, AY1, AX2, AY2)))And
(Not(FindDTM(MithAxe, X, Y, AX1, AY1, AX2, AY2)))And(Not(FindDTM(BlackAxe, X, Y, AX1, AY1, AX2, AY2)))And
(Not(FindDTM(SteelAxe, X, Y, AX1, AY1, AX2, AY2)))And(Not(FindDTM(IronAxe, X, Y, AX1, AY1, AX2, AY2)))And
(Not(FindDTM(BronzeAxe, X, Y, AX1, AY1, AX2, AY2)))Then
WriteLn('AXE IS NOT EQUIPPED/NOT FOUND.');
Result:=False;
End;

Procedure Report;
Begin
ClearDebug;
Begin
WriteLn('--------------------------------------------------------------------');
WriteLn('Power Chopper Version ' + Version + '.');
WriteLn('Made By U L T R A.');
WriteLn('--------------------------------------------------------------------');
WriteLn('Ran For ' + TimeRunning + '.');
WriteLn('Cut ' + IntToStr(PLoadsCut) + ' Loads.');
WriteLn('Cut ' + IntToStr(LogsCut) + ' ' + TreeType + ' Logs.');
WriteLn('Avoided ' + IntToStr(Ents) + ' Ents.');
WriteLn('--------------------------------------------------------------------');
End;
End;

Procedure PerfectSwitchPlayer;
Begin
Report;
LogOut;
NextPlayer(False);
PLoadsCut := PLoadsCut + LoadsCut;
LoadsCut := 0;
End;

Procedure ShowSignature;
Begin
WriteLn(' ___ ____ .____ ___________ __________ _____');
Wait(200+random(300));
WriteLn('| | \ | | \__ ___/ \______ \ / _ \');
Wait(300+random(200));
WriteLn('| | / | |___ | | | | \ / | \');
Wait(200+random(300));
WriteLn('|______/ |_______ \ |____| |____|_ / \____|__ /');
Wait(1000+random(4000));
End;

Procedure DeclareTreeType;
Begin
Case TreeType of
'Yew': TreeTypeColor := Yew;
'Teak': TreeTypeColor := Teak;
'Willow': TreeTypeColor := Willow;
'Oak': TreeTypeColor := Oak;
'Tree': TreeTypeColor := Tree;
end;
end;

{Procedure : RandomHoverMMouse)}
{Author : U L T R A.}
{Description : Randomly moves the mouse somewhere.}
Procedure RandomHoverMMouse;
Begin
Case Random(6)Of
0:MMouse(random(250), random(250), 10, 10);
1:MMouse(random(100), random(100), 50, 50);
2:MMouse(random(50), random(50), 150, 150);
3:MMouse(100, 100, 150, 150);
4:MMouse(300, 300, 100, 100);
5:MMouse(200, 200, 50, 50);
End;
End;

Procedure RandomlyDisguise;
Begin
Case Random(21)Of
0: Disguise('Windows Live Messenger');
1: Disguise('iTunes');
2: Disguise('RuneScape - the massive online adventure game by Jagex Ltd - Mozilla Firefox');
3: Disguise('RuneScape - the massive online adventure game by Jagex Ltd - Microsoft Internet Explorer');
4: Disguise('untitled - Paint');
5: Disguise('Google Tools');
6: Disguise('C:');
7: Disguise('Tip.it Runescape Help :: The Original RuneScape help site!');
8: Disguise('Rune Headquarters :.:.: Your Unfair RuneScape Advantage');
9: Disguise('C:/Program');
10: Disguise('Mozilla Firefox');
11: Disguise('My files');
12: Disguise('Rune Headquarters :.:.: Your Unfair RuneScape Advantage');
13: Disguise('RuneScape - das riesige Online-Abenteuerspiel fu"r Tausende von Spielern von Jagex Ltd.');
14: Disguise('Jagex Software :: Home');
15: Disguise('Google - Mozilla Firefox');
16: Disguise('Google - Microsoft Internet Explorer');
17: Disguise('Microsoft Internet Explorer');
18: Disguise('Video Game Cheats - Video Game Reviews - Video Game Codes - Video Game Web Site - GameFAQs');
19: Disguise('Habbo ~ Home');
20: Disguise('YouTube - Broadcast Yourself.');
End;
End;

Procedure SetUpPowerChopper;
Begin
MakeCompass('N');
GameTab(4);
If(MaxSeconds <= 1)Then
Begin
WriteLn('Maximum Seconds To Wait Is ' + IntToStr(MaxSeconds) + '! Seconds Too Low! Re-Set It To 5 to 15!');
TerminateScript;
End;
End;

Procedure URunTo(Direction : String);
Begin
Case Lowercase(Direction) of
'n': Mouse(644, 25, 5, 5, True);
'e': Mouse(703, 80, 5, 5, True);
's': Mouse(642, 139, 5, 5, True);
'w': Mouse(582, 88, 5, 5, True);
End;
FFlag(0);
End;

Procedure URunBack;
Begin
If(RunAwayToDirection = 'N')Then
Begin
URunTo('S');
End Else
If(RunAwayToDirection = 'E')Then
Begin
URunTo('W');
End Else
If(RunAwayToDirection = 'S')Then
Begin
URunTo('N');
End Else
If(RunAwayToDirection = 'W')Then
Begin
URunTo('E');
End;
End;

Function SolveEnt : Boolean;
Begin
If(FindColorTolerance(x, y, 56797, 25, 16, 99, 17, 5))And(IsUpText(TreeType))Then
Begin
WriteLn('Found Ent!');
URunTo(RunAwayToDirection);
Wait(10000+random(5000));
URunBack;
Ents := Ents + 1;
ReportVars[2] := ReportVars[2] + 1;
Result := True;
End Else
Result := False;
End;


Procedure SolveFight;
Begin
If(FindFight)Then
Begin
MakeCompass('N');
URunTo(RunAwayToDirection);
Wait(10000+random(5000));
URunBack;
End;
FindNormalRandoms;
End;

Procedure FindRandoms;
Begin
FindNormalRandoms;
SolveEnt;
SolveFight;
End;

Function WaitCount(SecondTimeOut : Integer) : Boolean;
Var
TimesCount : Integer;
Begin
TimesCount := 0;
Begin
Repeat
Wait(1000);
TimesCount := TimesCount + 1;
If(TimesCount < 10)Then WriteLn('Waited ' + IntToStr(TimesCount) + '000 M.Seconds.');
Wait(100);
If(TimesCount > 10)Then WriteLn('Waited ' + IntToStr(TimesCount) + '0000 M.Seconds.');
Wait(100);
Until(TimesCount >= SecondTimeOut)Or(SecondTimeOut >= 100)Or(FindNormalRandoms)Or(Not(LoggedIn));
If(TimesCount >= SecondTimeOut)Then Result:=True;
End;
End;

Procedure TextWait;
Begin
Repeat
Wait(500+random(500));
SolveEnt;
FindRandoms;
Until(WaitCount(MaxSeconds))Or(Not(IsUpText(TreeType)))Or(SolveEnt = True)Or(Not(LoggedIn))Or(InvFull)Or(ClickToContinue)Or(FindNormalRandoms);
If(WaitCount(MaxSeconds))Then
Exit;
End;

Procedure Cut;
Begin
If(FindObj(x, y, TreeType, TreeTypeColor, TreeTolerance))Then
Begin
Mouse(x, y, 5, 5, True);
WriteLn('Clicked The ' + TreeType + '.');
TextWait;
SolveEnt;
FindRandoms;
End;
End;

Procedure DropAllItems(StartingItem : Integer);
Var
I : Integer;
Begin
I := StartingItem;
If(I <= 0)Or(I >=28)Then Exit;
Begin
Repeat
FindRandoms;
DropItem(I);
I := I + 1;
Until(I >= 28);
End;
End;

Procedure MainCut;
Begin
Repeat
Cut;
SolveEnt;
FindRandoms;
Until(InvFull);
If(InvFull)Then
Begin
DropAllItems(1);
LogsCut := LogsCut + 27;
LoadsCut := LoadsCut + 1;
ReportVars[0] := ReportVars[0] + 27;
ReportVars[1] := ReportVars[1] + PLoadsCut;
End;
End;

Procedure AntiBan;
Begin
Case Random(3) Of

0:Begin
RandomHoverMMouse;
WriteLn('Used Anti-Ban - Randomly Moved The Mouse.');
End;
1:Begin
Wait(1000+random(4000));
WriteLn('Used Anti-Ban - Waited 1-5 Seconds.');
End;
2:Begin
HoverSkill('random', False);
WriteLn('Used Anti-Ban - Hovered A Random Skill.');
End;

End;
End;

Procedure SetUpSRLStats;
Begin
ScriptID := '569';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPW;
If(SRLStatsID = '')Or(SRLStatsPW = '')Then
Begin
WriteLn('Register At SRL Stats And Fill Everything! Leecher!');
TerminateScript;
End;
End;

Begin
SetUpSRL;
RandomlyDisguise;
SetUpSRLStats;
ShowSignature;
LoadDTMs;
DeclarePlayers;
If(Not(LoggedIn))Then LogInPlayer;
Wait(1000+random(4000));
If(InvFull)Then DropAllItems(1);
DeclareTreeType;
SetUpPowerChopper;
Begin
Repeat
Repeat
If(Not(FindAxe))Then PerfectSwitchPlayer;
If(Not(LoggedIn))Then PerfectSwitchPlayer;
Report;
MainCut;
SolveEnt;
FindRandoms;
AntiBan;
Until(LoadsCut >= Players[CurrentPlayer].Integers[0])Or(Not(LoggedIn));
If(LoadsCut >= Players[CurrentPlayer].Integers[0])Or(Not(LoggedIn))Then
Begin
PerfectSwitchPlayer;
End;
Until(False);
End;
End.


——————————————————
<!– END TEMPLATE: formanswers –>

Harry

2008-02-26 20:35:41

Looks okay, yes :)

Ultra

2008-02-26 20:40:21

Thanks Hy! :).

gerauchert

2008-02-26 21:02:52

yep definitely an improvement, holding my vote right now…leaning towards a yes.

things i notice:

- standards are off (spacing is off at times + capitalization of bold words)
- some unnecessary begins…
- very basic chopping procs…i think you could find better ways besides findobj.
- very little to no failsafes. a big no no :( (waiting for some opinions on this)

other than that I think you did a good job, you have work to do…but you do have potential.

good work and keep it up ;)

P1nky

2008-02-26 21:05:58

No , whole purpose is to cut not disguising. and your chopping procedure isnt good and your drop procedure i see wayyyy too much around here :S and no failsafes :( this wont run for long.

sorry no from me :(

BobboHobbo

2008-02-27 01:54:41

From: p1nky
No , whole purpose is to cut not disguising. and your chopping procedure isnt good and your drop procedure i see wayyyy too much around here :S and no failsafes :( this wont run for long.

sorry no from me :(


Lol? What about your Application, was the same "FindObj" so i wouldnt be talking.

BTW looks preetty nice and you seem like a good guy that wants to learn.

Yes from me, Goodluck.

Pure1993

2008-02-27 07:55:05

Sorry, no. It is too short and too simple.
A few hints on what to improve:
-Make it a banking script
-I would suggest not to use FindObj too often, only as a reserve if the rest fails, because which human player would move his mouse of all colors on the screen, and always stopping at the almost exact color, and doing that until it finds the tree, and also with in-human percision?
-don't use a constant with which to wait for a tree, only use it as a failsafe, if, for example, your program waits for a different tree. I would use a color finding function (probably spiral), and then use something like:

var
TreeWaitColor:Integer;
begin
FFlag(0);
FindColorSpiral(bla bla bal);
TreeWaitColor:=GetColor(x,y);
repeat
wait(2000 +random(331) -ranbdom(412));
Until not (TreeWaitColor=GetColor(x,y);
These are just some hints, other people might add more to the list.
Good luck this/next (who knows) time,
Stur Pure

gerauchert

2008-02-27 08:09:03

yes from me. read above post for things to improve upon ;)

Naike

2008-02-27 10:05:30

Im on the credits = O
This guy has a lovely attitude and even if we say no he will be back ^^ !
Trust me you guys wont be sorry..

Now to the script…
Do like people said and improve it…
Also good if you add MultiPlayer ;) Not that its nessesary anymore but just to show off ^^.

Btw its a YES.

n3ss3s

2008-02-27 10:15:49

I'm not going to vote, but a tip:

Make a procedure "ScriptTerminate", the name must be that one, and free the DTMs you loaded in the beginning there.

ScriptTerminate is a procedure scar calls when it closes, was it then a RunTime Error or just the end of the script.

Good luck…

Wizzup?

2008-02-27 10:30:14

I say yes. You seems a nice and active person, and that also counts.
The script looks alright. :)

Naum

2008-02-27 12:25:16

Holding Vote..

Ultra

2008-02-27 12:37:06

Thanks guys, for telling me the wrong stuff in script/or the stuff that needs to be changed/added! :).

Ultra

2008-02-27 15:30:43

Any more votes?…

EDIT: Sorry for double post.

Gu3st...

2008-02-27 15:50:22

Ah! finally applying! :)

I like the script, voted yes ;)
But i really dont like TerminateScript;… when thinking of it, i hate it :S But thats how I feel it. :)

JuKKa

2008-02-27 16:38:42

MainForm compiled in 78 milliseconds!
Add radial!
Add linearwalk!
Add bitmapfromstring!
Add dtmrotated!
Add tform!
Add Players!
Add if not loggedin then exit!
Add freedtm!
Add freebitmap!
Add freeform!
Add tdtmpointdef!
Add tpa!
Add walkpath!
Add tpointarray!
Add record!
Add tpoint!
Add labels!
Add goto commands!
[===============================]
[ ~ Result = 29
[===============================]
Sorry, Your script isnt SRL-Members Worthy.

Ultra

2008-02-27 17:23:39

Jukka, its a power-chopper, i dont think a power-chopper needs radial walking/path walking, does it? So i would delete the:

"Add radial"
"Add linearwalk"
"Add walkpath"

So now its 26 :P.

[S]paz

2008-02-27 17:28:39

well u have DTM's,
not that many failsafes,
Active member,
but the woodcutting talk would get u owned…remove that i think

otherwise i would lean to a yes

~Spaz

Ultra

2008-02-27 19:36:50

So?… Any more votes?

P1nky

2008-02-27 19:56:49

…….. people will vote :) dont worry , keep it up

it will take time.

since your votes are back to back

Ultra

2008-02-27 20:01:09

Alright :P.

Naum

2008-02-28 03:13:21

Yes!

BobboHobbo

2008-02-28 05:55:47

Gl dude its a close one.

Ultra

2008-02-28 08:22:53

Ty BH :D.

MylesMadness

2008-02-28 12:19:47

Yes. Its a bit basic but I've seen you and you are very active and know what your doing

Ultra

2008-02-28 12:30:16

:P Thanks myles.

Richard

2008-02-28 14:25:00

Yes, even though its basic I've seen you very active recently and I think you have potential.

Btw myles, i live in the real hampshire :p

Naike

2008-02-28 14:44:31

Psst… i think your getting in ;)

Richard

2008-02-28 15:04:45

We should push a mod in the direction of this app…

FrÕzÑ_§ÕµL

2008-02-28 15:11:14

Hey U L T R A!
I think that you should now use the SRL_GetBitmap, instead of all those DTMS. It makes the script neater as well. Check out how to use it in my Pyromaniac eXtreme. A small example:
for i := 54 downto 47 do
Begin
if FindBitmapToleranceIn(SRL_GetBitmap(i), x, y, MIX1, MIY1, MIX2, MIY2, 30) then
^^ much easier, and less code!

Possibly use some randomness for dropping (occasionally click use), I think possibly there is an SRL procedure that does this now.

Otherwise it looks good, nice work, look forward to seeing your yellow tag :p

Ultra

2008-02-28 15:26:17

Thanks fr0zen, ya iam looking at your script right now, for the drop-procedure in my script, i am going to update it and make it drop items randomly.

Sumilion

2008-02-28 15:30:08

In! Congrats :)