×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Forums
  • /
  • Transformice
  • /
  • Archives
  • /
  • Seção Editor de Mapas e Modules
  • /
  • Module API
1 / 8 › »
Module API
Mumich
« Citoyen »
1375217760000
    • Mumich#6666
    • Profil
    • Derniers messages
    • Tribu
#1
  0
http://www.transformice.com/share/api.png

http://i.imgur.com/n5YMItp.png
O que é Module API?
O Module API é um sistema de criação de minigames instalado no Transformice que permite que pessoas criem seus próprios minigames sem ser necessário o uso de bots, através da execução de scripts dentro do jogo. Isto foi originalmente anunciado aqui: Topic-248549

O que é um módulo?
Um modulo é o nome dado a qualquer sala rodando um script. Módulos oficiais foram aprovados pelos administradores e podem ser jogados em qualquer sala com o nome do módulo no início, seguido por um número, assim como #deathmatch1337 ou #bafflua0bloons.

Quais são os módulos oficiais atuais?
Você pode digitar o comando /module dentro do jogo para ver a lista oficial dos modulos. O número depois do nome é o tanto de jogadores jogando em todas as salas que o módulo está funcionando.

http://i.imgur.com/6NtkpI7.png
Quem pode criar módulos?
Atualmente apenas um grupo selecionado de membros conhecidos como "Lua Team" podem usar o Module API para rodar os scripts através do comando /lua. Os membros do Lua Team são voluntários e não são contratados pelo Atelier 801. Moderadores, assim como jogadores comuns, não podem rodar scripts.

Como posso me juntar ao Lua Team?
Se você deseja se juntar ao Lua Team, você deve ser sugerido por um membro de dentro do grupo. Você deve falar fluentemente inglês para se comunicar com o resto do time, ser um membro confiável da comunidade e já ter o conhecimento de como usar Lua.

Algum dia isto vai ficar disponível para todos?
Sim, vai, algum dia isto vai estar disponível para se usar nos cafofos, tanto para rodar script dos outros, como para rodar o seu mesmo. Ainda não há previsão de quando será liberado.

Existe algum tipo de documentação para o Module API?
A documentação oficial está privada agora, porém, você pode ver a versão não oficial, brevemente desatualizada no link seguinte, junto com mais dois links úteis (Todos estão em Inglês):
Documentação
Enums - Inclui uma lista de objetos de shaman, emoticons, partículas e outros IDs úteis.
Stylesheet Tags - Tags de cor usadas no chat do Transformice.

O que pode ser feito com o Module API?
Muita coisa pode ser feita atualmente, porém ela ainda está em desenvolvimento e muitas coisas ainda poderão ser feitas. Você pode ler a descrição na documentação descrita acima.

O que não pode ser feito com o Module API?
Infelizmente existem algumas limitações e coisas que não podem ser feitas e que prejudicam algumas ideias de minigames que poderiam ser feitos. A seguir está a lista dos principais fatores que não podem ser feitos:
-Pregos (incluindo o usado para pregar um balão a um rato)
-Conjuração
-Salvar Estatísticas (técnicamente é possivel, mas é meio instável e bugada)
-Desativar/Ativar Habilidades do Shaman
-Escolher quem é o Shaman (você ainda pode por pontos para um jogador para ser o próximo shaman)
-Pegar o nome da tribo de um jogador

Alguem pode rodar meu script para mim?
Apenas membros do Lua Team podem rodar scripts, mas geralmente eles não fazem isto para outra pessoas.

Quais são os planos para o futuro do Module API?
Por enquanto apenas os administradores sabem exatamento o que virá para os módulos, porém algumas funções ja foram confirmadas. Pregar objetos será possível, assim como pegar a tribo de um jogador e outras diversas pequenas coisas. E também ja foi discutido que poderá haver algum tipo de integração com a plataforma da comunidade quando o Module API for oficialmente lançado.

Qual a diferença entre isto e bots?
Enquanto bots são baseados em servidores em terceira-pessoa para se conectar ao jogo e nem sempre são garantis de ficar online, o Module API é instalado dentro do jogo e todos os módulos oficiais estão disponíveis, até mesmo depois de restart do servidor. Bots (até mesmo bots dos mods) tem menos controle sobre a sala e apenas podem fazer o que jogadores normais ou moderadores podem fazer, tais que nunca foram designados para minigames.

Que tipo de mapa permanente é usado nos módulos?
Devido a um problema no qual mapas P0 (normais), P22 (cafofos) e P44 (deletados) não são carregados pelo servidor logo após um restart, um novo tipo de mapa permanente foi adicionado para ser usado nos módulos: o P41. Os mapas apenas serão p41 quando requisitado, não adianta pedir para deixar p41, pois não irá, já que eles não são classificados (high perm, ou seja, permanente de rotação).
Módulos podem usar outros tipos de permanentes que não são usados na rotação normal também:
P21 - Vampiro
P32 - Dois Shamans
P41 - Minigame

Onde eu posso conseguir ajuda sobre o minigame que estou escrevendo?
Você pode tanto discutir aqui ou pedir por ajuda no canal #tmdevs no IRC (falar em inglês).


