BanPlayer: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Replace to predefined variables.) |
||
(44 intermediate revisions by 26 users not shown) | |||
Line 1: | Line 1: | ||
[[ | {{note| Don't forget to give admin rights to the resource, in which you are using banPlayer function or it won't work.}} | ||
__NOTOC__ | |||
{{Server function}} | |||
{{New feature|3|1.0| | |||
This function will ban the specified player by either IP, [[serial]] or username | |||
}} | |||
{{Deprecated_feature|3|1.0| | |||
This function will ban the specified player from the server. | This function will ban the specified player from the server by IP. | ||
}} | |||
==Syntax== | ==Syntax== | ||
{{New feature|3|1.0| | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false, player/string responsiblePlayer = nil, string reason = nil, int seconds = 0 ] ) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | |||
{{Deprecated_feature|3|1.0| | |||
<syntaxhighlight lang="lua"> | |||
bool banPlayer ( player bannedPlayer , [ element responsibleElement, string reason ] ) | |||
</syntaxhighlight> | |||
}} | |||
{{OOP||[[player]]:ban||}} | |||
===Required Arguments=== | ===Required Arguments=== | ||
*''' | *'''bannedPlayer:''' The player that will be banned from the server. | ||
===Optional Arguments=== | ===Optional Arguments=== | ||
{{OptionalArg}} | {{OptionalArg}} | ||
*''' | {{New feature|3|1.0| | ||
*'''reason:''' The reason the player will be banned from the server | *'''IP:''' Will player be banned by IP? | ||
*'''Username:''' Will player be banned by [http://community.mtasa.com/ MTA Community] username (obsolete, set to ''false'')? | |||
*'''Serial:''' Will player be banned by serial? | |||
}} | |||
*'''responsibleElement:''' The element that is responsible for banning the player. This can be a player or the root ([[getRootElement]]()) (Maximum 30 characters if using a string). | |||
*'''reason:''' The reason the player will be banned from the server. | |||
*'''seconds:''' The amount of seconds the player will be banned from the server for. This can be 0 for an infinite amount of time. | |||
===Returns=== | ===Returns=== | ||
Returns '' | Returns a [[ban]] object if banned successfully, or ''false'' if unsuccessful. | ||
==Example== | |||
This example lets a player ban anyone if he has ACL rights. | |||
<syntaxhighlight lang="lua"> | |||
--Add the "ban" command handler | |||
-- Example with the player | |||
function banPlayerCommand ( theClient, commandName, bannedName, reason ) | |||
-- Give the player a nice error if he doesn't have rights | |||
if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then | |||
--Get player element from the name | |||
local bannedPlayer = getPlayerFromName ( bannedName ) | |||
--Ban the player | |||
banPlayer ( bannedPlayer, theClient, reason ) | |||
outputChatBox ( "ban: " .. bannedName .. " successfully banned", theClient ) | |||
else | |||
outputChatBox ( "ban: You don't have enough permissions", theClient ) | |||
end | |||
end | |||
addCommandHandler ( "ban", banPlayerCommand ) | |||
-- Example function with the root element. Here you would pass a player element to the function. | |||
function banCheater(theCheater) | |||
banPlayer(theCheater, root, "You are banned because of cheating.") | |||
end | |||
</syntaxhighlight> | |||
This example is Firewall Account Player by serial on Login | |||
This example | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Firewall = | |||
{ | |||
[ 'AccountName' ] = 'SerialPlayer', | |||
[ '3ash8' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4', | |||
[ 'test5' ] = '1D6F76CF8D7193792D13789849498452', | |||
} | |||
addEventHandler ( 'onPlayerLogin', root, | |||
function ( _, theCurrentAccount ) | |||
local Serial = Firewall[getAccountName(theCurrentAccount)] | |||
if ( Serial ) then | |||
if Serial ~= getPlayerSerial ( source ) then | |||
banPlayer ( source, false, false, true, root, 'reason ban' ) | |||
end | |||
end | |||
end | |||
) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{ | {{Admin_functions}} | ||
[[es:banPlayer]] | |||
[[ru:BanPlayer]] |
Latest revision as of 09:37, 4 June 2023
This function will ban the specified player by either IP, serial or username
Syntax
ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false, player/string responsiblePlayer = nil, string reason = nil, int seconds = 0 ] )
OOP Syntax Help! I don't understand this!
- Method: player:ban(...)
Required Arguments
- bannedPlayer: The player that will be banned from the server.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- IP: Will player be banned by IP?
- Username: Will player be banned by MTA Community username (obsolete, set to false)?
- Serial: Will player be banned by serial?
- responsibleElement: The element that is responsible for banning the player. This can be a player or the root (getRootElement()) (Maximum 30 characters if using a string).
- reason: The reason the player will be banned from the server.
- seconds: The amount of seconds the player will be banned from the server for. This can be 0 for an infinite amount of time.
Returns
Returns a ban object if banned successfully, or false if unsuccessful.
Example
This example lets a player ban anyone if he has ACL rights.
--Add the "ban" command handler -- Example with the player function banPlayerCommand ( theClient, commandName, bannedName, reason ) -- Give the player a nice error if he doesn't have rights if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then --Get player element from the name local bannedPlayer = getPlayerFromName ( bannedName ) --Ban the player banPlayer ( bannedPlayer, theClient, reason ) outputChatBox ( "ban: " .. bannedName .. " successfully banned", theClient ) else outputChatBox ( "ban: You don't have enough permissions", theClient ) end end addCommandHandler ( "ban", banPlayerCommand ) -- Example function with the root element. Here you would pass a player element to the function. function banCheater(theCheater) banPlayer(theCheater, root, "You are banned because of cheating.") end
This example is Firewall Account Player by serial on Login
Firewall = { [ 'AccountName' ] = 'SerialPlayer', [ '3ash8' ] = '9C9F3B55D9D7BB7135FF274D3BF444E4', [ 'test5' ] = '1D6F76CF8D7193792D13789849498452', } addEventHandler ( 'onPlayerLogin', root, function ( _, theCurrentAccount ) local Serial = Firewall[getAccountName(theCurrentAccount)] if ( Serial ) then if Serial ~= getPlayerSerial ( source ) then banPlayer ( source, false, false, true, root, 'reason ban' ) end end end )