SRL Archive - MSI Help

Logging out Problems with MSI


BlehX

2012-05-13 13:47:25

Hey,
Well I'm new here, so it's quite possible I'm just doing something wrong.
Many times, MSI will log in, then after one load (Cooking in catherby) will log out. Or it will log in, and log out instantly. Then, sometimes it will run for an hour then log out.

Is there a way to run MSI without it these log-out problems?

Sorry if this is a silly question…I'm just trying to figure things out.

Silentcore

2012-05-13 13:55:44

Maybe if you post the script you are using and what it tells you in the debug box that would give ppl an idea of what is going wrong.

BlehX

2012-05-13 15:38:02

I'm using Catherby Cooker in MSI. I just copy pasted what the script says in Simba. Hopefully this is what you were looking for? If not, I'll try again.

When it doesn't work properly, it says it's failing to set up the character.

procedure DeclareSettings();
begin
MSI_Settings[SETUP_RANDOM_TOOL] := True; // Use SRL's Random Tool? It notifies you when a random is found.
MSI_Settings[SETUP_REPORT_GUI] := False; // Use a GUI to display the progress report (recommended)
MSI_Settings[SETUP_DEBUG_SMART] := True; // Debugs things onto SMART (may cause lag)
MSI_Settings[SETUP_SAVE_DEBUG] := True; // Save's the debug box text to a file
MSI_Settings[SETUP_SAVE_REPORT] := True; // Save's the progress report to a file
MSI_Settings[SETUP_HUMAN_BREAK] := True; // Take more human like breaks
MSI_Settings[SETUP_SWITCH_WORLDS] := True; // Switch worlds when switching players or after breaks
MSI_Settings[SETUP_PRINT_REPORT] := True; // Will only print the short report in the debug box (will still save long report to file)
MSI_Settings[SETUP_DEATH_WALK] := True; // Use MSI's death walking feature if the player gets lost?
MSI_Settings[SETUP_BREAK_TIME] := 15; // Single player only - how long to break for (in minutes)
MSI_Settings[SETUP_DEBUG_LEVEL] := 10; // The lower the number, the less the script will debug
MSI_Settings[SETUP_ANTIBAN_WAIT] := 15000; // Minimum time to wait between antibans (in milliseconds 1000ms = 1s)
MSI_Settings[SETUP_RANDOMS_WAIT] := 10000; // Minimum time to wait between randoms checks
MSI_Settings[SETUP_STATS_ID] := ''; // Stats ID
MSI_Settings[SETUP_STATS_PASS] := ''; // Stats password
MSI_Settings[SETUP_QC_LEVELUP] := True; // Quick chat when you level up, only available when your level is above 20
MSI_Settings[SETUP_MAX_PLAYERS] := 30; // How many players around you before switching worlds
MSI_Settings[SETUP_RANDOM_NP] := True; // Choose a random player when switching players?
end;

(*
DeclarePlayers
~~~~~~~~~~~~~~

.. code-block:: pascal

procedure DeclarePlayers();

When called, sets the global variable 'MSI_Players.' This is the procedure
the user needs to setup if they elect not to use the player form.

*)
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
Pass := ''; // Password
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True; // Use this player?
Member := False; // Is this player a member?
BreakLoads := 0; // Amount of loads before breaking/switching players; leave 0 to not take breaks
BreakTime := 0; // Amount of time (in minutes) before breaking/witching; leave 0 to not take breaks
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
end;
end;
{
with MSI_Players[1] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := 0;
BreakTime := 0;
TotalLoads := 0;
TotalTime := 0;

with Scripts[0] do
begin
end;
end;

with MSI_Players[2] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;

with MSI_Players[3] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;

with MSI_Players[4] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;

with MSI_Players[5] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;

with MSI_Players[6] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;

with MSI_Players[7] do
begin
Name := '';
Pass := '';
Pin := '';
Active := True;
Member := False;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;

with Scripts[0] do
begin
end;
end;
}
end;

var
i: integer;
begin
// set the script start date and time used to progress reports and logs
ScriptStart := TheDate(DATE_DAY) + ' at ' + TheTime;
ScriptStart := Replace(scriptStart, ':', ' ');

ClearDebug;
MSI_Setup;

// initilize form if selected, otherwise call player setup routines
if (USE_FORM) then
begin
try
try
ThreadSafeCallEx('ShowMSIForm');
finally
ThreadSafeCallEx('FreeMSIForm');
end;
except
Writeln(ExceptionToString(ExceptionType, ExceptionParam));
end;

HowManyPlayers := Length(MSI_Players);
NumberOfPlayers(HowManyPlayers);

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

if (not ScriptReady) then
TerminateScript;
end else begin
DeclareSettings;
DeclarePlayers;
end;

// initialize SMART and clear it's canvas
{$IFDEF SMART}
SMART_Server := 10;
SMART_Members := False;
SMART_Signed := True;
SMART_SuperDetail := False;
{$ENDIF}

SetupSRL;
ActivateClient;
CurrDebugLevel := 1;
MSI_InitSRLPlayers();
SetScriptProp(SP_WriteTimeStamp, [True]);
AddOnTerminate('MSI_ScriptTerminate');

{$IFDEF SMART}
SMART_ClearCanvas();
{$ENDIF}

// create debug file
if (MSI_Settings[SETUP_SAVE_DEBUG]) then
DebugFile := CreateFile(PATH_DEBUG + ScriptStart + '.txt');

SetupSRLStats(21, MSI_Settings[SETUP_STATS_ID], MSI_Settings[SETUP_STATS_PASS]);

MSI_WalkingDefines();

// these settings aren't yet in the player form
if (USE_FORM) then
begin
MSI_Settings[SETUP_RANDOM_TOOL] := true;
MSI_Settings[SETUP_PRINT_REPORT] := true;
MSI_Settings[SETUP_REPORT_GUI] := false;
MSI_Settings[SETUP_DEATH_WALK] := true;
end;

if (MSI_Settings[SETUP_RANDOM_TOOL]) then
SetupRandomTool(15000, 5, appPath+'Includes/MSI/MSI/RandomSound.wav');

MSI_Mainloop;
end.

panda pl0xx

2012-05-13 16:52:58

the debug box is the one under the script box

BlehX

2012-05-13 16:58:05

Ah, okay. Thanks. This is what it says under the player report. I removed my username for security reasons. It says it runs out of supplies. However, there are still 4000 sharks left to cook….
 MSI Phoenix Player Report                   }
{----------------------------------------------------------------}
{ Time Running: 7 Minutes and 37 Seconds }
{----------------------------------------------------------------}
{ }
{ Player 0: *deleted username for security* }
{ Location: Catherby Bank }
{ Time: 03m 57s }
{ Active: False }
{ Reason: Ran out of supplies }
{ }
{ Script: Catherby Cooker }
{ Time: 03m 57s }
{ Skill: Cooking }
{ Exp: 141,120 }
{ Level: 98 }
{ Loads: 3 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84 }
{ Item: Cooked Shark }
{ Amount: 84