http://i.imgur.com/zGa5pjp.png
O que é Lua?
Lua é uma leve linguagem de programação, com muitas funções, designada a escrita de scripts.

Por que Lua, e não outra linguagem de programação?
Lua é uma linguagem muito leve e fácil de se aprender designada para APIs iguais a esta. Ela é muito conhecida e existe muita documentação sobre a mesma online.

Onde eu posso aprender Lua?
Há varios lugares na internet onde o Lua é bem documentada e existem diversos tutoriais de como usar para novatos neste tipo de programação. A maioria dos links a seguir está em inglês.
Official Lua Website
Manual de Referencia do Lua (PORTUGUÊS)
Lua Wiki
FAQ não-oficial do Lua
Tutorial LUA para novatos
Guia de como aprender lua rápido
Rápida visão de como é o Lua

Que programas posso usar para escrever um código em Lua?
A caixa de texto do comando /lua não é particularmente boa para escrever qualquer coisa maior que poucas linhas. Não existe enumeração das linhas, qualquer tag escrita errada pode quebrar o script e não é larga o suficiente para ver o seu código inteiro, não tem destacador de sintaxe, além de outras coisas. Enquanto qualquer editor irá fazer o básico, alguns editores podem dar uma grande ajuda.
Eclipse com Lua Development Tools ou Lua Eclipse (IDE)
Lua Edit (IDE)
LuaIDE (IDE)
NotePad++
Sublime Text

Editores de Texto Colaborativos
Se você deseja colaborar e escrever um código junto com qualquer pessoa em tempo real, existem algumas opções disponíveis para fazer isto:
Stypi - Tabs verdadeiras (não apenas 4 espaços), destacador de sintaxe, opções de customização, salvar documento, faz ele privado e chat em tempo real.
CodeShare - Possui destacador de sintaxes para Lua.
Google Docs
EtherPad, QikPad - Vários sites de edição colaborativa funcionando em um único programa.
CollabEdit
Sync.in
PiratePad

Minimizadores de Lua
Existe um limite de 32k caracteres imposto enquanto você roda um jogo no Module API, qualquer coisa maior que isto deve ser minimizada. Minimizadores fazem o código menor através de prat´cias como removendo quebra de linhas, espaços em branco, renomeando funções e variaveis locais para alternativas mais curtas, reduzindo assim o tamanho final do arquivo.
Squish
Mothereffin Lua Minifier (web based)

Quais são outros arquivos e programas úteis para Lua?
Lua for Windows (Windows) - Interpretador de Lua.
Lua Shell (Chrome) - Interpretador de Lua.
CodePad (Web) - Interpretador de lua.
Keycodes - Lista de todas as teclas com o código correspondente a cada uma para ser usado em Lua.
ComputerCraft - Uma modificação do jogo MineCraft que adiciona computadores ao jogo onde você pode programar algumas coisas em Lua.

Você pode me mostrar alguns scripts?
Enquanto muito mais coisas de módulo podem ser motrados aqui, estes exemplos são apenas uma simplificação do que você pode fazer em Lua e como a sintaxe é estruturada.

Respawn instantâneo a dit :
function eventPlayerDied(playerName)
tfm.exec.respawnPlayer(playerName)
end

Congelar rato quando ele pega o queijo a dit :
function eventPlayerGetCheese(playerName)
tfm.exec.killPlayer(playerName)
tfm.exec.addShamanObject(tfm.enum.shamanObject.iceCube,tfm.get.room.playerList[playerName].x,tfm.get.room.playerList[playerName].y)
end

Invocar 2 bolas aleatóriamente pelo eixo X do mapa a cada 500 milissegundos a dit :
function eventLoop()
for 1,2,1 do tfm.exec.addShamanobject(6,math.random(1,799),100) end
end

Comando de ajuda a dit :
function eventChatCommand(playerName,command)
if command=="ajuda" then
tfm.exec.chatMessage("<J>Aqui está alguma ajuda para você!",playerName)
end
end

Cumprimentar um jogado quando ele entra a sala a dit :
function eventNewPlayer(playerName)
tfm.exec.chatMessage("<J>Bem-vindo a este minigame incrível!",playerName)
end

Matar todo mundo com queijo a dit :
for playerName,player in pairs(tfm.get.room.playerList) do
if player.hasCheese then
tfm.exec.killPlayer(playerName)
end
end

Voar enquanto aperta espaço a dit :
function eventNewGame()
for playerName in pairs(tfm.get.room.playerList) do
tfm.exec.bindKeyboard(playerName,32,true)
end
end
function eventKeyboard(playerName,keyCode)
if keyCode==32 then
tfm.exec.movePlayer(p,0,0,true,0,-50,true)
end
end
Montesquieu
« Censeur »
1375217880000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#2
  0
Ótimo tópico.. eu vi no EN e eu iria dar a sugestão a alguém que soubesse traduzir.. é bem util! obregado tuleo
Julioforum
« Citoyen »
1375218000000
    • Julioforum#0000
    • Profil
    • Derniers messages
    • Tribu
#3
  0
