• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Can someone tellme how to do this?

MadMOOK

Hoo
Joined
Apr 20, 2011
Messages
802
Reaction score
43
http://otland.net/threads/see-complete-lua-function-list-with-getluafunctions.95510/

this is the function from mock... its to get acomplete list of server functions..

Code:
function getLuaFunctions()-- by Mock
    local str = ""
    for f,k in pairs(_G) do
        if type(k) == 'function' then
            str = str..f..','
        elseif type(k) == 'table' then
            for d,o in pairs(k) do
                if type(o) == 'function' then
                    if f ~= '_G' and d ~= "_G" and f ~= 'package' then
                        str = str..f.."."..d..','
                    end
                elseif type(o) == 'table' then
                    for m,n in pairs(o) do
                        if type(n) == 'function' then
                            if d == "_M" and m ~= "_M" and f ~= "_G" and f ~= 'package' then
                                str = str..f.."."..m..","
                            elseif f ~= '_G' and m ~= "_G" and d ~= "_G" and f ~= 'package' then
                                str = str..f.."."..d..'.'..m..','
                            end
                        elseif type(n) == 'table' then
                            for x,p in pairs(n) do
                                if type(p) == 'function' then
                                    if m == "_M" and d ~= "_M" and f ~= "_G" and f ~= 'package' then
                                        str = str..f.."."..d..'.'..x..','
                                    elseif m == "_M" and d == "_M" and f ~= "_G" and f ~= 'package' then
                                        str = str..f.."."..x..','
                                    elseif m ~= "_M" and d == "_M" and f ~= "_G" and f ~= 'package' then
                                        str = str..f..'.'..m..'.'..x..','
                                    elseif f ~= '_G' and m ~= "_G" and d ~= "_G" and f ~= 'package' then
                                        str = str..f.."."..d..'.'..m..'.'..x..','
                                    end
                                end
                            end
                        end
                    end
                end
            end
        end
    end
    return string.explode(str,',')
end

local k = getLuaFunctions()
--- Create file content your server function list
local file__ = io.open('Your Server Function List.txt','w')
table.sort(k)
for i=1,#k do
    if k[i] ~= "" then
        file__:write((i-1)..' - '..k[i]..'\n')
    end
end
file__:close()
 
You can place it in global.lua and it should create the file when you start the server.
 
You DON'T have global.lua in your distro's data folder? "data/global.lua"? I thought every version of TFS had this. Not trying to insult your intelligence, just hoping you missed it somehow.
 
Just in case, remember that TFS is open source so if you downloaded it from someone you are free to ask him the server sources and you can check luascript.h file which contain most of the core lua functions
 
Back
Top