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=
O gerador de números randômicos não é uma fonte de entropia.

A seqüência de números randômicos é compartilhada pelo processo todo e não é independentemente gerada.
Assim, a geração de números pseudo-randômicos não é adequada a qualquer aplicação que necessite resultados
completamente preditíveis ou completamente impreditíveis.

|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.