ZH-CN/addAccount: Difference between revisions
Jump to navigation
Jump to search
Qwe7769611 (talk | contribs) (Created page with "{{Server function}} __NOTOC__ This function is a static function underneath the Account class.. ==Syntax== <syntaxhighlight lang="lua">account addAccount ( string name, stri...") |
m (Добавление языков) |
||
(7 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Server function}} | {{Server function}} | ||
__NOTOC__ | __NOTOC__ | ||
此函数用于将帐户添加到当前服务器的已注册帐户列表中. | |||
== | ==语法== | ||
<syntaxhighlight lang="lua">account addAccount ( string name, string pass [, bool allowCaseVariations = false ] ) | <syntaxhighlight lang="lua">account addAccount ( string name, string pass [, bool allowCaseVariations = false ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{ | {{OOP_ZH-CN||此函数是Account类下面的静态函数.|[[Account]].add ||}} | ||
=== | ===必填参数=== | ||
*'''name:''' | *'''name:''' 您希望创建的帐户的名称,这通常是玩家的名称. | ||
*'''pass:''' | *'''pass:''' 为以后登录此帐户设置的密码. | ||
=== | ===选填参数=== | ||
*'''allowCaseVariations:''' | *'''allowCaseVariations:''' 用户名是否区分大小写(如果设置为true,则用户名“Bob”和“bob”将引用不同的帐户) | ||
=== | ===返回值=== | ||
成功时创建一个账户[[account]],如果账户已存在或发生错误则返回“false”. | |||
=== | ===限制=== | ||
*''' | *'''账户:''' | ||
** | ** 最小帐户名长度为1个字符. | ||
** | ** 如果allowCaseVariations为“true”,则帐户名区分大小写. | ||
** | ** 帐户名不能等于“*****” | ||
*''' | *'''密码:''' | ||
** | ** 最小帐户密码长度为1个字符. | ||
** | ** 在版本1.5.4-11138之前,帐户密码的最大长度为30个字符。目前没有上限. | ||
** | ** 帐户密码不能等于“*****” | ||
== | ==案例== | ||
''' | '''案例 1:''' 这使玩家可以在聊天窗口中输入/register<account>在服务器上注册. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function registerPlayer ( source, commandName, password ) | function registerPlayer ( source, commandName, password ) | ||
-- | -- 检查密码字段是否为空(如果没有输入,则为空) | ||
if ( password ~= "" and password ~= nil ) then | if ( password ~= "" and password ~= nil ) then | ||
-- | --尝试添加帐户,并将其值保存在var中 | ||
local accountAdded = addAccount( getPlayerName(source), password ) | local accountAdded = addAccount( getPlayerName(source), password ) | ||
if ( accountAdded ) then | if ( accountAdded ) then | ||
-- | -- 告诉用户账号注册完成了 | ||
outputChatBox ( " | outputChatBox ( "谢谢 " .. getPlayerName(source) .. ", 您现在已注册,可以使用/login登录", source ) | ||
else | else | ||
-- | -- 创建帐户时出错了,请告诉用户 | ||
outputChatBox ( " | outputChatBox ( "创建帐户时出错,请与服务器管理员联系", source ) | ||
end | end | ||
else | else | ||
-- | --语法错误,请告诉用户正确的语法. | ||
outputChatBox ( " | outputChatBox ( "创建帐户时出错,请输入正确语法的指令:/register <password>", source ) | ||
end | end | ||
end | end | ||
addCommandHandler ( "register", registerPlayer ) -- | addCommandHandler ( "register", registerPlayer ) -- 添加命令处理程序 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 96: | Line 96: | ||
{{Account_functions}} | {{Account_functions}} | ||
[[ | [[en:addAccount]] | ||
[[ru:addAccount]] | |||
[[es:addAcount]] | [[es:addAcount]] | ||
[[pl:addAccount]] | [[pl:addAccount]] | ||
[[ZH-CN:addAccount]] | [[ZH-CN:addAccount]] | ||
[[tr:addAccount]] |
Latest revision as of 16:43, 11 April 2021
此函数用于将帐户添加到当前服务器的已注册帐户列表中.
语法
account addAccount ( string name, string pass [, bool allowCaseVariations = false ] )
OOP 语法 什么是OOP?
- 方法: 此函数是Account类下面的静态函数.(...)
- 变量: .Account.add
必填参数
- name: 您希望创建的帐户的名称,这通常是玩家的名称.
- pass: 为以后登录此帐户设置的密码.
选填参数
- allowCaseVariations: 用户名是否区分大小写(如果设置为true,则用户名“Bob”和“bob”将引用不同的帐户)
返回值
成功时创建一个账户account,如果账户已存在或发生错误则返回“false”.
限制
- 账户:
- 最小帐户名长度为1个字符.
- 如果allowCaseVariations为“true”,则帐户名区分大小写.
- 帐户名不能等于“*****”
- 密码:
- 最小帐户密码长度为1个字符.
- 在版本1.5.4-11138之前,帐户密码的最大长度为30个字符。目前没有上限.
- 帐户密码不能等于“*****”
案例
案例 1: 这使玩家可以在聊天窗口中输入/register<account>在服务器上注册.
function registerPlayer ( source, commandName, password ) -- 检查密码字段是否为空(如果没有输入,则为空) if ( password ~= "" and password ~= nil ) then --尝试添加帐户,并将其值保存在var中 local accountAdded = addAccount( getPlayerName(source), password ) if ( accountAdded ) then -- 告诉用户账号注册完成了 outputChatBox ( "谢谢 " .. getPlayerName(source) .. ", 您现在已注册,可以使用/login登录", source ) else -- 创建帐户时出错了,请告诉用户 outputChatBox ( "创建帐户时出错,请与服务器管理员联系", source ) end else --语法错误,请告诉用户正确的语法. outputChatBox ( "创建帐户时出错,请输入正确语法的指令:/register <password>", source ) end end addCommandHandler ( "register", registerPlayer ) -- 添加命令处理程序
This code differs by allowing the user to change their username that they wish to use.
Example 2: This enables players to register on your server by using /register <username> <password> in the chat window.
function registerPlayer ( source, commandName, username, password ) if(password ~= "" and password ~= nil and username ~= "" and username ~= nil) then local accountAdded = addAccount(username,password) if(accountAdded) then outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source) else outputChatBox("Error creating account, contact the server admin.",source) end else outputChatBox("Error creating account, correct syntax: /register <nick> <pass>",source) end end addCommandHandler ( "register", registerPlayer ) -- add the command handler
Example 3: This code differs again so the user can only register once /register <username> <password>.
bRegisteredOnce = {} function registerPlayer ( source, commandName, username, password ) if(password ~= "" and password ~= nil and username ~= "" and username ~= nil and not bRegisteredOnce[source]) then local accountAdded = addAccount(username,password) if(accountAdded) then outputChatBox("Thank you " .. getPlayerName(source) .. ", you're now registed, you can login with /login",source) bRegisteredOnce[source] = true else outputChatBox("Error creating account, contact the server admin.",source) end else if bRegisteredOnce[source] == true then outputChatBox("You already registered on this server!",source) else outputChatBox("Error creating account, correct syntax: /register <nick> <pass>",source) end end end
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