Advertisement
Hachem16

FOD Script

Dec 11th, 2015
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.75 KB | None | 0 0
  1. admins = {abdeltif=true, winjid=true,uditya=true}
  2.  
  3.  
  4. help_window_id  = 1
  5. help_page_id    = 2
  6. help_remove_id  = 3
  7. help_previous_id= 4
  8. help_next_id    = 5
  9. click_id        = 6
  10. help_next_cb    = "next"
  11. help_remove_cb  = "remove"
  12. help_previous_cb= "previous"
  13. players = {}
  14. trolling = {}
  15. pages = {
  16.  
  17. [1] = [[<p align="justify"><font size="16"><p align="center"><font size="24" color="#EB4538"><u>Fans Of Dumbledore</u></font></p>
  18.  
  19. Welcome mice to the FOD tribe, In this tribe your ruler is <i>Adolf Hitler</i>.I know, it sounds random, but Hitler utterly owns this tribe , even Voldemort obeys him.
  20. Do not <a href='event:click'><u>disobey</u></a> him. You have been warned.
  21.  
  22. </p></font>]],
  23. }
  24.  
  25. delays = {
  26.     teleport = 5000,
  27.     sparkle = 5000
  28. }
  29. trolls = {
  30.     "teleport",
  31.     "sparkle",
  32. }
  33.  
  34. ui.addTextArea(0, "<p align='center'><font size='38' color='#EB4846' face='Gabriola'>The <a href='event:info'>FOD</a> Tribe</font></p>", nil, 300, 23, 200, nil, nil, nil, 0, true)
  35.  
  36. function eventNewPlayer(name) players[name] = {open = false, page = 1} end
  37. for k,v in pairs(tfm.get.room.playerList) do eventNewPlayer(k) end
  38.  
  39. function show_help(name)
  40.     local addx= 0
  41.     local addy= 50
  42.  
  43.     local ww  = 480
  44.     local wh  = 230
  45.     local tw  = 220
  46.     local th  = 43
  47.     local Pw  = 40 -- Number of page , called l for x and y
  48.     local Ph  = 20
  49.     local dw  = 20 -- For Next (>) and Previous (<)
  50.     local dh  = 20
  51.     local rw  = 20
  52.     local rh  = 20
  53.  
  54.     local wx  = 400 - ww/2          + addx
  55.     local wy  = 200 - wh/2          + addy
  56.     local tx  = wx + ww/2 - tw/2
  57.     local ty  = wy - th - 8
  58.     local px = wx
  59.     local py = wy + wh + 8
  60.     local nx = wx + ww - dw
  61.     local ny = py
  62.     local lx = wx + ww/2 - Pw/2
  63.     local ly = py
  64.     local rx = wx + ww - rw
  65.     local ry = wy - rh - 8
  66.     ui.addTextArea(help_window_id, pages[1], name, wx, wy, ww, wh, 0x55555E, 0x55555E, 0.97, true)
  67.     ui.addTextArea(help_next_id, "<a href='event:"..help_next_cb.."'>&gt;</a>", name, nx, ny, dw, dh, 0x55555E, 0x55555E, 0.97, true)
  68.     ui.addTextArea(help_previous_id, "<a href='event:"..help_previous_cb.."'>&lt;</a>", name, px, py, dw, dh, 0x55555E, 0x55555E, 0.97, true)
  69.     ui.addTextArea(help_page_id, players[name].page.."/"..#pages, name, lx, ly, Pw, Ph, 0x55555E, 0x55555E, 0.97, true)
  70.     ui.addTextArea(help_remove_id, "<a href='event:"..help_remove_cb.."'><font color='#ff2442'>X</font></a>", name, rx, ry, rw, rh, 0x55555E, 0x55555E, 0.97, true)
  71.     players[name].open = true
  72. end
  73.  
  74.  
  75. function next_page(name, page)
  76.     players[name].page = (players[name].page<#pages) and (players[name].page+1) or players[name].page
  77.     ui.updateTextArea(help_window_id, pages[players[name].page], name)
  78.     ui.updateTextArea(help_page_id, players[name].page.."/"..#pages, name)
  79. end
  80.  
  81. function previous_page(name, page)
  82.     players[name].page = (players[name].page>1) and (players[name].page-1) or players[name].page
  83.     ui.updateTextArea(help_window_id, pages[players[name].page], name)
  84.     ui.updateTextArea(help_page_id, players[name].page.."/"..#pages, name)
  85. end
  86.  
  87. function hide_help(name)
  88.     ui.removeTextArea(help_window_id, name)
  89.     ui.removeTextArea(help_next_id, name)
  90.     ui.removeTextArea(help_previous_id, name)
  91.     ui.removeTextArea(help_page_id, name)
  92.     ui.removeTextArea(help_remove_id, name)
  93.  
  94.     players[name].open = false
  95.     players[name].page = 1
  96. end
  97.  
  98. function clicked(name)
  99.     if players[name].trolled == true then return end
  100.     hide_help(name)
  101.     local x = tfm.get.room.playerList[name].x
  102.     local y = tfm.get.room.playerList[name].y
  103.     ui.addTextArea(click_id, "You got trolled !", nil, x-50, y-30, 100, 0, 0x55555E, 0x55555E, 0.97, false)
  104.    
  105.     trolling[name] = {type=trolls[math.random(1,#trolls)], start=os.time()}
  106.     players[name].trolled = true
  107. end
  108.  
  109. function troll(name, typ, start)
  110.     if typ == "teleport" then
  111.         tfm.exec.movePlayer(name, math.random(100,700), math.random(50,350))
  112.     elseif typ == "sparkle" then
  113.         local x = tfm.get.room.playerList[name].x
  114.         local y = tfm.get.room.playerList[name].y
  115.         for xl = 1,20 do
  116.             tfm.exec.displayParticle (math.random(1,2), x, y, 1*math.random(-12,12,0.1)/5, 1*math.random(-12,12,0.1)/5, 0, 0, nil)
  117.         end
  118.     end
  119.  
  120.     if os.time()>= start+delays[typ] then
  121.         ui.removeTextArea(click_id)
  122.         players[name].trolled = false
  123.         return true
  124.     else
  125.         return false
  126.     end
  127. end
  128.  
  129. function eventTextAreaCallback(id, name, cb)
  130.     if cb == "info" then
  131.         if not players[name].open then
  132.             show_help(name)
  133.         else
  134.             hide_help(name)
  135.         end
  136.     elseif cb == help_next_cb then
  137.         next_page(name)
  138.     elseif cb == help_previous_cb then
  139.         previous_page(name)
  140.     elseif cb == help_remove_cb then
  141.         hide_help(name)
  142.     elseif cb == "click" then
  143.         clicked(name)
  144.     end
  145.  
  146. end
  147.  
  148. function eventLoop(tr,rt)
  149.     local to_remove = {}
  150.     for k,v in pairs(trolling) do
  151.         local b = troll(k, v.type, v.start)
  152.         if b==true then
  153.             to_remove[k] = true
  154.         end
  155.     end
  156.     for k,v in pairs(to_remove) do
  157.         trolling[k] = nil
  158.     end
  159. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement