No problem, just letting you know. ;)
I'm going to add a little thing to the first post directing people to the randoms threads.
Printable View
My first post here and unfortunately, it seems to be regarding a common error.
SMART Window opens, and then debug box states:
Where line 409 of items.simba is highlighted:Quote:
[0:00:02]: SRL Compiled in 15 msec
[0:00:02]: SMART Initialized.
Loaded: Server 152, Members: False, Signed: True, Super Detail: False.
[0:00:04]: -- MSI_GetDTMInfo: Invalid item constant!
[0:00:04]: -- MSI_GetItemColor: Invalid item constant - 0
Error: Out Of Range at line 409
The following DTMs were not freed: [SRL - Lamp bitmap]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL/logs/SRL log 10-12-10 5.txt] has not been freed in the script, freeing it now.
Here is my DeclarePlayers:Quote:
"MSI_RUNE_DEATH : Result := 13882333;"
I am quite the noob at this, so I hope it's an easy fix :SQuote:
with MSI_Players[0] do
begin
Name := 'User'; // Username
Pass := 'Pass'; // Password
Nick := 'ser'; // Nickname (3-4 lowercase letters from username)
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True; // Use this player?
Member := False; // Is this player a member?
Location := LOC_EV_BANK; // See instructions at the top
BreakLoads := 20; // Amount of loads before breaking/switching players; leave 0 to not take breaks
BreakTime := 44; // Amount of time (in minutes) before breaking/witching; leave 0 to not take breaks
TotalLoads := 200; // Total loads for the player to do; leave 0 if using TotalTime or to go forever
TotalTime := 9; // How long for the player to run? (in minutes); leave 0 if using TotalLoads or go forever
with Scripts[0] do
begin
Name := SCRIPT_EV_YEWS; // The script constant
Trees := [TREE_YEW]; // Trees to cut
Priority := [100]; // Priorities (same as before)
DontDrop := []; // For powerchopping only
end;
end;
Halp appreciated :D!
Try taking out the 'DontDrop' line. ;) DontDrop is an array and can't be declared like you have. I will be sure to mention little things like that when I update some MSI tutorials.
Well then it looks like one of the recent changes messed something up. I can't tell what exactly was changed because it looks like RM replaced the entire file in some cases, so give me some time to figure it out.
E: Fixed. I'm not exactly sure why what RM changed was causing the error, but I'll try to look into it when I have more time. Sorry for the inconvenience.
Argh.. I have the version that isn't working and I though it was because of my cooking.simba file >_<
If I only were to read this thread a little more often.... :redface:
Code:Error: Type Mismatch at line 533
The following DTMs were not freed: [SRL - Lamp bitmap]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL/logs/SRL log 13-12-10 4.txt] has not been freed in the script, freeing it now.
Simba Code:with Defaults do
begin
Rocks := [ROCK_COAL, ROCK_MITHRIL, ROCK_ADAMANTITE];
Items := [
TIntegerArray([ORE_COAL]), TIntegerArray([ORE_MITHRIL]), //This gets highlighted
TIntegerArray([ORE_ADAMANTITE]) // Sometimes even this
];
end;
I've updated everything and moved the plugin into the folder.
I'm getting this error when I try to start the MSI script:
Exception in Script: Unable to find file 'srl/srl/misc/smart.scar' used from 'C:\Simba\Includes\MSI/MSI/Core/Setup.simba'
I'm a noob at scripts trying to unnoob myself..
Can somebody please give me a hand with this error? :redface:
After the most recent update, i'm having some issues.
When I try to compile, I get an Error message (to line 35 of Objects.simba).
I am running the Rimmington Power Miner.
Progress Report:[Hint] C:\Simba\Includes\SRL/SRL/core/gametab.scar(1513:3): Variable 'P' never used at line 1512 [Error] C:\Simba\Includes\MSI\./Core/Objects.simba(36:5): Unknown identifier 'TREE_NORMAL' at line 35 Compiling failed.
Yepp.
I re-downloaded it. I guess one of the files didn't overwrite properly.
It's working now :)
Thanks.
just updated MSI.
It gives me the errorWhen I try to run 'runme' also, runme has moved from core to just the msi directory?Quote:
doesn't exist
Exception in Script: Unable to find file 'MSI/Setup.simba' used from ''
Try delete MSI and re-downloading. :)
~Home
Same problem. Deleted msi folder and checked out MSI fromPHP Code:http://www.villavu.com/repositories/msi/
Error
What could be causing this??:confused:Quote:
doesn't exist
Exception in Script: Unable to find file 'MSI/MSI/Core/Setup.simba' used from ''
Newest Rev works perfectly fine for me.
Mike, What does the line before the 'doesn't exist' line? Post a few more lines up as well if you can.
Where is your MSI folder located? It should be in Simba/Includes/
This should be the path to Setup.simba: Simba/Includes/MSI/MSI/Core/Setup.simba
Now I have a new problem... this happend before the update too.
This is highlighted in mainloop.Quote:
// Setup the player
MSI_SetSkillLevels();
with MSI_Players[CurrentPlayer] do
Result := MSI_Scripts[Scripts[CurrentScript].Name].PlayerSetup();
In colsole it will tell me...
Quote:
0:01:10]: [ Ftl ] -- MSI_UnsetPlayer: Done
[0:01:10]: [ Ftl ] -- MSI_SetupPlayer
[0:01:10]: [ Ftl ] ------ Scanning for randoms...
[0:01:12]: [ Ftl ] ---- MSI_SetSkillLevels
[0:01:12]: [ Ftl ] ---- MSI_SetSkillLevels: Exit
Error: Out Of Range at line 68
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, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81]
The following bitmaps were not freed: [SRL - Mod bitmap, SRL - Admin bitmap]
File[C:\Simba\Includes\SRL/logs/SRL log 19-12-10 1.txt] has not been freed in the script, freeing it now.
Can you post your player setup please?
Simba Code:{==============================================================================\
| MSI Group Scripting Include |
| RunMe.scar |
|==============================================================================|
| For the script user to just simply press play |
| |
|==============================================================================|
| ** Setup Instructions ** |
|==============================================================================|
| |
| -> For a very detailed guide on how to properly setup MSI, please visit: |
| |
| [url]http://villavu.com/forum/showthread.php?p=745942#post745942[/url] |
\_____________________________________________________________________________}
program MSI_Script;
const
DEBUG_SMART = True; // Debugs things onto SMART (may cause lag)
BREAK_TIME = 15; // Single player only - how long to break for (in minutes)
SAVE_DEBUG = True; // Save's the debug box text to a file
ENABLE_REMOTE = True; // Do you want to enable the Player Remote?
LEVEL_TO_DEBUG = 10; // The lower the number, the less the script will debug
HUMAN_BREAKING = True; // Take more human like breaks
SWITCH_WORLDS = False; // Switch worlds when switching players or after breaks
ANTIBAN_MIN_WAIT = 14000; // Minimum time to wait between antibans
RANDOMS_MIN_WAIT = 10000; // Minimum time to wait between randoms checks
WORLD_SMART = 152;
STATS_ID = ''; // Temporary stats ID (2 digit number)
STATS_PASS = ''; // Temporary stats password
{$i MSI/MSI/Core/Setup.simba}
procedure DeclarePlayers;
var
i: Integer;
begin
HowManyPlayers := 2;
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
Nick := '***'; // 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_BANK; // See instructions at the top
BreakLoads := 7; // Amount of loads before breaking/switching players; leave 0 to not take breaks
BreakTime := 5; // Amount of time (in minutes) before breaking/witching; leave 0 to not take breaks
TotalLoads := 35; // 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
// Woodcutting
Name := SCRIPT_GE_YEWS; // The script constant
Trees := [TREE_YEW]; // Trees to cut
Priority := [10]; // Priorities (same as before)
DontDrop := []; // For powerchopping only
end;
end;
with MSI_Players[1] do
begin
Name := '********';
Pass := '*************';
Nick := '***';
Pin := '****';
Active := True;
Member := False;
Location := LOC_GE_BANK;
BreakLoads := 7;
BreakTime := 5;
TotalLoads := 35;
TotalTime := 0;
with Scripts[0] do
begin
end;
end;
{
with MSI_Players[2] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
with MSI_Players[3] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
with MSI_Players[4] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
with MSI_Players[5] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
with MSI_Players[6] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
with MSI_Players[7] do
begin
Name := '';
Pass := '';
Nick := '';
Pin := '';
Active := True;
Member := False;
Location := ;
BreakLoads := ;
BreakTime := ;
TotalLoads := ;
TotalTime := ;
with Scripts[0] do
begin
end;
end;
}
(**
* No need to touch anything below here, this is to assign the necessary
* information so that SRL's Players array works with MSI's
*)
for i := 0 to High(Players) do
begin
Players[i].Name := MSI_Players[i].Name;
Players[i].Pass := MSI_Players[i].Pass;
Players[i].Nick := MSI_Players[i].Nick;
Players[i].Pin := MSI_Players[i].Pin;
Players[i].Active := MSI_Players[i].Active;
Players[i].Member := MSI_Players[i].Member;
if (SWITCH_WORLDS) then
Players[i].WorldInfo := [Players[i].Member, -1, False];
if (not MSI_Players[i].Active) then
MSI_Players[i].ReportInfo.FalseReason := 'User set to false';
end;
end;
var
i: Integer;
begin
ClearDebug;
AddOnTerminate('MSI_ScriptTerminate');
SetScriptProp(SP_WriteTimeStamp, [True]);
Smart_Server := WORLD_SMART;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;
ActivateClient;
SetupSRL;
SetupMSI;
{$IFDEF REFLECTION}
// So if the hooks are outdated, the script will attempt colour walking if the points exist
if (not MSI_SetupReflection(False)) then
ReflectionBroken := True;
{$ELSE}
ReflectionBroken := True; // Set to true because it's not even being used
{$ENDIF}
{$IFDEF REFLECTION}
if (ReflectionBroken) then
ShowMessage('WARNING: Reflection hooks are outdated!');
{$ENDIF}
Stats_UserID := STATS_ID;
Stats_Password := STATS_PASS;
Stats_ScriptID := '47';
CurrDebugLevel := 1;
DeclarePlayers;
MSI_Mainloop;
end.
I think I got it to work. I added the script to player 1 that was missing.:duh:
( in the previous versions player 1 would follow script 0 by default?)
Hm, I don't think this. Wherever that error is, we should enclose it in a try statement.
Simba Code:try
// All the stuff here (where the error would normally occur)
except
ShowMessage('Please properly setup a script for Player: '+PlayerNumberHere);
TerminateScript;
end;
I think this is the right place to write my error so here goes.
my setup is like this:
and every time I go to run the script I get this messagePHP Code:begin
Name := '*******'; // Username
Pass := '*********'; // Password
Nick := '****'; // Nickname (3-4 lowercase letters from username)
Pin := ''; // Bank pin; leave as '' if player doesn't have one
Active := True; // Use this player?
Member := False; // Is this player a member?
Location := LOC_POWER_SKILL; // See instructions at the top
BreakLoads := 80; // 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 := 600; // 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_POWER_MINE;
Rocks := [ROCK_IRON];
Priority := [100];
DontDrop := [GEM_DIAMOND];
Exceptions := [1, 8, 10];
end;
end;
Also sorry that the message is so big :/PHP Code:[Hint] C:\Program Files\Simba\Includes\SRL/SRL/core/gametab.scar(1514:3): Variable 'P' never used at line 1513
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(629:5): Variable 'ATPAPOSH' never used at line 628
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(629:5): Variable 'TPAPOSH' never used at line 628
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(720:5): Variable 'HIGHWAYTP' never used at line 719
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(720:5): Variable 'SUBSTREETTP' never used at line 719
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(720:5): Variable 'CLOSESTTP' never used at line 719
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(720:5): Variable 'ROOTSUBSTREETTP' never used at line 719
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(721:5): Variable 'ATPAPOSH' never used at line 720
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(721:5): Variable 'TPAPOSH' never used at line 720
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(721:5): Variable 'HIGHTPAHIGHWAY' never used at line 720
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(722:5): Variable 'FULLWALKINGPATH' never used at line 721
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(722:5): Variable 'SUBSTREETDESIREDPATH' never used at line 721
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(722:5): Variable 'SUBSTREETDESIREDPATHTEMP' never used at line 721
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(724:5): Variable 'CURRENTTILE' never used at line 723
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(725:5): Variable 'USESUBSTREET' never used at line 724
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(725:5): Variable 'STARTFROMINDEXZERO' never used at line 724
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(758:5): Variable 'HIGHWAYTP' never used at line 757
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(758:5): Variable 'SUBSTREETTP' never used at line 757
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(760:5): Variable 'TPA' never used at line 759
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(760:5): Variable 'SUBSTREETDESIREDPATHTEMP' never used at line 759
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(761:5): Variable 'TTA' never used at line 760
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(762:5): Variable 'CURRENTTILE' never used at line 761
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(763:5): Variable 'USESUBSTREET' never used at line 762
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(799:5): Variable 'CLOSESTTP' never used at line 798
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(799:5): Variable 'ROOTSUBSTREETTP' never used at line 798
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'ATPAPOS' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'TPAPOS' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'ATPAPOSH' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'TPAPOSH' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'HIGHTPA' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(800:5): Variable 'HIGHTPAHIGHWAY' never used at line 799
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(801:5): Variable 'TPA' never used at line 800
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(801:5): Variable 'FULLWALKINGPATH' never used at line 800
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(801:5): Variable 'SUBSTREETDESIREDPATH' never used at line 800
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(801:5): Variable 'SUBSTREETDESIREDPATHTEMP' never used at line 800
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(802:5): Variable 'TTA' never used at line 801
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(803:5): Variable 'TILETOWALKTO' never used at line 802
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(803:5): Variable 'CURRENTTILE' never used at line 802
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(804:5): Variable 'USESUBSTREET' never used at line 803
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(804:5): Variable 'STARTFROMINDEXZERO' never used at line 803
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(804:198): Variable 'NODENAME' never used at line 803
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/WorldWalker_cstrike.simba(798:577): Variable 'Result' never used at line 797
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(3:577): Variable 'Result' never used at line 2
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(98:3): Variable 'B' never used at line 97
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(99:3): Variable 'UTBOOL' never used at line 98
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(100:3): Variable 'I' never used at line 99
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(100:3): Variable 'X' never used at line 99
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(100:3): Variable 'Y' never used at line 99
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(96:10): Variable 'Result' never used at line 95
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(116:3): Variable 'I' never used at line 115
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(116:3): Variable 'L' never used at line 115
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Extras/BlackLists_Camaro.simba(114:10): Variable 'Result' never used at line 113
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Core/Items.simba(1525:3): Variable 'ISP' never used at line 1524
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Core/Items.simba(1526:3): Variable 'TP' never used at line 1525
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Skills/Cooking.simba(106:2): Variable 'INGREDIENTS' never used at line 105
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Skills/Cooking.simba(130:3): Variable 'H' never used at line 129
[Hint] C:\Program Files\Simba\Includes\MSI/MSI/Skills/Cooking.simba(130:3): Variable 'I' never used at line 129
[Error] (67:17): Unknown identifier 'SCRIPT_POWER_MINE' at line 66
Compiling failed.
any help would be greatly appreciated thank you :)
PS I am totally coming back to SRL <3
I am running this for the first time! Wooo
But i came across a problem..
I run the ve banker and it comes up with a problem in the main loop to do with not freeing dtm or bmp's (i am not at my computer at the moment, i will give more detail later) i think it was something to do with random checking.
Cheers