Advertisement
Tectoon

[TFM] FFA + Painel

Aug 18th, 2015
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 9.15 KB | None | 0 0
  1. tfm.exec.disableAutoNewGame(true)
  2. tfm.exec.disableAutoShaman(true)
  3. players={}
  4. toDespawn={}
  5. maps={521833,401421,541917,541928,541936,541943,527935,559634,559644,888052,878047,885641,770600,770656,772172,891472,589736,589800,589708,900012,901062,754380,901337,901411,907870,910078,1190467,1252043,1124380,1016258,1252299,1255902,1256808,986790,1285380,1271249,1255944,1255983,1085344,1273114,1276664,1279258,1286824,1280135,1280342,1284861,1287556,1057753,1196679,1288489,1292983,1298164,1298521,1293189,1296949,1308378,1311136,1314419,1314982,1318248,1312411,1312589,1312845,1312933,1313969,1338762,1339474,1349878,1297154,644588,1351237,1354040,1354375,1362386,1283234,1370578,1306592,1360889,1362753,1408124,1407949,1407849,1343986,1408028,1441370,1443416,1389255,1427349,1450527,1424739,869836,1459902,1392993,1426457,1542824,1533474,1561467,1563534,1566991,1587241,1416119,1596270,1601580,1525751,1582146,1558167,1420943,1466487,1642575,1648013,1646094,1393097,1643446,1545219,1583484,1613092,1627981,1633374,1633277,1633251,1585138,1624034,1616785,1625916,1667582,1666996,1675013,1675316,1531316,1665413,1681719,1699880,1688696,623770,1727243,1531329,1683915,1689533,1738601,3756146,912118,3326933,3722005,3566478,1456622,1357994,1985670,1884075,1708065,1700322,2124484,3699046,2965313,4057963,4019126,3335202,2050466}
  6.  
  7. function eventNewPlayer(name)
  8.         for i,key in ipairs({32,40,83}) do
  9.         tfm.exec.bindKeyboard(name,key,true,true)
  10.         end
  11.         players[name]={
  12.         timestamp=os.time(),
  13.         offsets={x=2, y=10}
  14.         }
  15. end
  16.  
  17. function eventChatCommand(name,command)
  18.         local arg={}
  19.         for argument in command:gmatch("[^%s]+") do
  20.         table.insert(arg,argument)
  21.         end
  22.         if arg[1]=="off" then
  23.         if tonumber(arg[2]) and tonumber(arg[3]) then
  24.         players[name].offsets.x=tonumber(arg[2])
  25.         players[name].offsets.y=tonumber(arg[3])
  26.         else
  27.         players[name].offsets.x=2
  28.         players[name].offsets.y=10
  29.         end
  30.         tfm.exec.chatMessage("Offsets changed to X:"..players[name].offsets.x.." Y:"..players[name].offsets.y,name)
  31.         end
  32. end
  33.  
  34. function eventNewGame()
  35.         started=false
  36. end
  37.  
  38. function eventPlayerDied(name)
  39.         local i=0
  40.         local n
  41.         for pname,player in pairs(tfm.get.room.playerList) do
  42.         if not player.isDead then
  43.         i=i+1
  44.         n=pname
  45.         end
  46.         end
  47.         if i==0 then
  48.         tfm.exec.newGame(maps[math.random(#maps)])
  49.         elseif i==1 then
  50.         tfm.exec.giveCheese(n)
  51.         tfm.exec.playerVictory(n)
  52.         tfm.exec.setGameTime(5)
  53.         end
  54. end
  55.  
  56. for name,player in pairs(tfm.get.room.playerList) do
  57.         eventNewPlayer(name)
  58. end
  59.  
  60. tfm.exec.newGame(maps[math.random(#maps)])
  61.  
  62. function main()
  63. toDespawnCanon={}
  64. player={}
  65. admin={Sagazgamer=true,Tectoon=true}
  66. ffactuel="Off"
  67. flyactuel="Off"
  68. tpactuel="Off"
  69. autoinvoactuel="Off"
  70. end
  71. function eventNewPlayer(name)
  72.     ui.addTextArea(1,"<a href='event:ffaoff'><font size='10px'>Ffa : <R>"..ffactuel.."</font></a>", nil, 5, 25, 60, 20,0x768189,0x768189,0.9,true)
  73. ui.addTextArea(2,"<a href='event:flyoff'><font size='10px'>Fly : <R>"..flyactuel.."</font></a>", nil, 70, 25, 60, 20,0x768189,0x768189,0.9,true)
  74. ui.addTextArea(3,"<a href='event:tpoff'><font size='10px'>Tp : <R>"..tpactuel.."</font></a>", nil, 135, 25, 60, 20,0x768189,0x768189,0.9,true)
  75. ui.addTextArea(4,"<a href='event:autoinvooff'><font size='10px'>AutoInvo : <R>"..autoinvoactuel.."</font></a>", nil, 200, 25, 90, 20,0x768189,0x768189,0.9,true)
  76.     player[name]={
  77.         timestamp=os.time(),
  78.         tp=false,
  79.         fly=false,
  80.         ffa=false,
  81.         autoinvo=false
  82.     }
  83.     system.bindMouse(name, true)
  84.     tfm.exec.bindKeyboard(name,83,true,true)
  85.     tfm.exec.bindKeyboard(name,40,true,true)
  86.     tfm.exec.bindKeyboard(name,32,true,true)
  87.     if admin[name] then
  88.     ui.addTextArea(5,"<a href='event:msg'><p align='center'><font size='12px'>Message</font></p></a>", name, 295, 25, 90, 20,0x768189,0x768189,0.9,true)
  89.     admin[name]={
  90.     mod=false,
  91.     animation=false
  92. }
  93.     end
  94. end
  95. function eventChatCommand(name, cmd)
  96.     if admin[name] then
  97.         if cmd=="ch" then
  98.             tfm.exec.setShaman(name)
  99.         end
  100.     end
  101. end
  102. function eventTextAreaCallback(id, name, callback)
  103. if admin[name] then
  104.     if callback=="ffaoff" then
  105.         ffa=true
  106.         ffactuel="On"
  107.             ui.addTextArea(1,"<a href='event:ffaon'><font size='10px'>Ffa : <VP>"..ffactuel.."</font></a>", nil, 5, 25, 60, 20,0x768189,0x768189,0.9,true)
  108.     elseif callback=="ffaon" then
  109.         ffa=false
  110.         ffactuel="Off"
  111.             ui.addTextArea(1,"<a href='event:ffaoff'><font size='10px'>Ffa : <R>"..ffactuel.."</font></a>", nil, 5, 25, 60, 20,0x768189,0x768189,0.9,true)
  112.     end
  113.     if callback=="flyoff" then
  114.         fly=true
  115.         flyactuel="On"
  116.             ui.addTextArea(2,"<a href='event:flyon'><font size='10px'>Fly : <VP>"..flyactuel.."</font></a>", nil, 70, 25, 60, 20,0x768189,0x768189,0.9,true)
  117.     elseif callback=="flyon" then
  118.         fly=false
  119.         flyactuel="Off"
  120.             ui.addTextArea(2,"<a href='event:flyoff'><font size='10px'>Fly : <R>"..flyactuel.."</font></a>", nil, 70, 25, 60, 20,0x768189,0x768189,0.9,true)
  121.     end
  122.     if callback=="tpoff" then
  123.         tp=true
  124.         tpactuel="On"
  125.             ui.addTextArea(3,"<a href='event:tpon'><font size='10px'>Tp : <VP>"..tpactuel.."</font></a>", nil, 135, 25, 60, 20,0x768189,0x768189,0.9,true)
  126.     elseif callback=="tpon" then
  127.         tp=false
  128.         tpactuel="Off"
  129.             ui.addTextArea(3,"<a href='event:tpoff'><font size='10px'>Tp : <R>"..tpactuel.."</font></a>", nil, 135, 25, 60, 20,0x768189,0x768189,0.9,true)
  130.     end
  131.     if callback=="autoinvooff" then
  132.         autoinvo=true
  133.         autoinvoactuel="On"
  134.             ui.addTextArea(4,"<a href='event:autoinvoon'><font size='10px'>AutoInvo : <VP>"..autoinvoactuel.."</font></a>", nil, 200, 25, 90, 20,0x768189,0x768189,0.9,true)
  135.     elseif callback=="autoinvoon" then
  136.         autoinvo=false
  137.         autoinvoactuel="Off"
  138.             ui.addTextArea(4,"<a href='event:autoinvooff'><font size='10px'>AutoInvo : <R>"..autoinvoactuel.."</font></a>", nil, 200, 25, 90, 20,0x768189,0x768189,0.9,true)
  139.     end
  140. end
  141.     if callback=="close" then
  142.         ui.removeTextArea(12, name)
  143.     end
  144.     if callback=="msg" then
  145.     ui.addPopup (9, 2, "Introduza a mensagem a enviar a todos :", name, 200, 180, 300, true)
  146.     ui.addTextArea(5,"<a href='event:msg'><font size='12px'><p align='center'>Mensagem</p></font></a>", name, 295, 25, 90, 20,0x768189,0x768189,0.9,true)
  147.     ui.addTextArea(6,"<a href='event:mod'><font size='14px'><p align='center'>Modération</p></font></a>", name, 200, 265, 90, 20,0x768189,0x555555,0.9,true)
  148.     ui.addTextArea(7,"<a href='event:animation'><font size='14px'><p align='center'>Animador</p></font></a>", name, 300, 265, 100, 20,0x768189,0x555555,0.9,true)
  149.     ui.addTextArea(8,"<a href='event:moi'><font size='14px'><p align='center'>pvd</p></font></a>", name, 410, 265, 90, 20,0x768189,0x555555,0.9,true)
  150.     end
  151.     if callback=="mod" then
  152.         admin[name].mod=true
  153.         admin[name].animation=false
  154.     end
  155.     if callback=="animation" then
  156.         admin[name].animation=true
  157.         admin[name].mod=false
  158.     end
  159.     if callback=="moi" then
  160.         admin[name].animation=false
  161.         admin[name].mod=false
  162.     end
  163.   end
  164.  
  165. function eventPopupAnswer(popupid, name, answer)
  166.     if popupid==9 then
  167.         ui.removeTextArea(6, name)
  168.             ui.removeTextArea(7, name)
  169.             ui.removeTextArea(8, name)
  170.     if not admin[name].animation and not admin[name].mod then
  171.         ui.addTextArea(12,"<font size='16' color='#2F7FCC'>"..name.." : "..answer.."</font> <p align='right'><font size='14px'><a href='event:close'><R>[Fechar]<N></a></font></p>",nil,5,373,790,30,0x324650,0x2a2a2a,0.9,true)
  172.         end
  173.         if admin[name].animation then
  174.         ui.addTextArea(12,"<font size='16' color='#BABD2F'>[Animador] : "..answer.."</font> <p align='right'><font size='14px'><a href='event:close'><R>[Fechar]<N></a></font></p>",nil,5,373,790,30,0x324650,0x2a2a2a,0.9,true)   
  175.         admin[name].animation=false
  176.         end
  177.         if admin[name].mod then
  178.         ui.addTextArea(12,"<font size='16' color='#ED67EA'>[Moderation] : "..answer.."</font> <p align='right'><font size='14px'><a href='event:close'><R>[Fechar]<N></a></font></p>",nil,5,373,790,30,0x324650,0x2a2a2a,0.9,true) 
  179.         admin[name].mod=false
  180.         end
  181.     end
  182. end
  183. function eventKeyboard(name, key, down, x, y)
  184.     if (key==40 or key==83) and not tfm.get.room.playerList[name].isDead and player[name].timestamp<os.time()-1000 and ffa then
  185.             local id
  186.         if tfm.get.room.playerList[name].isFacingRight then
  187.             id=tfm.exec.addShamanObject(17,x-2,y+10,90,5)
  188.         else
  189.             id=tfm.exec.addShamanObject(17,x+2,y+10,-90,-5)
  190.         end
  191.         player[name].timestamp=os.time()
  192.         table.insert(toDespawnCanon,{os.time(), id})
  193.     end
  194.     if key==32 and fly then
  195.         tfm.exec.movePlayer(name,xPosition, yPosition, offset, xSpeed, -52, false)
  196.     end
  197. end
  198.  
  199.  
  200. function eventLoop(currentTime,timeRemaining)
  201. for i,canons in ipairs(toDespawnCanon) do
  202.         if canons[1]<=os.time()-1000 then
  203.                 tfm.exec.removeObject(canons[2])
  204.             table.remove(toDespawnCanon,i)
  205.         end
  206.     end
  207. end
  208.  
  209.  
  210. function eventMouse(name, x, y)
  211.     if tp then
  212.         tfm.exec.movePlayer(name, x, y)
  213.     end
  214. end
  215.  
  216. function eventSummoningStart(name, objectType, xPosition, yPosition, angle)
  217.     if autoinvo then
  218.         tfm.exec.addShamanObject (objectType, xPosition, yPosition, angle, xSpeed)
  219.     end
  220. end
  221.  
  222. main()
  223.  
  224. for name in pairs (tfm.get.room.playerList) do eventNewPlayer(name) end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement