This event is triggered when a player changes his nickname.
string oldNick, string newNick, bool changedByUser
- oldNick: the nickname the player had before.
- newNick: the new nickname of the player.
- changedByUser: a boolean representing whether the name was changed using setPlayerName or by the user.
The source of this event is the player that changed his nick
Cancelling this event depends on how it is called, if it is called by the scripting event then it is NOT cancelable. If it is called from the /nick command it IS cancelable. If this event is cancelled and can be cancelled then the name will not change.
function nickChangeHandler(oldNick, newNick) -- check if there's account with newNick as username if getAccount(newNick) then outputChatBox("Sorry, there already exists an account with your new nickname as username.", source, 0, 255, 0) outputChatBox("Please choose another one.", source, 0, 255, 0) -- cancel the event to prevent the nick from being changed cancelEvent() end end -- add an event handler addEventHandler("onPlayerChangeNick", root, nickChangeHandler)
This function checks if the nickname of a player was changed by a script, if so, a message is shown in the server logs.
function wasNickChangedByUser(oldNick, newNick, changedByUser) if (changedByUser == false) then -- check if the nickname was not changed by the user outputServerLog("Player "..oldNick.."'s name was changed to "..newNick.." by a script") -- output to the server's logs end end addEventHandler("onPlayerChangeNick", root, wasNickChangedByUser) -- add an event handler