• 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!

Lua What is wrong with my guild members online onlook 0.4?

gmstrikker

Well-Known Member
Joined
Jul 30, 2014
Messages
458
Solutions
1
Reaction score
50
Why it's not work anymore?
Code:
[23:21:25.194] [Error - CreatureScript Interface]
[23:21:25.194] data/creaturescripts/scripts/guild_members_online.lua:onLook
[23:21:25.194] Description:
[23:21:25.194] ...ata/creaturescripts/scripts/guild_members_online.lua:4: attempt to call global 'getGuildMembersOnline' (a nil value)
[23:21:25.194] stack traceback:
[23:21:25.194]    ...ata/creaturescripts/scripts/guild_members_online.lua:4: in function <...ata/creaturescripts/scripts/guild_members_online.lua:1>

[23:21:27.100] [Error - CreatureScript Interface]
[23:21:27.100] data/creaturescripts/scripts/guild_members_online.lua:onLook
[23:21:27.100] Description:
[23:21:27.100] ...ata/creaturescripts/scripts/guild_members_online.lua:4: attempt to call global 'getGuildMembersOnline' (a nil value)
[23:21:27.100] stack traceback:
[23:21:27.100]    ...ata/creaturescripts/scripts/guild_members_online.lua:4: in function <...ata/creaturescripts/scripts/guild_members_online.lua:1>

[23:21:28.588] [Error - CreatureScript Interface]
[23:21:28.588] data/creaturescripts/scripts/guild_members_online.lua:onLook
[23:21:28.588] Description:
[23:21:28.588] ...ata/creaturescripts/scripts/guild_members_online.lua:4: attempt to call global 'getGuildMembersOnline' (a nil value)
[23:21:28.588] stack traceback:
[23:21:28.588]    ...ata/creaturescripts/scripts/guild_members_online.lua:4: in function <...ata/creaturescripts/scripts/guild_members_online.lua:1>

[23:21:28.843] [Error - CreatureScript Interface]
[23:21:28.843] data/creaturescripts/scripts/guild_members_online.lua:onLook
[23:21:28.843] Description:
[23:21:28.843] ...ata/creaturescripts/scripts/guild_members_online.lua:4: attempt to call global 'getGuildMembersOnline' (a nil value)
[23:21:28.843] stack traceback:
[23:21:28.843]    ...ata/creaturescripts/scripts/guild_members_online.lua:4: in function <...ata/creaturescripts/scripts/guild_members_online.lua:1>

Code:
function onLook(cid, thing, position, lookDistance)
if isPlayer(thing.uid) then
    if getPlayerGuildId(thing.uid) > 0 then
        doPlayerSetSpecialDescription(thing.uid, ". Guild has " .. #getGuildMembers(getPlayerGuildId(thing.uid)) .. " members, and " .. #getGuildMembersOnline(getPlayerGuildId(thing.uid)) .. " of them online")
    end
end
return true
end
 
Solution
Your server don't have function called getGuildMembersOnline.

You changed distro recently? Or some files inside data/lib folder like global.lua or something?

Anyway, here they are: (past them at the top of the script)
Code:
function getGuildMembersOnline(GuildId)
    local players = {}
    for _, pid in pairs(getPlayersOnline()) do
        if getPlayerGuildId(pid) == tonumber(GuildId) then
            table.insert(players, pid)
        end
    end

    return players
end

function getGuildMembers(GuildId)
    local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
    if (query:getID() ~= -1) then
        repeat...
Your server don't have function called getGuildMembersOnline.

You changed distro recently? Or some files inside data/lib folder like global.lua or something?

Anyway, here they are: (past them at the top of the script)
Code:
function getGuildMembersOnline(GuildId)
    local players = {}
    for _, pid in pairs(getPlayersOnline()) do
        if getPlayerGuildId(pid) == tonumber(GuildId) then
            table.insert(players, pid)
        end
    end

    return players
end

function getGuildMembers(GuildId)
    local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
    if (query:getID() ~= -1) then
        repeat
            table.insert(players,query:getDataString("name"))
        until not query:next()
        query:free()
    end

    return players
end
 
Last edited:
Solution
Your server don't have function called getGuildMembersOnline.

You changed distro recently? Or some files inside data/lib folder like global.lua or something?

Anyway, here they are: (past them at the top of the script)
Code:
function getGuildMembersOnline(GuildId)
    local players = {}
    for _, pid in pairs(getPlayersOnline()) do
        if getPlayerGuildId(pid) == tonumber(GuildId) then
            table.insert(players, pid)
        end
    end

    return players
end

function getGuildMembers(GuildId)
    local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
    if (query:getID() ~= -1) then
        repeat
            table.insert(players,query:getDataString("name"))
        until not query:next()
        query:free()
    end

    return players
end

Thanks
 
Back
Top