IT/Script client-side: Difference between revisions
(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]]. | |||
Per esempio: | |||
'''Client-side:''' | '''Client-side:''' | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function showObjectBrowser(id) | function showObjectBrowser(id) | ||
-- | -- qui il codice | ||
end | end | ||
Line 30: | Line 29: | ||
'''Server-side:''' | '''Server-side:''' | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
triggerClientEvent ( | 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 )