SRL Archive - Archive

rawsilk - SRL Member Application Form


rawsilk

2008-12-05 04:50:39

<!– BEGIN TEMPLATE: formanswers –>
rawsilk - SRL Member Application Form
rawsilk

What is the meaning to life?


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


Programming Knowledge
Delphi

Other Communitys
Ragezone

How Long have You Played Runescape
10 years

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

I've played runescape for a long time. I prefer the simplest method when it comes to scripting since they tend to screw up less. Sometimes the simplest method is very complex though. Live in Canada, W00t. Play/Beta Test many online games, GM for MU Online. In university (Don't know why you'd care). I'm working on a script that does manythings. Basically you make a list of what you want your player to do, and the script does it in that order. It will range from fighting to skill training to banking and also air and mind rune crafters. I'm so happy that reflection came out since this makes the walking parts a breeze. and I'm thinking of putting a zammy wine gatherer since they seem to sell well. Below is a dwarf fighter I made using reflection. It needs refining but I only made it last night/this morning.

MEANING TO LIFE IS 42.

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


{.Script Info:
# ScriptName = Dawrf Killer
# Author = Rawsilk
# Description = Kills dwarves and picks up valuables
# Version = 0.1
# Date = Dec 2008
# Comments = SRL#28 SMART & Reflection
/Script Info}

program DawrfKiller;

{---------------------------------------------------------------------
PLACE CHARACTERS IN DWARVEN MINES AT NORTH-EAST CORNER
(NORTH OF SCORPIONS NEAR THE IRON ROCKS)


ALL PLAYERS SHOULD HAVE A COMBAT OF 25+ OTHERWISE THEY MAY DIE.
THERE IS NO EMERGENCY RUN THING INCASE YOUR ABOUT TO DIE.
IF YOU ARE WORRIED ABOUT LOSING GEAR THEN WAIT UNTIL YOU COMBAT IS 30+
AND/OR WEAR ONLY 3 PIECES OF GEAR.

THIS WILL GET YOU ABOUT 42K EXPERIENCE PER HOUR ONCE YOUR COMBAT IS
ABOUT 55+

THIS WILL GET YOU ABOUT 2K GOLD AND 45 NATURE AND CHAOS RUNES PER HOUR
IF YOUR COMBAT LEVEL IS ABOUT 55+

NOT BAD FOR LVL 10 MOBS ;)
----------------------------------------------------------------------}

{.Include SRL\SRL\Misc\Smart.Scar}
{.Include SRL\SRL.Scar}
{.Include SRL\SRL\Reflection\Reflection.Scar}

const
FightTime = 7;
NumOfPlayers = 2;

Procedure DeclarePlayers;
Begin
NumberOfPlayers(NumOfPlayers);
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;

{ Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True; }
end;

procedure MyAntiRandoms;
begin
end;

procedure WalkThePath(Path:TPointArray);
var
i: Integer;

begin
for i := 0 to High(Path) do
begin
WalkToTile(Path[i], 1, 1);
end;
end;

function AnvilRelocate: TPointArray; //next update
begin

end;

function LadderRelocate: TPointArray; //next update
begin

end;

function ScorpionRelocate: TPointArray; //next update
begin

end;

function FightTimeEstimate:integer;
begin
if Players[CurrentPlayer].Level[2] < 11 then
Result:= 15000+3000;
if ((Players[CurrentPlayer].Level[2] > 10) and (Players[CurrentPlayer].Level[2] < 16)) then
Result:= 14000+3000;
if ((Players[CurrentPlayer].Level[2] > 15) and (Players[CurrentPlayer].Level[2] < 21)) then
Result:= 13000+3000;
if ((Players[CurrentPlayer].Level[2] > 20) and (Players[CurrentPlayer].Level[2] < 26)) then
Result:= 12000+3000;
if ((Players[CurrentPlayer].Level[2] > 25) and (Players[CurrentPlayer].Level[2] < 31)) then
Result:= 11000+3000;
if ((Players[CurrentPlayer].Level[2] > 30) and (Players[CurrentPlayer].Level[2] < 40)) then
Result:= 10000+3000;
if Players[CurrentPlayer].Level[2] > 39 then
Result:= 9000+3000;
end;

function FindDwarf:Boolean; //warning this does not work yet because I havn't had time to pick locations... in next update
var
P:TPoint;

begin
SetRun(True);
Writeln(Players[CurrentPlayer].Name + ' is relocating');

if DistanceFrom(Point(0,0{relocateed place}))<13 then //close to relocation point
begin
WalkToTile(Point(0,0{relocateed place}), 1, 1);
R_FFlag(0);
Wait(1200);
if DistanceFrom(Point(0,0{relocateed place})) < 5 then
begin
Writeln(Players[CurrentPlayer].Name + ' safely relocated');
Wait(1000);
end else
begin
Writeln(Players[CurrentPlayer].Name + ' might still be lost');
end;
Result:=True;
Exit;
end;

if DistanceFrom(Point(0,0){Anvil})<16{Within MM Distance} then //Close to Anvil
begin
WalkThePath(AnvilRelocate);
R_FFlag(0);
Wait(1200);
if DistanceFrom(Point(0,0{relocateed place})) < 5 then
begin
Writeln(Players[CurrentPlayer].Name + ' safely relocated');
Wait(1000);
end else
begin
Writeln(Players[CurrentPlayer].Name + ' might still be lost');
end;
Result:=True;
Exit;
end;

if DistanceFrom(Point(0,0){Ladder})<DistanceFrom(Point(0,0){Scorpions}) then //closer to North ladder
begin
WalkThePath(LadderRelocate);
R_FFlag(0);
Wait(1200);
if DistanceFrom(Point(0,0{relocateed place})) < 5 then
begin
Writeln(Players[CurrentPlayer].Name + ' safely relocated');
Wait(1000);
end else
begin
Writeln(Players[CurrentPlayer].Name + ' might still be lost');
end;
Result:=True;
Exit;
end;

if DistanceFrom(Point(0,0){Ladder})<DistanceFrom(Point(0,0){Scorpions}) then //closer to Scorpions
begin
WalkThePath(ScorpionRelocate);
R_FFlag(0);
Wait(1200);
if DistanceFrom(Point(0,0{relocateed place})) < 5 then
begin
Writeln(Players[CurrentPlayer].Name + ' safely relocated');
Wait(1000);
end else
begin
Writeln(Players[CurrentPlayer].Name + ' might still be lost');
end;
Result:=True;
Exit;
end;

Result:=False;
Wait(10000);

Writeln(Players[CurrentPlayer].Name + ' cannot find dwarf so we will wait for a few seconds for a dwarf to find us');
Writeln('so we will wait for a few seconds for a dwarf to find us');

end;


function FightDwarf:boolean;
var
Dwarf:array of TNPC;
h,i,j,x,y:integer;

begin
if not(R_LoggedIn) then NextPlayer(False);
repeat
Dwarf:=SortNPCs(GetNPCsByName('Dwarf'));
if GetArrayLength(Dwarf) = 0 then
repeat
FindDwarf;
h:=h+1;
until(True or (h = 3));
if (h = 3) then NextPlayer(False);
until(GetArrayLength(Dwarf) > 0);

repeat
if (not Dwarf[i].InFight) then
begin
MMouse(TileToMSEx(Dwarf[i],0).X,TileToMSEx(Dwarf[i],0).Y,2,2);
if IsUpText('Attack')then
GetMousePos(x, y);
Case Random(1) of

0: begin
Mouse(x,y,0,0,True);
FFlag(0);
Result:=True;
MarkTime(j);
repeat
Wait(100);
until(Dwarf[i].InFight or (TimeFromMark(j)>FightTimeEstimate));

end;

1: begin
Mouse(x,y,0,0,False);
ChooseOption('Attack');
FFlag(0);
Result:=True;
MarkTime(j);
repeat
Wait(100);
until(Dwarf[i].InFight or (TimeFromMark(j)>FightTimeEstimate));
end;
end;
end else
begin
i:=i+1;
end;
until((Result = True) or (i = High(Dwarf)));
Result:=False;
end;

