In response to the March 3rd, 2010 game updates to RS, a few changes to the include have been made noticeable since then.
GameTab.scar
Lobby tabs have been added
SCAR Code:
function LobbyScreen: Boolean;
function GetLobbyTab: Integer;
function LobbyTab(Tab: Integer): Boolean;
LeaveLobby; //is actually in login
const
L_PlayerInfo = 1;
L_WorldSelect = 2;
L_FriendsList = 3;
L_ClanChat = 4;
L_Options = 5;
GetMMLevels will not return your constitution level, but rather the number on the minimap.
However, function HPPercent: Integer; will return your actual percentage.
Login.scar
This is a big one.
Logout will function like the last one, it will take you all the way completely logged out to before the lobby, if you would like to just exit to the lobby you can use ExitToLobby instead.
I have just recently added LoginPlayerToLob, which will function normally as LoginPlayer but only take you up to the lobby screen. LoginPlayer will still function the same as normal and use LoginPlayerToLob within it. I have also reorganized the login procedure and double checked and tweaked all the fail safes/error checks ect as well as added some new failsafes and features you can read about below.... you will be very satisfied with the current quality of login player.
WorldSwitcher.scar
Now officially works with the new update, a new and easy way to switch worlds is by using the new Players[...].WorldInfo in the player record.
How this works is very simple.
If you wish to use LoginPlayer like you have in the past without any other details than simply omit all of this below as it will not affect you in anyway
However, if you wish to switch worlds for players and such I will briefly explain how to use this new system.
WorldInfo is a TVariantArray and depending on what you put in it, it will select a server to play on.
There's two ways to use it,
There first way is to login to a specific world, to do this you will need to set the array length to two, have the first one the members boolean and the 2nd one the world integer.
SCAR Code:
Players[0].WorldInfo := [False {True for Members}, 38];
The other way to do this is to have it login to a random world, to do this you will need to set the array length to three, have the first one members boolean, the 2nd doesn't matter at all so just 0 or -1, and the 3rd one needs to be the PvP boolean (false for no PvP worlds)
SCAR Code:
Players[0].WorldInfo := [False, -1, False];
Then when you call LoginPlayer, it will automatically do all this with the integrated world switcher
If you wish to make a more custom way, then simply don't ever declare any player's WorldInfo's and use
SCAR Code:
LoginPlayerToLob;
//Custom Stuff
LoginPlayer;
If there are any detailed questions to how the system works, there is always the source to look at, as Players[].Member and AllowPVP have not been removed they may still affect how your script runs based on the hierarchy of overrides in the include, if you intend to use PvP worlds I recommend you set AllowPVP := True after SetUpSRL.
World switcher.scar works slightly different now.
Just keep in mind the ChangeWorld only takes you to the lobby instead of logging you all the way out, and that SelectWorld will only click the world and not click "Click here to play afterwards"
Sorry if anything you just read was hard to understand, it's 2 AM and I've been raging/tired because of a few really stupid problems I had doing all this.
Any feedback would be appreciated, and anyone who can is welcome to edit this thread.
Cheers
-IceFire908