Postado Novembro 29, 2012 12 anos Scripting Dictionary Antes de tudo Olá comunidade Tibia King. Venho através desse tutorial facilitar a vida de muitos scripters. Trago a vocês o Scripting Dictionary. Uma forma mais simples de entender aquelas siglas ou palavrinhas chatas encontradas em todos os scripts e que poucas pessoas sabem o significado ou o motivo de estar ali. Vocês também podem ajudar a aumentar o conteúdo desse dicionário enviando-me as palavras que vocês gostariam de serem adicionadas. Para isso, poste nesse mesmo tópico. Estou disposto a atualizar sempre que for preciso o tópico, mas, caso algum imprevisto aconteça, a moderação está liberada para editar, adicionando dicas e palavras, sempre seguindo o mesmo padrão de postagem, enfatizando as palavras. Assim teremos uma melhor organização. Por fim, gostaria que todos os scripters, experientes ou não, e principalmente os que estão iniciando sua possível carreira na área, dentro da comunidade TK, lessem e corrigissem, se necessário. Começando array Array é uma variável onde há dois ou mais valores. É conhecido como vetor ou lista. Dependendo do caso, também pode ser conhecida como matriz. Cada valor dentro da array tem sua posição que é dada por um índice e que, geralmente, segue uma sequência de números inteiros. Pode ser local ou global. Exemplo: local arr = {1, 2, "valor 3", 503, variavelTeste} cid Normalmente uma variável onde é atribuida a identificação da criatura que, em muitos casos, está executando o script. A sigla cid vem do inglês Creature Identification. Exemplo: if isPlayer(cid) == TRUE then concatenação Éo ato de juntar uma ou mais strings. Em Lua, a concatenação é feita com o simbolo Ponto-Ponto (..) Exemplo: print("Skyen".."_".."Hasus") A saída gerada por esse comando seria: Skyen_Hasus. do 1. Normalmente usada no começo de funções que exercem alguma ação. Pode ser usada separada (sozinha) ou em alguma condição (ex. if). Tem sua tradução mais próxima da palavra fazer. 2. É utilizado em conjunto com o FOR, tendo de estar, obrigatoriamente, no final da linha em que há o loop for. Exemplo: doSendMagicEffect(pos, effect) Exemplo: for i =1, 10 do else É utilizado em condições. Caso todas as outras não sejam verdadeiras, o else será executado. É sempre usado sozinho e pode ser entendido como "Se não:". É utilizado em conjunto do if. Exemplo: if 1 > 2 then else -- script end[/code] [b]elseif[/b] Assim como o else, é utilizado em conjunto do if e serve para verificar se há outra possível condição. Pode ser entendido como "Ou se:". Exemplo: [code=lua] if 1 > 2 then elseif 1 < 2 then --script end end End é utilizado para fechar todas as condições, inclusive o loop for. Significa FIM. Tudo o que abre (if e for) deve ser fechado com um end. Exemplo: if 1 > 2 then else -- script end[/code] [b]get[/b] É muito encontrada em funções, onde sempre é retornado um valor, nulo ou não. Get, em inglês, no nosso caso, tem a tradução mais próxima de obter. As funções que começam com get, nunca estarão sozinhas, e sim, dando valor a alguma variável ou comparado a algo. Exemplo: local level = getPlayerLevel(cid) [b]if[/b] Obrigatoriamente deve ter em um script. Claro, há excessões, sempre há excessões. Serve para impor uma condição. Essa condição pode ser verdadeira ou falsa. Caso seje verdadeira, a continuação do script continuará até encontrar um END, caso contrário, verificará os elseifs e se não for verdadeiro com nenhum, havendo um else, será executado o código a partir dele. A palavra if é proveniente do inglês e significa SE. Exemplo: if level >= 30 then -- (Se level maior ou igual a 30, então) [b]is[/b] Is, no começo de funções, é para fazer uma verificação. Sempre é usada em alguma condição e tem seu significado mais próximo da palavra é. Exemplo: if isPlayer(cid) == TRUE then [b]loop[/b] Loop é o nome dado a função que é executada várias vezes até que haja a condição para que ele pare. O mais utilizado é o for, mas também, na linguagem LUA temos o while e repeat. Exemplo: for i = 1, 10 do [b]parâmetros[/b] Parâmetros de uma função são todas as variáveis que se encontram entre os parênteses. Exemplo: doRemoveItem(uid) -- uid é o parâmetro da função doRemoveItem [b]syntax sugars[/b] São as facilidades que a linguagem de programação permite ao programador. Exemplo 1: [code=lua] var = "Skyen Hasus" print(string.upper(var)) -- Normal print(var:upper()) -- Syntax Sugar Ambas as saídas geradas seriam: SKYEN HASUS. Exemplo 2: teste = function(s) -- Normal end function teste(s) -- Syntax Sugar end[/code] Apesar de parecerem legais, evite usar Syntax Sugars quando desnecessário, pois podem causar problemas se usadas incorretamente. [b]set[/b] Palavra utilizada no começo de nomes de funções que estabelecem valor de algo. É muito utilizado por iniciantes apenas para quests, mas tem muito mais importância que isso. No português, tem o significado mais próximo de estabelecer. [color=DarkRed](conteúdo a ser ampliado)[/color] Exemplo: setPlayerStorageValue(cid, 3001, 1) [b]string[/b] Corresponde a um texto, as strings sempre são entre aspas. Exemplos: "string" ou 'string' Note que há dois tipos de aspas, as duas são válidas. [b]then[/b] Utilizado em conjunto do if ou do elseif. Pode ser entendido como ENTÃO. Sempre será encontrado no fim da linha em que haja as condições citadas. Exemplo: if getPlayerStorageValue(cid, 3001) > 0 then [b]variáveis[/b] Variáveis são valores reservados na memória ram do computador para serem utilizados durante o script. Pode-se entender por variável, quando é encontrado a palavra var ou variable (em inglês). Variáveis podem ser locais ou globais, nesse último caso, tendo uso em mais de uma função. Exemplo: local level = getPlayerLevel(cid) Exemplo: global estatistica = estatistica + 1 [b]Você também pode ajudar[/b] Perguntando o que você não entendeu é uma forma de ajudar. Poste suas dúvidas aqui, não tenha vergonha. Outro modo de ajudar, é postando mensagem com as palavras que você não sabe o significado ou sabe e não está aqui. Quero deixar claro que eu não sou expert e não saberei tudo. Pesquisarei e tentarei deixar o mais claro possível todo o conteúdo aqui contido. Eu gostaria que esse dicionário funcionasse como a wikipedia, onde todos podem editar e corrigir. Mas como não há a possibilidade de todos editarem, postem. Se você editou algo, ponha seu nome. Se você postar conteúdo a ser adicionado, seu nome irá ser posto aqui. [b]Atualizações[/b] 05.08.2009 - Adicionado as palavras array, loop e set. 06.08.2009 - Adicionado as palavras if, else, elseif, end, string (Nord) e then. 06.08.2009 - Atualizado a palavra do. 09.08.2009 - Adicionado as palavras concatenação e syntax sugars. (Skyen Hasus) 18.08.2009 - Atualizado a palavra end. (marcryzius) Creditos Pivizz Contato; god.marinii ryzor@tibiaking.com
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.