procedure Pickup;
var
Item:Array of TGroundItem;
x,y,i:integer;

begin

for i:= 0 to High(GetAllGroundItems(Item,52)) do
begin
if Item[i].ID=996{coin}then //or Item[i].ID= {Chaos Rune} or Item[i].ID= {Nature Rune} then I'll put these other items in the update
MMouse(TileToMSEx(Item[i],0).X,TileToMSEx(Item[i],0).Y,0,0);
GetMousePos(x, y);
Mouse(x,y,0,0,False);
ChooseOption('ickup');
end;
end;

procedure InitPlayer;
begin
SetGraphics(4, '', '' ,'', '', '', '', '', '');
Retaliate(True);
SetAudio(0, 0, 0, Mono);
SetChat('on',1);
SetChat('friends',2);
SetChat('on',3);
GetAllLevels;
wait(300);

if (Players[CurrentPlayer].Level[1] <= PLayers[CurrentPlayer].Level[2]) and (Players[CurrentPlayer].Level[1] <= PLayers[CurrentPlayer].Level[3]) then
SetFightMode(1);
if (Players[CurrentPlayer].Level[2] <= PLayers[CurrentPlayer].Level[1]) and (Players[CurrentPlayer].Level[2] <= PLayers[CurrentPlayer].Level[3]) then
SetFightMode(2);
if (Players[CurrentPlayer].Level[3] <= PLayers[CurrentPlayer].Level[1]) and (Players[CurrentPlayer].Level[3] <= PLayers[CurrentPlayer].Level[2]) then
SetFightMode(3);
wait(200);

R_MakeCompass('n');
SetAngle(True);
end;


procedure Setup;
begin
SetupSRL;

{ SRLID := SRL_ID;
SRLPassword := SRL_PASS; }

