SetPlayerName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
m (Making it clear spaces aren't allowed. Can not hurt and saves time.)
Line 18: Line 18:


===Limits===
===Limits===
* Only ASCII characters between 33 and 126 are allowed (basic latin):   
* Only ASCII characters between 33 and 126 are allowed (basic latin, no spaces):
    <nowiki>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</nowiki>
  <nowiki>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</nowiki>
* Minimal player name length is 1 character.  
* Minimal player name length is 1 character.  
* Maximum player name length is 22 characters.
* Maximum player name length is 22 characters.

Revision as of 01:02, 22 July 2018

This function changes the specified player's name. Note that any change made to a players name with this function is not saved in their settings so the name change only lasts till they disconnect.

Syntax

bool setPlayerName ( player thePlayer, string newName )


OOP Syntax Help! I don't understand this!

Method: player:setName(...)
Variable: .name
Counterpart: getPlayerName


Required Arguments

  • thePlayer: the player that will have its name set.
  • newName: the new name to set for the player.

Returns

Returns true if the player name was changed succesfully, false if invalid arguments are specified.

Limits

  • Only ASCII characters between 33 and 126 are allowed (basic latin, no spaces):
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  • Minimal player name length is 1 character.
  • Maximum player name length is 22 characters.
  • Player names are case-insensitive. It is not possible to have two clients with same name but different character case.

Example

Click to collapse [-]
Server

This example adds a tag before a player's nickname via a /changetag command


-- Define the function for this command (/changetag, as defined below)
-- source = the player that triggered this command
-- command = the command passed into the function (changetag)
-- thePlayer = the player that you wish to add a tag to
-- tag = the tag to add to the players nickname
function tagPlayer ( source, command, thePlayer, tag )
	-- Attempt to grab the element id for the player from the parsed name.
	local sPlayerElement = getPlayerFromName ( thePlayer )
	-- Check to see if the player were changing the tag for exists.
	if ( sPlayerElement ) then
		-- make sure that the element type of thePlayer is acctually pointing to a player element
		if getElementType ( sPlayerElement ) == "player" then
			-- we store the player's current name,
			local oldName = getPlayerName ( sPlayerElement )
			-- append the tag passed to this function before it
			local taggedName = tag .. oldName
			-- then set it as his new name
			setPlayerName ( sPlayerElement, taggedName )
			-- Tell the player who triggerd the command that the tag has been applied
			outputChatBox ( "Player " .. thePlayer .. "'s tag changed to " .. taggedName, source )
		end
	else
		-- Tell the player who triggerd the command that the player could not be found
		outputChatBox ( "Unable to change player tag: Player " .. thePlayer .. " not found", source )
	end
end
-- Add a command handler for either the console or / chat commands
-- Example: /changetag <playername> <tag>
addCommandHandler ( "changetag", tagPlayer )

See Also