SRL Archive - MSI Bugs

Mainloop bug


doublex8

2010-11-06 01:49:28

I'm trying to run the Seer's village yew cutting script and it gives me an out of range error at line 46 on the mainloop

[0:00:08]: {----------------------------------------------------------------}
[0:00:08]: { MSI Phoenix Player Report }
[0:00:08]: {------------------------- Revision 368 -------------------------}
[0:00:08]: { Time Running: 8 Seconds }
[0:00:08]: {----------------------------------------------------------------}
[0:00:08]: { }
[0:00:08]: { Player 0: ---------- }
[0:00:08]: [ Anti ] ---- Error in printing report!
[0:00:08]: [ Anti ] -- MSI_SetupPlayer
[0:00:08]: [ Anti ] ---- Player is not logged in
[0:00:08]: 1
[0:00:08]: 2
[0:00:08]: 4
[0:00:19]: Welcome to Runescape.
[0:00:21]: Double X
[0:00:26]: 5
[0:00:37]: Failed to find World 111!
[0:00:43]: 1
[0:00:43]: 2
Error: Out Of Range at line 46
The following DTMs were not freed: [SRL - Lamp bitmap, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL/logs/SRL log 06-11-10 6.txt] has not been freed in the script, freeing it now.
File[C:\Simba\Includes\MSI\MSI Progress Reports\06-11-10 at 01 45 42 AM.txt] has not been freed in the script, freeing it now.

Thats the entire debug from starting the script to when it ends. happens right after it logs in and picks a world.

Coh3n

2010-11-06 03:14:59

Doesn't look like you filled out DeclarePlayers right. Can you post your setup?

doublex8

2010-11-06 11:28:14

Well I ran the GE yews script all night with the same type of setup, with my location at the yews, here is the setup for the GE that im currently running below:

procedure DeclarePlayers;
var
i: Integer;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
SetLength(MSI_Players, HowManyPlayers);

for i := 0 to High(MSI_Players) do
SetLength(MSI_Players[i].Scripts, 100);

CurrentPlayer := 0;
CurrentScript := 0;

with MSI_Players[0] do
begin
Name := 'username'; // Username
Pass := 'password'; // Password
Nick := 'anti'; // Nickname (3-4 lowercase letters from username)
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True; // Use this player?
Member := True; // Is this player a member?
Location := LOC_GE_YEWS; // See instructions at the top
BreakLoads := 50; // Amount of loads before breaking/switching players
TotalLoads := 0; // Total loads for the player to do; leave 0 if using TotalTime or to go forever
TotalTime := 0; // How long for the player to run? (in minutes); leave 0 if using TotalLoads or go forever

with Scripts[0] do
begin
Name := SCRIPT_GE_YEWS;
Trees := [TREE_YEW];
Priority := [];
end;
end;

So i suppose this is probably what my setup was for the Seers village yews:

procedure DeclarePlayers;
var
i: Integer;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
SetLength(MSI_Players, HowManyPlayers);

for i := 0 to High(MSI_Players) do
SetLength(MSI_Players[i].Scripts, 100);

CurrentPlayer := 0;
CurrentScript := 0;

with MSI_Players[0] do
begin
Name := 'username'; // Username
Pass := 'password'; // Password
Nick := 'anti'; // Nickname (3-4 lowercase letters from username)
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True; // Use this player?
Member := True; // Is this player a member?
Location := LOC_SV_YEWS; // See instructions at the top
BreakLoads := 50; // Amount of loads before breaking/switching players
TotalLoads := 0; // Total loads for the player to do; leave 0 if using TotalTime or to go forever
TotalTime := 0; // How long for the player to run? (in minutes); leave 0 if using TotalLoads or go forever

with Scripts[0] do
begin
Name := SCRIPT_SV_YEWS;
Trees := [TREE_YEW];
Priority := [];
end;
end;

Coh3n

2010-11-06 12:54:46

That looks right. By the way, your player will only do one load. You have the TotalLoads set to 0 and the TotalTime set to 0. You can only have one or the other set to 0.

E: You may have had the error because it failed to find world 111. Try disabling SWITCH_WORLDS and see if that makes a difference.

doublex8

2010-11-06 16:41:56

Well I still have both set to 0 and it has been runing all day.

Coh3n

2010-11-07 17:08:40

From: doublex8
Well I still have both set to 0 and it has been runing all day.

Lol, well I guess that's a bug we'll have to fix. Thanks. :)

EDIT: Now that I think about it, I'd rather have it this way. I'll just tell users to set them both to 0 if they want the player to go until it's false.

doublex8

2010-11-07 23:33:41

From: Coh3n
Lol, well I guess that's a bug we'll have to fix. Thanks. :)

EDIT: Now that I think about it, I'd rather have it this way. I'll just tell users to set them both to 0 if they want the player to go until it's false.


thats what I thought the comments to side implied before, which is why I had both at 0. It does make a lot of sense ;)