![]() |
![]() ![]() « Consul » 1491674940000
| 2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Bem-vindo aos sub-modos do #grounds! O que é #grounds? ㅤ#Grounds é um minigame semi-oficial desenvolvido por Bolodefchoco que traz como objetivo utilizar os poderes de cada piso para que você possa entrar na toca o mais rápido possível. O que são os sub-modos do #grounds? ㅤOs sub-modos não seguem a jogabilidade original do modulo #grounds. São diversos joguinhos (dos quais você só pode jogar em salas, não no cafofo) que podem ser executados por meio do nome da sala. [Um exemplo de sistema é o #circuit0uno] ㅤAtualmente, existem os seguintes sub-modos:
Como eu posso jogar os sub-modos? ㅤVocê irá precisará utilizar o nome da sala, apenas. ㅤUtilize #groundsNúmero aleatório*Nome do sub-modo ㅤComo, por exemplo: #grounds666*xmas Como eu posso enviar um sub-modo? ㅤEste tópico foi aberto especialmente para os desenvolvedores que desejam seu minigame apto para serem jogados em sala, como um sub-modo. ㅤVocê poderá enviar seu minigame tanto por mensagem privada ![]() ㅤNo entanto, você deverá seguir algumas regras dentro do seu código: * -> Você não deve mudar o nome da variável
ENVIO ABERTO #grounds0*Jokenpo - Desenvolvido por Bolodefchoco
#grounds0*Click - Desenvolvido por Bolodefchoco
#grounds0*Presents - Desenvolvido por Bolodefchoco e idealizado por Ruamorangos
#grounds0*Chat - Desenvolvido por Bolodefchoco
#grounds0*CannonUp - Desenvolvido por Bolodefchoco e idealizado por Byontr
#grounds0*Xmas - Desenvolvido por Bolodefchoco e arte por Bogkitty
#grounds0*Signal - Desenvolvido por Bolodefchoco e arte por Flindix
#grounds0*Bootcamp+ - Desenvolvido por Bolodefchoco e idealizado por Mquk
![]()
#grounds0*Godmode - Desenvolvido por Bolodefchoco e idealizado por Mcqv
#grounds0*Sharpie - Desenvolvido por Bolodefchoco, inicialmente Sharpiepoops
ㅤVocê poderá utilizar as variáveis e funções a seguir para um melhor desempenho do seu modulo dentro do #grounds, uma vez que fazem parte de tal jogo. Vale salientar que a source informada não é exatamente a mesma que se encontra no módulo, mas apenas um pedaço para que seu script não pare. ㅤCaso você tenha dúvida de como utilizá-los, pergunte no tópico. #VARIÁVEIS • system.newGameTimer Pode ser utilizado para verificar quando você poderá executar um novo tfm.exec.newGame. Há um limite de uma execução a cada 6 segundos e utiliza-se este timer. • system.officialMode Seu primeiro index, [1], informa o modo de jogo oficial, caso exista, como vanilla, defilante, bootcamp, etc... O segundo index, [2], contém um texto relacionado a cada modo. • system.isRoom Verifica se a sala é um cafofo ou uma sala "#" Valor: (Boolean) true para sala "#", false para cafofo • system.roomAdmins Armazena os administradores da sala [O nome da sala poderá conter @Nome, onde Nome será um administrador]. Sua estrutura na tabela é [Nome] = true, onde Nome é o índice. • system.miscAttrib Contém um número [1-99] informado no nome da sala. exemplo: o valor da variável na sala "#grounds0*game#69" será "69", enquanto "#grounds0*game#666" será "99" e "#grounds0*game#-5" será "1" • system.roomNumber Armazena o número da sala • system.roomAttributes Armazena os argumentos passados pelo nome da sala • _G.currentTime Uma forma mais fácil de trabalhar com o tempo da partida. Valor: (Float) o tempo atual da partida
• _G.leftTime Uma forma mais fácil de trabalhar com o tempo restante da partida. Valor: (Float) o tempo restante para a próxima partida
#FUNÇÕES • system.setAdmins ( ) Retorna uma tabela com os administradores fixos do módulo. Útil para system.roomAdmins = system.setAdmins(). Retorna: (Table) lista de administradores fixos do módulo • system.isPlayer ( n ) Verifica se o jogador inserido é, de fato, um jogador. Isso evita que fakes e souris atrapalhem seu jogo. O método de verificação checa se o jogador é souris ou não e se sua data de registro no jogo é maior que 5 dias. Parâmetros: - n (String) : o nome do jogador a ser verificado Retorna: (Boolean) true se é um jogador e false se não passou nas verificações • system.players ( alivePlayers ) Faz um controle dos jogadores na sala Parâmetros: - alivePlayers (String) : caso true, a função retornará uma tabela com o nome de todos os jogadores vivos Retorna: #1 (Int) o total de jogadores vivos #2 (Int) o total de jogadores na sala • system.loadTable ( s ) Carrega uma tabela de acordo com a string inserida exemplo: system.loadTable("system.isPlayer")("Bolodefchoco") Parâmetros: - s (String) : a string a ser transformada Retorna: (Table) a tabela referente a string dada • system.getTranslation ( s ) Carrega o dado pedido da tabela translations em forma de string. (Utiliza-se a variável langue presente em todos os submodos) exemplo: system.getTranslation("welcome") -- Onde translations = {en = { welcome = "Hi" }} Parâmetros: - s (String) : o caminho na tabela de traduções Retorna: (Table) a string referente ao caminho dado • system.looping ( f, tick ) Faz um looping que executa a função tick vezes por segundo Parâmetros: - f (Function) : a função a ser executada - tick (Integer) : repetições por segundo Retorna: (Table) a tabela com os timers inseridos • math.isNegative ( x, iN, iP ) Retorna um parâmetro de acordo com o sinal do número informado Parâmetros: - x (Number) : o número para ter o sinal verificado - iN (String) : o parâmetro a ser retornado caso o número informado seja negativo - iP (String) : o parâmetro a ser retornado caso o número informado seja positivo Retorna: (String) o parâmetro de acordo com o sinal do número informado • math.percent ( x, y, v ) Realiza a porcentagem entre os números x e y Parâmetros: - x (Number) : o número atual - y (Number) : o número final - v (Number) : o número máximo (valor padrão = 100) Retorna: (Number) o valor de quantos porcento x é de y com o valor máximo retornável v • math.pythag ( x1, y1, x2, y2, range ) Verifica se uma coordenada está dentro de um círculo imaginário Parâmetros: - x1 (Number) : o ponto X da coordenada - y1 (Number) : o ponto Y da coordenada - x2 (Number) : o ponto X do círculo - y2 (Number) : o ponto Y do círculo - range (Number) : o raio do círculo Retorna: (Boolean) true se a coordenada está dentro do círculo e false se a coordenada está fora do círculo • math.setLim ( value, min, max ) Cria um limite para o valor dado, onde ele nunca será menor ou maior que os valores especificados Parâmetros: - value (Number) : o número a ser controlado - min (Number) : o número mínimo (caso value < min, value = min) - max (Number) : o número máximo (caso value > max, value = max) Retorna: (Number) o valor especificado controlado numa cadeia • string.split ( value, pattern, f ) Fragmenta uma string por meio de um padrão Parâmetros: - value (String) : a string a ser fragmentada - pattern (String) : o padrão a ser seguido - f (Function) : a função ser realizada com o valor fragmentado (valor padrão = nil) Retorna: (Table) a tabela com as strings fragmentadas • string.nick ( player ) Normaliza o nome de um jogador exemplo: string.nick("BoLOdefCHOco") Parâmetros: - player (String) : a string do nome do jogador a ser normalizada Retorna: (String) nome do jogador normalizado • table.find ( list, value, index, f ) Verifica se um valor existe dentro de uma tabela Parâmetros: - list (Table) : a tabela que deve ou não conter o valor a ser especificado - value (String) : o valor a ser identificado na tabela - index (Int) : índice da sub-tabela, caso você queira encontrar o valor dentro de uma (valor padrão = nil) - f (Function) : função a ser executada no valor da verificação atual (valor padrão = nil) Retorna: #1 (Boolean) true se o valor foi encontrado e false se o valor não foi encontrado #2 (Int) o índice na tabela onde o valor foi encontrado • table.turnTable ( x ) Transforma um valor em tabela caso o valor especificado não seja uma Parâmetros: - x (String) : a informação a ser transformada em tabela Retorna: (Table) a tabela referente ao valor especificado • table.random ( t ) Retorna um valor aleatório de uma tabela Parâmetros: - t (Table) : a tabela que terá um valor aleatório retornado Retorna: (String) um valor aleatório da tabela • table.shuffle ( t ) Embaralha os valores de uma tabela Parâmetros: - t (Table) : a tabela que terá os valores embaralhados Retorna: (Table) a tabela embaralhada • deactivateAccents ( str ) Remove os acentos do texto inserido Parâmetros: - str (String) : a string a ter os acentos removidos Retorna: (String) a string com os acentos removidos • normalizedTime ( time ) Normaliza o tempo inserido, fazendo com que ele se transforme em números de 0.5 em 0.5 e não sejam tão quebrados. Parâmetros: - time (Number) : o número com o tempo a ser transformado Retorna: (Number) o número normalizado • normalizeTranslation ( ) Normaliza a tabela de tradução, isto é: Caso uma tradução não exista numa linguagem, ela será, por padrão, a mensagem em inglês. [esta mensagem é automaticamente executada quando um modulo é iniciando, porém ainda faz parte da API caso seu uso seja necessário] • disableChatCommand ( command ) Desativa o comando no chat, além do mesmo em letras minúsculas e maiúsculas Parâmetros: - command (String) : o comando, sem "!" • xml.parse ( currentXml ) Captura todos os atributos na tag de parâmetros Parâmetros: - currentXml (String) : a string do xml atual que pode ser obtida com tfm.get.room.xmlMapInfo.xml Retorna: (Table) a tabela com o formato atributo="valor" • xml.attribFunc ( currentXml, funcs ) Permite realizar funções de acordo com os atributos presentes na tag de parâmetros do mapa atual Parâmetros: - currentXml (String) : a string do xml atual que pode ser obtida com tfm.get.room.xmlMapInfo.xml - funcs (Table) : a tabela que informa o atributo e a função a ser realizada. O atributo deverá estar no índice attribute e a função(valor) deverá estar no índice func. exemplo: {[1] = { attribute = "mapname", func = function(texto) if texto ~= "" then ui.setMapName(texto) end end }} • xml.addAttrib ( currentXml, out, launch ) Insere um atributo na tag de parâmetros do XML do mapa atual Parâmetros: - currentXml (String) : a string do xml atual que pode ser obtida com tfm.get.room.xmlMapInfo.xml - out (Table) : a tabela que informa o atributo e o valor a serem adicionados. O atributo deverá estar no índice tag e o valor deverá estar no índice value. exemplo: {[1] = { tag = "mapname", value = "texto do mapa" }} - launch (Boolean) : caso true, o novo XML será carregado, caso false, o novo XML será retornado. (valor padrão = false) Retorna: (String) o novo XML • xml.getCoordinates ( s ) Captura as coordenadas dadas num atributo, seja por axis ou valores exatos. exemplo: "x;10", "y;10", "10,20", "10,20,30,40,50,60" Parâmetros: - s (String) : a string com as coordenadas a serem coletadas Retorna: (Int) Caso haja axis (x; ou y;), o valor será x ou 0, y ou 0, caso contrário, será retornado uma Table com todas as coordenadas [ímpares são x : 1, 3.., pares são y: 2, 4...] #RECRIADOS • table.concat ( list, sep, f, i, j ) Exerce a função do table.concat oficial (iterar uma tabela numa string), porém foi adicionado um parâmetro f que permite você alterar como o valor será colocado na string. Parâmetros: - list (Table) : a tabela a ser iterada numa string - sep (String) : o separador de valores da tabela na string (valor padrão = "") - f (Function) : a função a ser executada com o valor da tabela na string (valor padrão = nil) exemplo: table.concat({"a","b","c","d"}," ",function(indice, valor) return "{ " .. indice .. " : " .. valor .. " }" end) - i (Int) : o índice onde a iteração deverá ser iniciada (valor padrão = 1) - j (Int) : o índice onde a iteração deverá ser finalizada (valor padrão = #list) Retorna: (String) a string com a tabela iterada • tfm.exec.newGame ( code ) Carrega um mapa, porém com um limite de 1 carregamento a cada 6 segundos. Parâmetros: - code (String) : Código do mapa a ser carregado Retorna: (Boolean) true caso o mapa tenha sido carregado e false caso o tempo de nova execução não esteja zerado • tfm.exec.chatMessage ( txt, n ) Agora não há mais limite para o tamanho do texto. Parâmetros: - txt (String) : O texto a ser mostrado no chat - n (String) : O jogador que verá o texto (valor padrão = nil) Execute seu submodo 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 -- Dernière modification le 1499965140000 |
![]() ![]() « Citoyen » 1491695880000
| 0 | ||
*I N A C R E DI T Á V E L* Boa sorte para todos e um imenso gj para Bolodefchoco |
![]() « Citoyen » 1491953220000
| 0 | ||
Impressionamente :V |
![]() ![]() « Consul » 1492020900000
| 1 | ||
#signal atualizado! Dernière modification le 1492021440000 |
![]() ![]() « Censeur » 1493153100000
| 0 | ||
não dá para voar direito na nuvem conserta alguém |
![]() « Citoyen » 1493154960000
| 0 | ||
Jellymichey a dit : O tópico se refere aos sub-modos do modulo #grounds, desde a apresentação dos existentes até um convite para que novos sejam desenvolvidos, tanto é que existe uma pequena API com funções para que você tenha uma liberdade maior no ambiente. Assuntos específicos do modulo #grounds devem ser tratados em seu respectivo tópico. |
![]() « Citoyen » 1493158380000
| 0 | ||
gostei dos sub-modos :) |
![]() 1493160600000
| | ||
[Modéré par Excasr, raison : offtopic - não pertinente ao tópico] |
![]() 1493167140000
| | ||
[Modéré par Excasr, raison : offtopic - não pertinente ao tópico] |
![]() ![]() « Censeur » 1493167740000
| 0 | ||
sobre o signal flindex noob só desenha coisa feia igual a cara dele Dernière modification le 1493603940000 |
![]() ![]() « Consul » 1493936580000
| 5 | ||||
Novo submodo! #Bootcamp+ #grounds0*Bootcamp+ - Desenvolvido por Bolodefchoco e idealizado por Mquk
|
![]() ![]() « Consul » 1496248620000
| 1 | ||
» Todos os bugs conhecidos foram consertados, em todos os submodos. » Todos os códigos, inclusive o do próprio #grounds foram aperfeiçoados e estão mais leves. » A API conta com novas funções, tais como: system.newGameTimer, tfm.exec.newGame, system.roomNumber, system.getTranslation, system.looping, table.shuffle, xml.parse, xml.getCoordinates Aproveite (: |
![]() ![]() « Consul » 1497623160000
| 2 | |||||||||
Novo comando em #chat: !unlock [Title] Dois novos submodos: #Map e #Godmode ![]()
![]()
Nova função na API: normalizeTranslation() Atualização da API e um novo código para que você possa executar seu submodo sem complicações. Espie 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 --[[ API ]]-- #GROUNDS AGORA É OPEN SOURCE! PEÇA JÁ O SCRIPT! /C BOLODEFCHOCO |
![]() ![]() « Consul » 1498419840000
| 1 | ||||
Novo submodo! #Sharpie #grounds0*Sharpie - Desenvolvido por Bolodefchoco, inicialmente Sharpiepoops
|
![]() ![]() « Consul » 1505505000000
| 0 | ||
Trancado a pedido do criador do module. |