ES/Scripts de Cliente

From Multi Theft Auto: Wiki
Revision as of 15:45, 29 December 2010 by The Kid (talk | contribs) (Created page with "Los scripts de cliente son los que corren la parte del usuario de MTA. Esto implica tener más información detallada de un jugador específico, pero no de los demás en conjunto...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Los scripts de cliente son los que corren la parte del usuario de MTA. Esto implica tener más información detallada de un jugador específico, pero no de los demás en conjunto.

En este lado de MTA, se maneja la parte visual y de audio.

¿Cómo funcionan ambos lados?

La parte cliente trabaja de forma parecida y a la vez diferente, a la parte servidor. Se pueden sincronizar ambas partes usando el sistema de eventos. Ambos lados, cliente y servidor, no pueden trabajar en un mismo archivo. Cada lado debe tener su propio archivo de script.

Por ejemplo, para el archivo cliente:


<meta>
	<script src="guitest.lua" type="client" /> <!-- 'type="client"' indica que el archivo en cuestión es cliente. -->
	<info author="IJs" />
</meta>


Si queremos iniciar un evento del cliente desde el servidor, entonces primero hay que agregar el evento en el cliente con addEvent. Luego, se debe arreglar un manejador de este evento. Y en el lado servidor, se debe usar triggerClientEvent ( jugador, "nombreDeEvento", jugador, argumentos ... ) para iniciar el evento. Este proceso de sincronía se puede hacer al revés también, con triggerServerEvent.

Por ejemplo:

Script de cliente:

function showObjectBrowser(id)
   -- El código aquí...
end

addEvent("doShowObjectBrowser", true) -- Agregamos el evento...
addEventHandler("doShowObjectBrowser", getRootElement(), showObjectBrowser) -- Y el manejador, que indica que al iniciarse el evento, llame a la función "showObjectBrowser"...

Script de servidor:

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