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_AddFont AddFont (Adds a custom font for use by MUSHclient)
FNC_Base64Decode Base64Decode (Takes a base-64 encoded string and decodes it.)
FNC_Base64Encode Base64Encode (Encodes a string using base-64 encoding.)
FNC_BlendPixel BlendPixel (Blends a single pixel with another, using a specified blending mode)
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_FilterPixel FilterPixel (Performs a filtering operation on one pixel)
FNC_FixupEscapeSequences FixupEscapeSequences (Converts "escape sequences" like \t to their equivalent codes.)
FNC_FixupHTML FixupHTML (Fixes up text for writing as HTML)
FNC_FlashIcon FlashIcon (Flashes the MUSHclient icon on the Windows taskbar)
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_GetSoundStatus GetSoundStatus (Gets the status of a sound started by PlaySound)
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_MoveMainWindow MoveMainWindow (Move and resize the main MUSHclient window)
FNC_MoveWorldWindow MoveWorldWindow (Move and resize a world window)
FNC_MoveWorldWindowX MoveWorldWindowX (Move and resize a specific world window)
FNC_MtRand MtRand (Returns pseudo-random number using the Mersenne Twister algorithm)
FNC_MtSrand MtSrand (Seed the Mersenne Twister pseudo-random number generator)
FNC_PlaySound PlaySound (Plays a sound using DirectSound)
FNC_ReadNamesFile ReadNamesFile (Loads in a file for generating character names)
FNC_Replace Replace (Replaces one substring with another)
FNC_SetBackgroundColour SetBackgroundColour (Sets a background colour for the output window)
FNC_SetBackgroundImage SetBackgroundImage (Sets a background image for the output window)
FNC_SetClipboard SetClipboard (Sets the clipboard contents)
FNC_SetForegroundImage SetForegroundImage (Sets a foreground image for the output window)
FNC_SetStatus SetStatus (Sets the status line text)
FNC_SetToolBarPosition SetToolBarPosition (Sets the position of the game toolbars on the screen.)
FNC_ShiftTabCompleteItem ShiftTabCompleteItem (Adds an item to the list shown for Shift+Tab completion)
FNC_Simulate Simulate (Simulate input from the MUD, for debugging purposes)
FNC_Sound Sound (Plays a sound)
FNC_StopSound StopSound (Stop playing a sound started by PlaySound)
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_TranslateDebug TranslateDebug (Sends a debugging message to the localizing translator script)
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