LOL, que pr0.
Mas, como isso está restrito para a maioria, pra que o tpc? :x
Josenaldo
« Citoyen »
1375218120000
    • Josenaldo#8559
    • Profil
    • Derniers messages
    • Tribu
#4
  0
lua tem alguma coisa a ver com python?
Dracopta
« Citoyen »
1375218120000
    • Dracopta#0000
    • Profil
    • Derniers messages
    • Tribu
#5
  0
Josenaldoban a dit :
lua tem alguma coisa a ver com python?

Nope!
Montesquieu
« Censeur »
1375218300000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#6
  0
Julioforum a dit :
LOL, que pr0.
Mas, como isso está restrito para a maioria, pra que o tpc? :x

Eu acho que mesmo estando restrito, o tópico é util caso desbloqueiem esse "script" algum dia todos poderiam ler o tópico e aprender seria meio que um manual, digamos.. além disso é bom para o pessoal que gosta ou gostaria de criar jogos desse tipo poderia vir aqui e tirar dúvidas.
Orkoout
« Citoyen »
1375227360000
    • Orkoout#2368
    • Profil
    • Derniers messages
    • Tribu
#7
  0
Bom tópico bem explicativo, boas dicas para "estudar" o lua.
e também alguns códigos interessantes que você pode ver procurando pelas funções do transformice no pastebin.
Lucas
« Consul »
1375228500000
    • Lucas#0095
    • Profil
    • Derniers messages
    • Tribu
#8
  0
Ótimo tópico, sei apenas alguns scripts como o meep, vamp, snow, np.
Tymbum
« Citoyen »
1375228620000
    • Tymbum#0000
    • Profil
    • Derniers messages
#9
  0
Não curto muito lua n sou mais pra php, ajax e etc...
Mas talvez eu aprenda a liguajem.
:)
Niunzin
« Citoyen »
1375231200000
    • Niunzin#0000
    • Profil
    • Derniers messages
    • Tribu
#10
  0
Bom tópico :D
Animaker
« Citoyen »
1375231440000
    • Animaker#0000
    • Profil
    • Derniers messages
    • Tribu
#11
  0
Tópico brilhante, um dia vou ter paciência para ler isso tudo xD
Guersonn
« Citoyen »
1375232880000
    • Guersonn#0000
    • Profil
    • Derniers messages
#12
  0
function '-'() {
bom topico
Groot
« Citoyen »
1375234680000
    • Groot#2270
    • Profil
    • Derniers messages
    • Tribu
#13
  0
Lua é muito bom de aprender vou entra nessa linguagem daqui a uns 2 meses, *-*
Ruanitobom
« Citoyen »
1375235040000
    • Ruanitobom#0000
    • Profil
    • Derniers messages
    • Tribu
#14
  0
:P bom tópico
Fightmovee
« Citoyen »
1375237080000
    • Fightmovee#0000
    • Profil
    • Derniers messages
    • Tribu
#15
  0
acho que tem que manjar da programação para isso aheuehuee, mais é inretessante!
Eistter
« Censeur »
1375237200000
    • Eistter#0000
    • Profil
    • Derniers messages
#16
  0
Assim como o beta test dos morangos, vai ter gente ajoelhado no milho pra ser developer KKK..
Julioforum
« Citoyen »
1375237620000
    • Julioforum#0000
    • Profil
    • Derniers messages
    • Tribu
#17
  0
Eistter a dit :
Assim como o beta test dos morangos, vai ter gente ajoelhado no milho pra ser developer KKK..

Queria que habilitassem lua no cafofo pra treinar hueheu.
Botar uns flys...
Luukaszika
« Citoyen »
1375239240000
    • Luukaszika#0000
    • Profil
    • Derniers messages
    • Tribu
#18
  0
Acho bem legal os mini-game do Lua, mais acho que nao vale a pena aprender tudo isso, pois não vou ganhar nada em troca.
Minkz
« Citoyen »
1375240800000
    • Minkz#0095
    • Profil
    • Derniers messages
    • Tribu
#19
  0
Tópico a dit :
Sim, vai, algum dia isto vai estar disponível para se usar nos cafofos, tanto para rodar script dos outros, como para rodar o seu mesmo. Ainda não há previsão de quando será liberado.

Sério? :( Achei que os jogadores poderiam rodar script em salas com #.

Luukaszika a dit :
Acho bem legal os mini-game do Lua, mais acho que nao vale a pena aprender tudo isso, pois não vou ganhar nada em troca.

Que pensamento tosco. Se for levar isso em conta, você não vai aprender nada na vida porque muitas coisas não trazem nada em troca além de conhecimento.
Stilc
« Citoyen »
1375268580000
    • Stilc#0000
    • Profil
    • Derniers messages
    • Tribu
#20
  0
Minkz a dit :
Que pensamento tosco. Se for levar isso em conta, você não vai aprender nada na vida porque muitas coisas não trazem nada em troca além de conhecimento.

\/

Ótimo tópico.
  • Forums
  • /
  • Transformice
  • /
  • Archives
  • /
  • Seção Editor de Mapas e Modules
  • /
  • Module API
1 / 8 › »
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27