Nicknamepll

FlyFFA wersja 3.0.0 Beta

May 30th, 2014
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.11 KB | None | 0 0
  1. -------------------
  2. ----FlyFFA---------
  3. ----Nicknamepll----
  4. ----Aanguson-------
  5. -------------------
  6.  
  7. admin='Nicknamepll'
  8. admin='Aanguson'
  9. --Główne opcje i bindy
  10.  
  11. stats={}
  12. Id = {}
  13. pop = 0
  14.  
  15. function eventNewGame()
  16.         for k,v in pairs(stats) do
  17.          stats[k].played = stats[k].played + 1
  18.         end
  19.         started=false
  20.         tfm.exec.setUIMapName("<BL>#<VP>Fly<T>FFA")
  21.         tfm.exec.setNameColor(admin, 0xFF1900)
  22.           ui.addTextArea(303,"<B><C>FlyFFA! Wersja 2.0.0.  Stworzone  przez Nicknamepll i Aanguson",n,-4,-20,0,0,n,n,0,true)
  23.         ui.removeTextArea(301)
  24. end
  25.  
  26. komendy={"off"}
  27. players={}
  28. toDespawn={}
  29. function eventNewPlayer(name)
  30.         system.bindMouse(name, true)
  31.         for i,keys in ipairs({32,37,39,81,68,65,40,83,80,79,72}) do
  32.                 tfm.exec.bindKeyboard(name,keys,true,true)
  33.         end
  34.         players[name]={
  35.         timestamp=os.time(),
  36.         offsets={x=2, y=10}
  37.         }
  38.         stats[name]={won=0, played=0, lost=0}
  39.         Id[name] = pop
  40. end
  41. for name,player in pairs(tfm.get.room.playerList) do
  42.         eventNewPlayer(name)
  43.         pop = pop + 1
  44. end
  45.  
  46. system.disableChatCommandDisplay(komendy,true)
  47. tfm.exec.disableAutoShaman(true)
  48. tfm.exec.disableAutoNewGame(true)
  49. tfm.exec.disableAutoTimeLeft(true)
  50. tfm.exec.disableAutoScore(true)
  51. tfm.exec.disableAfkDeath(true)
  52. maps={4479038,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}
  53. tfm.exec.newGame(maps[math.random(#maps)])
  54. --Kod
  55. function eventPlayerDied(n)
  56.         local i=0
  57.         local n
  58.         for pname,player in pairs(tfm.get.room.playerList) do
  59.                 if not player.isDead then
  60.                         i=i+1
  61.                         n=pname
  62.                 end
  63.         end
  64.         if i==1 then
  65.                 tfm.exec.giveCheese(n)
  66.                 tfm.exec.playerVictory(n)
  67.                 tfm.exec.setGameTime(5)
  68.         end
  69. end
  70.  
  71. function eventPlayerWon(name)
  72.   ui.addTextArea(301,"<B><font color='#00B2FF' face='Comic Sans MS' size='40'>"  ..name.. " zwyciężył/-a </font>",n,140,200,0,0,n,n,0,true)
  73.   tfm.exec.setPlayerScore(name, 0+1, true)
  74.   stats[name].won=stats[name].won+1
  75. end
  76.  
  77. function eventChatCommand(name,com)
  78.         local arg={}
  79.         for argument in com:gmatch("[^s]+") do
  80.                 table.insert(arg,argument)
  81.         end
  82.        
  83.         if arg[1]=="off" then
  84.                 if tonumber(arg[2]) and tonumber(arg[3]) then
  85.                         players[name].offsets.x=tonumber(arg[2])
  86.                         players[name].offsets.y=tonumber(arg[1])
  87.                 else
  88.                         players[name].offsets.x=0
  89.                         players[name].offsets.y=10
  90.                         ui.addTextArea(302,"<B><font color='#ffff66'>Twoje offsety to X:"..players[name].offsets.x.." Y: "..players[name].offsets.y,name,n,380,300,0,0,n,n,0,true)
  91.                 end
  92.         end
  93. end
  94.  
  95. function eventKeyboard(name,key,down,x,y)
  96.         if (key==40 or key==83) and not tfm.get.room.playerList[name].isDead and started then
  97.                 if players[name].timestamp < os.time()-1000 then
  98.                         local id
  99.                         if tfm.get.room.playerList[name].isFacingRight then
  100.                                 id=tfm.exec.addShamanObject(19,x+players[name].offsets.x,y+players[name].offsets.y)
  101.                         else
  102.                                 id=tfm.exec.addShamanObject(20,x+players[name].offsets.x,y+players[name].offsets.y)
  103.                         end
  104.                         players[name].timestamp=os.time()
  105.                         table.insert(toDespawn,{os.time(),id})
  106.                 end
  107.                 elseif key==32 then
  108.                 tfm.exec.movePlayer(name,0,0,true,0,-20,false)
  109.                 elseif key==80 then
  110.    local form = [[
  111. Wygrane : %d
  112. Rozegrane rundy : %d
  113. ]]
  114.         form = form:format(stats[name].won, stats[name].played)
  115.         ui.addPopup(Id[name],0, "<p align='center'><font face='Comic Sans MS' color='#569C38' size='16' >Twoje Statystyki:</font>\n<font face='Comic Sans MS' color='#ffaa66' size='15' >"..form.."</font></p>", name, 300, 200, 200, true)
  116.         elseif key==79 then
  117.         ui.addPopup(name,0,"<p align='center'><font face='Comic Sans MS' color='#569C38'  size='20' >Ogłoszenia</font>\n<font face='Comic Sans MS' color='#BABD2F ' >[Wersja 1.0.0]</font> Wystartowanie Minigry \n<font face='Comic Sans MS' color='#BABD2F' >[Wersja 2.0.0]</font> - Dodano:\n  •Komende !off  X Y (niestety zepsute)\n  •Małe cechy umilające rozgrywke.\n   - Małe zmiany w lataniu",name, 250, 200, 300, true)
  118.         elseif key==72 then
  119.         ui.addPopup(name,0,"<p align='center'><font face='Comic Sans MS' color='#569C38'  size='20' >Pomoc</font>\n<p align='center'><font size='16' color='#babd2f'>Jak Grać?</font>\n Aby wstrzelić kulę kliknij 'S' albo Strzałke w dół. Aby latać kilknij spacje. (w przyszłości będzie można kupić wyższe latanie)",name, 250, 200, 300, true)
  120.         end
  121. end
  122. print("FlyFFA by Nicknamepll, Aanguson")
  123.  
  124. function eventLoop(time,remaining)
  125.         if time >= 3000 and not started then
  126.                 started=true
  127.         end
  128.         if remaining<=0 then
  129.                 tfm.exec.newGame(maps[math.random(#maps)])
  130.         end
  131.         for i,cannon in ipairs(toDespawn) do
  132.                 if cannon[1] <= os.time()-3000 then
  133.                         tfm.exec.removeObject(cannon[2])
  134.                         table.remove(toDespawn,i)
  135.                 end
  136.         end
  137. end
  138. ui.addTextArea(1,"<a href='event:i'>Info</a>",nil,4,24,30,nil, nil, nil, 1, true)
  139.  
  140. function eventTextAreaCallback(id,n,cb)
  141.  if cb=="i" then
  142.   ui.addPopup(2,0,"<p align='center'><font size='20' face='Comic sans MS' color='#babd2f'>Witaj "..n.."\n </font></p> Ta gra polega na zepchnięciu innych myszek i wygraniu gry! \nH - Więcej informacji \nP - Profil \nO -  Ogłoszenia\n\n Miłej gry życzą <font color='#FF1900'>Nicknamepll</font> i <font color='#FF1900'>Aanguson</font>",n,200,150,400,true)
  143.  end
  144. end
Advertisement
Add Comment
Please, Sign In to add comment