Documentação Lua |
0 | ||
Documentação Lua
└─ Mudanças:
├─ Foi adicionado um segundo argumento a função tfm.exec.newGame, que diz se o mapa vai rodar invertido ou não. ├─ Uma nova propriedade foi adicionada: tfm.get.room.mirroredMap, que diz quando um mapa é invertido ou não. ├─ A propriedade tfm.get.room.passwordProtected diz quando há senha na sala. └─ Agora não é mais possível colocar senhas em salas modules oficiais, a função tfm.exec.setRoomPassword permite colocar senha agora, apenas disponível para desenvolvedores Lua. Eventos
├─ eventChatCommand(jogador, comando)
├── jogador: o nome do jogador. └── comando: o texto digitado pelo jogador(sem a exclamação). ├─ eventChatMessage(jogador, mensagem)
├── jogador: o nome do jogador. └── mensagem: o texto digitado pelo jogador. ├─ eventEmotePlayed(jogador, idDoEmote, parametroDoEmote)
├── jogador: o nome do jogador. ├── idDoEmote: o id da ação feita pelo jogador. └── parametroDoEmote: o parâmetro utilizado(se aplica apenas a ação da bandeira). ├─ eventFileLoaded(idDoArquivo, dadosDoArquivo) *
├── idDoArquivo: o Identificador do arquivo carregado(Por exemplo Eshkation_1). └── dadosDoArquivo: os dados do arquivo carregado. ├─ eventFileSaved() *
├─ eventKeyboard(jogador, idDaTecla, pressionando, posiçãoX, posiçãoY)
├── jogador: nome do jogador que pressionou a tecla. ├── idDaTecla: o ID da tecla apertada. ├── pressionando: se o jogador está pressionando a tecla. ├── posiçãoX: a posição horizontal do jogador. └── posiçãoY: a posição vertical do jogador. ├─ eventMouse(jogador, posiçãoX, posiçãoY)
├── jogador: nome do jogador que clicou. ├── posiçãoX: a posição horizontal do clique do mouse. └── posiçãoY: a posição vertical do clique do mouse. ├─ eventLoop(tempoPassado, tempoRestante)
├── tempoPassado: o tempo passado desde o início do mapa. ├── tempoRestante: o tempo restante do mapa. ├─ eventNewGame()
├─ eventNewPlayer(jogador)
└── jogador: o jogador que entrou na sala. ├─ eventPlayerDataLoaded(jogador, dadosDoJogador) *
├── jogador: o nome do jogador que teve os dados carregados. └── dadosDoJogador: os dados carregados. ├─ eventPlayerDied(jogador)
└── jogador: o nome do jogador que morreu. ├─ eventPlayerGetCheese(jogador)
└── jogador: o nome do jogador que pegou o queijo. ├─ eventPlayerLeft(jogador)
└── jogador: o nome do jogador que saiu da sala. ├─ eventPlayerVampire(jogador)
└── jogador: o nome do jogador que se transformou. ├─ eventPlayerWon(jogador, tempoPassado, tempoPassadoDesdeRespawn
├── jogador: o nome do jogador que entrou na toca. ├── tempoPassado: o tempo passado em milisegundos desde o início do mapa. └── tempoPassadoDesdeRespawn: o tempo passado em milisegundos desde o respawn do jogador. ├─ eventPlayerRespawn(jogador)
└── jogador: o nome do jogador que respawnou. ├─ eventPopupAnswer(idDaPopup, jogador, resposta
├── idDaPopup: o id da popup que foi respondida. ├── jogador: o jogador que respondeu a popup. └── resposta: a resposta do jogador.
└── qualquer string para popup do tipo 2. ├─ eventSummoningStart(jogador, tipoDoObjeto, posiçãoX, posiçãoY, ângulo)
├── jogador: o nome do jogador que iniciou a invocação. ├── tipoDoObjeto: o id do objeto que está sendo invocado. ├── posiçãoX: a posição horizontal do objeto. ├── posiçãoY: a posição vertical do objeto. └── ângulo: o ângulo(em graus) do objeto. ├─ eventSummoningCancel(jogador)
└── jogador: o nome do jogador que cancelou a invocação. ├─ eventSummoningEnd(jogador, tipoDoObjeto, posiçãoX, posiçãoY, ângulo, descriçãoDoObjeto)
├── jogador: o nome do jogador que terminou a invocação. ├── tipoDoObjeto: o id do objeto que foi invocado. ├── posiçãoX: a posição horizontal do objeto. ├── posiçãoY: a posição vertical do objeto. ├── ângulo: o ângulo(em graus) do objeto. └── descriçãoDoObjeto: a tabela do objeto, semelhante a tfm.get.room.objectList. ├─ eventTextAreaCallback(idDaTextArea, jogador, callback)
os callbacks são tags âncoras html, que começam com "event:" (exemplo: <a href="event:honk">clique para honk</a>). Caso o callback se inicie com "#clear,", a textArea será apagada e o callback recebido será o texto após a vírgula. ├── idDaTextArea: o id da text area ├── jogador: o nome do jogador que clicou na text area. └── callback: o callback da tag âncora clicada. ├─ eventColorPicked(idDoColorPicker, jogador, cor)
├── idDoColorPicker: o id do color picker. ├── jogador: o nome do jogador que escolheu a cor. └── cor: a cor escolhida pelo jogador(-1 caso não tenha escolhido nenhuma). Utilize string.format("%x", cor) para obter a cor em hexadecimal. Funções
├─ debug.disableEventLog(desativado)
└── desativado: se deve ou não ser desativado. (Valor padrão = true) ├─ debug.disableTimerLog(desativado)
└── desativado: se deve ou não ser desativado. (Valor padrão = true) ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ├─ system.bindKeyboard(jogador, idDaTecla, pressionar, ativo)
├── jogador: o jogador para ativar a tecla. ├── idDaTecla: o id da tecla que você quer ativar.
└── para identificar teclas de movimento mais precisamente, utilize os ids 0(esquerda), 1(cima), 2(direita) ou 3(baixo). └── ativo: se o identificador para tal tecla está ativo para o jogador.(Valor padrão = true) ├─ system.bindMouse(jogador, ativo)
├── jogador: o jogador para ativar o identificador de cliques. └── ativo: se o identificador para clique do mouse está ativo para o jogador.(Valor padrão = true) ├─ system.disableChatCommandDisplay(comando, escondido)
├── comando: o comando para esconder(sem !). └── ativo: se o comando deve ou não ficar escondido. (Valor padrão = true) ├─ system.exit()
├─ system.giveEventGift(jogador, codigoDoPresente) *
├── jogador: o nome do jogador que irá receber o presente. └── codigoDoPresente: o código de presente, dado por um administrador. ├─ system.loadFile(idDoArquivo) *
└── idDoArquivo: o id do arquivo a ser carregado. (Valor padrão = 0) ├─ system.loadPlayerData(jogador) *
└── jogador: o nome do jogador para carregar os dados. ├─ system.newTimer(callback, tempo, loop, argumentos) *
├── callback: a função a ser chamada. ├── tempo: o tempo de delay em milisegundos para chamar o callback. ├── loop: se o timer deve entrar em loop ou não. (Valor padrão = true) └── argumentos: os argumentos do callback a ser chamado. ├─ system.removeTimer(idDoTimer) *
└── idDoTimer: o id do timer a ser parado. ├─ system.saveFile(dados, idDoArquivo) *
├── dados: os dados do arquivo. └── idDoArquivo: o id do arquivo a ser salvo. ├─ system.savePlayerData(jogador, dados) *
├── jogador: o jogador a ter os dados salvos. └── dados: os dados a serem salvos. ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ├─ tfm.exec.addConjuration(posiçãoX, posiçãoY, duração)
├── posiçãoX: a coordenada horizontal da conjuração. ├── posiçãoY: a coordenada vertical da conjuração. └── duração: o tempo de duração (em milissegundos) da conjuração. (Valor padrão = 1000) ├─ tfm.exec.addImage(url, alvo, posiçãoX, posiçãoY, jogador) *
├── url: a url da imagem a ser adicionada(Apenas imagens da atelier801 são aceitas). ├── alvo: o elemento alvo a ter a imagem adicionada.
├── $nomeDoJogador: adiciona a imagem ao jogador. ├── %nomeDoJogador: substitui o rato pela imagem. ├── ?idDaCamada: adiciona a imagem a uma camada de pisos em primeiro plano. ├── _idDaCamada: adiciona a imagem a uma camada de pisos em plano de fundo. ├── !IdDaCamadaDePrimeiroPlano: adiciona a imagem a uma camada do mapa em primeiro plano. └── &IdDaCamadaFixada: adiciona uma imagem fixada na tela. ├── posiçãoX: a coordenada horizontal em relação ao alvo. (Valor padrão = 0) ├── posiçãoY: a coordenada vertical em relação ao alvo. (Valor padrão = 0) └── jogador: o jogador que pode ver a imagem (Valor padrão = nil) ├─ tfm.exec.addJoint(idDaJoint, idPiso1, idPiso2, opções)
├── idDaJoint: o id da joint a ser adicionada ├── idPiso1: o primeiro piso para adicionar a joint. ├── idPiso2: o segundo piso para adicionar a joint. └── opções: as opções da joint a ser adicionada.
├── point1: localização da âncora do piso1 (padrão: centro do piso1). ├── point2: localização da âncora do piso2 (padrão: centro do piso2), usado somente em joints de polia e revol. ├── point3, point4: locais das âncoras da polia, usadas somente em joints de polia. ├── frequency, damping: taxa de frequência e amortecimento das joints de distância. ├── axis, angle: eixo e o ângulo das joints prismáticas. ├── limit1, limit2, forceMotor, speedMotor: ├── ratio: limites de translação/rotação das joints prismáticas. └── line, color, alpha, foreground: Se nenhuma dessas propriedades for definida, a joint não aparece. ├─ tfm.exec.addPhysicObject(idDoPiso, posiçãoX, posiçãoY, opções)
├── idDoPiso: o id do piso a ser adicionado. ├── posiçãoX: a posição horizontal do piso. ├── posiçãoY: a posição vertical do piso. └── opções: as configurações do piso a ser adicionado.
├─ width: a largura do piso. ├─ height: a altura do piso. ├─ foreground: se o piso é primeiro plano ou não ├─ friction: a fricção do piso. ├─ restitution: a restituição do piso. ├─ angle: o ângulo(em graus) do piso. ├─ color: a cor do piso(apenas para circulos e retângulos). ├─ miceCollision: se deve ou não colidir com ratos. ├─ groundCollision: se deve ou não colidir com objetos. ├─ dynamic: se é dinâmico ou não ├─ fixedRotation: se a rotação é fixada ou não. ├─ mass: a massa do piso. ├─ linearDamping: amortecimento linear do piso. └─ angularDamping: amortecimento angular do piso. ├─ tfm.exec.addShamanObject(tipoDoObjeto, posiçãoX, posiçãoY, ângulo, velocidadeX, velocidadeY, fantasma)
├── tipoDoObjeto: o id do objeto de shaman a ser adicionado. ├── posiçãoX: a posição horizontal do objeto. ├── posiçãoY: a posição vertical do objeto. ├── ângulo: o ângulo(em graus) do objeto. ├── velocidadeX: a velocidade horizontal do objeto. ├── velocidadeY: a velocidade vertical do objeto. └── fantasma: se o objeto deve ser fantasma ou não. ├─ tfm.exec.chatMessage(mensagem, alvo) *
├── mensagem: a mensagem a ser enviada. └── alvo: o jogador alvo que pode ver a mensagem. (Valor padrão = nil) ├─ tfm.exec.disableAfkDeath(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.disableAllShamanSkills(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.disableAutoNewGame(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.disableAutoScore(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.disableAutoShaman(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.disableAutoTimeLeft(desativado)
└── desativado: se pode ou não ser desativado. (Valor padrão = true) ├─ tfm.exec.displayParticle(idDaParticula, posiçãoX, posiçãoY, velocidadeX, velocidadeY, aceleraçãoX, aceleraçãoY, jogador)
├─ Id da partícula: o id da particula a ser adicionada. ├─ PosiçãoX: a coordenada horizontal aonde a partícula deve ser adicionada. ├─ PosiçãoY: a coordenada vertical aonde a partícula deve ser adicionada. ├─ VelocidadeX: a velocidade horizontal da partícula deve ser adicionada. (Valor padrão = 0) ├─ VelocidadeY: a velocidade vertical da partícula deve ser adicionada. (Valor padrão = 0) ├─ AceleraçãoX: a aceleração horizontal da partícula deve ser adicionada. (Valor padrão = 0) ├─ AceleraçãoY: a aceleração vertical da partícula deve ser adicionada. (Valor padrão = 0) └─ jogador: o jogador que pode ver a partícula (se for nil, aparece para todos os jogadores). (Valor padrão = nil) ├─ tfm.exec.explosion(posiçãoX, posiçãoY, força, raio, apenasRatos)
├─ posiçãoX: a coordenada horizontal aonde a explosão vai acontecer. ├─ posiçãoY: a coordenada vertical aonde a explosão vai acontecer. ├─ força: a força máxima da explosão. ├─ raio: o raio da explosão └─ apenasRatos: se deve afetar apenas os ratos. (Valor padrão = false) ├─ tfm.exec.giveCheese(jogador)
└─ jogador: o jogador que deve receber o queijo. ├─ tfm.exec.giveMeep(jogador)
└─ jogador: o jogador que deve receber o meep. ├─ tfm.exec.killPlayer(jogador)
└─ jogador: o jogador que deve morrer. ├─ tfm.exec.lowerSyncDelay(jogador) *
└─ jogador: o jogador que deve ter o tempo de atualização diminuido. ├─ tfm.exec.moveObject(idDoObjeto, posiçãoX, posiçãoY, adicionarPosição, velocidadeX, velocidadeY, adicionarVelocidade)
├─ idDoObjeto: o id do objeto a ser movido. ├─ posiçãoX: a nova coordenada horizontal do objeto. ├─ posiçãoY: a nova coordenada vertical do objeto. ├─ adicionarPosição: se a coordenada deve se somar a atual ou não. (Valor padrão = false) ├─ velocidadeX: a nova velocidade horizontal do objeto. (Valor padrão = 0) ├─ velocidadeY: a nova velocidade vertical do objeto. (Valor padrão = 0) └─ adicionarVelocidade: se a velocidade deve se somar a atual ou não. (Valor padrão = false) ├─ tfm.exec.movePlayer(jogador, posiçãoX, posiçãoY, adicionarPosição, velocidadeX, velocidadeY, adicionarVelocidade)
├─ jogador: o nome do jogador a ser movido. ├─ posiçãoX: a nova coordenada horizontal do jogador. ├─ posiçãoY: a nova coordenada vertical do jogador. ├─ adicionarPosição: se a coordenada deve se somar a atual ou não. (Valor padrão = false) ├─ velocidadeX: a nova velocidade horizontal do jogador. (Valor padrão = 0) ├─ velocidadeY: a nova velocidade vertical do jogador. (Valor padrão = 0) └─ adicionarVelocidade: se a velocidade deve se somar a atual ou não. (Valor padrão = false) ├─ tfm.exec.newGame(mapa, espelhado)
└─ mapa: o código do mapa (Valor padrão = nil)
├─ 6: um mapa vanilla. ├─ @1234: um mapa de jogador. ├─ #4: um mapa de uma categoria. * └─ começa com < : um xml de mapa. ├─ tfm.exec.playEmote(jogador, idDoEmote, argumentoDoEmote)
├─ jogador: o jogador a fazer a ação. Utilize nil para todos os jogadores na sala. ├─ idDoEmote: o id da ação a ser feita. └─ argumentoDoEmote: o atributo do emote(o código da bandeira, por exemplo). (Valor padrão = nil) ├─ tfm.exec.playerVictory(jogador)
└─ jogador: o jogador a entrar na toca. ├─ tfm.exec.removeImage(idDaImagem) *
└─ idDaImagem: o id da imagem a ser removida. ├─ tfm.exec.removeJoint(idDaJoint)
└─ idDaJoint: o id da joint a ser removida. ├─ tfm.exec.removeObject(idDoObjeto)
└─ idDoObjeto: o id do objeto a ser removido. ├─ tfm.exec.removePhysicObject(idDoPiso)
└─ idDoPiso: o id do piso a ser removido. ├─ tfm.exec.respawnPlayer(jogador)
└─ jogador: o jogador a ser revivido. ├─ tfm.exec.setGameTime(tempo, inicio)
├─ tempo: o tempo em segundos. └─ inicio: se o tempo atual deve mudar mesmo se o tempo restante for maior que o dado. (Valor padrão = true) ├─ tfm.exec.setNameColor(jogador, cor)
├─ jogador: o nome do jogador a ter a cor do nick trocada. └─ cor: a nova cor do nick do jogador. ├─ tfm.exec.setPlayerScore(jogador, pontos, adicionar)
├─ jogador: o nome do jogador a ter a cor do nick trocada. ├─ pontos: a pontuação. └─ adicionar: se os pontos devem ser adicionados a pontuação do jogador ou não. ├─ tfm.exec.setRoomMaxPlayers(numeroDeJogadores) *
└─ numeroDeJogadores: o número máximo de jogadores que a sala pode ter. ├─ tfm.exec.setRoomPassword(senha) *
└─ senha: a senha da sala (caso seja uma string vazia, a senha é removida). ├─ tfm.exec.setShaman(jogador)
└─ jogador o jogador que deve virar shaman. ├─ tfm.exec.setVampirePlayer(jogador)
└─ jogador o jogador que deve virar vampiro. ├─ tfm.exec.snow(duração, poderDaBolaDeNeve)
├─ duração: a duração da neve em segundos. (Valor padrão = 60) └─ poderDaBolaDeNeve: (Valor padrão = 10) ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ├─ ui.addPopup(id, tipo, texto, jogador, posiçãoX, posiçãoY, largura, posiçãoFixada)
├─ id: o id da popup. ├─ tipo: o tipo da popup.
├─ 1: sim ou não. └─ 2: input do jogador ├─ texto: o texto da popup. ├─ jogador: o jogador que pode ver a popup (utilize nil para todos). ├─ posiçãoX: a posição horizontal da popup. (Valor padrão = 50) ├─ posiçãoY: a posição vertical da popup. (Valor padrão = 50) ├─ largura: a largura da popup. (Valor padrão = 0) └─ posiçãoFixada: se a popup deve seguir a câmera do jogador. (Valor padrão = false) ├─ ui.addTextArea(id, texto, jogador, posiçãoX, posiçãoY, largura, altura, corDeFundo, corDaBorda, alpha, posiçãoFixada)
├─ id: o id da text area. ├─ texto: o texto da text area. ├─ jogador: o jogador que pode ver a text area (utilize nil para todos). (Valor padrão = nil) ├─ posiçãoX: a posição horizontal da text area. (Valor padrão = 50) ├─ posiçãoY: a posição vertical da text area. (Valor padrão = 50) ├─ largura: a largura da text area. (Valor padrão = 0) ├─ altura: a altura da text area. (Valor padrão = 0) ├─ corDeFundo: a cor do fundo da text area. (Valor padrão = 0x324650) ├─ corDaBorda: a cor da borda da text area. (Valor padrão = 0x324650) ├─ alpha: a opacidade da text area. (Valor padrão = 1) └─ posiçãoFixada: se a text area deve seguir a câmera do jogador. (Valor padrão = false) ├─ ui.removeTextArea(id, jogador)
├─ id: o id da text area a ser removida. └─ jogador: o nome do jogador que vai ter a text area removida (utilize nil para todos). (Valor padrão = nil) ├─ ui.setMapName(texto)
└─ texto: o texto a ser mostrado. ├─ ui.setShamanName(texto)
└─ texto: o texto a ser mostrado. ├─ ui.showColorPicker(id, jogador, cor, titulo)
├─ id: o id do colorPicker. ├─ jogador: o jogador que pode ver o colorPicker (utilize nil para todos). (Valor padrão = nil) ├─ cor: a cor padrão a ser mostrada. (Valor padrão = 0) └─ titulo: o titulo do colorPicker. (Valor padrão = nil) ├─ ui.updateTextArea(id, jogador, texto)
├─ id: o id da text area. ├─ texto: o novo texto da textArea. └─ jogador: o jogador alvo (nil se aplica a todos). (Valor padrão = nil) Dernière modification le 1469138940000 |
Thuzinh0 « Citoyen » 1463785860000
| 0 | ||
nao sei o que fazer com isso, socorro |
0 | ||
mrorko a dit : vlws thuzinh0 a dit : é só a documentação traduzida mostrando como usar cada função do lua |
Davesglm « Citoyen » 1463787840000
| 0 | ||
"tfm.exec.newGame(mapa, espelhado) Inicia um novo mapa" Inverte qualquer mapa? Se sim, como funciona? Não entendi muito bem. |
Pitutlyg « Citoyen » 1463790420000
| 0 | ||
Bem melhor de entender, e olha que isso é bem complicadinho :/ |
0 | ||
davizinhoglm a dit : Sim, qualquer mapa pode ser invertido com ele: tfm.exec.newGame(0, false) tfm.exec.newGame(0, true) |
Davesglm « Citoyen » 1463813280000
| 0 | ||
Obrigado. |
0 | ||
Eshkation a dit : não totalmente, né fof |
Henistocrat « Citoyen » 1463834460000
| 0 | ||
eventChatCommand vai falir por conta da eventChatMessage, se bem que é bem melhor né |
0 | ||
henrickmouse a dit : Dificilmente, eventChatMessage pode causar problemas de runtime em salas cheias demais |
Laagaadoo « Citoyen » 1463851620000
| 0 | ||
que tópico maravilindo esh |
Fofinhoppp « Consul » 1463883600000
| 0 | ||
Ficou linda a nova organização esh |
Enshake « Citoyen » 1463919000000
| 0 | ||
Fonte lecau, parabéns. Lindo tópico. |
0 | ||
Laagaadoo a dit : Fofinhoppp a dit : enshake a dit : vlws |
Enshake « Citoyen » 1463945400000
| 0 | ||
Eshkation a dit : dnd |
Jellymichey « Censeur » 1464270840000
| 0 | ||
podes-me dizer como associo um evento acionador a uma ação? como se evento fosse um interruptor e ação fosse a lampada? |
0 | ||
jellymichey a dit : Um exemplo: quero fazer um script aonde ao jogador pegar o queijo, ele morre. Pra isso eu vou utilizar um evento e uma função: eventPlayerGetCheese e tfm.exec.killPlayer, o script vai ficar mais ou menos assim: Script a dit : Nesse caso, a ação de pegar o queijo vai ser um interruptor, o eventPlayerGetCheese os fios elétricos e tfm.exec.killPlayer a lâmpada. |
Weshie « Citoyen » 1464360600000
| 0 | ||
Adorei. :3 Parabens, Esh. |