LSL Editing Primer/it

From Second Life Wiki
< LSL Editing Primer
Revision as of 17:28, 24 October 2008 by Strife Onizuka (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Nell'area Portale LSL del wiki ci sono diversi modelli in uso per standardizzare l'aspetto e rendere le modifiche più semplici.

Modelli generali

Ci sono vari modelli universali; i nomi dei modelli più utilizzati sono brevi per semplificarne la battitura.

Nome Descrizione esempio
{{LSLC|category|sort}} Aggiunge una pagina ad un gruppo
Usare al posto di [[Category:LSL name|name]]
sort è facoltativo.
{{LSLGC|category|text}} Crea un link ad una categoria LSL
Usare al posto di [[:Category:LSL category|text]]
se text viene omesso allora si intende uguale a category
{{LSLGC|Math/3D|3D Math Functions}}
Funzioni Matematiche 3D
{{LSLGC|Math}}
Matematica
{{HoverText|word|description}} Quando muovi il cursore su di esso mostra un rettangolo contenente description. {{HoverText|scimmie|Specie di mammiferi}}
scimmie
{{LSL_Header}} Utilizzato per le pagine che non usano un modello che lo include. Come le categorie e questa pagina. {{LSL Header}}
{{LSL_Hex|hex|int}} Un HoverText per hex che mostra il valore int con una breve descrizione standard.
Se int è escluso o vuoto, allora int viene calcolato da hex.
{{LSL Hex|0x100|256}}
0x100
{{LSL Hex|0x100}}
0x100
{{!}} Usato al posto di | quando si inserisce nei parametri dei modelli. {{!}}
|
{{=}} Usato al posto di = quando si richiede un simbolo di uguaglianza che non interferisca con i parametri dei modelli. {{=}}
=

Incorporare tabelle

Uno dei punti deboli in MediaWiki è la difficoltà nell'incorporare tabelle come parametri per i modelli. Ci sono alcuni modi per aggirare questo problema.

  1. Scrivere la tabella in HTML usando le etichette <table> & </table>, <tr> & </tr>, <th> & </th>, <td> & </td>. Se usate questo metodo è necessario chiudere correttamente le etichette (o MediaWiki farà cose strane).
  2. Usare la sintassi MediaWiki per le tabelle e sostituire ogni occorrenza (non utilizzata come separatore di modello) di '|' con '{{!}}'
  3. Mandare a capo la tabella con le etichette <div></div> (non funziona sempre).
  • Notare che potrebbe essere necessario ricorrere allo spazio bianco affichè MediaWiki visualizzi il risultato correttamente.


Metodo HTML
Prima Dopo Incorporata
{|{{Prettytable}}
! Permessi
! Valore
! Descrizione
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Permesso Muovi/Modifica/Copia/Trasferisci
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Permesso Copia
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Permesso Modifica
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Permesso Muovi
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Permesso Trasferisci
|}
<table {{Prettytable}}><tr>
<th> Permessi</th>
<th> Valore</th>
<th> Descrizione</th>
</tr><tr>
<td> [[PERM_ALL]]</td>
<td> {{LSL Hex|0x7FFFFFFF|2147483647}}</td>
<td> Permesso Muovi/Modifica/Copia/Trasferisci</td>
</tr><tr>
<td> [[PERM_COPY]]</td>
<td> {{LSL Hex|0x00008000|32768}}</td>
<td> Permesso Copia</td>
</tr><tr>
<td> [[PERM_MODIFY]]</td>
<td> {{LSL Hex|0x00004000|16384}}</td>
<td> Permesso Modifica</td>
</tr><tr>
<td> [[PERM_MOVE]]</td>
<td> {{LSL Hex|0x00080000|524288}}</td>
<td> Permesso Muovi</td>
</tr><tr>
<td> [[PERM_TRANSFER]]</td>
<td> {{LSL Hex|0x00002000|8192}}</td>
<td> Permesso Trasferisci</td>
</tr></table>

Tabella in Tabella:

Permessi Valore Descrizione
PERM_ALL 0x7FFFFFFF Permesso Muovi/Modifica/Copia/Trasferisci
PERM_COPY 0x00008000 Permesso Copia
PERM_MODIFY 0x00004000 Permesso Modifica
PERM_MOVE 0x00080000 Permesso Muovi
PERM_TRANSFER 0x00002000 Permesso Trasferisci

Tabella come parametro di modello:

Permessi Valore Descrizione
PERM_ALL 0x7FFFFFFF Permesso Muovi/Modifica/Copia/Trasferisci
PERM_COPY 0x00008000 Permesso Copia
PERM_MODIFY 0x00004000 Permesso Modifica
PERM_MOVE 0x00080000 Permesso Muovi
PERM_TRANSFER 0x00002000 Permesso Trasferisci
Metodo sostituzione di separatore
Prima Dopo Incorporata
{|{{Prettytable}}
! Permessi
! Valore
! Descrizione
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Permesso Muovi/Modifica/Copia/Trasferisci
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Permesso Copia
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Permesso Modifica
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Permesso Muovi
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Permesso Trasferisci
|}
{{{!}}{{Prettytable}}
! Permessi
! Valore
! Descrizione
{{!}}- 
{{!}} [[PERM_ALL]]
{{!}} {{LSL Hex|0x7FFFFFFF|2147483647}}
{{!}} Permesso Muovi/Modifica/Copia/Trasferisci
{{!}}- 
{{!}} [[PERM_COPY]]
{{!}} {{LSL Hex|0x00008000|32768}}
{{!}} Permesso Copia
{{!}}- 
{{!}} [[PERM_MODIFY]]
{{!}} {{LSL Hex|0x00004000|16384}}
{{!}} Permesso Modifica
{{!}}- 
{{!}} [[PERM_MOVE]]
{{!}} {{LSL Hex|0x00080000|524288}}
{{!}} Permesso Muovi
{{!}}- 
{{!}} [[PERM_TRANSFER]]
{{!}} {{LSL Hex|0x00002000|8192}}
{{!}} Permesso Trasferisci
{{!}}}

Tabella in Tabella:

Permessi Valore Descrizione
PERM_ALL 0x7FFFFFFF Permesso Muovi/Modifica/Copia/Trasferisci
PERM_COPY 0x00008000 Permesso Copia
PERM_MODIFY 0x00004000 Permesso Modifica
PERM_MOVE 0x00080000 Permesso Muovi
PERM_TRANSFER 0x00002000 Permesso Trasferisci

Tabella come parametro di modello:

Permessi Valore Descrizione
PERM_ALL 0x7FFFFFFF Permesso Muovi/Modifica/Copia/Trasferisci
PERM_COPY 0x00008000 Permesso Copia
PERM_MODIFY 0x00004000 Permesso Modifica
PERM_MOVE 0x00080000 Permesso Muovi
PERM_TRANSFER 0x00002000 Permesso Trasferisci
Metodo etichetta Div (non sempre funziona)
Prima Dopo Incorporata
{|{{Prettytable}}
! Permessi
! Valore
! Descrizione
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Permesso Muovi/Modifica/Copia/Trasferisci
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Permesso Copia
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Permesso Modifica
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Permesso Muovi
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Permesso Trasferisci
|}
<div>
{|{{Prettytable}}
! Permessi
! Valore
! Descrizione
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Permesso Muovi/Modifica/Copia/Trasferisci
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Permesso Copia
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Permesso Modifica
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Permesso Muovi
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Permesso Trasferisci
|}
</div>

Tabella in Tabella:

Permessi Valore Descrizione
PERM_ALL 0x7FFFFFFF Permesso Muovi/Modifica/Copia/Trasferisci
PERM_COPY 0x00008000 Permesso Copia
PERM_MODIFY 0x00004000 Permesso Modifica
PERM_MOVE 0x00080000 Permesso Muovi
PERM_TRANSFER 0x00002000 Permesso Trasferisci

Funzioni

Oltre ai modelli generali esiste solo un modello specifico per funzione.

Template:LSL Function
Questo modello fornisce una struttura per scrivere documentazione sulle funzioni; esso comprende varie sezioni.

  • Prego, non rimuovere informazioni.
  • L'ordine delle variabili non è importante.
  • La maggior parte delle variabili se non impostate nasconderanno la relativa sezione (non tutte le sezioni scompaiono).
  • Le variabili inutilizzate possono essere escluse ma è preferibile non rimuoverle per aiutare gli sviluppatori futuri.
  • Prego indirizzate tutti i messaggi generati da un modello.
  • Se pensate che debba essere aggiunta una sezione, cortesemente aggiungetela a LSL Function Style (e sarà rapidamente aggiunta al modello).

Prego consultare LSL_Function per una spiegazione dettagliata della sintassi e degli attributi.

Base Example: llFrand
{{LSL_Function
|func
|func_id
|func_sleep
|sort
|func_desc
|func_footnote
|return_type
|return_text
|p1_type|p1_name|p1_desc
|p2_type|p2_name|p2_desc
|p3_type|p3_name|p3_desc
|p4_type|p4_name|p4_desc
|p5_type|p5_name|p5_desc
|p6_type|p6_name|p6_desc
|p7_type|p7_name|p7_desc
|p8_type|p8_name|p8_desc
|p9_type|p9_name|p9_desc
|p10_type|p10_name|p10_desc
|p11_type|p11_name|p11_desc
|p12_type|p12_name|p12_desc
|constants
|spec
|caveats
|examples
|helpers
|also_header
|also_functions
|also_tests
|also_articles
|also_events
|also_footer
|notes
|mode
|deprecated
|permission
|negative_index
|cat1
|cat2
|cat3
|cat4
|cat5
|cat6
|location
}}
{{LSL_Function
|sort=Frand
|func=llFrand
|func_id=8
|func_sleep=0.0
|func_energy=10.0
|p1_type=float
|p1_name=mag
|p1_desc=Any valid float value
|return_type=float
|return_text=cioè un numero pseudocasuale nell'intervallo [0.0,mag) o (mag, 0.0].
|spec=restituisce un numero pseudocasuale nell'intervallo [0.0, mag) o (mag, 0.0], secondo il segno di mag.
|caveats=Il generatore di numeri casuali non è una sorgente di entropia.
|examples=<lsl>
default
{
    touch_start(integer total_number)
    {
        // Quando toccato, dici "Testa" con probabilità 0.5, 
        // sltrimenti, dici "Croce"
        if ( llFrand(1.) < .5)
            llSay(0, "Testa");
        else
            llSay(0, "Croce");
    }
}
</lsl>
|helpers
|also_header
|also_functions
|also_tests
|also_events
|also_articles
|also_footer
|notes=
Il generatore di numeri casuali non è una sorgente di entropia.

La sequenza di numeri casuali è condivisa dall'intero processo senza semi indipendenti.
Quindi la generazione di numeri pseudocasuali non è adatta per applicazioni che richiedono risultati del tutto prevedibili o del tutto imprevedibili.
|cat1=Math
|cat2
|cat3
|cat4
}}

Eventi

Oltre ai modelli generali esiste un solo modello specifico per eventi.

LSL_Event Questo modello fornisce una struttura per scrivere documentazione sull'evento. Esso prevede varie sezioni. Le sezioni inutilizzate sono tipicamente nascoste.

Prego consultare LSL_Event per una spiegazione dettagliata della sintassi e degli attributi.

Costanti

C'è solo un modello specifico per costanti.

LSL_Constant Questo modello fornisce una struttura per scrivere documentazione sulle costanti. Esso prevede varie sezioni. Le sezioni inutilizzate sono tipicamente nascoste.

Prego consultare LSL_Constant per una spiegazione dettagliata della sintassi e degli attributi.