OnAccountDataChange: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
< | __NOTOC__ | ||
{{Server event}} | |||
This event is triggered when an accounts data changes through [[setAccountData]]. | |||
==Parameters== | |||
<syntaxhighlight lang="lua"> | |||
account theAccount, string theKey, string theValue | |||
</syntaxhighlight> | |||
*'''theAccount''': the [[account]] that had data changed. | |||
*'''theKey''': the [[string]] key that is being changed. | |||
*'''theValue''': the value it is changing to. | |||
==Source== | |||
The [[event system#Event source|source]] of this event is the [[root]] element. | |||
==Example== | |||
This examples prevents the key of "level" being added or changed on every account. | |||
<syntaxhighlight lang="lua"> | |||
function preventLevelChange(account, key, value) | |||
if (key == "level") then | |||
cancelEvent() | |||
end | |||
end | |||
addEventHandler("onAccountDataChange", root, preventLevelChange) | |||
</syntaxhighlight> | |||
This examples logs every single account data change to server log. | |||
<syntaxhighlight lang="lua"> | |||
function preventLevelChange(account, key, value) | |||
if (wasEventCancelled()) then return end -- If the data change was aborted don't log it. | |||
outputServerLog(getAccountName(account) .. " key: " .. key .. " changed to: " .. tostring(value)) | |||
end | |||
addEventHandler("onAccountDataChange", root, preventLevelChange) | |||
</syntaxhighlight> | |||
{{See also/Server event|Account events}} |
Latest revision as of 02:50, 27 September 2018
This event is triggered when an accounts data changes through setAccountData.
Parameters
account theAccount, string theKey, string theValue
- theAccount: the account that had data changed.
- theKey: the string key that is being changed.
- theValue: the value it is changing to.
Source
The source of this event is the root element.
Example
This examples prevents the key of "level" being added or changed on every account.
function preventLevelChange(account, key, value) if (key == "level") then cancelEvent() end end addEventHandler("onAccountDataChange", root, preventLevelChange)
This examples logs every single account data change to server log.
function preventLevelChange(account, key, value) if (wasEventCancelled()) then return end -- If the data change was aborted don't log it. outputServerLog(getAccountName(account) .. " key: " .. key .. " changed to: " .. tostring(value)) end addEventHandler("onAccountDataChange", root, preventLevelChange)
See Also
Account events
Event functions
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled