IT/Script client-side: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(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...)
 
No edit summary
Line 13: Line 13:
</meta>
</meta>
</syntaxhighlight>
</syntaxhighlight>
Se vuoi chiamare un evento client-side dal server, dovresti prima ''registrare'' l'evento client-side usando [[IT/addEvent|addEvent]]. Dopo, puoi unire un ''handler'' all'evento in uno script server-side. Inoltre nello script server-side, potrai usare il [[IT/triggerClientEvent|triggerClientEvent]] ( player, "nomeEvento", fromElement, argomenti ... ) che chiamerà l'evento client-side. La stessa cosa può essere fatta al contrario usando [[IT/triggerServerEvent|triggerServerEvent]].


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]].
Per esempio:
 
For example:


'''Client-side:'''
'''Client-side:'''
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function showObjectBrowser(id)
function showObjectBrowser(id)
   -- code here
   -- qui il codice
end
end


Line 30: Line 29:
'''Server-side:'''
'''Server-side:'''
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
triggerClientEvent ( somePlayer, "doShowObjectBrowser", getRootElement(), 1034 )
triggerClientEvent ( unPlayer, "doShowObjectBrowser", getRootElement(), 1034 )
</syntaxhighlight>
</syntaxhighlight>

Revision as of 18:22, 26 January 2008

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 )