Read about scripting
Opens a named document
View list of data type meanings
IDispatch* Open(BSTR FileName);
Returns an object which can be used to refer to the new document (except in Lua, see below).
You should be very cautious about storing the object reference of the world in a global variable, because if the world is closed then that reference becomes invalid, which will very likely lead to an access violation (program crash). You are better off using "world.getworld (name)" every time you need to get a reference to the world, and checking if it "is nothing" as in the example.
Better still, use "world.GetWorldById (id)" which uses each world's unique ID, in case you have multiple worlds of the same name.
You can use Open to open either a MUSHclient world (ie. a MCL file) or a text file (ie. a TXT file).
If the named document is already open then "open" does *not* open another copy, rather it activates that document (brings it to the front).
set otherworld = world.open ("smaug.mcl")
if not (otherworld is nothing) then
otherworld.send "say hello everyone"
otherworld = world.Open ("smaug.mcl");
if (otherworld != null)
otherworld.send("say hi there everyone");
$otherworld = $world->Open ("smaug.mcl");
if (!defined ($otherworld))
$otherworld->send("say hi there everyone");
otherworld = world.Open ("smaug.mcl")
if (otherworld != null)
otherworld.send("say hi there everyone")
openedOK = world.Open ("smaug.mcl") -- true or false
Lua is not implemented using the COM model, and thus opening a file and getting an object reference is not possible.
As of version 4.08 however, it will attempt to open the file in the same way as other languages, and return true if it succeeded, and false otherwise.
If you want a "world" userdata to refer to after opening a world, you would need to use GetWorld or GetWorldById to get a reference to the newly-opened world.
For Lua, it returns true if the file was opened OK, and false if not.
For other languages:
An object reference to the named world, if it was found.
In Vbscript use the test "is nothing" to see if the reference is to a valid world.
In PerlScript use the test "defined ()" to see if the reference is to a valid world.
See Also ...
(Activate) Activates the world window
(GetWorld) Gets an object reference to the named world
(GetWorldById) Gets an object reference to the world given its unique ID
(GetWorldIdList) Gets the list of open worlds - returning their world IDs
(GetWorldList) Gets the list of open worlds - returning their world names
(OpenBrowser) Opens a supplied URL in your default web browser
(Help topic: function=Open)