SRL Archive - OSR Help

YoHoJos Scripting videos outdated...


CRASH_OVERRIDE

2012-11-16 19:21:44

Guys can someone please help me?

i am new to scripting in SImba for Runescape.

I watched YoHoJo's tutorials, i downlaoded them using www.keepvid.com and went through every part of the scripting.

I notice that his script is outdated so i have adjusted stuff.

And when i go script, compile i still get errors.

Here is his script:


program PowerChopper;

{$DEFINE SMART}
{$I SRL/SRL.simba}
//{$i SRL/SRL/Misc/Stats.simba}


Const
SRLStats_Username = ''; //Your SRL Stats Username
SRLStats_Password = ''; //Your SRL Stats Password
BreakEvery = 120; //How many minutes to break after
BreakFor = 5; //How long to break for
Version = '1.0';
NumbOfPlayers = 1; //How many players you are using
StartPlayer = 0; //Player to start autoing with! (0 means first char)

Var
TooLong: Integer;

procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];

with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Nick := ''; //Player nickname - 3-4 letters of Player username.
Active := True;
Integers[1] := 4; //1=BrightCopper,2=DarkCopper,3=Tin,4=Iron.
Integers[2] := 4; //Seconds to try mining rock before clicking another.
end;

// with Players[1] do
// begin
// Name := ''; //Player username.
// Pass := ''; //Player password.
// Nick := ''; //Player nickname - 3-4 letters of Player username.
// Active := True;
// Integers[1] := 4; //1=BrightCopper,2=DarkCopper,3=Tin,4=Iron.
// Integers[2] := 4; //Seconds to try mining rock before clicking another.
// end;

end;

Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;

Procedure Antiban;
Begin
Case Random(250) Of
0: Begin StatsGuise('AntiBan') GameTab(tab_stats) Hoverskill('Woodcutting', False) GameTab(28) End;
1: Begin StatsGuise('AntiBan') SleepAndMoveMouse(7000 + Random(500)); End;
2: Begin StatsGuise('AntiBan') GameTab(tab_Inv) ExamineInv; GameTab(28); End;
3: Begin StatsGuise('AntiBan') RandomAngle(1); End;
4: Begin StatsGuise('AntiBan') GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(28); End;
5: Begin StatsGuise('AntiBan') GameTab(tab_Stats) HoverSkill('random', False); GameTab(28); End;
End;
End;

Procedure FailSafe(Reason:String);
Begin
Players[CurrentPlayer].Loc:=Reason;
Logout;
Stats_Commit;
Writeln(Reason);
TerminateScript;
End;

Function ChopDown:Boolean;
Var
seX, SeY, PlusOne, TreeCounter: Integer;
Begin
MarkTime(TooLong);
FindNormalRandoms;
PlusOne:= InvCount + 1;
//If FindObjCustom(seX, seY, ['Chop', 'down', 'p d'], [3426909, 2833741], 5) Then
Sex:=MSCX;
Sey:=MSCY;
If FindObjTPA(SeX, SeY, 2899791, 10, 1, 15, 60, 600, ['Cho']) Then
Begin
StatsGuise('Hooray, we found a tree');
GetMousePos(seX, seY);

Case Random(2) Of
0: Mouse(seX, seY, 5, 5, True);
1: Begin
Mouse(seX, seY, 5, 5, False);
WaitOption('Chop', 500);
End;
End;

Flag;
MarkTime(TreeCounter);
If (TimeFromMark(TooLong) > 30000) Then
FailSafe('Could not find Tree');
Repeat
If (TimeFromMark(TooLong) > 30000) Then
FailSafe('Could not find Tree');
FindNormalRandoms;
StatsGuise('Antiban and Waiting');
Antiban;
Wait(1000);
If InvCount=Plusone Then
WriteLn('we got one');
Until (InvCount=Plusone) Or (TimeFromMark(TreeCounter) > 5000)

End;
End;

Procedure DropLogs;
Var
SeX, SeY, LogDTM, I:Integer;
SlotBox:TBox;
LogPattern:TIntegerArray;


Begin
MarkTime(TooLong);
LogDTM := DTMFromString('mggAAAHicY2NgYFBlZmBQAWJxIFYEYn0gNgLivYwMDJuBeBcQnwDiI0C8B4j9rJWAupgw8H8G7IARB4YAAHhRBy0=');
LogPattern:=[1,5,9,13,17,21,25,2,6,10,14,18,22,26,3,7,11,15,19,23,27,4,8,12,16,20,24,28]
StatsGuise('Dropping Logs');
For I:=0 To 27 Do
Begin
FindNormalRandoms;
StatsGuise('Dropping Log:' + IntToStr(I));
SlotBox:=InvBox(LogPattern[I]);
If FindDTm(LogDTM,Sex,Sey,SlotBox.X1,SlotBox.Y1, SlotBox.X2, SlotBox.Y2)Then
Begin
MouseItem(LogPattern[I],False);
ChooseOption('Dro');
End;
End;
MarkTime(TooLong);
End;

begin
SetupSRL;
DeclarePlayers;
Repeat
ChopDown;
If InvFull Then
DropLogs
Until(false);

End.


I would really appreciate it if you guys can help me fix it? Maybe also you guys would know by now why the script wouldn't use the failsafe?

I spent about 5 hours straight doing this, Downloads took about an hour each so theirs 2 hours, and then typing the scripts and changing it as yohojo did with multiple pausing and continuing…

Would you guys mind helping?

I really do want to learn this, however i keep getting nothing but errors in every damn tutorial because their all out of date!. How can you teach someone new from using tutorials that aren't even working anymore. Its starting to annoy me i really am trying and want to learn:(

riwu

2012-11-16 20:12:03

MouseItem accepts integer. Change
MouseItem(LogPattern,False);
to
MouseItem(LogPattern, mouse_Right);

A semicolon after DropLogs

CRASH_OVERRIDE

2012-11-16 20:31:48

Wow thankyou riwu.

I cant believe after all that time spent watching those tuts i missed the semicolon:0

Im assuming that False was replaced with mouse_Right after updates?

+1Rep Mate.

riwu

2012-11-16 20:36:47

From: tasmania
Wow thankyou riwu.

I cant believe after all that time spent watching those tuts i missed the semicolon:0

Im assuming that False was replaced with mouse_Right after updates?

+1Rep Mate.

Well i wouldn't think so because devs always have backward compatibility in mind. He probably mix it up with ClickMouse2 which accepts a variant.