<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LODS</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LODS"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS"/>
	<updated>2026-04-12T21:49:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=76739</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=76739"/>
		<updated>2023-04-25T19:32:04Z</updated>

		<summary type="html">&lt;p&gt;LODS: Feat: note requesting Dark Mode enabled.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
{{Note|This page requires '''DarkVector''' theme. You can enable dark mode in your [[Special:Preferences#mw-prefsection-rendering|preferences]]}}&lt;br /&gt;
&lt;br /&gt;
[[File:lodsx.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
[https://forum.mtasa.com/profile/81465-lods Profile Forum MTA-SA]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/lodsx Profile GitHub]&lt;br /&gt;
&lt;br /&gt;
== Community Contributions == &lt;br /&gt;
[https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS Contributions LODS]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75480</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75480"/>
		<updated>2022-09-11T17:34:05Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetDocumentXML]]).&lt;br /&gt;
Nota: Veja [[svgSetUpdateCallback]] para trabalhar com a função de retorno de chamada de um svg.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local myCircleSvg&lt;br /&gt;
&lt;br /&gt;
local function drawCircleSvg()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    myCircleSvg = svgCreate(500, 500, rawSvgData)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, drawCircleSvg)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui está outro exemplo mais aprofundado que utiliza o argumento de retorno de chamada. Você pode usar a tecla F2 para definir o SVG para um tamanho aleatório e ver o retorno de chamada de atualização gerar uma mensagem no debugscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75478</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75478"/>
		<updated>2022-09-11T15:06:58Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetDocumentXML]]).&lt;br /&gt;
Nota: Veja [[svgSetUpdateCallback]] para definir uma função de callback de um SVG após sua criação.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local myCircleSvg&lt;br /&gt;
&lt;br /&gt;
local function drawCircleSvg()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    myCircleSvg = svgCreate(500, 500, rawSvgData)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, drawCircleSvg)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui está outro exemplo mais aprofundado que utiliza o argumento de retorno de chamada. Você pode usar a tecla F2 para definir o SVG para um tamanho aleatório e ver o retorno de chamada de atualização gerar uma mensagem no debugscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21234|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75477</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=75477"/>
		<updated>2022-09-11T15:02:48Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetDocumentXML]]).&lt;br /&gt;
Nota: Veja [[svgSetUpdateCallback]] para trabalhar com a função de retorno de chamada de um svg.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local myCircleSvg&lt;br /&gt;
&lt;br /&gt;
local function drawCircleSvg()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    myCircleSvg = svgCreate(500, 500, rawSvgData)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, drawCircleSvg)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui está outro exemplo mais aprofundado que utiliza o argumento de retorno de chamada. Você pode usar a tecla F2 para definir o SVG para um tamanho aleatório e ver o retorno de chamada de atualização gerar uma mensagem no debugscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21234|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RGBToDecimal&amp;diff=74621</id>
		<title>RGBToDecimal</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RGBToDecimal&amp;diff=74621"/>
		<updated>2022-05-20T23:31:14Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
This function convert RGB color to Decimal color.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;RGBToDecimal( float r, float g, float b )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arguments==&lt;br /&gt;
* '''r''': The Red color value&lt;br /&gt;
* '''g''': The Green color value&lt;br /&gt;
* '''b''': The Blue color value&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns a decimal [[integer]] converted from specified RGB values&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function RGBToDecimal(r, g, b)&lt;br /&gt;
    return (bitLShift(r, 16)) + (bitLShift(g, 8)) + b&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local r, g, b = 255, 0, 0&lt;br /&gt;
&lt;br /&gt;
print(RGBToDecimal(r, g, b)) -- output: 16711680&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
[[User:Lettify|Lettify]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Useful_Functions}}&lt;br /&gt;
&lt;br /&gt;
[[pt-br:RGBToDecimal]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/RGBToDecimal&amp;diff=74620</id>
		<title>PT-BR/RGBToDecimal</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/RGBToDecimal&amp;diff=74620"/>
		<updated>2022-05-20T23:30:41Z</updated>

		<summary type="html">&lt;p&gt;LODS: Created page with &amp;quot;{{PT-BR/Função Útil}} Essa função converte uma cor em RGB para Decimal.  ==Sintaxe== &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;RGBToDecimal( float r, float g, float b )&amp;lt;/syntaxhighlight&amp;gt;  ==Argumentos== * '''r''': O valor Red * '''g''': O valor Green * '''b''': O valor Blue  ==Retorno== Retorna um inteiro convertido dos valores RGB especificados  ==Código== &amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt; &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt; function RGBToDecimal(r, g, b)...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Função Útil}}&lt;br /&gt;
Essa função converte uma cor em RGB para Decimal.&lt;br /&gt;
&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;RGBToDecimal( float r, float g, float b )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Argumentos==&lt;br /&gt;
* '''r''': O valor Red&lt;br /&gt;
* '''g''': O valor Green&lt;br /&gt;
* '''b''': O valor Blue&lt;br /&gt;
&lt;br /&gt;
==Retorno==&lt;br /&gt;
Retorna um [[PT-BR/Int|inteiro]] convertido dos valores RGB especificados&lt;br /&gt;
&lt;br /&gt;
==Código==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function RGBToDecimal(r, g, b)&lt;br /&gt;
    return (bitLShift(r, 16)) + (bitLShift(g, 8)) + b&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local r, g, b = 255, 0, 0&lt;br /&gt;
&lt;br /&gt;
print(RGBToDecimal(r, g, b)) -- output: 16711680&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Autor==&lt;br /&gt;
[[User:Lettify|Lettify]]&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{Useful_Functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:rGBToDecimal]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RGBToDecimal&amp;diff=74619</id>
		<title>RGBToDecimal</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RGBToDecimal&amp;diff=74619"/>
		<updated>2022-05-20T23:25:12Z</updated>

		<summary type="html">&lt;p&gt;LODS: Created page with &amp;quot;{{Useful Function}} This function convert RGB color to Decimal color.  ==Syntax== &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;RGBToDecimal( float r, float g, float b )&amp;lt;/syntaxhighlight&amp;gt;  ==Arguments== * '''r''': The Red color value * '''g''': The Green color value * '''b''': The Blue color value  ==Returns== Returns a decimal integer converted from specified RGB values  ==Code== &amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt; &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt; function RGBToDecimal(r, g, b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
This function convert RGB color to Decimal color.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;RGBToDecimal( float r, float g, float b )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arguments==&lt;br /&gt;
* '''r''': The Red color value&lt;br /&gt;
* '''g''': The Green color value&lt;br /&gt;
* '''b''': The Blue color value&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns a decimal [[integer]] converted from specified RGB values&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function RGBToDecimal(r, g, b)&lt;br /&gt;
    return (bitLShift(r, 16)) + (bitLShift(g, 8)) + b&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Code&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local r, g, b = 255, 0, 0&lt;br /&gt;
&lt;br /&gt;
print(RGBToDecimal(r, g, b)) -- output: 16711680&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Author==&lt;br /&gt;
[[User:Lettify|Lettify]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74454</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74454"/>
		<updated>2022-04-09T21:33:04Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetDocumentXML]]).&lt;br /&gt;
Nota: Veja [[svgSetUpdateCallback]] para trabalhar com a função de retorno de chamada de um svg.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local myCircleSvg&lt;br /&gt;
&lt;br /&gt;
local function drawCircleSvg()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    myCircleSvg = svgCreate(500, 500, rawSvgData)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, drawCircleSvg)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui está outro exemplo mais aprofundado que utiliza o argumento de retorno de chamada. Você pode usar a tecla F2 para definir o SVG para um tamanho aleatório e ver o retorno de chamada de atualização gerar uma mensagem no debugscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74453</id>
		<title>Template:PT-BR/SVG functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74453"/>
		<updated>2022-04-09T21:30:24Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Added feature/item|1.5.9|1.5.8|20979|&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgCreate|svgCreate]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetDocumentXML|svgGetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetSize|svgGetSize]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgSetDocumentXML|svgSetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgSetSize|svgSetSize]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgSetUpdateCallback]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74452</id>
		<title>PT-BR/SvgGetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74452"/>
		<updated>2022-04-09T21:29:46Z</updated>

		<summary type="html">&lt;p&gt;LODS: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74447</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74447"/>
		<updated>2022-04-09T01:52:49Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:lodsx.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
[https://forum.mtasa.com/profile/81465-lods Profile Forum MTA-SA]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/lodsx Profile GitHub]&lt;br /&gt;
&lt;br /&gt;
== Community Contributions == &lt;br /&gt;
[https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS Contributions LODS]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74446</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74446"/>
		<updated>2022-04-09T01:43:44Z</updated>

		<summary type="html">&lt;p&gt;LODS: Update usage &amp;amp; examples as per GitHub PR #2589&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetDocumentXML]]).&lt;br /&gt;
Nota: Veja [[svgSetUpdateCallback]] e [[svgGetUpdateCallback]] para trabalhar com a função de retorno de chamada de um svg.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local myCircleSvg&lt;br /&gt;
&lt;br /&gt;
local function drawCircleSvg()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, myCircleSvg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    myCircleSvg = svgCreate(500, 500, rawSvgData)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, drawCircleSvg)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui está outro exemplo mais aprofundado que utiliza o argumento de retorno de chamada. Você pode usar a tecla F2 para definir o SVG para um tamanho aleatório e ver o retorno de chamada de atualização gerar uma mensagem no debugscript.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74445</id>
		<title>PT-BR/svgSetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74445"/>
		<updated>2022-04-09T01:39:17Z</updated>

		<summary type="html">&lt;p&gt;LODS: Update usage &amp;amp; examples as per GitHub PR #2589&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetSize( svg svgElement, int width, int height [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' O elemento [[svg]] que você deseja definir o tamanho.&lt;br /&gt;
*'''width:''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
*'''height :''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetSize]]). Nota: se presente, isso substituirá o retorno de chamada atual armazenado no [[svg]]&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna '''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Este exemplo cria um elemento [[svg]] incluindo um keybind (F2) para adicionar um nó rect filho, com o uso de uma função de callback para notificar no debugscript quando o SVG foi atualizado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74444</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74444"/>
		<updated>2022-04-09T01:36:47Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetSize]]). Nota: se presente, isso substituirá o retorno de chamada atual armazenado no [[svg]]&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso contrário.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Este exemplo cria um elemento [[svg]] incluindo um keybind (F2) para adicionar um nó rect filho, com o uso de uma função de callback para notificar no debugscript quando o SVG foi atualizado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74443</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74443"/>
		<updated>2022-04-09T01:34:52Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de retorno de chamada que é armazenada no SVG e disparada toda vez que a textura do SVG é atualizada (por exemplo, via [[svgSetSize]]). Nota: se presente, isso substituirá o retorno de chamada atual armazenado no [[svg]]&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso contrário.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo mostra como carregar um SVG por dados brutos (ou arquivo), manipulando um documento subjacente e desenhá-lo com [[dxDrawImage]] via [[onClientRender]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74442</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74442"/>
		<updated>2022-04-09T01:32:34Z</updated>

		<summary type="html">&lt;p&gt;LODS: Example update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback chamada na criação do documento SVG e na criação da textura, útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo mostra como carregar um SVG por dados brutos (ou arquivo), manipulando um documento subjacente e desenhá-lo com [[dxDrawImage]] via [[onClientRender]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o caminho fornecido para svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svgs = {}&lt;br /&gt;
&lt;br /&gt;
local function render(svg)&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        removeEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
        svgs[svg] = nil&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function onUpdate(svg)&lt;br /&gt;
    -- Se esta for a primeira atualização, adicione svg à nossa tabela e comece a desenhá-la&lt;br /&gt;
    if (not svgs[svg]) then&lt;br /&gt;
        svgs[svg] = {&lt;br /&gt;
            state = true,&lt;br /&gt;
            handler = function()&lt;br /&gt;
                render(svg)&lt;br /&gt;
            end&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, svgs[svg].handler)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    iprint(&amp;quot;Textura SVG atualizada.&amp;quot;, svg, getTickCount())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function init()&lt;br /&gt;
    -- Cria um SVG contendo um círculo, usando os dados XML brutos acima&lt;br /&gt;
    local mySvg = svgCreate(500, 500, rawSvgData, onUpdate)&lt;br /&gt;
&lt;br /&gt;
    -- Vincule uma chave para criar um nó filho SVG rect, que acionará o retorno de chamada onUpdate&lt;br /&gt;
    bindKey(&amp;quot;F2&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
        addSVGRectNode(mySvg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
-- Adiciona um nó reto ao SVG com cor, tamanho e posição aleatórios&lt;br /&gt;
function addSVGRectNode(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicione um nó SVG reto, posicionado no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(0, 50)&lt;br /&gt;
    local r, g, b = math.random(10, 99), math.random(10, 99), math.random(10, 99)&lt;br /&gt;
&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, (size / 2) .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, size .. &amp;quot;%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#&amp;quot; .. r .. g .. b)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplique nosso XML ao SVG e comece a desenhar via callback&lt;br /&gt;
    svgSetDocumentXML(svg, svgXML)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74441</id>
		<title>Template:PT-BR/SVG functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74441"/>
		<updated>2022-04-08T23:52:28Z</updated>

		<summary type="html">&lt;p&gt;LODS: Add new functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Added feature/item|1.5.9|1.5.8|20979|&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgCreate|svgCreate]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetDocumentXML|svgGetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetSize|svgGetSize]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgSetDocumentXML|svgSetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgSetSize|svgSetSize]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgGetUpdateCallback]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgSetUpdateCallback]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SvgSetUpdateCallback&amp;diff=74440</id>
		<title>SvgSetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SvgSetUpdateCallback&amp;diff=74440"/>
		<updated>2022-04-08T23:45:41Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Sets the update callback of an [[svg]] element}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetUpdateCallback( svg svgElement, function / bool callback )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''svgElement:''' The [[svg]] you want to set the callback function of.&lt;br /&gt;
*'''callback:''' The callback function to store on the SVG. If '''false''' is provided, any existing callback function will be removed from the SVG.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
* Returns true if successful, false otherwise&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
For example of callback usage, see [[svgSetSize]] or [[svgSetDocumentXML]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[pt-br:SvgSetUpdateCallback]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SvgGetUpdateCallback&amp;diff=74439</id>
		<title>SvgGetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SvgGetUpdateCallback&amp;diff=74439"/>
		<updated>2022-04-08T23:45:21Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Gets the update callback of an [[svg]] element}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function svgGetUpdateCallback( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''svgElement:''' The [[svg]] you want to get the callback function of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
* Returns true if successful, false otherwise&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
-- TODO&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[pt-br:SvgGetUpdateCallback]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetUpdateCallback&amp;diff=74438</id>
		<title>PT-BR/SvgSetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetUpdateCallback&amp;diff=74438"/>
		<updated>2022-04-08T23:44:36Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Define o retorno de chamada de atualização de um elemento [[svg]]}}&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetUpdateCallback( svg svgElement, function / bool callback )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Obrigatórios===&lt;br /&gt;
*'''svgElement:''' O [[svg]] que você deseja definir a função de retorno de chamada.&lt;br /&gt;
*'''callback:''' A função de retorno para armazenar no SVG. Se retornar '''false''', qualquer função de retorno de chamada existente será removida do SVG.&lt;br /&gt;
&lt;br /&gt;
===Retorno===&lt;br /&gt;
* Returna true se for bem sucedido, false caso contrário&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Para o exemplo de uso da função de retorno de chamada, consulte [[svgSetSize]] ou [[svgSetDocumentXML]].&lt;br /&gt;
&lt;br /&gt;
==Requerimentos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetUpdateCallback]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74437</id>
		<title>PT-BR/SvgGetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74437"/>
		<updated>2022-04-08T23:44:18Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Define o retorno de chamada de atualização de um elemento [[svg]] element}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function svgGetUpdateCallback( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos obrigatórios===&lt;br /&gt;
*'''svgElement:''' O [[svg]] que você deseja obter a função de retorno de chamada.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Returna true se for bem sucedido, false caso contrário&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
-- TODO&lt;br /&gt;
&lt;br /&gt;
==Requirementos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgGetUpdateCallback]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74436</id>
		<title>PT-BR/SvgGetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgGetUpdateCallback&amp;diff=74436"/>
		<updated>2022-04-08T23:43:05Z</updated>

		<summary type="html">&lt;p&gt;LODS: New page about the function for PT-BR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Define o retorno de chamada de atualização de um elemento [[svg]] element}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function svgGetUpdateCallback( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos obrigatórios===&lt;br /&gt;
*'''svgElement:''' O [[svg]] que você deseja obter a função de retorno de chamada.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Returna true se for bem sucedido, false caso contrário&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
-- TODO&lt;br /&gt;
&lt;br /&gt;
==Requirementos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{SVG_functions}}&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetUpdateCallback&amp;diff=74435</id>
		<title>PT-BR/SvgSetUpdateCallback</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetUpdateCallback&amp;diff=74435"/>
		<updated>2022-04-08T23:37:39Z</updated>

		<summary type="html">&lt;p&gt;LODS: New page about the function for PT-BR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21155|Define o retorno de chamada de atualização de um elemento [[svg]]}}&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetUpdateCallback( svg svgElement, function / bool callback )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Obrigatórios===&lt;br /&gt;
*'''svgElement:''' O [[svg]] que você deseja definir a função de retorno de chamada.&lt;br /&gt;
*'''callback:''' A função de retorno para armazenar no SVG. Se retornar '''false''', qualquer função de retorno de chamada existente será removida do SVG.&lt;br /&gt;
&lt;br /&gt;
===Retorno===&lt;br /&gt;
* Returna true se for bem sucedido, false caso contrário&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Para o exemplo de uso da função de retorno de chamada, consulte [[svgSetSize]] ou [[svgSetDocumentXML]].&lt;br /&gt;
&lt;br /&gt;
==Requerimentos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.21155|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{SVG_functions}}&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74373</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74373"/>
		<updated>2022-03-30T02:08:54Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback chamada na criação do documento SVG e na criação da textura, útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo mostra como carregar um SVG por dados brutos (ou arquivo), manipulando um documento subjacente e desenhá-lo com [[dxDrawImage]] via [[onClientRender]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementando a função de callback para carregar o SVG, em seguida para manipular o documento XML subjacente.&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicionar um retangulo, posicionando no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;cx&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;cy&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#00749b&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplicar o XML para o SVG, e começar a desenhar usando a função de callback&lt;br /&gt;
    return svgSetDocumentXML(svg, svgXML, function()&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74372</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74372"/>
		<updated>2022-03-30T01:42:09Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback chamada na criação do documento SVG e na criação da textura, útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo mostra como carregar um SVG por dados brutos (ou arquivo), manipulando um documento subjacente e desenhá-lo com [[dxDrawImage]] via [[onClientRender]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementando a função de callback para carregar o SVG, em seguida para manipular o documento XML subjacente.&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicionar um retangulo, posicionando no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#00749b&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplicar o XML para o SVG, e começar a desenhar usando a função de callback&lt;br /&gt;
    return svgSetDocumentXML(svg, svgXML, function()&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/Funcoes_player_client&amp;diff=74363</id>
		<title>Template:PT-BR/Funcoes player client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/Funcoes_player_client&amp;diff=74363"/>
		<updated>2022-03-27T02:38:00Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[forcePlayerMap]]&lt;br /&gt;
* [[getLocalPlayer]]&lt;br /&gt;
* [[getPlayerBlurLevel]]&lt;br /&gt;
* [[getPlayerFromName]]&lt;br /&gt;
* [[getPlayerMapBoundingBox]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/getPlayerMoney|getPlayerMoney]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/getPlayerName|getPlayerName]]&lt;br /&gt;
* [[getPlayerNametagColor]]&lt;br /&gt;
* [[getPlayerNametagText]]&lt;br /&gt;
* [[getPlayerPing]]&lt;br /&gt;
&amp;lt;!--* [[getPlayerSerial]]--&amp;gt;&lt;br /&gt;
* [[getPlayerTeam]]&lt;br /&gt;
* [[getPlayerWantedLevel]]&lt;br /&gt;
* [[givePlayerMoney]]&lt;br /&gt;
* [[isPlayerHudComponentVisible]]&lt;br /&gt;
* [[isPlayerMapForced]]&lt;br /&gt;
* [[isPlayerMapVisible]]&lt;br /&gt;
* [[isPlayerNametagShowing]]&lt;br /&gt;
* [[isVoiceEnabled]]&lt;br /&gt;
{{PT-BR/New items|3.0158|1.5.7|&lt;br /&gt;
* [[resetBlurLevel]]&lt;br /&gt;
|20450}}&lt;br /&gt;
* [[setPlayerBlurLevel]]&lt;br /&gt;
* [[setPlayerHudComponentVisible]]&lt;br /&gt;
* [[setPlayerMoney]]&lt;br /&gt;
* [[setPlayerNametagColor]]&lt;br /&gt;
* [[setPlayerNametagShowing]]&lt;br /&gt;
* [[setPlayerNametagText]]&lt;br /&gt;
* [[takePlayerMoney]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=P%C3%A1gina_Inicial&amp;diff=74362</id>
		<title>Página Inicial</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=P%C3%A1gina_Inicial&amp;diff=74362"/>
		<updated>2022-03-26T17:59:34Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding: 5px; height: 130px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Mtalogo.png|left|100px]]'''Bem vindo ao Wiki do Multi Theft Auto.''' Aqui você encontra tudo sobre o uso desta modificação.&lt;br /&gt;
&lt;br /&gt;
Há muitas [[PT-BR/Como_você_pode_ajudar|coisas em que você pode nos ajudar]] para melhorar este programa, como criar um mapa, um modo de jogo, documentar funções e eventos, escrever códigos úteis para outros usuários, fazer tutoriais, reportar bugs que encontrar ou somente jogar a vontade!&lt;br /&gt;
&lt;br /&gt;
Se você tem alguma dúvida a respeito do Multi Theft Auto, não se esqueça de perguntar à comunidade em nossos [http://forum.mtasa.com/ fóruns].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[ Pare de jogar sozinho ]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Jogar&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA; border: 1px solid #FFCD19;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ Baixe o Multi Theft Auto {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Onde_adquirir_o_GTASA|Onde adquirir o GTASA]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Manual_do_Cliente|Manual do usuário]]&lt;br /&gt;
&amp;lt;!--* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Novidades_na_versão_{{Current Version|full}}|Novidades da última versão ]] --&amp;gt;&lt;br /&gt;
* [[Image:iUS.png|Em Inglês|20px]] [[Changes_in_{{padleft:|5|{{Current Version|full}}}}| Novidades da versão {{padleft:|5|{{Current Version|full}}}}]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Soluções_de_Problemas_-_FAQ|Solução de problemas]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Migrando_do_MTA:Race_ao_MTA:SA_1.3|Migrando do MTA:Race para o MTA:SA {{padleft:|3|{{Current Version|full}}}}]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Manual_do_Servidor|Manual do servidor]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Recursos:Map_Manager|Gerenciador de mapas (''Map Manager'')]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Editor de mapas&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Resource:Editor|Manual do editor]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Resource:Editor-EDF|Ficheiro de definições do editor (EDF)]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Resource:Editor-Plugins|Extensões para o editor]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Resource:Editor#FAQ|Perguntas frequentes (FAQ)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Banco de dados&amp;lt;/h3&amp;gt;&lt;br /&gt;
Aqui tem tudo relacionado às vantagens que Lua tem a oferecer ao MTA e seus recursos.&lt;br /&gt;
* [[Image:iUS.png|Em Inglês|20px]] [[:Category:Resource|Catálogo de Recursos]] - Você deve aprender com eles para fazer scripts bons&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Scripts_do_Cliente|Scripts do Cliente]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [[PT-BR/Módulos|Módulos]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Desenvolvimento do Multi Theft Auto&amp;lt;/h3&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Últimas compilações]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Compilando_o_MTASA|Compilando o MTASA no Windows]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Compilando_o_MTASA_no_Mac_OS_X|Compilando o MTASA no Mac OS X]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Compilando_o_MTASA_no_Linux|Compilando o MTASA no Linux]]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Guia_do_Desenvolvedor|Guia do Desenvolvedor]]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]]      [https://github.com/multitheftauto/mtasa-blue Repositório Github]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]]  [[PT-BR/Roadmap|Roteiro para versões futuras]]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]]      [http://bugs.mtasa.com/ Central de bugs]&lt;br /&gt;
* [[File:iUS.png|En Inglês|20px]]      [[Branches|Ramos]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Como você pode nos ajudar&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Documentar funções ou eventos&lt;br /&gt;
* Criar exemplos funcionais e eficientes de funções e eventos&lt;br /&gt;
* Examinar e corrigir as páginas&lt;br /&gt;
* Escrever tutoriais para ajudar novatos&lt;br /&gt;
* Ajudar a traduzir as páginas da Wiki para outras linguagens&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Comunidade&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://forum.multitheftauto.com/ Fóruns]&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [http://forum.multitheftauto.com/forum/97-portuguese-português/ Seção em Português]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [https://discord.com/invite/mtasa Discord]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [irc://irc.multitheftauto.com/mta IRC]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://community.mtasa.com/ Comunidade]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://twitter.com/#!/MTAQA/ Twitter] &lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://www.youtube.com/user/MTAQA Youtube]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://plus.google.com/102014133442331779727/ Google]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Star.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Extra&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Special:PrefixIndex/PT-BR|Lista de páginas em Português]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Scripting&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Introdução_ao_Scripting|Introdução a ''scripting'']]&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Introducao_ao_GUI_scripting|Introdução a ''scripting'' de UI]]&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[Depuração|Depuração]] - Encontre erros em seu Script&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Recursos|Introdução a recursos]]&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [[Acesso web via recursos|Acesso web via recursos]] - Abra servidores web através de recursos&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [[PT-BR/Tutorial_CEF|Tutorial CEF]] - Como usar o navegador web em seus recursos&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [[:Category:PT-BR/Recursos|Lista de recursos]]&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [[O arquivo Meta|Meta.xml]] - Todo recurso possui um arquivo meta descrevendo a si próprio&lt;br /&gt;
** [[File:iBR.png|Em Português|20px]] [[Lista de Controle de Acesso|Lista de controle de acesso (ACL)]] - Componente vital para recursos complexos&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Composição_de_Gamemodes|Composição de modos de jogo]]&lt;br /&gt;
&amp;lt;h3&amp;gt;Links dos fóruns&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [http://forum.mtasa.com/viewforum.php?f=152 Secção do fórum para dúvidas sobre ''scripting'']&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://forum.mtasa.com/viewforum.php?f=148 Guias de ''scripting'']&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://forum.mtasa.com/viewtopic.php?f=13&amp;amp;t=29363 Wiki ''offline'']&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Manuais sobre Lua&amp;lt;/h3&amp;gt;&lt;br /&gt;
Página muito útil para ajuda-lo a entender o funcionamento do Lua&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [http://www.lua.org/portugues.html Introdução à linguagem]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html Manual básico]&lt;br /&gt;
* [[Image:iBR.png|Em Português|20px]] [http://www.lua.org/manual/5.1/pt/ Manual de referência]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [http://lua-users.org/wiki/TutorialDirectory Outra wiki, somente de Lua]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Preferences-system.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Referência&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Funções_de_Scripting_do_Cliente|Funções de Scripting do Cliente]]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [[Client Scripting Events|Eventos do cliente]]&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Funções_de_Scripting_do_Servidor|Funções de Scripting do Servidor]]&lt;br /&gt;
* [[File:iBR.png|Em Português|20px]] [[PT-BR/Eventos_de_Scripting_do_Servidor|Eventos de Scripting do Servidor]]&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [[PT-BR/Funções_Úteis|Funções Úteis]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[File:iUS.png|Em Inglês|20px]] [[MTA Classes|Classes do Multi Theft Auto]] - Informações detalhadas sobre todas as classes do MTA&lt;br /&gt;
** [[File:iBR.png|Em Inglês|20px]]  [[PT-BR/Elemento|Elementos do MTA]] / [[PT-BR/Árvore de elementos|Árvore de elementos]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;[[Id|Lista de IDs de objetos e texturas]]&amp;lt;/h3&amp;gt;&lt;br /&gt;
*[[Animations|Animações]]&lt;br /&gt;
*[[Character Skins|''Skins'' de pedestres]]&lt;br /&gt;
*[[Roupas do CJ|Roupas do CJ]]&lt;br /&gt;
*[[Garage|Garagens]]&lt;br /&gt;
*[[Interior IDs|Interiores]]&lt;br /&gt;
*[[Material IDs|Materiais]]&lt;br /&gt;
*[[Projectiles|Projéteis]]&lt;br /&gt;
*[[Radar Blips|''Blips'']]&lt;br /&gt;
*[[Sounds|Efeitos sonoros]]&lt;br /&gt;
*[[Vehicle IDs|Veículos]]&lt;br /&gt;
*[[Vehicle Colors|Cores dos veículos]]&lt;br /&gt;
*[[Vehicle Upgrades|Acessórios dos veículos]]&lt;br /&gt;
*[[Vehicle variants|Variantes dos veículos]]&lt;br /&gt;
*[[Weapons|Armas]]&lt;br /&gt;
*[[Weather|Ambientação]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:pBR.png|32px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Sobre a Tradução&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Tradutores:&lt;br /&gt;
** [https://forum.mtasa.com/profile/19686-racextreme/|&amp;lt;span style=&amp;quot;color: blue&amp;quot;&amp;gt;RaceXtreme&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/27827-stanley-sathler/|&amp;lt;span style=&amp;quot;color: blue&amp;quot;&amp;gt;StanleySathler&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/24588-dnl291/|&amp;lt;span style=&amp;quot;color: blue&amp;quot;&amp;gt;DNL291&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/30695-ymassai/|&amp;lt;span style=&amp;quot;color: blue&amp;quot;&amp;gt;Ninguem&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/31772-anderl/|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Anderl&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/71215-kronos-lettify|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;KronoS Lettify&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/69598-eficiencia/|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Eficiencia&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/74654-hiroshi/|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;HiroShi&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/63099-vampire/|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;Vampire&amp;lt;/span&amp;gt;]&lt;br /&gt;
** [https://forum.mtasa.com/profile/81465-lods/|&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;LODS&amp;lt;/span&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
É importante que todos colaborem para que nossa página em português fique melhor a cada dia!&lt;br /&gt;
&lt;br /&gt;
[[File:Osi symbol.png|75px|link=http://opensource.org/]]&lt;br /&gt;
'''Multi Theft Auto''' é um projeto '''open source'''. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding-left: 15px; padding-right: 15px;&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
[[File:MTALogo_8ball.png|left|85px|link=Archive]]&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Sobre o Multi Theft Auto'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Archive|Arquivos]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Press Coverage|Eventos]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[http://code.google.com/p/mtasa-blue/people/list Desenvolvedores]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Multi Theft Auto 0.5'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Archive#Multi_Theft_Auto_0.5|Baixe-o]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[MTA 0.5r2 Known Issues|Solução de problemas]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Status da Wiki'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFARTICLES}} artigos&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFPAGES}} páginas&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFUSERS}} usuários registrados&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages list|pt-br}}&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74183</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74183"/>
		<updated>2022-02-26T04:01:32Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[File:lodsx.jpg|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
[https://forum.mtasa.com/profile/81465-lods Profile Forum MTA-SA]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/luizolavio Profile GitHub]&lt;br /&gt;
&lt;br /&gt;
== Community Contributions == &lt;br /&gt;
[https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS Contributions LODS]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:Lodsx.jpg&amp;diff=74182</id>
		<title>File:Lodsx.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:Lodsx.jpg&amp;diff=74182"/>
		<updated>2022-02-26T04:00:03Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74145</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74145"/>
		<updated>2022-02-21T18:03:23Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
[https://forum.mtasa.com/profile/81465-lods Profile Forum MTA-SA]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/luizolavio Profile GitHub]&lt;br /&gt;
&lt;br /&gt;
== Community Contributions == &lt;br /&gt;
[https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS Contributions LODS]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74144</id>
		<title>PT-BR/svgSetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74144"/>
		<updated>2022-02-21T18:00:09Z</updated>

		<summary type="html">&lt;p&gt;LODS: /* Veja também */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetSize( svg svgElement, int width, int height [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' O elemento [[svg]] que você deseja definir o tamanho.&lt;br /&gt;
*'''width:''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
*'''height :''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback que será chamada na criação do documento XML e na criação de textura (depois de redimensionar), útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna '''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exmplo cria um elemento [[svg]] (usando função de callback para iniciar o desenho) incluindo um keybind para redimensionar o [[svg]] aleatoriamente (consulte bindKey).&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementando a função de callback para carregar o SVG&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Adicionando um keybind para definir um tamanho aleatorio para o SVG&lt;br /&gt;
bindKey(&amp;quot;r&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(100, 500)&lt;br /&gt;
    svgSetSize(svg, size, size)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74143</id>
		<title>PT-BR/SvgSetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/SvgSetDocumentXML&amp;diff=74143"/>
		<updated>2022-02-21T17:59:54Z</updated>

		<summary type="html">&lt;p&gt;LODS: /* Veja também */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetDocumentXML ( svg svgElement, xmlnode xmlDocument [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' Um elemento [[svg]] que você deseja definir o documento XML.&lt;br /&gt;
*'''xmlDocument:''' Um [[xmlnode]] contendo os dados para serem definidos no documento SVG.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback chamada na criação do documento SVG e na criação da textura, útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna'''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo mostra como carregar um SVG por dados brutos (ou arquivo), manipulando um documento subjacente e desenhá-lo com [[dxDrawImage]] via [[onClientRender]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementando a função de callback para carregar o SVG, para manipular o documento XML subjacente.&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    -- Obter o documento XML do nosso SVG&lt;br /&gt;
    local svgXML = svgGetDocumentXML(svg)&lt;br /&gt;
    &lt;br /&gt;
    -- Adicionar um retangulo, posicionando no centro do documento&lt;br /&gt;
    local rect = xmlCreateChild(svgXML, &amp;quot;rect&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;x&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;y&amp;quot;, &amp;quot;25%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;width&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;height&amp;quot;, &amp;quot;50%&amp;quot;)&lt;br /&gt;
    xmlNodeSetAttribute(rect, &amp;quot;fill&amp;quot;, &amp;quot;#00749b&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    -- Aplicar o XML para o SVG, e começar a desenhar usando a função de callback&lt;br /&gt;
    return svgSetDocumentXML(svg, svgXML, function()&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgGetSize&amp;diff=74142</id>
		<title>PT-BR/svgGetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgGetSize&amp;diff=74142"/>
		<updated>2022-02-21T17:59:39Z</updated>

		<summary type="html">&lt;p&gt;LODS: /* Veja também */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Obtém o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int, int svgGetSize( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' O elemento [[svg]] que você deseja obter o tamanho.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna dois [[int]]s, representando '''largura''' e '''altura'''&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Veja o exemplo em [[svgSetSize]].&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgGetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgGetDocumentXML&amp;diff=74141</id>
		<title>PT-BR/svgGetDocumentXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgGetDocumentXML&amp;diff=74141"/>
		<updated>2022-02-21T17:59:15Z</updated>

		<summary type="html">&lt;p&gt;LODS: /* Veja também */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Obtém o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode svgGetDocumentXML ( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' O elemento [[svg]] que você deseja obter o documento XML.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[xmlnode]] se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Veja o exemplo em [[svgSetDocumentXML]]&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|N/A|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgGetDocumentXML]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74140</id>
		<title>PT-BR/svgCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgCreate&amp;diff=74140"/>
		<updated>2022-02-21T17:58:55Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao cliente}}&lt;br /&gt;
{{BR/Nota Importante|'''NÃO''' use [[svgCreate]] dentro do evento [[onClientRender]] pode ocasionar crash em seu servidor.}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|}}&lt;br /&gt;
Cria um [[svg]] com um tamanho (documento em branco), por um caminho de arquivo ou dados brutos.&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;svg svgCreate ( int width, int height [, string pathOrRawData, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''width''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
*'''height''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096.&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''pathOrRawData:''' Uma [[string]] representando o caminho para seu arquivo SVG, ou dados brutos SVG.&lt;br /&gt;
*'''callback:''' Uma função de callback chamada no documento SVG e na criação da textura, útil para saber quando o [[svg]] está pronto.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna um [[svg]] se criado com sucesso, ''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
O exemplo abaixo mostra como você pode carregar um SVG por dados brutos (ou arquivo) e desenhá-lo com [[dxDrawImage]] via [[onClientRender]].&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, o uso de uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam prontos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    dxDrawImage(0, 0, 500, 500, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgCreate]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/Funcoes_ped_client&amp;diff=74137</id>
		<title>Template:PT-BR/Funcoes ped client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/Funcoes_ped_client&amp;diff=74137"/>
		<updated>2022-02-20T17:14:23Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[addPedClothes]]&lt;br /&gt;
*[[canPedBeKnockedOffBike]]&lt;br /&gt;
*[[createPed]]&lt;br /&gt;
{{Deprecated items|3.0156|1.5.6|&lt;br /&gt;
*[[doesPedHaveJetPack]]&lt;br /&gt;
}}&lt;br /&gt;
*[[getPedAmmoInClip]]&lt;br /&gt;
*[[getPedAnalogControlState]]&lt;br /&gt;
*[[getPedAnimation]]&lt;br /&gt;
*[[getPedArmor]]&lt;br /&gt;
*[[getPedBonePosition]]&lt;br /&gt;
*[[getPedCameraRotation]]&lt;br /&gt;
*[[getPedClothes]]&lt;br /&gt;
*[[getPedContactElement]]&lt;br /&gt;
*[[getPedControlState]]&lt;br /&gt;
{{PT-BR/New items|3.0157|1.5.6|&lt;br /&gt;
*[[getPedFightingStyle]]&lt;br /&gt;
|16362}}&lt;br /&gt;
*[[getPedMoveState]]&lt;br /&gt;
*[[getPedOccupiedVehicle]]&lt;br /&gt;
*[[getPedOccupiedVehicleSeat]]&lt;br /&gt;
*[[getPedOxygenLevel]]&lt;br /&gt;
*[[getPedSimplestTask]]&lt;br /&gt;
*[[getPedStat]]&lt;br /&gt;
*[[getPedTarget]]&lt;br /&gt;
*[[getPedTargetCollision]]&lt;br /&gt;
*[[getPedTargetEnd]]&lt;br /&gt;
*[[getPedTargetStart]]&lt;br /&gt;
*[[getPedTask]]&lt;br /&gt;
*[[getPedTotalAmmo]]&lt;br /&gt;
*[[getPedVoice]]&lt;br /&gt;
*[[getPedWalkingStyle]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/GetPedWeapon|getPedWeapon]]&lt;br /&gt;
*[[getPedWeaponMuzzlePosition]]&lt;br /&gt;
*[[getPedWeaponSlot]]&lt;br /&gt;
*[[getValidPedModels]]&lt;br /&gt;
*[[givePedWeapon]]&lt;br /&gt;
*[[isPedChoking]]&lt;br /&gt;
*[[isPedDead]]&lt;br /&gt;
*[[isPedDoingGangDriveby]]&lt;br /&gt;
*[[isPedDoingTask]]&lt;br /&gt;
*[[isPedDucked]]&lt;br /&gt;
*[[isPedHeadless]]&lt;br /&gt;
*[[isPedInVehicle]]&lt;br /&gt;
*[[isPedOnFire]]&lt;br /&gt;
*[[isPedOnGround]]&lt;br /&gt;
{{PT-BR/New items|3.0156|1.5.5|&lt;br /&gt;
*[[isPedReloadingWeapon]]&lt;br /&gt;
|11856}}&lt;br /&gt;
*[[isPedTargetingMarkerEnabled]]&lt;br /&gt;
{{PT-BR/New items|3.0156|1.5.5|&lt;br /&gt;
*[[isPedWearingJetpack]]&lt;br /&gt;
|13846}}&lt;br /&gt;
*[[killPed]]&lt;br /&gt;
*[[removePedClothes]]&lt;br /&gt;
*[[removePedFromVehicle]]&lt;br /&gt;
*[[setAnalogControlState]]&lt;br /&gt;
*[[setPedAimTarget]]&lt;br /&gt;
*[[setPedAnalogControlState]]&lt;br /&gt;
*[[setPedAnimation]]&lt;br /&gt;
*[[setPedAnimationProgress]]&lt;br /&gt;
{{PT-BR/New items|3.0156|1.5.5|&lt;br /&gt;
*[[setPedAnimationSpeed]]&lt;br /&gt;
|14219}}&lt;br /&gt;
{{PT-BR/New items|3.0158|1.5.7|&lt;br /&gt;
*[[setPedArmor]]&lt;br /&gt;
|19626}}&lt;br /&gt;
*[[setPedCameraRotation]]&lt;br /&gt;
*[[setPedCanBeKnockedOffBike]]&lt;br /&gt;
*[[setPedControlState]]&lt;br /&gt;
*[[setPedDoingGangDriveby]]&lt;br /&gt;
{{PT-BR/New items|3.0160|1.5.8|&lt;br /&gt;
*[[setPedEnterVehicle]]&lt;br /&gt;
*[[setPedExitVehicle]]&lt;br /&gt;
|20740}}&lt;br /&gt;
{{PT-BR/New items|3.0158|1.5.7|&lt;br /&gt;
*[[setPedFightingStyle]]&lt;br /&gt;
|19626}}&lt;br /&gt;
*[[setPedFootBloodEnabled]]&lt;br /&gt;
*[[isPedFootBloodEnabled]]&lt;br /&gt;
*[[setPedHeadless]]&lt;br /&gt;
*[[setPedLookAt]]&lt;br /&gt;
*[[setPedOnFire]]&lt;br /&gt;
*[[setPedOxygenLevel]]&lt;br /&gt;
*[[setPedStat]]&lt;br /&gt;
*[[setPedTargetingMarkerEnabled]]&lt;br /&gt;
*[[setPedVoice]]&lt;br /&gt;
*[[setPedWalkingStyle]]&lt;br /&gt;
*[[setPedWeaponSlot]]&lt;br /&gt;
*[[warpPedIntoVehicle]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Fun%C3%A7%C3%B5es_de_Scripting_do_Cliente&amp;diff=74136</id>
		<title>PT-BR/Funções de Scripting do Cliente</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Fun%C3%A7%C3%B5es_de_Scripting_do_Cliente&amp;diff=74136"/>
		<updated>2022-02-20T17:10:20Z</updated>

		<summary type="html">&lt;p&gt;LODS: indexed SVG functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;client&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
{{Adding_Pages_to_Categories_and_Templates}}&lt;br /&gt;
Esta página lista todas as funções nativas conhecidas como '''client-side''' que estão disponíveis para uso. Para solicitar uma função ou um evento que ainda não existe, use a página [[Requested Functions and Events|Funções e Eventos solicitados]] (ainda em inglês) ou http://bugs.mtasa.com (também em inglês).&lt;br /&gt;
&lt;br /&gt;
Temos também uma lista com a implementação de diversas funções utilitárias que podem te auxiliar no dia-a-dia. Para conhecê-las, visite a página [[Useful_Functions|funções úteis]]&lt;br /&gt;
&lt;br /&gt;
'''Procurando as funções server-side? Visite a página [[Funções de Scripting do Servidor]].'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Audio (Áudio)==&lt;br /&gt;
{{PT-BR/Funcoes audio client}}&lt;br /&gt;
&lt;br /&gt;
==Blip (Ícone do radar)==&lt;br /&gt;
{{PT-BR/Funcoes blip client}}&lt;br /&gt;
&lt;br /&gt;
==Browser (Navegador)==&lt;br /&gt;
{{PT-BR/CEF_functions}}&lt;br /&gt;
&lt;br /&gt;
==Camera (Câmera)==&lt;br /&gt;
{{PT-BR/Funcoes camera client}}&lt;br /&gt;
&lt;br /&gt;
==Clothes and body (Roupas e corpo)==&lt;br /&gt;
{{PT-BR/Client_Clothes_and_body_functions}}&lt;br /&gt;
&lt;br /&gt;
==Collision shape (Forma de colisão)==&lt;br /&gt;
{{PT-BR/Funcoes collision shape client}}&lt;br /&gt;
&lt;br /&gt;
==Cursor (Cursor do mouse)==&lt;br /&gt;
{{PT-BR/Funcoes cursor client}}&lt;br /&gt;
&lt;br /&gt;
==Drawing (Desenho)==&lt;br /&gt;
{{PT-BR/Funcoes Drawing}}&lt;br /&gt;
&lt;br /&gt;
==Effects (Efeitos)==&lt;br /&gt;
{{PT-BR/Funcoes efeitos client}}&lt;br /&gt;
&lt;br /&gt;
==Element (Element)==&lt;br /&gt;
{{PT-BR/Funcoes element client}}&lt;br /&gt;
&lt;br /&gt;
==Engine (Motor)==&lt;br /&gt;
{{PT-BR/Funcoes engine client}}&lt;br /&gt;
&lt;br /&gt;
==Event (Evento)==&lt;br /&gt;
{{BR/Funcoes de Evento do Cliente}}&lt;br /&gt;
&lt;br /&gt;
==Explosion (Explosão)==&lt;br /&gt;
{{PT-BR/Funcoes explosion client}}&lt;br /&gt;
&lt;br /&gt;
==File (Arquivo)==&lt;br /&gt;
{{PT-BR/Funcoes file client}}&lt;br /&gt;
&lt;br /&gt;
==Fire (Fogo)==&lt;br /&gt;
{{PT-BR/Funcoes fire client}}&lt;br /&gt;
&lt;br /&gt;
==GUI (Interface Gráfica)==&lt;br /&gt;
{{PT-BR/Funcoes GUI}}&lt;br /&gt;
&lt;br /&gt;
==Input (Entrada)==&lt;br /&gt;
{{PT-BR/Funcoes_input_client}}&lt;br /&gt;
&lt;br /&gt;
==Light (Luz)==&lt;br /&gt;
{{PT-BR/Funcoes light client}}&lt;br /&gt;
&lt;br /&gt;
==Marker (Marcador)==&lt;br /&gt;
{{PT-BR/Funcoes marker client}}&lt;br /&gt;
&lt;br /&gt;
==Matrix (Matriz)==&lt;br /&gt;
{{PT-BR/Funcoes matrix shared}}&lt;br /&gt;
&lt;br /&gt;
==Object (Objeto)==&lt;br /&gt;
{{PT-BR/Funcoes object client}}&lt;br /&gt;
&lt;br /&gt;
==Output (Saída)==&lt;br /&gt;
{{PT-BR/Funcoes output client}}&lt;br /&gt;
&lt;br /&gt;
==Ped (Pedestre)==&lt;br /&gt;
{{PT-BR/Funcoes ped client}}&lt;br /&gt;
&lt;br /&gt;
==Pickup (Coletável)==&lt;br /&gt;
{{PT-BR/Funcoes pickup client}}&lt;br /&gt;
&lt;br /&gt;
==Player (Jogador)==&lt;br /&gt;
{{PT-BR/Funcoes player client}}&lt;br /&gt;
&lt;br /&gt;
==Projectile (Projétil)==&lt;br /&gt;
{{PT-BR/Funcoes projectile client}}&lt;br /&gt;
&lt;br /&gt;
==Radar area (Área do radar)==&lt;br /&gt;
{{PT-BR/Funcoes radar-area client}}&lt;br /&gt;
&lt;br /&gt;
==Resource (Recurso)==&lt;br /&gt;
{{PT-BR/Funcoes resource client}}&lt;br /&gt;
&lt;br /&gt;
==Searchlight (Luz de caça)==&lt;br /&gt;
{{PT-BR/Funcoes searchlight client}}&lt;br /&gt;
&lt;br /&gt;
==SVG==&lt;br /&gt;
{{PT-BR/SVG functions}}&lt;br /&gt;
&lt;br /&gt;
==Team (Time)==&lt;br /&gt;
{{PT-BR/Funcoes team client}}&lt;br /&gt;
&lt;br /&gt;
==Utility (Utilidade)==&lt;br /&gt;
{{BR/Funcoes_Lado_Cliente}}&lt;br /&gt;
&lt;br /&gt;
==UTF8 Library (Biblioteca UTF8)==&lt;br /&gt;
{{PT-BR/Funcoes UTF8}}&lt;br /&gt;
&lt;br /&gt;
==Vehicle (Veículo)==&lt;br /&gt;
{{PT-BR/Funcoes vehicle client}}&lt;br /&gt;
&lt;br /&gt;
==Water (Água)==&lt;br /&gt;
{{PT-BR/Funcoes water client}}&lt;br /&gt;
&lt;br /&gt;
==Weapon (Arma)==&lt;br /&gt;
{{PT-BR/Funcoes weapon client}}&lt;br /&gt;
&lt;br /&gt;
==Weapon Creation (Criação de arma)==&lt;br /&gt;
&amp;lt;strike&amp;gt;Documentation can be found [http://code.google.com/p/mtasa-blue/source/detail?r=4555 here] [https://github.com/multitheftauto/mtasa-blue/commit/c0ac461867e24fe5fc471fe373ec6212e8736c01 (GitHub)] and [http://code.google.com/p/mtasa-blue/source/detail?r=4557 here] [https://github.com/multitheftauto/mtasa-blue/commit/9c2464b5e0c7d0f2915a9b46273832cd950af48e (GitHub)]&amp;lt;/strike&amp;gt;&lt;br /&gt;
{{PT-BR/Funcoes weapon creation client}}&lt;br /&gt;
&lt;br /&gt;
==World (Mundo)==&lt;br /&gt;
{{PT-BR/Funcoes world client}}&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
{{PT-BR/Funcoes XML client}}&lt;br /&gt;
&lt;br /&gt;
[[ar:Client Scripting Functions]]&lt;br /&gt;
[[pl:Funkcje po stronie klienta]]&lt;br /&gt;
[[it:Funzioni Client-side]]&lt;br /&gt;
[[ru:Client Scripting Functions]]&lt;br /&gt;
[[es:Funciones del cliente]]&lt;br /&gt;
[[de:Clientseitige_Funktionen]]&lt;br /&gt;
[[tr:Client Taraflı Fonksiyonlar]]&lt;br /&gt;
[[pt-br:Funções de Scripting do Cliente]]&lt;br /&gt;
[[zh-cn:客户端脚本函数]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74135</id>
		<title>Template:PT-BR/SVG functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:PT-BR/SVG_functions&amp;diff=74135"/>
		<updated>2022-02-20T17:08:53Z</updated>

		<summary type="html">&lt;p&gt;LODS: new portuguese template for SVG functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Added feature/item|1.5.9|1.5.8|20979|&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgCreate|svgCreate]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetDocumentXML|svgGetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgGetSize|svgGetSize]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/SvgSetDocumentXML|svgSetDocumentXML]]&lt;br /&gt;
*[[Image:iBR.png|Em Português|20px]] [[PT-BR/svgSetSize|svgSetSize]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74134</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74134"/>
		<updated>2022-02-20T04:48:24Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
[https://forum.mtasa.com/profile/81465-lods Profile Forum MTA-SA]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/luizolavio Profile GitHub]&lt;br /&gt;
&lt;br /&gt;
== Community Contributions == &lt;br /&gt;
[[https://wiki.multitheftauto.com/wiki/Special:Contributions/LODS|Contributions LODS]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74133</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74133"/>
		<updated>2022-02-20T04:40:04Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
Perfil Forum MTA-SA: https://forum.mtasa.com/profile/81465-lods/&amp;lt;br&amp;gt;&lt;br /&gt;
Perfil GitHub: https://github.com/luizolavio&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74132</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74132"/>
		<updated>2022-02-20T04:39:28Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
===Profiles===&lt;br /&gt;
Perfil Forum MTA-SA: [[https://forum.mtasa.com/profile/81465-lods/|Forum/MTA-SA/Lods]]&lt;br /&gt;
Perfil GitHub: [https://github.com/luizolavio https://github.com/lods]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74131</id>
		<title>User:LODS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:LODS&amp;diff=74131"/>
		<updated>2022-02-20T04:36:14Z</updated>

		<summary type="html">&lt;p&gt;LODS: Created page with &amp;quot;Perfil Forum MTA-SA: Forum/MTA-SA/Lods Perfil GitHub: [https://github.com/luizolavio https://github.com/lods]  Olá, seja bem vindo ao meu perfil.  Sou apenas uma pessoa comum. Fanático e apaixonado em programação, atualmente estudando '''Egenharia de Software''', espero contribuir ao máximo em seu desenvolvimento e no desenvolvimento da comunidade ;)&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Perfil Forum MTA-SA: [[https://forum.mtasa.com/profile/81465-lods/|Forum/MTA-SA/Lods]]&lt;br /&gt;
Perfil GitHub: [https://github.com/luizolavio https://github.com/lods]&lt;br /&gt;
&lt;br /&gt;
Olá, seja bem vindo ao meu perfil.&lt;br /&gt;
&lt;br /&gt;
Sou apenas uma pessoa comum. Fanático e apaixonado em programação, atualmente estudando '''Egenharia de Software''', espero contribuir ao máximo em seu desenvolvimento e no desenvolvimento da comunidade ;)&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=XmlCreateChild&amp;diff=74130</id>
		<title>XmlCreateChild</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=XmlCreateChild&amp;diff=74130"/>
		<updated>2022-02-20T04:26:45Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function creates a new child node under an XML node.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[xmlnode]]:createChild}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''parentNode:''' the [[xmlnode]] you want to create a new child node under.&lt;br /&gt;
*'''tagName:''' the type of the child node that will be created.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the created [[xmlnode]] if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example allows a player to use the command 'createfile' to create an .xml file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Creates a file named &amp;quot;new.xml&amp;quot; with root node &amp;quot;newroot&amp;quot; and childnode &amp;quot;newchild&amp;quot;.&lt;br /&gt;
function createFileHandler()&lt;br /&gt;
local RootNode = xmlCreateFile(&amp;quot;new.xml&amp;quot;,&amp;quot; newroot&amp;quot;)&lt;br /&gt;
local NewNode = xmlCreateChild(RootNode, &amp;quot;newchild&amp;quot;)&lt;br /&gt;
xmlSaveFile(RootNode)&lt;br /&gt;
xmlUnloadFile(RootNode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addCommandHandler(&amp;quot;createfile&amp;quot;, createFileHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
[[ru:xmlCreateChild]]&lt;br /&gt;
[[pt-br:XmlCreateChild]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=XmlCreateChild&amp;diff=74128</id>
		<title>XmlCreateChild</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=XmlCreateChild&amp;diff=74128"/>
		<updated>2022-02-20T04:26:12Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function creates a new child node under an XML node.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[xmlnode]]:createChild}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''parentNode:''' the [[xmlnode]] you want to create a new child node under.&lt;br /&gt;
*'''tagName:''' the type of the child node that will be created.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the created [[xmlnode]] if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example allows a player to use the command 'createfile' to create an .xml file.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Creates a file named &amp;quot;new.xml&amp;quot; with root node &amp;quot;newroot&amp;quot; and childnode &amp;quot;newchild&amp;quot;.&lt;br /&gt;
function createFileHandler()&lt;br /&gt;
local RootNode = xmlCreateFile(&amp;quot;new.xml&amp;quot;,&amp;quot; newroot&amp;quot;)&lt;br /&gt;
local NewNode = xmlCreateChild(RootNode, &amp;quot;newchild&amp;quot;)&lt;br /&gt;
xmlSaveFile(RootNode)&lt;br /&gt;
xmlUnloadFile(RootNode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addCommandHandler(&amp;quot;createfile&amp;quot;, createFileHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
[[ru:xmlCreateChild]]&lt;br /&gt;
[[pt-br:xmlCreateChild]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74127</id>
		<title>PT-BR/XmlCreateChild</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74127"/>
		<updated>2022-02-20T04:25:52Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao compartilhada}}&lt;br /&gt;
Essa função cria um novo filho node usando um node XML.&lt;br /&gt;
&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[xmlnode]]:createChild}}&lt;br /&gt;
===Argumentos Necessários=== &lt;br /&gt;
*'''parentNode:''' O [[xmlnode]] que você deseja criar um novo filho node.&lt;br /&gt;
*'''tagName:''' O tipo do filho node que será criado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna o [[xmlnode]] criado se for bem sucedido, '''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo permite que um jogador use o comando 'createfile' para criar um arquivo .xml.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Cria um arquivo chamado &amp;quot;new.xml&amp;quot; usando o node raiz &amp;quot;newroot&amp;quot; e o filho &amp;quot;newchild&amp;quot;.&lt;br /&gt;
function createFileHandler()&lt;br /&gt;
    local RootNode = xmlCreateFile(&amp;quot;new.xml&amp;quot;,&amp;quot; newroot&amp;quot;)&lt;br /&gt;
    local NewNode = xmlCreateChild(RootNode, &amp;quot;newchild&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    xmlSaveFile(RootNode)&lt;br /&gt;
    xmlUnloadFile(RootNode)&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;createfile&amp;quot;, createFileHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
&lt;br /&gt;
[[ru:xmlCreateChild]]&lt;br /&gt;
[[en:xmlCreateChild]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74126</id>
		<title>PT-BR/XmlCreateChild</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74126"/>
		<updated>2022-02-20T04:24:52Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao servidor}}&lt;br /&gt;
Essa função cria um novo filho node usando um node XML.&lt;br /&gt;
&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[xmlnode]]:createChild}}&lt;br /&gt;
===Argumentos Necessários=== &lt;br /&gt;
*'''parentNode:''' O [[xmlnode]] que você deseja criar um novo filho node.&lt;br /&gt;
*'''tagName:''' O tipo do filho node que será criado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna o [[xmlnode]] criado se for bem sucedido, '''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo permite que um jogador use o comando 'createfile' para criar um arquivo .xml.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Cria um arquivo chamado &amp;quot;new.xml&amp;quot; usando o node raiz &amp;quot;newroot&amp;quot; e o filho &amp;quot;newchild&amp;quot;.&lt;br /&gt;
function createFileHandler()&lt;br /&gt;
    local RootNode = xmlCreateFile(&amp;quot;new.xml&amp;quot;,&amp;quot; newroot&amp;quot;)&lt;br /&gt;
    local NewNode = xmlCreateChild(RootNode, &amp;quot;newchild&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    xmlSaveFile(RootNode)&lt;br /&gt;
    xmlUnloadFile(RootNode)&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;createfile&amp;quot;, createFileHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
&lt;br /&gt;
[[ru:xmlCreateChild]]&lt;br /&gt;
[[en:xmlCreateChild]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74125</id>
		<title>PT-BR/XmlCreateChild</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/XmlCreateChild&amp;diff=74125"/>
		<updated>2022-02-20T04:19:49Z</updated>

		<summary type="html">&lt;p&gt;LODS: Created page with &amp;quot;__NOTOC__ {{BR/Funcao server}} Essa função cria um novo filho node usando um node XML.  ==Sintaxe== &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt; {{OOP||xmlnode:createChild}} ===Argumentos Necessários===  *'''parentNode:''' O xmlnode que você deseja criar um novo filho node. *'''tagName:''' O tipo do filho node que será criado.  ===Retornos=== * Retorna o xmlnode criado se for bem sucedido, ''...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{BR/Funcao server}}&lt;br /&gt;
Essa função cria um novo filho node usando um node XML.&lt;br /&gt;
&lt;br /&gt;
==Sintaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;xmlnode xmlCreateChild ( xmlnode parentNode, string tagName )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[xmlnode]]:createChild}}&lt;br /&gt;
===Argumentos Necessários=== &lt;br /&gt;
*'''parentNode:''' O [[xmlnode]] que você deseja criar um novo filho node.&lt;br /&gt;
*'''tagName:''' O tipo do filho node que será criado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna o [[xmlnode]] criado se for bem sucedido, '''false'' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exemplo permite que um jogador use o comando 'createfile' para criar um arquivo .xml.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Cria um arquivo chamado &amp;quot;new.xml&amp;quot; usando o node raiz &amp;quot;newroot&amp;quot; e o filho &amp;quot;newchild&amp;quot;.&lt;br /&gt;
function createFileHandler()&lt;br /&gt;
    local RootNode = xmlCreateFile(&amp;quot;new.xml&amp;quot;,&amp;quot; newroot&amp;quot;)&lt;br /&gt;
    local NewNode = xmlCreateChild(RootNode, &amp;quot;newchild&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    xmlSaveFile(RootNode)&lt;br /&gt;
    xmlUnloadFile(RootNode)&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;createfile&amp;quot;, createFileHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
&lt;br /&gt;
[[ru:xmlCreateChild]]&lt;br /&gt;
[[en:xmlCreateChild]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SvgSetSize&amp;diff=74124</id>
		<title>SvgSetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SvgSetSize&amp;diff=74124"/>
		<updated>2022-02-20T03:53:16Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Sets the underlying XML document from an SVG element.}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetSize( svg svgElement, int width, int height [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''svgElement:''' The svg element you want to set the size of.&lt;br /&gt;
*'''width:''' Desired width, preferably power of two (16, 32, 64 etc.), maximum is 4096&lt;br /&gt;
*'''height :''' Desired height, preferably power of two (16, 32, 64 etc.), maximum is 4096&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' A callback function which is invoked upon SVG document and texture creation (after resizing), useful for knowing when the SVG element is ready&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
* Returns '''true''' if successful, '''false''' otherwise&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example creates an [[svg]] element (with callbacks to initialize drawing) including a keybind to resize the [[svg]] randomly (see bindKey).&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT''': Depending on your implementation, callback usage may be necessary to ensure the SVG texture and XML document are ready.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- This could also be a file, with the path provided to svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Create an SVG containing a circle, using the raw XML data above&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- SVG failed to load, so don't continue&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implement a callback for SVG load&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Add a keybind which sets the SVG to a random size&lt;br /&gt;
bindKey(&amp;quot;r&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(100, 500)&lt;br /&gt;
    svgSetSize(svg, size, size)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[pt-br:svgSetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74123</id>
		<title>PT-BR/svgSetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/svgSetSize&amp;diff=74123"/>
		<updated>2022-02-20T03:51:50Z</updated>

		<summary type="html">&lt;p&gt;LODS: Created page with &amp;quot;{{BR/Funcao cliente}} {{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}} ==Sintaxe==  &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetSize( svg svgElement, int width, int height [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;  ===Argumentos Necessários=== *'''svgElement:''' O elemento svg que você deseja definir o tamanho. *'''width:''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BR/Funcao cliente}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Define o documento XML subjacente de um elemento SVG.}}&lt;br /&gt;
==Sintaxe== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool svgSetSize( svg svgElement, int width, int height [, function callback ( bool didLoad ) ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Argumentos Necessários===&lt;br /&gt;
*'''svgElement:''' O elemento [[svg]] que você deseja definir o tamanho.&lt;br /&gt;
*'''width:''' Largura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
*'''height :''' Altura, de preferência em potência de dois (16, 32, 64 etc.), o máximo é 4096&lt;br /&gt;
&lt;br /&gt;
===Argumentos Opcionais===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''callback:''' Uma função de callback que será chamada na criação do documento XML e na criação de textura (depois de redimensionar), útil para saber se o elemento SVG está carregado.&lt;br /&gt;
&lt;br /&gt;
===Retornos===&lt;br /&gt;
* Retorna '''true''' se for bem sucedido, '''false''' caso dê errado.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Esse exmplo cria um elemento [[svg]] (usando função de callback para iniciar o desenho) incluindo um keybind para redimensionar o [[svg]] aleatoriamente (consulte bindKey).&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE''': Dependendo da sua implementação, uma função de callback será necessário para garantir que a textura SVG e o documento XML estejam carregados.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Isso também pode ser um arquivo, com o diretório do arquivo fornecido no svgCreate&lt;br /&gt;
local rawSvgData = [[&lt;br /&gt;
    &amp;lt;svg viewBox=&amp;quot;0 0 500 500&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;circle cx=&amp;quot;250&amp;quot; cy=&amp;quot;250&amp;quot; r=&amp;quot;250&amp;quot; fill=&amp;quot;#0fc0fc&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/svg&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local svg&lt;br /&gt;
&lt;br /&gt;
function init()&lt;br /&gt;
    -- Cria um círculo em SVG, usando os dados, usando os dados brutos XML acima.&lt;br /&gt;
    svg = svgCreate(500, 500, rawSvgData, function(didLoad)&lt;br /&gt;
        if (not didLoad) then -- Se o SVG falhou em carregar, essa função não continuará.&lt;br /&gt;
            return &lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        onSvgLoad(svg)&lt;br /&gt;
    end)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, init)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Implementando a função de callback para carregar o SVG&lt;br /&gt;
function onSvgLoad(svg)&lt;br /&gt;
    addEventHandler(&amp;quot;onClientRender&amp;quot;, root, render)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function render()&lt;br /&gt;
    local width, height = svgGetSize(svg)&lt;br /&gt;
    dxDrawImage(0, 0, width, height, svg, 0, 0, 0, tocolor(255, 255, 255), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Adicionando um keybind para definir um tamanho aleatorio para o SVG&lt;br /&gt;
bindKey(&amp;quot;r&amp;quot;, &amp;quot;down&amp;quot;, function()&lt;br /&gt;
    if (not isElement(svg)) or (getElementType(svg) ~= &amp;quot;svg&amp;quot;) then&lt;br /&gt;
        return false&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    local size = math.random(100, 500)&lt;br /&gt;
    svgSetSize(svg, size, size)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requisitos==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==Veja também==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[en:svgSetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SvgGetSize&amp;diff=74122</id>
		<title>SvgGetSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SvgGetSize&amp;diff=74122"/>
		<updated>2022-02-20T03:42:19Z</updated>

		<summary type="html">&lt;p&gt;LODS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20979|Gets the underlying XML document from an SVG element.}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int, int svgGetSize( svg svgElement )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''svgElement:''' The [[svg]] you want to get the size of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
* Returns two [[int]]s, representing '''width''' and '''height'''&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See the example for [[svgSetSize]].&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.8-9.20979|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{SVG_functions}}&lt;br /&gt;
&lt;br /&gt;
[[pt-br:svgGetSize]]&lt;/div&gt;</summary>
		<author><name>LODS</name></author>
	</entry>
</feed>