LSL Editing Primer/pt

From Second Life Wiki
Jump to navigation Jump to search

Na área wiki do Portal LSL, existem vários gabaritos usados para padronizar a aparência e tornar a edição mais fácil.

Gabaritos de Uso Geral

Existem diversos gabaritos universais, com os nomes de gabarito mais usados sendo curtos, para facilitar a digitação.

Nome Descrição exemplo
{{LSLC|category|sort}} Adiciona uma página em um grupo
Use no lugar de [[Category:LSL name|name]]
sort é opcional.
{{LSLGC|category|text}} Faz o link a uma categoria LSL
Use no lugar de [[:Category:LSL category|text]]
se text é omitido, então o padrão é category
{{LSLGC|Math/3D|3D Math Functions}}
3D Math Functions
{{LSLGC|Math}}
Math
{{HoverText|word|description}} Quando você move o cursor sobre a palavra, mostra um "box" contendo a descrição description. {{HoverText|macacos|Uma espécie de mamíferos}}
macacos
{{LSL_Header}} Usado para páginas que não usam um gabarito que as inclua. Como categorias e esta página. {{LSL Header}}
{{LSL_Hex|hex|int}} Usa um HoverText para hex , mostrando int com uma curta descrição padrão.
Se int é excluído ou vazio, então int é calculada a partir do valode de hex.
{{LSL Hex|0x100|256}}
0x100
{{LSL Hex|0x100}}
0x100
{{!}} Usado no lugar de | quando estiver embutindo-os nos parâmetros dos gabaritos. {{!}}
|
{{=}} Usado no lugar de um = quando você precisar que o sinal textual = não interfira nos parâmetros dos gabaritos. {{=}}
=

Embutindo Tabelas

Uma das deficiências do MediaWiki é a dificuldade de se embutir tabelas como parâmetros de gabaritos. Existem poucas formas de se contornar isso.

  1. Escreva a tabela em HTML usando as tags <table> & </table>, <tr> & </tr>, <th> & </th>, <td> & </td>. Se você seguir por esse caminho, você deve fechar suas tags corretamente (ou o MediaWiki fará coisas estranhas).
  2. Use a sintaxe do MediaWiki para tabelas e troque cada ocorrência de '|' (que não esteja sendo usada como um separador de gabaritos) por '{{!}}'.
  3. Envolva a tabela com as tags <div></div> (não funciona sempre).
  • Note que você precisa jogar com os espaços em branco para que o MediaWiki mostre a tabela corretamente.
Método HTML
Antes Depois Embutida
{|{{Prettytable}}
! Permissões
! Valor
! Descrição
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Move/Modify/Copy/Transfer permissions
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Copy permission
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Modify permission
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Move permission
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Transfer permission
|}
<table {{Prettytable}}><tr>
<th> Permissões</th>
<th> Valor</th>
<th> Descrição</th>
</tr><tr>
<td> [[PERM_ALL]]</td>
<td> {{LSL Hex|0x7FFFFFFF|2147483647}}</td>
<td> Move/Modify/Copy/Transfer permissions</td>
</tr><tr>
<td> [[PERM_COPY]]</td>
<td> {{LSL Hex|0x00008000|32768}}</td>
<td> Copy permission</td>
</tr><tr>
<td> [[PERM_MODIFY]]</td>
<td> {{LSL Hex|0x00004000|16384}}</td>
<td> Modify permission</td>
</tr><tr>
<td> [[PERM_MOVE]]</td>
<td> {{LSL Hex|0x00080000|524288}}</td>
<td> Move permission</td>
</tr><tr>
<td> [[PERM_TRANSFER]]</td>
<td> {{LSL Hex|0x00002000|8192}}</td>
<td> Transfer permission</td>
</tr></table>

Tabela na Tabela:

Permissões Valor Descrição
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission

Tabela como parâmetro de gabarito:

