Advertisement
Tectoon

[TFM] Entendendo as Funções

Sep 5th, 2015
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.92 KB | None | 0 0
  1. Num script lua, você pode criar várias funções. É a partir dessas funções que você irá fazer a maior parte do seu script. É sempre bom que você teste as funções que citarei aqui pra ir pegando a prática e saber o que cada uma faz. Irei começar com uma função básica:
  2.  
  3. Código:
  4. function eventNewGame()
  5. Essa função é usada para executar um determinado código sempre que um novo round/mapa for iniciado.
  6.  
  7. Aqui um pequeno exemplo:
  8.  
  9.  
  10. Código:
  11. function eventNewGame()
  12.     print("Um novo mapa começou")
  13. end
  14. Nessa função, ao colocar um mapa irá aparecer no chat Um novo mapa começou. Isso acontece porque a função eventNewGame detecta quando um novo mapa é colocado. Ou seja, sempre que um novo mapa for iniciado, tudo que estiver dentro da função será executado. Um detalhe importante: o end indica quando uma função termina. Você irá usa-lo também para terminar um if, for, elseif e etc. Aqui um outro exemplo:
  15.  
  16. Código:
  17.  
  18. function eventNewGame()
  19.     jogadores = 0
  20.     for name, player in pairs(tfm.get.room.playerList) do
  21.         jogadores = jogadores+1
  22.     end
  23.     print(jogadores)
  24. end
  25. Ao executar essa função e colocar um mapa qualquer, irá aparecer no chat o número de jogadores que estavam na sala quando começou o round. Explicação:
  26.  
  27. function eventNewGame() - Indica o início da função
  28. jogadores = 0 - Atribui o valor 0 para a palavra jogadores
  29. for name, player in pairs(tfm.get.room.playerList) do - Loop que é executado e só para quando a lista de jogadores na sala termina. Também atribui a palavra name ao nick de cada jogador da sala.
  30. jogadores = jogadores+1 - Soma o valor atual da palavra jogadores com o número 1 e atribui o novo valor à palavra.
  31. end - Termina o loop for name, player in pairs(tfm.get.room.playerList) do
  32. print(jogadores) - Mostra no chat o valor da palavra jogadores.
  33. end - Termina a função eventNewGame()
  34.  
  35. Outro exemplo:
  36.  
  37. Código:
  38. function eventNewGame()
  39.     for name, player in pairs(tfm.get.room.playerList) do
  40.         tfm.exec.setShaman(name)
  41.     end
  42. end
  43. function eventNewGame() - Indica o início da função
  44. for name, player in pairs(tfm.get.room.playerList) do - Loop que é executado e só para quando a lista de jogadores na sala termina. Também atribui a palavra name o nick de cada jogador da sala.
  45. tfm.exec.setShaman(name) - Transforma o jogador em shaman
  46. end - Termina o loop for name, player in pairs(tfm.get.room.playerList) do
  47. end - Termina a função eventNewGame()
  48.  
  49. No exemplo acima, o script vai transformar todos da sala em shaman, sempre que um novo mapa começar. Isso acontece porque como eu disse, o Loop pega o nome de cada jogador e transforma na variável name. O loop repete tudo que está dentro dele várias vezes até chegar no último jogador, e então ele para. O tfm.exec.setShaman(name) transforma em shaman o nome que está na variável name. Como ele está dentro do loop, ele é executado várias vezes tornando todos da sala em shaman.
  50.  
  51. Obs.: Cada loop tem uma maneira de agir. Nesse caso, o loop para quando chega no último jogador, mas em outros loops, pode ser que isso não aconteça.
  52.  
  53. Se você quisesse transformar apenas uma pessoa, você usaria:  tfm.exec.setShaman("Nome"). Dessa vez a gente usou aspas porque não estamos mais trabalhando com variável e sim com o nome mesmo. E para o interpretador entender que não é uma variável, temos que usar as aspas.
  54.  
  55. No exemplo abaixo, sempre que um novo mapa for iniciado, eu serei shaman (meu nick no caso é Darklightkk).
  56.  
  57.  
  58. Código:
  59. function eventNewGame()
  60.     tfm.exec.setShaman("Darklightkk")
  61. end
  62. No exemplo a cima, como eu citei, sempre que iniciar um novo round, o nick Darklightkk será shaman. Você poderá também atribuir uma palavra a uma variável. Veja o exemplo abaixo:
  63.  
  64.  
  65. Código:
  66. function eventNewGame()
  67.     nick = Darklightkk
  68.     tfm.exec.setShaman(nick)
  69. end
  70. No exemplo, eu atribui a palavra Darklightkk a variável nick, e então usei o setShaman.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement