[Tutorial] Lua Snippets |
Bolodefchoco « Sénateur » 1558010280000
| 5 | ||
Um snippet, traduzido ao pé da letra como fragmento, é um pedacinho de código pequeno que faz algo interessante mas não precisa de um tópico só para ele. Regras e recomendações: • Não poste códigos extremamente grandes. Utilize o pastebin para isso. • Procure sempre utilizar o formato [code=Lua]Código[/code], dessa forma deixará seu código legível e colorido. • Caso seu código não seja extremamente grande, mas também não extremamente pequeno, utilize um spoiler:
• Escreva uma breve descrição da funcionalidade do seu código, assim saberão o que ele faz sem a necessidade de teste. Exemplo a dit : Dernière modification le 1558010400000 |
Mashmellliiiiiw « Censeur » 1558023600000
| 0 | ||
:''O Meow |
Infectsoul 1558054860000
| | ||
[Modéré par Kiwrimai, raison : Removido a pedido do autor.] Dernière modification le 1575922080000 |
Hugotitas « Citoyen » 1558084080000
| 4 | ||||||||||
Ratufufu a dit : Amei, muito bom! |
Infectsoul 1558106340000
| | ||
[Modéré par Kiwrimai, raison : Removido a pedido do autor.] Dernière modification le 1575922080000 |
Infectsoul 1560721260000
| | ||
[Modéré par Kiwrimai, raison : Removido a pedido do autor.] Dernière modification le 1575922080000 |
Bolodefchoco « Sénateur » 1560780180000
| 0 | ||
Ameeeei ↑ |
Gamedroit « Citoyen » 1562540640000
| 1 | |||||
Ratufufu a dit : wow :3 incrível como um código tão pequeno pode fazer algo tão grandioso ... |
1 | ||
Previnindo Itens de Shaman Code Lua 1 2 3 4 5 eventSummoningEnd = function(playerName, objectType, xPosition, yPosition, angle, objectDescription) Dernière modification le 1662762540000 |
Jp_darkuss « Citoyen » 1588440780000
| 0 | ||
Rainbow Nickname Code Lua 1 2 3 4 5 6 local colors= {"0xff6666", "0x66ff66", "0x6666ff", "0xFF8E00", "0x22287D", "0xA33FA4", "0xFFFF0D"} Esse script fica mudando a cor do nome de todos os players de forma aleatória. Ele varia nas cores do arco-íris (Vermelho, Laranja, Amarelo, Verde, Azul, Anil e Violeta). Bom uso! :) Dernière modification le 1588450860000 |
Bolodefchoco « Sénateur » 1588442820000
| 0 | ||
Era bom criar a tabela fora, não tem sentido recriar toda hora |
Jp_darkuss « Citoyen » 1588450920000
| 0 | ||
Bolodefchoco a dit : Já consertei, mas na real terminei agora, tava faltando cor e nem funcionava. Vlw. |
Gamedroit « Citoyen » 1623353580000
| 0 | ||
Este é um script de física 2D simples que serve para verificar colisões entre pontos, objetos retangulares e circulares. https://pastebin.com/1rksXT2f Exemplos Digamos que você precisa saber se um piso dinâmico circular colidiu com outro piso circular, basta ter suas coordendas (x, y) e seu raio (largura) para que o sistema possa calcular se eles colidiram ou não. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 local piso1 = { Agora digamos que precisa fazer um jogo de tiro básico mas não sabe como dizer se a bala atingiu outro jogador, nesse caso você somente vai precisar das coordenadas de quem atirou, também é necessário (no caso do transformice) as coordenadas de onde o jogador clicou e opcionalmente você pode definir uma distância limite como 200 ou 400 Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 local player = { As funções disponíveis são system.physics.collidepoint(x, y, x2, y2, w, h), system.physics.collidecircle(x, y, x2, y2, radius1, radius2), system.physics.colliderect(x, y, x2, y2, width, height, width2, height2) e system.physics.raycast(x, y, x2, y2, range) |
Preuclides « Consul » 1672838220000
| 0 | ||
particula que vai na direção do mouse Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 local xcos = math.cos minimapa que mostra onde está cada jogador (só pra mapas 800x400, mas vc pode aprimorar) Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 local ximg = tfm.exec.addImage uma loadbar primitiva que faz algo quando clica espaço Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 local loadBarSize = 5 --the size of the bar (number) Dernière modification le 1672850220000 |
Gamedroit « Citoyen » 1677864900000
| 1 | ||
Conjunto de Utilitários para Tabelas table.every( self, predicate ) Esta função testa se todos os elementos da tabela passam pelo teste implementado pela função fornecida. Parâmetros: - self(table) : A tabela a ser testada - predicate(function(value, key)) : A função que testa cada elemento, recebe dois parametros: - value(?) : O elemento atual sendo processado na tabela - key(?) : A chave/índice do elemento atual sendo processado na tabela Retorna: (boolean) true se a função predicate retorna um valor verdadeiro para cada um dos elementos da tabela; caso contrário, false. Code Lua 1 2 3 4 5 6 7 8 9 function table.every(self, predicate) table.map( self, predicate, ordered ) Esta função invoca a função predicate passada por argumento para cada elemento da tabela e devolve uma nova tabela como resultado. Parâmetros: - self(table) : A tabela a ser mapeada - predicate(function(value, key)) : A função cujo retorno produz o elemento da nova tabela. Recebe dois argumentos: - value(?) : O valor do elemento original da tabela de origem - key(?) : A chave/índice do elemento atual sendo processado na tabela - Retorna: (?) Um novo elemento a ser inserido na tabela resultante. - ordered(boolean) : Se true a tabela resultante será ordenada com índices númericos crescentes ignorando as chaves da tabela original Retorna: (table) Uma tabela contendo os novos elementos gerados pela função predicate. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function table.map(self, predicate, ordered) table.filter( self, predicate, ordered ) Esta função cria uma nova tabela com todos os elementos que passaram no teste implementado pela função fornecida. Parâmetros: - self(table) : A tabela a ser mapeada - predicate(function(value, key)) : A função para testar cada elemento da tabela. Retorna true para manter o elemento, false caso contrário, recebendo dois argumentos: - value(?) : O elemento que está sendo processado na tabela - key(?) : A chave/índice do elemento atual sendo processado na tabela - Retorna: (boolean) true para manter o elemento, false caso contrário - ordered(boolean) : Se true a tabela resultante será ordenada com índices númericos crescentes ignorando as chaves da tabela original Retorna: (table) Uma nova tabela com os elementos que passaram no teste. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function table.filter(self, predicate, ordered) table.extend( self, other, ordered ) Esta função cria uma nova tabela com todos os elementos da tabela(self) e adiciona ao final da tabela resultante todos os elementos da tabela(other). Parâmetros: - self(table) : A tabela a ser extendida - other(table) : A tabela para concatenar (unir) a tabela retornada. - ordered(boolean) : Se true a tabela resultante será ordenada com índices númericos crescentes ignorando as chaves das tabelas originais Retorna: (table) Uma nova tabela com os elementos da tabela self e da tabela other. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 function table.extend(self, other, ordered) table.find( self, predicate ) Esta função retorna o valor do primeiro elemento da tabela que satisfizer a função de teste provida. Caso contrario, nil é retornado. Parâmetros: - self(table) : A tabela contendo os elementos - predicate(function(value, key)) : A função executada a cada iteração da tabela, recebendo dois argumentos: - value(?) : O elemento que está sendo processado na tabela - key(?) : A chave/índice do elemento atual sendo processado na tabela - Retorna: (boolean) true para caso o elemento tenha sido encontrado, false caso contrário Retorna: (?) O valor do primeiro elemento da tabela que satisfaz a função de teste fornecida; caso contrário, nil. Code Lua 1 2 3 4 5 6 7 8 9 function table.find(self, predicate) table.contains( self, value ) Esta função determina se uma tabela contém um determinado elemento, retornando true ou false apropriadamente. Parâmetros: - self(table) : A tabela contendo os elementos - value(?) : O elemento a buscar Retorna: (boolean) true se o elemento for encontrado; caso contrário, false. Code Lua 1 2 3 4 5 6 7 8 9 function table.contains(self, value) table.hasKey( self, key ) Esta função retorna um booleano indicando se o elemento com a chave especificada existe ou não. Parâmetros: - self(table) : A tabela contendo os elementos - key(?) : A chave/índice do elemento que será testado na tabela Retorna: (boolean) true se o elemento com a chave ou índice especificado existe na tabela, de outra forma será retornado false. Code Lua 1 2 3 4 5 6 7 8 9 function table.hasKey(self, key) table.length( self ) Esta função obtém o tamanho de uma tabela, caso esteja usando o metamétodo __len ele será invocado e seu valor de retorno utilizado. Parâmetros: - self(table) : A tabela da qual será extraída o tamanho Retorna: (number) o tamanho da tabela passada como parâmetro. Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 function table.length(self) table.freeze( self ) Está função congela uma tabela: isto é, impede que novas propriedades sejam adicionadas a ela; impede que as propriedades existentes sejam removidas; e impede que propriedades existentes sejam alteradas. Em essência a tabela é efetivamente imutável. A função retorna uma metatabela imutável com acesso a tabela original. Parâmetros: - self(table) : A tabela a qual será congelada Retorna: (table) Uma metatabela imutável com acesso aos elementos da tabela de origem. Esta função pode ser usada em conjunto com a função table.length Code Lua 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function table.freeze(self) Todo o código pode ser encontrado aqui: table-utils.lua |