SRL Archive - Archive

skvatboy - SRL Member Application


skvatboy

2009-07-06 16:07:23

How Long have You Played Runescape?
4 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?



What is your general programming knowledge?
none


Are you a member of any other communities?
no


Tell us about yourself…
From: skvatboy
Am a 20 years
a communicate expert in denmark
and i like the open source commuter in here
the freedom of share :)



Please show us one (or multiple) of your scripts.
program EyeofNewtBuYeR;

{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FaladorColorFinder.scar}
const
SmartWorldNo = 120;
Signed = True;
Amount = 200;
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;

Players[0].Name := ''; //Player username
Players[0].Pass := ''; //Player password
Players[0].Nick := ''; //Player nickname - 3-4 letters of Player usernamne.
Players[0].Active := True; //Is the player active (do you want to auto on this acc)?
Players[0].Pin := ''; //Bank Pink, leave as '' for no bank pin... MUST BE A STRING!
Players[0].BoxRewards := ['XP', 'ostume', 'Gem', 'ithril', 'oal', 'une', 'mote', 'oins'];

end;

var x,y: integer;

function Doortomagic: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 920;
dtmMainPoint.y := 358;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5793390;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 920;
dtmSubPoints[0].y := 358;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5793390;
dtmSubPoints[0].Tolerance := 255;

dtmSubPoints[1].x := 929;
dtmSubPoints[1].y := 348;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 1793900;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 929;
dtmSubPoints[2].y := 339;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6316135;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 930;
dtmSubPoints[3].y := 361;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 5793390;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 912;
dtmSubPoints[4].y := 366;
dtmSubPoints[4].AreaSize := 2;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 5;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

procedure OpenFaladorBank;
Begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
if not BankScreen then
FindBank('fwb');
if not BankScreen then
FindBank('lb');
end;

Procedure CheckGetCash;
Begin
If(Not(LoggedIn)) Then Exit;
gametab(4);
IF (CoinAmount('inv') > 50) Then Exit;
if not BankScreen then OpenFaladorBank;
FindCoins(X, Y, 'bank');
begin
Mouse(x, y, 4, 4,false);
Wait(150 + random(200));
if (Amount > 0) then
begin
ChooseOption('Withdraw-X')
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount));
end;
if (Amount = 0) then
begin
ChooseOption('Withdraw-All')
end;
end;
Deposit(2, 28, True);
CloseBank;
end;