SMARTSetupEx(152, False, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
wait(100);
until(SmartGetColor(253, 233)<>1321539);

DeclarePlayers;
LoginPlayer;
end;

var
t:integer;

begin
Setup;
repeat
InitPlayer;
MarkTime(t);
repeat
While FightDwarf do
repeat
MyAntiRandoms;
Pickup;
Sleep(70+Random(50));
until(False);
until(TimeFromMark(t) > 60000*(FightTime + Random(2)));
NextPlayer(True);
until(PlayersActive = 0);
end.

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

Naike

2008-12-05 07:41:55

You defently understand SRL and their functions.

I'm saying yes, becuase its a great and complex script.

And yes its reflection i know.

boberman

2008-12-05 08:51:56

From: N1ke!
You defently understand SRL and their functions.

I'm saying yes, becuase its a great and complex script.

And yes its reflection i know.


Are you serious? His SRL functions are almost non-existent.

I said no.

You have very little fail safes, no random detection, no anti-ban, no complex features (like walking more then two meters).

Over all the script is simple, the only thing that makes it complex is the fact that you are using reflection instead of color-finding (Colorfinding does a much better job of the task of finding things to attack)

Half the functions I would like to see done are marked "Next Update". The other half are said not to be done.

This should be a more complete script, add banking, walking to and from the bank. Health detection and food eating, something to keep a person from dieing, Better fight detection. Rather then relying on approximate times, see if a dwarf is near the player every so often, if not, the fight must be over (Ok, an approximate time to make sure there isn't some dwarf trying to pick your pocket should be used as a backup).

Its not a horrible script, but it is incomplete.

[S]paz

2008-12-05 09:49:01

I agree with boberman tbh, if the "updates" are put in place, then with more added failsafes, this could be a worthy script. At the moment though, its incomplete and not quite there.

~Spaz

P1nky

2008-12-05 10:32:24

From: N1ke!
You defently understand SRL and their functions.

I'm saying yes, becuase its a great and complex script.

And yes its reflection i know.


lol, did you even read the code :S?

no, sorry all reflection no TPA's? DTM? DDtm? RRW and so on…

read tuts

:confused:

TViYH

2008-12-05 15:00:27

[X]: DTMs
[X]: DDTMs
[X]: Walking
[X]: Antiban/Antirandom
[X]: Multiplayer
[X]: TPAs/T2DTPAs

I don't suggest using a reflection script as a members application..
It's a no from me.

noidea

2008-12-05 15:34:58

From: TViYH
[X]: DTMs
[X]: DDTMs
[X]: Walking
[X]: Antiban/Antirandom
[X]: Multiplayer
[X]: TPAs/T2DTPAs

I don't suggest using a reflection script as a members application..
It's a no from me.


Lol, you use that thing every time :) SOrry no.

Griff

2008-12-05 18:08:11

Well, you kinda seem to understand it, but theres barely any SRL in there. I can`t vote, but I would have said no, mainly because it isn;t complex anough, and you are using reflexion over SRL here, and reflection is easier, and it doesnt show any SRL knowledge.

-Griff

Blumblebee

2008-12-05 18:27:47

Your pretty good with reflection im not gunna lie, but your just missing color/srl knowledge. Show me some color scripting, and ill give you a yes.

as for now, it remains undecided, leaning towards no.

rawsilk

2008-12-05 23:34:53

Ok. I see I need to include a few more things. I'll update this and also throw in color finding and dtms. Also I dont think I will be putting in a banking part because that is not the point of the script. The point is to level on easy mobs and gain some profit. Thanks for feed back. TVyIH has a great feedback method btw;)

Naike

2008-12-06 05:14:34

I think that he got potential, and i don't follow a stupid form everytime i go vote no someone, Your just making this harder when its suppose to get easier.

I stand by my vote, Rawsilk Skip the reflection next time so these people just can see the possitive side.

TViYH

2008-12-06 09:29:34

That's not the form I follow to vote no, N1ke!,

I just use that to show what they need to learn/improve on.

I vote no considering whether the script makes sense, uses SRL knowledge, and has good flow, while still considering the feedback form.

boberman

2008-12-06 10:25:37

From: N1ke!
I think that he got potential, and i don't follow a stupid form everytime i go vote no someone, Your just making this harder when its suppose to get easier.

I stand by my vote, Rawsilk Skip the reflection next time so these people just can see the possitive side.


I myself don't really care about the form, And I agree, he does have potential. I just disagree that this script is good enough. If he had used color-finding it would have been like a 20 liner. IMO the fact that he used reflection made the script longer then what it should have been.

Naike

2008-12-07 07:52:44

Hold it, So the script gets longer when he uses reflection?
That's just epic, nice one :)

RawSilk, Next time stick to SRL include and the script will get shorter!, somehow.

Wizzup?

2008-12-07 08:25:29

From: N1ke!
Hold it, So the script gets longer when he uses reflection?
That's just epic, nice one :)

RawSilk, Next time stick to SRL include and the script will get shorter!, somehow.


It looks like you are turning this into a Reflection-Is-Good battle.

Anyway, the script is a bit short, I like how you use some of SRL's functions (SetGraphics and such), but you can definitely extend it.

And I don't see any walking functions, either.
No from me, but keep it up.

boberman

2008-12-07 11:17:02

From: N1ke!
Hold it, So the script gets longer when he uses reflection?
That's just epic, nice one :)

RawSilk, Next time stick to SRL include and the script will get shorter!, somehow.


Its called, Right tools for the right job. I don't know if you have ever done any real programming, but if you have you would know that some methods require less code then others and are more efficient/robust.

Someone that takes the longer, less efficient/less robust option is doing a "great job".

Reflections is nice for walking, however a good color finding function will make a good object finder that will be broken far less often then a reflection object finder will be, and uses far less lines of code (4 about).

I can make a short script into a long script, it doesn't mean it will be a good script.
procedure someFunc(i : integer);
if i = 1 then
begin
i := 2;
someFunc(i);
end;
if i = 2 then
begin
i := 3;
someFunc(i);
end;
if i = 3 then
someotherFunc;

Do you see how that could be shortened? Even though it is longer then the short method it definitely isn't better.