IT/Script client-side

From Multi Theft Auto: Wiki
Revision as of 18:15, 26 January 2008 by Atti (talk | contribs) (New page: 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 in...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to 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>

If you wanted to trigger a client side event from the server, you would first have to register the client side event using addEvent. Then, you can attach a handler to the event as you would in a server side script. Then in the server side script, you'll be able to call triggerClientEvent ( player, "eventName", fromElement, args ... ) which will trigger the event client side. The same can be done in reverse using triggerServerEvent.

For example:

Client-side:

function showObjectBrowser(id)
   -- code here
end

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

Server-side:

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