Procedure DoorClosed;
var Door,C: Integer;
Begin
Door := DTMFromString('78DA63FCC5C0C0B0990105E4A6DA338800694' +
'6289FF13990C84755931263C9C085AE6612AA9A9A6277067E64354F8' +
'184292386392876ED01121750CD49CDC941510300F0D00CF9');
If(Not(LoggedIn)) Then Exit;
C:=0
repeat
C:=C+1
if (FindDTM(Door, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Writeln('Door Found');
MMouse(x,y,5,5);
If Isuptext('pen')then
begin
mouse(x,y,0,0,true);
Writeln('Door clik');
end;
Writeln('Door open');
end;
until (C >=10);
FreeDTM(Door);
end;

procedure WalkToMagic;
begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
MakeCompass('n');
SetRun(true);
begin
RadialWalk(FindFallyRoadColor, 200 , 230, 50, 2 , 2)
repeat
RadialWalk(FindFallyRoadColor, 165 , 195, 63, 2 , 2)
Until FindSymbol(x, y, 'tree');
WriteLn('Find tree');
repeat
wait(20)
if not RadialWalk(FindRoadColor, 190, 130, 70, 2 , 2) then
RadialWalk(FindRoadColor, 210, 130, 70, 2 , 2);
until FindSymbol(x, y, 'resting spot');
WriteLn('resting spot');
wait(2000);
Mouse(635, 130,15,20,true);
FFlag(0);
//SymbolAccuracy:=0.5;
if FindDTM(Doortomagic, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to door');
FFlag(0);
end;
end;
FreeDTM(Doortomagic);
end;

Procedure WalkToBank;
begin
If(Not(LoggedIn)) Then Exit;
wait(200)
Mouse(610, 45,12,13,true);
wait(2000);
FFlag(0);
repeat
WriteLn('walk');
RadialRoadWalk(FindRoadColor, 340,375, 65, 2, 2);
FFlag(0);
Until (FindFallyRoadColor) > 0;
repeat
WriteLn('walkFallyRoad');
RadialRoadWalk(FindFallyRoadColor, 350,385, 65, 2, 2);
FFlag(0);
until FindSymbol(x, y, 'bank');
end;

procedure FindBrtty;
var
Betty, C: Integer;
Begin
Betty := DTMFromString('78DA630C65606098CE8002ECB5EC192481342' +
'394CF180824FA206C16A89888B030033FB29A0420B108558DA2B4148' +
'A1A00153E044B');
C:=0
If(Not(LoggedIn)) Then Exit;
If ShopScreen then Exit;
repeat
C:=C+1
Begin
Wait(1000 + Random(500));
if (FindDTM(Betty, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Writeln('Betty found');
MMouse(x,y,5,5);
If Isuptext('etty')then
Mouse(x,y,2,2,False);
ChooseOption('Trade')
Begin
Writeln('Trade');
if ShopScreen then Break;
end;
end;
end;
until (C >=15);
FreeDTM(Betty);
end;

procedure ByNewts;
var Newt: Integer;

begin
Newt := BitmapFromString(5, 9, 'beNqbN+/q+fNXzp3bv3Xr8tmze5q' +
'a7t++LSazTVRqlbDEvAVTp4jL7heT2SkqLAxE03t7Prx7B2ED0cy+vicPH965' +
'fv3y2TOnDx+eO2kinHt8/75F06ZBuBdOnTy8a9fmFSuA3FtXr545ehRo1/rFi' +
'4Hc6xcvnjhwYPfGDasAVkNUxw==');
If(Not(LoggedIn)) Then Exit;
if not(ShopScreen) then Exit;
if(FindBitmapIn(Newt,x,y,msx1,msy1,msx2,msy2))then
Writeln('News');
MMouse(x,y,5,5);;
If Isuptext('ye of')then
Mouse(x,y,1,1,False);
ChooseOption('X');
begin
Wait(1000);
TypeSend('28');
closewindow;
end;
FreeDTM(Newt);
end;

Procedure ChatsSetUp;
Begin
If(Not(LoggedIn)) Then Exit;
setrun(true)
gametab(4);
MakeCompass('n');
FindNormalRandoms;
SetAllChats('all', 'on', 'off', '', '', '');
SetAngle(True);
end;

procedure SetupScript;
begin
{$IFDEF SRL_SMART}
Smart_Server := SmartWorldNo;
Smart_Signed := Signed;
{$ENDIF}
SetupSRL;
DeclarePlayers;
SetAudioOff;
If (Not(LoggedIn)) then LoginPlayer;
end;

begin
SetupScript;
ChatsSetUp;
CheckGetCash;
WalkToMagic;
DoorClosed;
FindBrtty;
ByNewts;
WalkToBank;
CheckGetCash;
end.

Awkwardsaw

2009-07-06 21:14:13

Hey :D

i wont vote, because i still need to get used to what to look for to say yes and stuff, but i will give you some of my personal comments

the standards can be improved( a little better indents, and spaces between procedures), although the script is readable.

do the dtms work for finding doors and betty? they arent constant objects like the newt so i'm just wondering :D because that would be a perfect place to use tpas + auto color

i would take out a few of the writelns, they are good for debugging but there are a lot of them in the script, and might spam the debug box.

i think its a good use of walking, decentish failsafes, although it could always use a little more.

and there are a few places that can be shortened, but i cant use scar tags on this computer.

one more thing, you have no main loop! from what i saw, all it does is get set up, go to the store and get newts, comes back, and it ends

Phran6

2009-07-06 21:32:48

first, your ddtm is static, use a dtm. (d)dtm d are for dynamic.

second, dtm for door ?? your camera wont allway be in same angle so it will fail , same with npc.

third,
Procedure WalkToBank;
begin
If(Not(LoggedIn)) Then Exit;
wait(200)
Mouse(610, 45,12,13,true);
wait(2000);
FFlag(0);
coord walk, bigest failling thing you can do for walk.

fourth, you have no main loop so you will do the run 1 time then it will end.


well i see you know how use dtm but not when to use them, you should use/learn tpa and autocolor for more accuraty.
you know how use radialwalk and symbol its a + but you need more failsafe, they arnt very accurate.

i didnt looked very in detail but in overal is that.

i voted no

Baked0420

2009-07-06 21:34:39

From: akwardsaw
Hey :D

i wont vote, because i still need to get used to what to look for to say yes and stuff, but i will give you some of my personal comments

the standards can be improved( a little better indents, and spaces between procedures), although the script is readable.

do the dtms work for finding doors and betty? they arent constant objects like the newt so i'm just wondering :D because that would be a perfect place to use tpas + auto color

i would take out a few of the writelns, they are good for debugging but there are a lot of them in the script, and might spam the debug box.

i think its a good use of walking, decentish failsafes, although it could always use a little more.

and there are a few places that can be shortened, but i cant use scar tags on this computer.

one more thing, you have no main loop! from what i saw, all it does is get set up, go to the store and get newts, comes back, and it ends


haha I was thinking the same here bout not voting, but it's cool to be able to see people post there applications. I'm gonna look through the script and post what I like/dislike bout the script, but not vote, maybe later I'll vote, unless I strongly think he should/shouldn't be a member.

@francishelie, yea he does use a coord, but it had a big tolerance, I don't think that coord click is that bad.

EDIT:



I'll do, what I think, the pros are first:

1) No reflection, a fully compiling color script, no errors or warnings.

2) DDTM in his function DoorToMagic, didn't test it to see if it works, but it looks like he understands how to use it, shows me he has good knowledge in scripting.

3) Only one function, but it does result with what the function is, an integer.

4) Lots of randomness with the clicking, not sure if it's definitely a good thing, could make the guy walk to far away from where you want, but it looks good in the script.

———————————————————————————————————————-


Now the cons:

1) I was happy to see a pin spot for his script, then I was let down, he has banking, and a spot for the pin in the DeclarePlayers but doesn't use it, tsk tskt tsk big pet peev of mine. Not the biggest deal though.

2) Standards are a little weird, such as his bolded words, some are capital then the same ones, some aren't. And no two spaces after some begins (sometimes put four spaces? I don't know why lol) and repeats, and two backspaces after untils, makes it pretty hard to read in some spots.

3) The script will only run once, in the main loop, there is no repeat, I guess it's not to bad, but why only do a run once then have the script end?

4) I was checking to see all DTM's free'd with control+F and searching DTM, it would show me where he loads and frees his DTM's he was doing good, but once he free'd Newt as a DTM, but he loaded it as a Bitmap. That was the last time he had a DTM/Bitmap in his script too. (only time he had a Bitmap, and free'd it as a DTM).

Also I noticed, in DoorClosed, he loads the Door, then after, he does if(not(loggedin)) then exit; so that could lead to a memory leak, because then the loaded DTM doesn't get free'd if you're not logged in. Same with FindBrtty, it does the failsafe for logged in AND shopscreen, only after loading the DTM, so it could possibly not be free'd. Actually, as I'm going through, it looks like that's the case with every DTM/Bitmap, they can all not be free'd from his failsafes.

5) The door is a DTM? not sure if that's always going to work, I didn't test the script but I'm pretty sure the slight camera angle changed RS does will make the DTM not find the door too easily. And then like francishelie said, DTM for NPC's are no good, then can face north, south, east, west, northwest, northeast, southeast, southwest, and even with a DTM for all those directions, still would fail way more then it would work, assuming it would work once in a while.

