Advertisement
podoko_Lua

Explorateur Lua [v1.0]

Jul 15th, 2014
283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.25 KB | None | 0 0
  1.  
  2. --[[ Explorateur Lua v1.0 ]]--
  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, path = folder(table.copy(info[name].path))
  44.     info[name].path = path
  45.     local files = ""
  46.     local typ = ""
  47.     local values = ""
  48.     local way = ""
  49.    
  50.    
  51.     for key, val in pairs(tab) do
  52.         files = files.."<a href='event:"..tostring(key).."'>"..tostring(key).."</a>\n"
  53.         values = values..tostring(val)..'\n'
  54.         typ = typ..type(val)..'\n'
  55.     end
  56.     for key, val in ipairs(path) do
  57.         way = way.."<a href='event:"..tostring(key).."'>"..val..".</a>"
  58.     end
  59.    
  60.     ui.updateTextArea(2, way, name)
  61.     ui.updateTextArea(3, files, name)
  62.     ui.updateTextArea(4, typ, name)
  63.     ui.updateTextArea(5, values, name)
  64.    
  65.    
  66.    
  67. end
  68.  
  69.  
  70. function folder(path, tab, way)
  71.    
  72.     tab = tab or _G
  73.     way = way or {"_G"}
  74.    
  75.     if path[2] then
  76.        
  77.         if type(tab[path[2]]) == "table" then
  78.             tab = tab[path[2]]
  79.             table.insert(way, path[2])
  80.             table.remove(path, 2)
  81.             return folder(path, tab, way)
  82.         else
  83.             print(string.gsub (string.gsub (tostring(tab[path[2]]), '<', '&lt;'), '>', '&gt;'))
  84.         end
  85.     end
  86.    
  87.     return tab, way
  88. end
  89.  
  90.  
  91.  
  92. function table.copy(tab)
  93.     local res = {}
  94.     for key, val in pairs(tab) do
  95.         res[key] = val
  96.     end
  97.     return res
  98. end
  99.  
  100. init()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement