CreateGUID
Script function

world.CreateGUID

DOC_scripting Read about scripting

Type

Method

Summary

Creates a GUID - Global Unique Identifier

Prototype

BSTR CreateGUID();

DOC_data_types View list of data type meanings


Description

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.



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 ())



Return value

A 36-character GUID.




See Also ...

Topics

DOC_scripting Scripting
DOC_utils Utilities

Functions

FNC_Base64Decode Base64Decode (Takes a base-64 encoded string and decodes it.)
FNC_Base64Encode Base64Encode (Encodes a string using base-64 encoding.)
FNC_ChangeDir ChangeDir (Changes the MUSHclient working directory)
FNC_EditDistance EditDistance (Returns the Levenshtein Edit Distance between two words)
FNC_ErrorDesc ErrorDesc (Converts a MUSHclient script error code into an human-readable description)
FNC_ExportXML ExportXML (Exports a world item in XML format)
FNC_FixupEscapeSequences FixupEscapeSequences (Converts "escape sequences" like \t to their equivalent codes.)
FNC_FixupHTML FixupHTML (Fixes up text for writing as HTML)
FNC_GenerateName GenerateName (Generates a random character name)
FNC_GetClipboard GetClipboard (Gets the clipboard contents)
FNC_GetScriptTime GetScriptTime (Returns the amount of time spent in script routines)
FNC_GetUniqueID GetUniqueID (Creates a unique ID for general use, or for making Plugin IDs)
FNC_GetUniqueNumber GetUniqueNumber (Returns a unique number)
FNC_Hash Hash (Produces a hash (checksum) of a specified piece of text)
FNC_Help Help (Shows help for a script function, or a list of functions)
FNC_ImportXML ImportXML (Imports configuration data in XML format)
FNC_Metaphone Metaphone (Returns the metaphone code for the supplied word)
FNC_MtRand MtRand (Returns pseudo-random number using the Mersenne Twister algorithm)
FNC_MtSrand MtSrand (Seed the Mersenne Twister pseudo-random number generator)
FNC_ReadNamesFile ReadNamesFile (Loads in a file for generating character names)
FNC_Replace Replace (Replaces one substring with another)
FNC_SetClipboard SetClipboard (Sets the clipboard contents)
FNC_SetStatus SetStatus (Sets the status line text)
FNC_Simulate Simulate (Simulate input from the MUD, for debugging purposes)
FNC_Sound Sound (Plays a sound)
FNC_StripANSI StripANSI (Strips ANSI colour sequences from a string)
FNC_Trace Trace (Trace mode property)
FNC_TraceOut TraceOut (Outputs the supplied message to the world Trace)
FNC_TranslateGerman TranslateGerman (Translate German umluat sequences)
FNC_Transparency Transparency (Sets the transparency of the main MUSHclient window under Windows XP)
FNC_Trim Trim (Trims leading and trailing spaces from a string)

(Help topic: function=CreateGUID)

DOC_contents Documentation contents page