6) He has some repeats and it goes until finding a symbol, if the walking failed, you wouldn't find the symbol, it could go into an infinite loop.

7) [EDIT] Forget what I said below, bout the smart, I don't see setupsmart, but it still does come up, I guess it's include with the Define Smart or something. [/EDIT]

I see stuff for smart, but I dont see anywhere SetUpSmartEx. SetUpSRL; but not smart.

8)


If Isuptext('etty')then
Mouse(x,y,2,2,False);
ChooseOption('Trade')
Begin
Writeln('Trade');
if ShopScreen then Break;
end;


random begin in there, two lines after the begin. I don't think that was supposed to be like that.





Well I'm kinda tired of judging this script, hopefully you don't take any of my criticism offensively, hopefully you just take it to better your next script :). Good luck with getting members. Sorry bout the cons being a little over-weighed compared to the pros :/.


One last thing before I end this post, I'm going to test this script and see if it does what you wanted it to, if it does, that's a plus, if not, not a big deal, it's about your scripting knowledge to me, not about if it works or not, but if it does it'll be plus.


I tried starting from the west bank, like how the open bank says, but it didn't work from there, it starts at the east bank, and resting spot isn't a valid name for FindSymbol, so my guy stopped near the magic shop but never entered because it didn't find your symbol name. And when it didn't find my coins, from being in another tab, it said 200 outloud lol. Well at least the walking worked, except for the findsymbol at the end. And I think you put the wrong bank for openbank, but its an alright script, but I'll leave it up to the more experience people to vote on you.

NCDS

2009-07-07 01:09:21

From: Baked0420
7) [EDIT] Forget what I said below, bout the smart, I don't see setupsmart, but it still does come up, I guess it's include with the Define Smart or something. [/EDIT]

I see stuff for smart, but I dont see anywhere SetUpSmartEx. SetUpSRL; but not smart.


All the SMART setup stuff is now in SetUpSRL;

@ skvatboy:

You use a DDTM which is nice, although, it is not dynamic, which gives me doubts that you understand quite what a DDTM is.
Incase you indeed do not know, DDTM stands for Dynamic Deformable Template Module. It is just like a DTM, except it has a Dynamic(Changing) color.


procedure OpenFaladorBank;
Begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
if not BankScreen then
FindBank('fwb');
if not BankScreen then
FindBank('lb');
end;
Throwing me off a bit with the FindBank('lb'); ?

Also, you call 'if not BankScreen then' once, right before you call OpenFaladorBank;, and then twice in OpenFaladorBank. That waste's time, which is valuable ;)

You should avoid calling x and y as Global variable if posible. Instead, declare them locally after 'procedure Name;' line.


Instances like this:

if (Amount = 0) then
begin
ChooseOption('Withdraw-All');
end;
Don't require an extra Begin..end; nest.
An if..then statement(if true) will always execute the line after it.
Also, ChooseOption doesn't do well with Cap's, so I would suggest using a shorter but still unique part of the string.
So:

if (Amount = 0) then
ChooseOption('ll');

Would accomplish the same thing just possibly quicker and more accurately.

As Akwardsaw said, your DoorClosed as well as FindBetty function would be more efficient using a TPA.I can't imagine a DTM find's a door very accurately.

When you use RadialWalk, it would be more wise to use it with an if..then statement incase it doesn't succesfully execute. RW can be somewhat un-reliable at times.

Overall, it's not such a bad application. Although, I think you just need more exposure to scripting. My advice would be to just be active on the forums, pop in on IRC, just talk around with people, keep writing scripts. Even if you don't plan to ever use/release a script it is still good practice to make them ;)

Good effort but, No for now.

cycrosism

2009-07-07 04:38:13

It looks kind of simple at the moment at the moment, the DDTM will possibly fail a few times because it is to static and the DTM's will fail a lot too, you should use DTMRotated(); for that.
Also, the bitmap will fail a bit to - it doesn't have any tolerance to it. Use FindBitmapToleranceIn or read my tutorial if you want to know other methods

Holding my vote

skvatboy

2009-07-07 10:32:23

thx for the feedback
am still learn
a known the ddtm is not dynamic just for learn :)

akwardsaw and francishelie (tpa)
 function FindBetty: Boolean;
var
i: Integer;
Betty : Array [0..5] of Integer;

begin
Betty[0] := 5114447;
Betty[1] := 6032477;
Betty[2] := 5770073;
Betty[3] := 6950506;
Betty[4] := 4393284;
Betty[5] := 3147312;
for i := 0 to 5 do
begin
if(FindColorSpiralTolerance(x,y,Betty[i],MSX1,MSY1,MSX2,MSY2,5))then
MMouse(x,y,1,1);
if IsUpText ('etty') then
Mouse(x,y,0,0,False);
ChooseOption('rade')
Begin
Result := True;
Exit
Writeln('Found & traded Better :)');
end;
end;
Result := False;
Writeln('darn=]');
end;
fund a tutorial thx for the idea
Procedure TPABetty;
Var
TPA: TPointArray;
I, C: Integer;
Begin
FindColorsTolerance(TPA, 4336963, msx1, msy1, msx2, msy2, 5);
For I := 0 To High(TPA) Do
Begin
MoveMouse(TPA[i].x, TPA[i].y);
Wait(100);
If Isuptext('ett')then
begin;
Mouse(TPA[i].x, TPA[i].y ,2,2,False);
ChooseOption('Trade')
Break;
end;
End;
End;
Great improvement
Thanks to all

Tniffoc

2009-07-07 19:31:23

Yes. You remind me of me.

Phran6

2009-07-07 21:16:27

well im hapy to see your effor :) but still have thing to improve.

function FindBetty: Boolean;
var
i: Integer;
Betty : Array [0..5] of Integer;

begin
Betty[0] := 5114447;
Betty[1] := 6032477;
Betty[2] := 5770073;
Betty[3] := 6950506;
Betty[4] := 4393284;
Betty[5] := 3147312;
for i := 0 to 5 do
begin
if(FindColorSpiralTolerance(x,y,Betty[i],MSX1,MSY1,MSX2,MSY2,5))then
begin // you use more than 1 line here
MMouse(x,y,1,1);
wait(40+random(150)); // need some wait to let text apear
if IsUpText ('etty') then
begin //here too
Mouse(x,y,0,0,False);
if ChooseOption('rade') then // need an if then here
Begin
Result := True;
Writeln('Found & traded Better :)'); // puted this b4 exit because you exited befor write it
Exit;
end;
end;
end;
end;
Result := False;
Writeln('darn=]');
end;


Procedure TPABetty;
Var
TPA: TPointArray;
I, C: Integer; // i dont see where your C is used.
Begin
FindColorsTolerance(TPA, 4336963, msx1, msy1, msx2, msy2, 5);
For I := 0 To High(TPA) Do
Begin
MoveMouse(TPA[i].x, TPA[i].y); // you should change movemouse for mmouse i think its less detectable.
Wait(100);
If Isuptext('ett')then
begin;
Mouse(TPA[i].x, TPA[i].y ,2,2,False);
ChooseOption('Trade')
Break;
end;
End;
End;
this fuction is great :)

ill maybe change my vote (if i can) if you continue your hard work :)

edit: im sad to see 5 vote in no and only 2 person sayd why, well its hard to improve if we dont know what wrong.

Blumblebee

2009-07-07 23:04:39

i went through the whole script, commented on some stuff.

program EyeofNewtBuYeR;

{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FaladorColorFinder.scar}
const
SmartWorldNo = 120;
Signed = True;
Amount = 200;
procedure DeclarePlayers;
begin
NumberOfPlayers(1);
CurrentPlayer := 0;
//Your Missing HowManyPlayers?

Players[0].Name := ''; //Player username
Players[0].Pass := ''; //Player password
Players[0].Nick := ''; //Player nickname - 3-4 letters of Player usernamne.
Players[0].Active := True; //Is the player active (do you want to auto on this acc)?
Players[0].Pin := ''; //Bank Pink, leave as '' for no bank pin... MUST BE A STRING!
Players[0].BoxRewards := ['XP', 'ostume', 'Gem', 'ithril', 'oal', 'une', 'mote', 'oins'];

end;

var x,y: integer; // Theses should be local. (imo)

function Doortomagic: Integer; //This is static, thus it doesnt need to be a (D)DTM. (dynamic colors or tolerances make it a DDTM)
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 920;
dtmMainPoint.y := 358;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5793390;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 920;
dtmSubPoints[0].y := 358;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5793390;
dtmSubPoints[0].Tolerance := 255;

dtmSubPoints[1].x := 929;
dtmSubPoints[1].y := 348;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 1793900;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 929;
dtmSubPoints[2].y := 339;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6316135;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 930;
dtmSubPoints[3].y := 361;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 5793390;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 912;
dtmSubPoints[4].y := 366;
dtmSubPoints[4].AreaSize := 2;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 5;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;

procedure OpenFaladorBank; // you might think of making this a Function (a boolean more specifically).
Begin // a boolean would allow you to know if the bank was opened or not. Allows you to add failsafes.
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
if not BankScreen then
FindBank('fwb');
if not BankScreen then
FindBank('lb');
end;

Procedure CheckGetCash;
Begin
If(Not(LoggedIn)) Then Exit;
gametab(4);
IF (CoinAmount('inv') > 50) Then Exit;
if not BankScreen then OpenFaladorBank;
FindCoins(X, Y, 'bank');
begin
Mouse(x, y, 4, 4,false);
Wait(150 + random(200));
if (Amount > 0) then
begin
ChooseOption('Withdraw-X')
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount)); // maybe think about making it a little more dynamic (meaning fluctate) so that its not as bannable.
end; // No person would continually take out the same amount of money over and over again.
if (Amount = 0) then
begin
ChooseOption('Withdraw-All')
end;
end;
Deposit(2, 28, True);
CloseBank;
end;

Procedure DoorClosed; //I dont like the use of a dtm for mainscreen object finding. It will fail alot.
var Door,C: Integer;
Begin
Door := DTMFromString('78DA63FCC5C0C0B0990105E4A6DA338800694' +
'6289FF13990C84755931263C9C085AE6612AA9A9A6277067E64354F8' +
'184292386392876ED01121750CD49CDC941510300F0D00CF9');
If(Not(LoggedIn)) Then Exit;
C:=0
repeat
C:=C+1
if (FindDTM(Door, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Writeln('Door Found');
MMouse(x,y,5,5);
If Isuptext('pen')then
begin
mouse(x,y,0,0,true);
Writeln('Door clik');
end;
Writeln('Door open');
end;
until (C >=10);
FreeDTM(Door);
end;

procedure WalkToMagic;
begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
MakeCompass('n');
SetRun(true);
begin
RadialWalk(FindFallyRoadColor, 200 , 230, 50, 2 , 2) // No Failsafes.
repeat
RadialWalk(FindFallyRoadColor, 165 , 195, 63, 2 , 2)
Until FindSymbol(x, y, 'tree'); // Infinate Loop? what if someone is standing on the tree symbol?
WriteLn('Find tree');
repeat
wait(20)
if not RadialWalk(FindRoadColor, 190, 130, 70, 2 , 2) then
RadialWalk(FindRoadColor, 210, 130, 70, 2 , 2);
until FindSymbol(x, y, 'resting spot'); // another infinate loop.
WriteLn('resting spot');
wait(2000); // the wait time should have randomness to it.
Mouse(635, 130,15,20,true); // co-ord clicking = Bad.
FFlag(0);
//SymbolAccuracy:=0.5;
if FindDTM(Doortomagic, X, Y, MMx1,MMy1,MMx2,MMy2) then // your going to need a dtm called "doortomagic" for this to work arent you?
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to door');
FFlag(0);
end;
end;
FreeDTM(Doortomagic); //what dtm? you havent called on one at the start of the procdure.
end;

Procedure WalkToBank;
begin
If(Not(LoggedIn)) Then Exit;
wait(200)
Mouse(610, 45,12,13,true); // co ord clicking == baaaaad
wait(2000); //static waiting is bad too.
FFlag(0);
repeat
WriteLn('walk');
RadialRoadWalk(FindRoadColor, 340,375, 65, 2, 2); // no failsafes
FFlag(0);
Until (FindFallyRoadColor) > 0; // endless loop?
repeat
WriteLn('walkFallyRoad');
RadialRoadWalk(FindFallyRoadColor, 350,385, 65, 2, 2); // no failsafes
FFlag(0);
until FindSymbol(x, y, 'bank');// endless loop again.
end;

procedure FindBrtty; // you should really look into using functions vs procedures. Also a TPA would be more effective here.
var
Betty, C: Integer;
Begin
Betty := DTMFromString('78DA630C65606098CE8002ECB5EC192481342' +
'394CF180824FA206C16A89888B030033FB29A0420B108558DA2B4148' +
'A1A00153E044B');
C:=0
If(Not(LoggedIn)) Then Exit;
If ShopScreen then Exit;
repeat
C:=C+1
Begin
Wait(1000 + Random(500));
if (FindDTM(Betty, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Writeln('Betty found');
MMouse(x,y,5,5);
If Isuptext('etty')then
Mouse(x,y,2,2,False);
ChooseOption('Trade')
Begin
Writeln('Trade');
if ShopScreen then Break;
end;
end;
end;
until (C >=15);
FreeDTM(Betty);
end;

procedure ByNewts;
var Newt: Integer;

begin
Newt := BitmapFromString(5, 9, 'beNqbN+/q+fNXzp3bv3Xr8tmze5q' +
'a7t++LSazTVRqlbDEvAVTp4jL7heT2SkqLAxE03t7Prx7B2ED0cy+vicPH965' +
'fv3y2TOnDx+eO2kinHt8/75F06ZBuBdOnTy8a9fmFSuA3FtXr545ehRo1/rFi' +
'4Hc6xcvnjhwYPfGDasAVkNUxw==');
If(Not(LoggedIn)) Then Exit;
if not(ShopScreen) then Exit;
if(FindBitmapIn(Newt,x,y,msx1,msy1,msx2,msy2))then
Writeln('News');
MMouse(x,y,5,5);;
If Isuptext('ye of')then
Mouse(x,y,1,1,False);
ChooseOption('X');
begin
Wait(1000);
TypeSend('28');
closewindow;
end;
FreeDTM(Newt);
end;

Procedure ChatsSetUp;
Begin
If(Not(LoggedIn)) Then Exit;
setrun(true)
gametab(4);
MakeCompass('n');
FindNormalRandoms;
SetAllChats('all', 'on', 'off', '', '', '');
SetAngle(True);
end;

procedure SetupScript;
begin
{$IFDEF SRL_SMART}
Smart_Server := SmartWorldNo;
Smart_Signed := Signed;
{$ENDIF}
SetupSRL;
DeclarePlayers;
SetAudioOff;
If (Not(LoggedIn)) then LoginPlayer;
end;

begin // no mainloop? it does one load and thats it?
SetupScript;
ChatsSetUp;
CheckGetCash;
WalkToMagic;
DoorClosed;
FindBrtty;
ByNewts;
WalkToBank;
CheckGetCash;
end.

overall the script is sloppily done, I would be astonished if it actually worked a load. its a no from me sorry.

P1nky

2009-07-08 03:34:24

you are so close tbh. Maybe add some TPA's?

well i like everything but you made stuff too simple.

Sorry i won't vote.

NiCbaZ

2009-07-08 07:18:35

No sorry. Il post more later.

skvatboy

2009-07-08 19:18:26

Hi Thanks again to all
I have work on my script had to stop RS update :(
program EoNewtB;

{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FaladorColorFinder.scar}
const
SmartWorldNo = 120;
Signed = True;
Amount = 200;
procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(1);
CurrentPlayer := 0;

Players[0].Name := ''; //Player username
Players[0].Pass := ''; //Player password
Players[0].Nick := ''; //Player nickname - 3-4 letters of Player usernamne.
Players[0].Active := True; //Is the player active (do you want to auto on this acc)?
Players[0].Pin := ''; //Bank Pink, leave as '' for no bank pin... MUST BE A STRING!
Players[0].BoxRewards := ['XP', 'ostume', 'Gem', 'ithril', 'oal', 'une', 'mote', 'oins'];

end;

function LoadDTMWalks(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1:begin
dtmMainPoint.x := 625;
dtmMainPoint.y := 91;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 10206142;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 625;
dtmSubPoints[0].y := 91;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 10206142;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 633;
dtmSubPoints[1].y := 60;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFallyRoadColor;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 604;
dtmSubPoints[2].y := 74;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFallyRoadColor;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 605;
dtmSubPoints[3].y := 54;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFallyRoadColor;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 598;
dtmSubPoints[4].y := 95;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindFallyRoadColor;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
2:begin
dtmMainPoint.x := 920;
dtmMainPoint.y := 358;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 5793390;
dtmMainPoint.Tolerance := 255;

dtmSubPoints[0].x := 920;
dtmSubPoints[0].y := 358;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 5793390;
dtmSubPoints[0].Tolerance := 255;

dtmSubPoints[1].x := 929;
dtmSubPoints[1].y := 348;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 1793900;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 929;
dtmSubPoints[2].y := 339;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 6316135;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 930;
dtmSubPoints[3].y := 361;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 5793390;
dtmSubPoints[3].Tolerance := 15;

dtmSubPoints[4].x := 912;
dtmSubPoints[4].y := 366;
dtmSubPoints[4].AreaSize := 2;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 65536;
dtmSubPoints[4].Tolerance := 5;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;



function OpenFWBBank: Boolean;
var
x,y,BankSpot : Integer;

Begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
FindBank('fwb');
if BankScreen then
Result := true
else
Writeln('Not Found by (FindBand)');
BankSpot := LoadDTMWalks(1);
if FindDTM(BankSpot, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 8, 8, True);
Writeln('Found by DDTM');
Result := OpenBank('fwb', False, False);
end;
Result := False;
FreeDTM(BankSpot);
end;

Procedure CheckGetCash;
var
x,y : Integer;
Begin
If(Not(LoggedIn)) Then Exit;
gametab(4);
IF (CoinAmount('inv') > 50) Then Exit;
if not BankScreen then OpenFWBBank;
FindCoins(X, Y, 'bank');
begin
Mouse(x, y, 4, 4,false);
Wait(150 + random(200));
if (Amount > 0) then
begin
ChooseOption('Withdraw-X')
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount));
end;
if (Amount = 0) then
ChooseOption('ll')
end;
Deposit(2, 28, True);
CloseBank;
end;

Procedure DoorClosed;
var x,y: Integer;
Begin
If(Not(LoggedIn)) Then Exit;
if FindObjectATPA(x,y,3891047,10,MS,15,'pen') then
begin
mouse(x,y,0,0,true);
Writeln('Door clik');
end;
Writeln('Door open');
end;
end;

procedure WalkToMagic;
var
x,y,Doortomagic: Integer;
begin
Doortomagic := LoadDTMWalks(2);
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
MakeCompass('n');
SetRun(true);
begin
if not RadialWalk(FindFallyRoadColor, 200 , 230, 50, 2 , 2) then
RadialWalk(FindFallyRoadColor, 190 , 240, 50, 2 , 2);
repeat
RadialWalk(FindFallyRoadColor, 165 , 195, 63, 2 , 2)
Until FindSymbol(x, y, 'tree') or ((FindFallyRoadColor) > 0);
WriteLn('Find tree');
repeat
wait(20)
if not RadialWalk(FindRoadColor, 190, 130, 70, 2 , 2) then
RadialWalk(FindRoadColor, 210, 130, 70, 2 , 2);
until FindSymbol(x, y, 'resting spot');
WriteLn('resting spot');
wait(2000);
Mouse(635, 130,15,20,true);
FFlag(0);
if FindDTM(Doortomagic, X, Y, MMx1,MMy1,MMx2,MMy2) then
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to door');
FFlag(0);
end;
end;
FreeDTM(Doortomagic);
end;

Procedure WalkToBank;
var
x,y: Integer;
begin
If(Not(LoggedIn)) Then Exit;
wait(200)
Mouse(610, 45,12,13,true);
wait(2000);
FFlag(0);
repeat
WriteLn('walk');
if not RadialRoadWalk(FindRoadColor, 345,370, 65, 2, 2) then
RadialWalk(FindRoadColor, 350, 375, 70, 2 , 2);
FFlag(0);
Until (FindFallyRoadColor) > 0;
repeat
WriteLn('walkFallyRoad');
RadialRoadWalk(FindFallyRoadColor, 350,385, 65, 2, 2);
FFlag(0);
until FindSymbol(x, y, 'bank');
end;

Procedure FindBrtty;
Var
TPA: TPointArray;
I: Integer;
Begin
FindColorsTolerance(TPA, 4336963, msx1, msy1, msx2, msy2, 5);
For I := 0 To High(TPA) Do
Begin
MMouse(TPA[i].x, TPA[i].y,2,2);
Wait(100);
If Isuptext('ett')then
begin;
Mouse(TPA[i].x, TPA[i].y ,2,2,False);
ChooseOption('Trade')
Break;
end;
End;
End;

procedure ByNewts;

var x,y,Newt: Integer;

begin
Newt := BitmapFromString(5, 9, 'beNqbN+/q+fNXzp3bv3Xr8tmze5q' +
'a7t++LSazTVRqlbDEvAVTp4jL7heT2SkqLAxE03t7Prx7B2ED0cy+vicPH965' +
'fv3y2TOnDx+eO2kinHt8/75F06ZBuBdOnTy8a9fmFSuA3FtXr545ehRo1/rFi' +
'4Hc6xcvnjhwYPfGDasAVkNUxw==');
If(Not(LoggedIn)) Then Exit;
if not(ShopScreen) then Exit;
if(FindBitmapIn(Newt,x,y,msx1,msy1,msx2,msy2))then
Writeln('News');
MMouse(x,y,5,5);;
If Isuptext('ye of')then
Mouse(x,y,1,1,False);
ChooseOption('X');
begin
Wait(1000);
TypeSend('28');
closewindow;
end;
FreeBitmap(Newt);
end;

Procedure ChatsSetUp;
Begin
If(Not(LoggedIn)) Then Exit;
setrun(true)
gametab(4);
MakeCompass('n');
FindNormalRandoms;
SetAllChats('all', 'on', 'off', '', '', '');
SetAngle(True);
end;

procedure SetupScript;
begin
{$IFDEF SRL_SMART}
Smart_Server := SmartWorldNo;
Smart_Signed := Signed;
{$ENDIF}
SetupSRL;
DeclarePlayers;
SetAudioOff;
If (Not(LoggedIn)) then LoginPlayer;
end;

begin
SetupScript;
ChatsSetUp;
repeat
CheckGetCash;
WalkToMagic;
DoorClosed;
FindBrtty;
ByNewts;
WalkToBank;
until(not(LoggedIn));
end.

Wanted

2009-07-09 05:48:51

Hey man, I looked through your script. It looks like you have serious potential!

I'm going to recommend the following tutorials for you:

My intermediate tutorial (link in my signature)
And a dynamic DTM tutorial (look in the tutorial section).

Read those and work on your standards, then rewrite your script and apply again. I'll vote yes next time, for now you still have some learning to do.

Keep up the good work!

-IceFire

Phran6

2009-07-09 07:49:20

your second ddtm is still static…

but for the rest i like :)
you chosed bitmap before dtm for eyes of the Newts since theyr are faster :)

skvatboy

2009-07-09 21:05:22

Do u guys think i well get a `yes´ with this script ?
program EoNewtB;

{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include srl/srl/misc/FaladorColorFinder.scar}
const
SmartWorldNo = 120;
Signed = True;
Amount = 200;
procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(1);
CurrentPlayer := 0;

Players[0].Name := ''; //Player username
Players[0].Pass := ''; //Player password
Players[0].Nick := ''; //Player nickname - 3-4 letters of Player usernamne.
Players[0].Active := True; //Is the player active (do you want to auto on this acc)?
Players[0].Pin := ''; //Bank Pink, leave as '' for no bank pin... MUST BE A STRING!
Players[0].BoxRewards := ['XP', 'ostume', 'Gem', 'ithril', 'oal', 'une', 'mote', 'oins'];
end;

function DTMWalks(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
x, y, i, t, Tole: Integer;
begin
case WalkNumber of
1:begin
repeat
Tole:= Tole + 5;
dtmMainPoint.x := 625;
dtmMainPoint.y := 91;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 10206142;
dtmMainPoint.Tolerance := Tole;

dtmSubPoints[0].x := 625;
dtmSubPoints[0].y := 91;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 10206142;
dtmSubPoints[0].Tolerance := Tole;

dtmSubPoints[1].x := 633;
dtmSubPoints[1].y := 60;

dtmSubPoints[2].x := 604;
dtmSubPoints[2].y := 74;

dtmSubPoints[3].x := 605;
dtmSubPoints[3].y := 54;

dtmSubPoints[4].x := 598;
dtmSubPoints[4].y := 95;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;

for t := 1 to 4 do
with dtmSubPoints[t] do
begin
AreaSize := 0;
AreaShape := 0;
Color := FindFallyRoadColor;
Tolerance := tole;
end;

Result := AddDTM(TempTDTM);
if DTMRotated(Result, x, y, MMX1, MMY1, MMX2, MMY2) then Exit;

try
FreeDTM(i);
except
end;
until(tole > 50)
end;
end;
end;

function OpenFWBBank: Boolean;
var
x, y, BankSpot : Integer;
Begin
If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
FindBank('fwb');
if BankScreen then
Result := true
else
Writeln('Not Found by (FindBand)');
BankSpot := DTMWalks(1);
if FindDTM(BankSpot, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 8, 8, True);
Writeln('Found by DDTM');
Result := OpenBank('fwb', False, False);
end;
Result := False;
FreeDTM(BankSpot);
end;

Procedure CheckGetCash;
var
x, y : Integer;
Begin
If(Not(LoggedIn)) Then Exit;
gametab(4);
IF (CoinAmount('inv') > 50) Then Exit;
if not BankScreen then OpenFWBBank;
FindCoins(X, Y, 'bank');
begin
Mouse(x, y, 4, 4,false);
Wait(150 + random(200));
if (Amount > 0) then
begin
ChooseOption('Withdraw-X')
Wait(1000 + Random(100));
TypeSend(IntToStr(Amount));
end;
if (Amount = 0) then
ChooseOption('ll');
end;
Deposit(2, 28, True);
CloseBank;
end;

Procedure DoorClosed;
Var
TPA: TPointArray;
I: Integer;
Begin
If(Not(LoggedIn)) Then Exit;
FindColorsTolerance(TPA, 3891047, msx1, msy1, mscx, msy2, 5);
For I := 0 To High(TPA) Do
begin
MMouse(TPA[i].x, TPA[i].y,2,2);
Wait(100 + Random(200));
If Isuptext('los')then Exit;
If Isuptext('ett')then
begin;
Mouse(TPA[i].x, TPA[i].y, 2, 2, True);
Writeln('Door clik');
Break;
end;
Writeln('Door open');
end;
end;

function MageShopFloor: Integer;
var
FloorColor, c, TX, TY, MageShopbit : Integer;
begin
MageShopbit := BitmapFromString(4, 4, 'beNorKH739sV/JMRXU' +
'AxB77CyAR4+HBM=');
while (c <= 80) do
begin
c := c + 5;
if (FindTransparentBitmapTolerance(MageShopbit, TX, TY, clBlack, MMX1, MMY1, MMX2, MMY2, c)) then
begin
FloorColor := GetColor(TX, TY);
Result := FloorColor;
break;
end;
end;
if (Result = 0) then
WriteLn('FloorColor NOT Found');
FreeBitmap(MageShopbit);
end;

procedure WalkToMagic;
var
x, y, sp1, sp2 : Integer;
begin
sp1 := DTMFromString('78DA63AC65666088636440065159320C46401' +
'A24FA1F0818BB816A32206A602A9DD4B8189491F88CE54035D904' +
'D4B420EC828919CB73A0A80100D3180A63');
sp2 := DTMFromString('78DA636C66626058C98002F2D323185280342' +
'310FF0702C68940352B20724C50356FBFBC601081AA0101C64CA0' +
'CC7C026A8A81323D5036544CDF930B450D009F951060');

If(Not(LoggedIn)) Then Exit;
FindNormalRandoms;
MakeCompass('n');
SetRun(true);
begin
if not RadialWalk(FindFallyRoadColor, 200 , 230, 50, 2, 2) then
RadialWalk(FindFallyRoadColor, 190 , 240, 50, 2, 2);
repeat
RadialWalk(FindFallyRoadColor, 165, 195, 63, 2, 2)
Until FindSymbol(x, y, 'tree') or ((FindFallyRoadColor) > 0);
WriteLn('Find tree');
repeat
if not RadialWalk(FindRoadColor, 190, 205, 70, 2, 2) then
RadialWalk(FindRoadColor, 155, 200, 70, 2, 2);
FFlag(0);
until ((MageShopFloor) > 0) or FindSymbol(x, y, 'resting spot');
WriteLn('resting spot or shop flor');
if FindDTM(sp1, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to sp1');
FFlag(10);
end;
if FindDTM(sp2, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to door or sp2');
FFlag(10);
end;
end;
FreeDTM(sp1);
FreeDTM(sp2);
end;


Procedure WalkToBank;
var
x, y, sp1: Integer;
begin
If(Not(LoggedIn)) Then Exit;
sp1 := DTMFromString('78DA63AC65666088636440065159320C46401' +
'A24FA1F0818BB816A32206A602A9DD4B8189491F88CE54035D904' +
'D4B420EC828919CB73A0A80100D3180A63');
if FindDTM(sp1, X, Y, MMx1, MMy1, MMx2, MMy2) then
begin
Mouse(X, Y, 8, 8, True);
WriteLn('Walk to sp1');
FFlag(10);
end;

repeat
WriteLn('walk');
if not RadialRoadWalk(FindRoadColor, 345, 370, 65, 2, 2) then
RadialWalk(FindRoadColor, 350, 375, 70, 2, 2);
FFlag(0);
Until (FindFallyRoadColor) > 0;
repeat
WriteLn('walkFallyRoad');
if not RadialRoadWalk(FindRoadColor, 355,390, 65, 2, 2) then
RadialRoadWalk(FindFallyRoadColor, 350,390, 65, 2, 2);
FFlag(0);
until FindSymbol(x, y, 'bank');
end;

Procedure FindBrtty;
Var
TPA: TPointArray;
I: Integer;
Begin
FindColorsTolerance(TPA, 4336963, msx1, msy1, msx2, msy2, 5);
For I := 0 To High(TPA) Do
Begin
MMouse(TPA[i].x, TPA[i].y, 2, 2);
Wait(100 + Random(200));
If Isuptext('ett')then
begin;
Mouse(TPA[i].x, TPA[i].y, 2, 2, False);
ChooseOption('Trade')
Break;
end;
end;
end;

procedure ByNewts;
var
x, y, Newt: Integer;
begin
Newt := BitmapFromString(5, 9, 'beNqbN+/q+fNXzp3bv3Xr8tmze5q' +
'a7t++LSazTVRqlbDEvAVTp4jL7heT2SkqLAxE03t7Prx7B2ED0cy+vicPH965' +
'fv3y2TOnDx+eO2kinHt8/75F06ZBuBdOnTy8a9fmFSuA3FtXr545ehRo1/rFi' +
'4Hc6xcvnjhwYPfGDasAVkNUxw==');
If(Not(LoggedIn)) Then Exit;
if not(ShopScreen) then Exit;
if(FindBitmapIn(Newt, x, y, msx1, msy1, msx2, msy2))then
Writeln('News');
MMouse(x, y, 5, 5);;
If Isuptext('ye of')then
Mouse(x, y, 1, 1, False);
ChooseOption('X');
begin
Wait(100 + Random(1000));
TypeSend('28');
if InvFull then
closewindow;
end;
FreeBitmap(Newt);
end;

Procedure ChatsSetUp;
Begin
If(Not(LoggedIn)) Then Exit;
setrun(true)
gametab(4);
MakeCompass('n');
FindNormalRandoms;
SetAllChats('all', 'on', 'off', '', '', '');
SetAngle(True);
end;

procedure SetupScript;
begin
{$IFDEF SRL_SMART}
Smart_Server := SmartWorldNo;
Smart_Signed := Signed;
{$ENDIF}
SetupSRL;
DeclarePlayers;
SetAudioOff;
If (Not(LoggedIn)) then LoginPlayer;
end;

begin
SetupScript;
ChatsSetUp;
repeat
CheckGetCash;
WalkToMagic;
DoorClosed;
FindBrtty;
ByNewts;
WalkToBank;
until(not(LoggedIn));
end.

Phran6

2009-07-10 21:40:43


if(FindBitmapIn(Newt, x, y, msx1, msy1, msx2, msy2))then
begin // you need a beggin here since you use more than 1 line after the 'then'
Writeln('News');
MMouse(x, y, 5, 5);;
If Isuptext('ye of')then
Mouse(x, y, 1, 1, False);
ChooseOption('X');
begin
Wait(100 + Random(1000));
TypeSend('28');
if InvFull then
closewindow;
end;
end; // ans an end here for the beggin

and yes i thing you sould have yes with this script :)

if a mod see that, can he change my vote for a yes ?

Gu3st...

2009-07-10 22:10:45

I vote no, see bumblebee's post for reasons :)

Markus

2009-07-22 01:10:54

Closed as you already applied again.