[Home] [Downloads] [Search] [Help/forum]

MUSHclient scripting

Description of MUSHclient world function: world.CreateGUID

Name CreateGUID
Type Method
Summary Creates a GUID - Global Unique Identifier
Prototype BSTR CreateGUID();

View list of data type meanings


This generates a unique GUID (Global Unique Identifier). This is guaranteed to be unique throughout the world, and at any time (ie. completely and utterly unique) provided you have a network card in your PC, as part of the GUID is the MAC address of the network card, which are manufactured to be unique world-wide. If you do not have a network card, there is a small possibility that GUIDs generated by two PCs (both without network cards) might be the same.

The GUID will look like this: 6B29FC40-CA47-1067-B31D-00DD010662DA

The purpose of this is to give you a way of having a unique identifier (eg. for a variable). If you were to use it for that purpose you would have to add a letter to the front, as variables must start with a letter, not a number, and change hyphens to underscores. eg.

dim uniqueid
uniqueid = "X" & world.replace (world.createguid, "-", "_", true)

These numbers may seem cumbersome, but at least if you use them you are guaranteed of a unique identifier. The last 12 characters are the hardware MAC address of your network card (in the example above, "00DD010662DA"), so if you wanted an identifier that was unique for your PC, but not necessarily around the world, you could trim off the last 13 characters (eg. "6B29FC40-CA47-1067-B31D" would be unique on this PC). eg.

dim uniqueid
uniqueid = "X" & left (world.replace (world.createguid, "-", "_", true), 23)

(eg. X989B3DD0_7125_11D6_BBB7)

To save a bit more space you could even get rid of the hyphens altogether. eg.

dim uniqueid
uniqueid = "X" & left (world.replace (world.createguid, "-", "", true), 20)

(eg. X989B3DCD712511D6BBB7)

In this case the identifier is only 21 characters (including the "X") and will be unique on this PC.

Contrast this to "GetUniqueNumber" which only returns a unique number for this session of MUSHclient. Thus, the numbers (from "GetUniqueNumber") will not be unique over multiple sessions.

See also the new script function world.GetUniqueID.

Also, using random number generation for unique identifiers has a chance of returning the same number, depending on a) the seed given to the generator; and b) the way the generator must eventually recyle and regenerate the same sequence.

Note: Available in version 3.23 onwards.

VBscript example
world.Note world.CreateGUID
Jscript example
world.Note (world.CreateGUID ());
PerlScript example
$world->Note ($world->CreateGUID ());
Python example
world.Note (world.CreateGUID )
Lua example
Note (CreateGUID ())
Returns A 36-character GUID.
Introduced in version 3.23

See also ...

Function Description
GetUniqueID Creates a unique ID for general use, or for making Plugin IDs
GetUniqueNumber Returns a unique number

Search for script function

Enter a word or phrase in the box below to narrow the list down to those that match.

The function name, prototype, summary, and description are searched.

Search for:   

Leave blank to show all functions.

Return codes

Many functions return a "code" which indicates the success or otherwise of the function.

You can view a list of the return codes

Function prototypes

The "prototype" part of each function description lists exactly how the function is called (what arguments, if any, to pass to it).

You can view a list of the data types used in function prototypes

View all functions


Quick links: MUSHclient. MUSHclient help. Forum shortcuts. Posting templates. Lua modules. Lua documentation.

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.


Written by Nick Gammon - 5K   profile for Nick Gammon on Stack Exchange, a network of free, community-driven Q&A sites   Marriage equality

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( https://gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Hosted at FutureQuest]