Advertisement
Boeing747-8

Untitled

Jun 24th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. serialization = function(x)
  2. if type(x) == "table" then
  3. local t = x
  4. local str = ""
  5. for index,value in next,t do
  6. local prefix,tbOption = (type(value)=="string" and "_@" or type(value)=="boolean" and "_!" or type(value)=="number" and "_#" or type(value)=="table" and "_%" or ""),(type(value)~="table" and tostring(value) or "+&"..serialization(value):gsub(";","?").."&-")
  7. str = str .. ':' .. tostring(index) .. prefix .. tbOption .. ";"
  8. end
  9. return str
  10. elseif type(x) == "string" then
  11. local s = x
  12. local list = {}
  13. for str in s:gmatch("(.-);") do
  14. local varName,valueType,value = str:match(':(.-)_(%p)(.+)')
  15. if varName~=nil then
  16. varName = tonumber(varName) or varName
  17. if valueType == "@" then
  18. list[varName] = tostring(value)
  19. elseif valueType == "!" then
  20. list[varName] = value=="true"
  21. elseif valueType == "#" then
  22. list[varName] = tonumber(value)
  23. elseif valueType == "%" then
  24. list[varName] = serialization(value:gsub("+&",""):gsub("&-",""):gsub("%?",";"))
  25. end
  26. end
  27. end
  28. return list
  29. end
  30. end
  31.  
  32. info = {}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement