IT/Script client-side

From Multi Theft Auto: Wiki
Revision as of 00:30, 13 June 2008 by Shadd (talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Gli script client-side sono quegli script che sono avviati lato client dalla mod deathmatch. Significa che essi hanno a disposizione più informazioni sul mondo di gioco, ma qualche informazione in meno sugli altri players. Questi script sono utili soprattutto per tutto ciò che dev'essere fatto client-side, come effetti visivi o elementi GUI.

Come funzionano?

Gli script client-side seguono lo stesso schema di quelli server-side. Tenteremo di fornire le funzionalità fondamentali per uno script client-side. L'interscambio di informazioni tra script server-side e client-side è fatto con lo stesso sistema di eventi che già abbiamo. Gli scripts client-side e server-side devono essere inclusi in file diversi, che sono inclusi nella resource (con il file meta.xml) usando la tag <script> (e l'attributo type).

Per esempio:

<!-- Script GUI di prova -->
<meta>
	<script src="guitest.lua" type="client" />
	<info author="Qualcuno" />
</meta>

Se vuoi chiamare un evento client-side dal server, dovresti prima registrare l'evento client-side usando addEvent. Dopo, puoi unire un handler all'evento in uno script server-side. Inoltre nello script server-side, potrai usare il triggerClientEvent ( player, "nomeEvento", fromElement, argomenti ... ) che chiamerà l'evento client-side. La stessa cosa può essere fatta al contrario usando triggerServerEvent.

Per esempio:

Client-side:

function showObjectBrowser(id)
   -- qui il codice
end

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

Server-side:

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