Advertisement
podoko_Lua

Explorateur Lua [v0.99]

Jul 15th, 2014
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.15 KB | None | 0 0
  1.  
  2. --[[ Explorateur Lua v0.99 ]]--
  3.  
  4.  
  5.  
  6. function init()
  7.     info={}
  8.     for name in pairs(tfm.get.room.playerList) do eventNewPlayer(name) end
  9. end
  10.  
  11. function eventNewPlayer(name)
  12.    
  13.     ui.addTextArea(0, "", name, 150, 50, 500, 300, 0x27373f, 0x27373f, 1, true)     -- fond1
  14.     ui.addTextArea(1, "", name, 150, 75, 500, 275, 0x324650, 0x27373f, 1, true)     -- fond2
  15.     ui.addTextArea(2, "", name, 175, 85, 450, 20, 0x27373f, 0x27373f, 1, true)      -- chemin
  16.     ui.addTextArea(3, "", name, 175, 120, 140, 200, 0x27373f, 0x27373f, 1, true)    -- liste noms
  17.     ui.addTextArea(4, "", name, 330, 120, 140, 200, 0x27373f, 0x27373f, 1, true)    -- liste types
  18.     ui.addTextArea(5, "", name, 485, 120, 140, 200, 0x27373f, 0x27373f, 1, true)    -- liste valeurs
  19.    
  20.     info[name] = {}
  21.     info[name].path = {"_G"}
  22.     eventTextAreaCallback(2, name, 1)
  23. end
  24.  
  25.  
  26. function eventTextAreaCallback(id, name, call)
  27.    
  28.     if id==2 then
  29.         local i = #info[name].path - tonumber(call)
  30.         for k=1,i do table.remove(info[name].path) end
  31.         open(name)
  32.     elseif id == 3 then
  33.         table.insert(info[name].path, tonumber(call) or call)
  34.         open(name)
  35.     end
  36.  
  37.    
  38. end
  39.  
  40.  
  41. function open(name)
  42.     local path = info[name].path
  43.     local tab = folder(table.copy(path))
  44.     local files = ""
  45.     local typ = ""
  46.     local values = ""
  47.     local way = ""
  48.    
  49.    
  50.     for key, val in pairs(tab) do
  51.         files = files.."<a href='event:"..tostring(key).."'>"..tostring(key).."</a>\n"
  52.         values = values..tostring(val)..'\n'
  53.         typ = typ..type(val)..'\n'
  54.     end
  55.     for key, val in ipairs(path) do
  56.         way = way.."<a href='event:"..tostring(key).."'>"..val..".</a>"
  57.     end
  58.    
  59.     ui.updateTextArea(2, way, name)
  60.     ui.updateTextArea(3, files, name)
  61.     ui.updateTextArea(4, typ, name)
  62.     ui.updateTextArea(5, values, name)
  63.    
  64.    
  65.    
  66. end
  67.  
  68.  
  69. function folder(path, tab)
  70.    
  71.     tab = tab or _G
  72.    
  73.     if path[2] then
  74.        
  75.         if type(tab[path[2]]) == "table" then
  76.             tab = tab[path[2]]
  77.             table.remove(path, 2)
  78.             return folder(path, tab)
  79.         else
  80.             print(string.gsub (string.gsub (tostring(tab[path[2]]), '<', '&lt;'), '>', '&gt;'))
  81.         end
  82.     end
  83.     return tab
  84. end
  85.  
  86.  
  87.  
  88. function table.copy(tab)
  89.     local res = {}
  90.     for key, val in pairs(tab) do
  91.         res[key] = val
  92.     end
  93.     return res
  94. end
  95.  
  96. init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement