PT-BR/Scripts do Cliente: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:


==Como ele funciona?==
==Como ele funciona?==
Os scripts do lado client seguem o mesmo padrão como os scripts do lado server. Vamos tentar fornecer a funcionalidade necessária para os scripts do lado cliente. A interface entre o lado server e cliente é feita usando o sistema com o mesmo evento que já temos. Os scripts do lado cliente e o server necessitam estar em dois arquivos diferentes, que estão incluídas a partir do recurso (no metafile) usando uma tag <script> (e atributo do type).
Os scripts do lado client seguem o mesmo padrão como os scripts do lado server. Vamos tentar fornecer a funcionalidade necessária para os scripts do lado client. A interface entre o lado server e client é feita usando o sistema com o mesmo evento que já temos. Os scripts do lado client e o server necessitam estar em dois arquivos diferentes, que estão incluídas a partir do recurso (no metafile) usando uma tag <script> (e atributo do type).


Por Exemplo:
Por Exemplo:
Line 14: Line 14:
</syntaxhighlight>
</syntaxhighlight>


Se você quiser disparar um evento do lado cliente a partir do lado server, primeiro você deve registrar o evento do lado cliente usando o [[addEvent]]. Depois, você deve anexar um manipulador para o evento como você faria em um script do lado do servidor. Depois, no script do lado servidor, você deverá chamar o evento [[triggerClientEvent]] ( player, "nomeDoEvento", fromElement, args ... ) que irá acionar o evento do lado do cliente. O mesmo pode ser feito disparando o evento do lado servidor do script com o [[triggerServerEvent]].
Se você quiser disparar um evento do lado client a partir do lado server, primeiro você deve registrar no evento do lado client usando o [[addEvent]]. Depois, você deve anexar um manipulador para o evento como você faria em um script do lado do server. Depois, no script do lado server, você deverá chamar o evento [[triggerClientEvent]] ( player, "nomeDoEvento", fromElement, args ... ) que irá acionar o evento do lado do client. O mesmo pode ser feito disparando o evento do lado server do script com o [[triggerServerEvent]].


Por Exemplo:
Por Exemplo:


'''Lado Cliente:'''
'''Lado Client:'''
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function showObjectBrowser(id)
function showObjectBrowser(id)

Revision as of 07:47, 7 August 2013

Como sabemos scrips do lado client são scripts executados dentro do lado client deathmatch mod. Isto significa que têm acesso a mais informações sobre o mundo do jogo, mas poucas informações sobre o resto dos jogadores no jogo. Isso é útil para coisas que precisam ser feitas do lado do cliente, como efeitos visuais, criação e manipulação de elementos gráficos.

Como ele funciona?

Os scripts do lado client seguem o mesmo padrão como os scripts do lado server. Vamos tentar fornecer a funcionalidade necessária para os scripts do lado client. A interface entre o lado server e client é feita usando o sistema com o mesmo evento que já temos. Os scripts do lado client e o server necessitam estar em dois arquivos diferentes, que estão incluídas a partir do recurso (no metafile) usando uma tag <script> (e atributo do type).

Por Exemplo:

<!-- GUI (cliente) script teste -->
<meta>
	<script src="guitest.lua" type="client" />
	<info author="IJs" />
</meta>

Se você quiser disparar um evento do lado client a partir do lado server, primeiro você deve registrar no evento do lado client usando o addEvent. Depois, você deve anexar um manipulador para o evento como você faria em um script do lado do server. Depois, no script do lado server, você deverá chamar o evento triggerClientEvent ( player, "nomeDoEvento", fromElement, args ... ) que irá acionar o evento do lado do client. O mesmo pode ser feito disparando o evento do lado server do script com o triggerServerEvent.

Por Exemplo:

Lado Client:

function showObjectBrowser(id)
   -- codigo aqui
end

addEvent("doShowObjectBrowser", true)
addEventHandler("doShowObjectBrowser", getRootElement(), showObjectBrowser)

Lado Server:

triggerClientEvent ( somePlayer, "doShowObjectBrowser", getRootElement(), 1034 )