<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/wiki/PT-BR/hasObjectPermissionTo?action=history&amp;feed=atom</id>
	<title>PT-BR/hasObjectPermissionTo - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/wiki/PT-BR/hasObjectPermissionTo?action=history&amp;feed=atom"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;action=history"/>
	<updated>2026-04-05T19:01:56Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=76371&amp;oldid=prev</id>
		<title>LordHenry at 20:22, 1 April 2023</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=76371&amp;oldid=prev"/>
		<updated>2023-04-01T20:22:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:22, 1 April 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOTOC__  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOTOC__  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BR/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Funcao servidor&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;PT-&lt;/ins&gt;BR/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Server_function&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BR/Nota|Somente alguns nomes de ações funcionam. Esta função parece retornar ''nil'' e exibir um aviso de má argumentação quando é checado se um objeto tem permissões para uma ação que não comece com as palavras ''function.'', ''command.'' ou ''resource.''.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BR/Nota|Somente alguns nomes de ações funcionam. Esta função parece retornar ''nil'' e exibir um aviso de má argumentação quando é checado se um objeto tem permissões para uma ação que não comece com as palavras ''function.'', ''command.'' ou ''resource.''.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki-wiki_dev_:diff::1.12:old-73012:rev-76371 --&gt;
&lt;/table&gt;</summary>
		<author><name>LordHenry</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=73012&amp;oldid=prev</id>
		<title>Lettify at 19:37, 6 November 2021</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=73012&amp;oldid=prev"/>
		<updated>2021-11-06T19:37:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:37, 6 November 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOTOC__  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;__NOTOC__  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Server function&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;BR/Funcao servidor&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BR/Nota|Somente alguns nomes de ações funcionam. Esta função parece retornar ''nil'' e exibir um aviso de má argumentação quando é checado se um objeto tem permissões para uma ação que não comece com as palavras ''function.'', ''command.'' ou ''resource.''.}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{BR/Nota|Somente alguns nomes de ações funcionam. Esta função parece retornar ''nil'' e exibir um aviso de má argumentação quando é checado se um objeto tem permissões para uma ação que não comece com as palavras ''function.'', ''command.'' ou ''resource.''.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki-wiki_dev_:diff::1.12:old-73011:rev-73012 --&gt;
&lt;/table&gt;</summary>
		<author><name>Lettify</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=73011&amp;oldid=prev</id>
		<title>Lettify: Created page with &quot;__NOTOC__  {{Server function}} Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação. {{BR/Nota|Somente alguns nomes de ações fun...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/hasObjectPermissionTo&amp;diff=73011&amp;oldid=prev"/>
		<updated>2021-11-06T19:27:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__  {{Server function}} Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação. {{BR/Nota|Somente alguns nomes de ações fun...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Server function}}&lt;br /&gt;
Esta função retorna se o determinado objeto tem ou não acesso para realizar determinada ação.&lt;br /&gt;
{{BR/Nota|Somente alguns nomes de ações funcionam. Esta função parece retornar ''nil'' e exibir um aviso de má argumentação quando é checado se um objeto tem permissões para uma ação que não comece com as palavras ''function.'', ''command.'' ou ''resource.''.}}&lt;br /&gt;
&lt;br /&gt;
Os scripts frequentemente querem limitar acesso de seus recursos para usuários em particulares. A forma ingênua de fazer isto seria verificando se um jogador que está tentando realizar uma ação, está em um grupo da ACL (geralmente o grupo Admin). O principal problema disso é que o grupo Admin é maleável e nem sempre pode existir. Isto também não dá ao administrador do servidor qualquer flexibilidade. Ele pode querer permitir que seus 'moderadores' usem a função que está com acesso limitado, ou que desabilite esta função por completo.&lt;br /&gt;
&lt;br /&gt;
É aqui que entra o uso adequado da ACL e, felizmente, isso é muito fácil. Tudo se resume a usar esta função. Esta função, com um nome um tanto confuso, permite que você verifique se um objeto da ACL (um jogador ou um resource) tem uma permissão da ACL. Neste caso, só vamos trabalhar com 'players'.&lt;br /&gt;
&lt;br /&gt;
Então, primeiro de tudo, pense num nome para sua 'permissão'. Hum, imaginemos que queremos uma área privada em que somente determinados jogadores podem entrar, então vamos chamar nossa permissão de ''accessPrivateArea''. Daí, tudo que você precisa fazer é usar a instrução 'if' no seu código:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
if hasObjectPermissionTo ( player, &amp;quot;resource.YourResourceName.accessPrivateArea&amp;quot;, false ) then&lt;br /&gt;
-- Seja lá o que você quer que aconteça se o jogador tem a permissão.&lt;br /&gt;
else&lt;br /&gt;
-- Seja lá o que você quer que aconteça se o jogador não tem a permissão.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que nomeamos a ''permissão'' usando ''resource.YourResourceName.accessPrivateArea'' - isso é só para deixar mais 'legível', para que o admin saiba qual resource a permissão pertence. É extremamente recomendado que você siga esta ideia. O argumento ''false'' se refere ao argumento ''defaultPermission'', '''false''' indicando que se o usuário não tiver a permissão concedida ou não concedida (ex.: o admin não adicionou a permissão no config), por padrão ela não será concedida.&lt;br /&gt;
&lt;br /&gt;
A única desvantagem de usar este método é que o admin terá de modificar sua configuração. As vantagens são que o admin tem muito mais controle e seu script vai funcionar para qualquer servidor, contanto que o administrador o tenha configurado.&lt;br /&gt;
&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool hasObjectPermissionTo ( string / element theObject, string theAction [, bool defaultPermission = true ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&amp;lt;!-- Yes! This is actually correct this time ^^ notice theObject can be a string! --&amp;gt;&lt;br /&gt;
{{PT-BR/POO|Esta função é também uma função estática sob a classe ACL.|[[ACL]].hasObjectPermissionTo||}}&lt;br /&gt;
===Argumentos necessários=== &lt;br /&gt;
*'''theObject:''' O objeto para checar se tem a permissão. Aqui pode especificar um elemento client (ex.: player), um resource ou uma string nos seguintes formatos: &amp;quot;user.&amp;lt;name&amp;gt;&amp;quot; ou &amp;quot;resource.&amp;lt;name&amp;gt;&amp;quot;.&lt;br /&gt;
*'''theAction:''' A ação para verificar se o determinado objeto tem acesso. Ex.: &amp;quot;funcion.kickPlayer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Argumentos opcionais=== &lt;br /&gt;
{{BR/ArgOpcional}} &lt;br /&gt;
*'''defaultPermission:''' A permissão padrão se nada é especificado em nenhum dos grupos em que o determinado objeto 'theObject' seja um membro. Se especificar '''true''', o determinado objeto terá permissões para realizar a ação a não ser que o oposto esteja explicitamente especificado na [[ACL]]. Se '''false''', a ação será negada por padrão a não ser que esteja explicitamente aprovado pela [[ACL]].&lt;br /&gt;
&lt;br /&gt;
===Retorno===&lt;br /&gt;
Retorna ''true'' se o objeto especificado tem permissão para realizar a determinada ação, ''false'' caso contrário. Retorna ''nil'' se a função falha pela má argumentação.&lt;br /&gt;
&lt;br /&gt;
==Exemplo== &lt;br /&gt;
Este exemplo expulsa um jogador do servidor se o usuário que estiver usando tiver acesso à função `kickPlayer`.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Kick command&lt;br /&gt;
function onKickCommandHandler ( playerSource, commandName, playerToKick, stringReason )&lt;br /&gt;
    -- Does the calling user have permission to kick the player? Default&lt;br /&gt;
    -- to false for safety reasons. We do this so any user can't use us to&lt;br /&gt;
    -- kick players.&lt;br /&gt;
    if ( hasObjectPermissionTo ( playerSource, &amp;quot;function.kickPlayer&amp;quot;, false ) ) then&lt;br /&gt;
&lt;br /&gt;
        -- Do we have permission to kick the player? We do this so we can fail&lt;br /&gt;
        -- nicely if this resource doesn't have access to call that function.&lt;br /&gt;
        if ( hasObjectPermissionTo ( getThisResource (), &amp;quot;function.kickPlayer&amp;quot;, true ) ) then&lt;br /&gt;
            -- Kick him&lt;br /&gt;
            kickPlayer ( playerToKick, playerSource, stringReason )&lt;br /&gt;
        else&lt;br /&gt;
            -- Resource doesn't have any permissions, sorry&lt;br /&gt;
            outputChatBox ( &amp;quot;kick: The admin resource is not able to kick players. Please give this resource access to 'function.kickPlayer' in the ACL to use this function.&amp;quot;, playerSource )&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        -- User doesn't have any permissions&lt;br /&gt;
        outputChatBox ( &amp;quot;kick: You don't have permissions to use this command.&amp;quot;, playerSource )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;kick&amp;quot;, onKickCommandHandler )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
&amp;lt;!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --&amp;gt;&lt;br /&gt;
{{PT-BR/ACL functions‎}}&lt;br /&gt;
[[zh-cn:hasObjectPermissionTo]]&lt;/div&gt;</summary>
		<author><name>Lettify</name></author>
	</entry>
</feed>