ZH-CN/getAccountData: Difference between revisions
Jump to navigation
Jump to search
Qwe7769611 (talk | contribs) (Created page with "{{Server function}} __NOTOC__{{Important Note|You '''MUST''' use the standard ''module.key'' naming for your keys, as shown in the example below. This prevents collisions betw...") |
Qwe7769611 (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
{{Server function}} | {{Server function}} | ||
__NOTOC__{{Important Note|You '''MUST''' use the standard ''module.key'' naming for your keys, as shown in the example below. This prevents collisions between different scripts.}} | __NOTOC__{{Important Note|You '''MUST''' use the standard ''module.key'' naming for your keys, as shown in the example below. This prevents collisions between different scripts.}} | ||
T此函数用于检索使用[[setAccountData]]存储的字符串. Data stored as account data is persistent across user's sessions and maps, unless they are logged into a guest account. | |||
==Syntax== | ==Syntax== |
Revision as of 02:03, 4 February 2021
Important Note: You MUST use the standard module.key naming for your keys, as shown in the example below. This prevents collisions between different scripts. |
T此函数用于检索使用setAccountData存储的字符串. Data stored as account data is persistent across user's sessions and maps, unless they are logged into a guest account.
Syntax
string getAccountData ( account theAccount, string key )
OOP Syntax Help! I don't understand this!
- Method: account:getData(...)
- Counterpart: setAccountData
Required Arguments
- theAccount: The account you wish to retrieve the data from.
- key: The key under which the data is stored
Returns
Returns a string containing the stored data or false if no data was stored under that key.
Example
For a pirate roleplaying gametype, the amount of money a player has is made persistent by storing it in his account. Note the code uses "piraterpg.money" as key instead of just "money", as the player may be participating in other gametypes that also save his money amount to his account. If both gametypes would use "money" as the account key, they'd overwrite each other's data.
function onPlayerQuit() local playerAccount = getPlayerAccount(source) -- get his account if (playerAccount) then -- if we got the account then local playerMoney = getPlayerMoney(source) -- get his money amount setAccountData(playerAccount, "piraterpg.money", playerMoney) -- store his current money amount in his account data end end addEventHandler("onPlayerQuit", root, onPlayerQuit) -- add an event handler function onPlayerLogin(_,account) local playerMoney = getAccountData(account, "piraterpg.money") -- get the money amount was store in his account data -- make sure there was actually a value saved under this key (check if playerMoney is not false). -- this will for example not be the case when a player plays the gametype for the first time if (playerMoney) then setPlayerMoney(source, playerMoney) end end addEventHandler("onPlayerLogin", root, onPlayerLogin) -- add an event handler
See Also
- addAccount
- copyAccountData
- getAccount
- getAccountData
- getAccountName
- getAccountPlayer
- getAccountSerial
- getAccounts
- getAccountsBySerial
- getAllAccountData
- getPlayerAccount
- isGuestAccount
- logIn
- logOut
- removeAccount
- setAccountData
- setAccountPassword
- getAccountByID
- getAccountID
- getAccountIP
- getAccountsByData
- getAccountsByIP
- setAccountName