BanPlayer: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
m (Add note for obsolete username arg)
Line 30: Line 30:
{{New feature|3|1.0|
{{New feature|3|1.0|
*'''IP:''' Will player be banned by IP?
*'''IP:''' Will player be banned by IP?
*'''Username:''' Will player be banned by username?
*'''Username:''' Will player be banned by [http://community.mtasa.com/ MTA Community] username (obsolete, set to ''false'')?
*'''Serial:''' Will player be banned by serial?
*'''Serial:''' Will player be banned by serial?
}}
}}

Revision as of 23:29, 16 February 2023

[[{{{image}}}|link=|]] Note: Don't forget to give admin rights to the resource, in which you are using banPlayer function or it won't work.

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, getRootElement(), "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', getRootElement ( ),
    function ( _, theCurrentAccount )
    local Serial = Firewall[getAccountName(theCurrentAccount)]
        if ( Serial ) then
            if Serial ~= getPlayerSerial ( source ) then
                banPlayer ( source, false, false, true, getRootElement ( ), 'reason ban' )
            end
        end
    end
)

See Also