Permissões Valor Descrição
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission
Metodo da Reposição dos Caracteres
Antes Depois Embutida
{|{{Prettytable}}
! Permissões
! Valor
! Descrição
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Move/Modify/Copy/Transfer permissions
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Copy permission
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Modify permission
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Move permission
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Transfer permission
|}
{{{!}}{{Prettytable}}
! Permissões
! Valor
! Descrição
{{!}}- 
{{!}} [[PERM_ALL]]
{{!}} {{LSL Hex|0x7FFFFFFF|2147483647}}
{{!}} Move/Modify/Copy/Transfer permissions
{{!}}- 
{{!}} [[PERM_COPY]]
{{!}} {{LSL Hex|0x00008000|32768}}
{{!}} Copy permission
{{!}}- 
{{!}} [[PERM_MODIFY]]
{{!}} {{LSL Hex|0x00004000|16384}}
{{!}} Modify permission
{{!}}- 
{{!}} [[PERM_MOVE]]
{{!}} {{LSL Hex|0x00080000|524288}}
{{!}} Move permission
{{!}}- 
{{!}} [[PERM_TRANSFER]]
{{!}} {{LSL Hex|0x00002000|8192}}
{{!}} Transfer permission
{{!}}}

Tabela na Tabela:

Permissões Valor Descrição
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission

Tabela como parâmetro de gabarito:

Permissões Valor Descrição
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission
Método das Tags Div (não funciona sempre)
Antes Depois Embutida
{|{{Prettytable}}
! Permissões
! Valor
! Descrição
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Move/Modify/Copy/Transfer permissions
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Copy permission
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Modify permission
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Move permission
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Transfer permission
|}
<div>
{|{{Prettytable}}
! Permissões
! Valor
! Descrição
|- 
| [[PERM_ALL]]
| {{LSL Hex|0x7FFFFFFF|2147483647}}
| Move/Modify/Copy/Transfer permissions
|- 
| [[PERM_COPY]]
| {{LSL Hex|0x00008000|32768}}
| Copy permission
|- 
| [[PERM_MODIFY]]
| {{LSL Hex|0x00004000|16384}}
| Modify permission
|- 
| [[PERM_MOVE]]
| {{LSL Hex|0x00080000|524288}}
| Move permission
|- 
| [[PERM_TRANSFER]]
| {{LSL Hex|0x00002000|8192}}
| Transfer permission
|}
</div>

Tabela na Tabela:

Permissões Valor Descrição
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission

Funções

Além dos gabaritos de uso geral, existe apenas um gabarito específico para função.

Template:LSL Function
Este gabarito fornece uma estrutura para se documentar as funções. Ele inclui várias seções.

  • Por favor não remova informação.
  • A ordem das variáveis não importa.
  • A maioria das variáveis quando não definidas farão a respectiva seção não aparecer (nem todas as seções se escondem).

Variáveis que não forem usadas não precisam ser incluídas mas é melhor não removê-las para facilitar o trabalho de futuros editores.

  • Por favor, coloque à frente todas as mensagens geradas pelo gabarito.
  • Se você acha que uma seção deveria ser adicionada, por favor faça-o no LSL Function Style (e elas serão rapidamente adiciondas ao gabarito).

Por favor, refira-se a LSL_Function para uma descrição detalhada da sua sintaxe e atributos.

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=Qualquer valor flutuante válido
|return_type=float
|return_text=É um número pseudo-randômico na variação [0.0,mag) ou (mag, 0.0].
|spec=retorna um número pseudo-randômico na variação [0.0, mag) ou (mag, 0.0], dependendo do sinal de mag.
|caveats=O gerador de números randômicos não é uma fonte de entropia.
|examples=<lsl>
default
{
    touch_start(integer total_number)
    {
        // When touched, say "Heads" with probability 0.5, 
        // otherwise, say "Tails."
        if ( llFrand(1.) < .5)
            llSay(0, "Heads");
        else
            llSay(0, "Tails");
    }
}
</lsl>
|helpers
|also_header
|also_functions
|also_tests
|also_events
|also_articles
|also_footer
|notes=
The random number generator is not a source of entropy.

The sequence of random numbers are shared across the entire process, and not independently seeded.
Therefore, the pseudo random number generation is not suitable for any application which requires
completely predictable or completely unpredictable results.
|cat1=Math
|cat2
|cat3
|cat4
}}

Events

Besides the general templates there is only one event specific template.

LSL_Event This template provides a structure to write the event documentation over; it includes several sections. Unused sections are typically hidden from view.

Please refer to LSL_Event for a detailed explanation of its syntax and attributes.

Constants

There is only one constant specific template.

LSL_Constant This template provides a structure to write constant documentation over; it includes several sections. Unused sections are typically hidden from view.

Please refer to LSL_Constant for a detailed explanation of its syntax and attributes.