IT/Script client-side: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{IT/MainP}} | {{IT/MainP}} | ||
[[Category:100%]] | |||
[[Category:IT/Concetti di scripting]] | |||
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. | 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. | Questi script sono utili soprattutto per tutto ciò che dev'essere fatto client-side, come effetti visivi o elementi GUI. |
Latest revision as of 00:30, 13 June 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 )