local config = {
showGamemasters = getBooleanFromString(getConfigValue('displayGamemastersWithOnlineCommand')),
showLevel = "yes",
showVocations = "yes"
}
config.showLevel, config.showVocations = getBooleanFromString(config.showLevel), getBooleanFromString(config.showVocations)
function onSay(cid, words, param, channel)
local strings, i, position, added, vocations, vocStr = {""}, 1, 1, false, {}, ""
for _, pid in ipairs(getPlayersOnline()) do
if(added) then
if(i > (position * 7)) then
strings[position] = strings[position] .. ","
position = position + 1
strings[position] = ""
else
strings[position] = i == 1 and "" or strings[position] .. ", "
end
end
if(vocations[getPlayerVocation(pid)] ~= nil) then
vocations[getPlayerVocation(pid)] = vocations[getPlayerVocation(pid)] + 1
else
vocations[getPlayerVocation(pid)] = 1
end
added = false
if((config.showGamemasters or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES) or not getPlayerCustomFlagValue(pid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) and (not isPlayerGhost(pid) or getPlayerGhostAccess(cid) >= getPlayerGhostAccess(pid))) then
strings[position] = strings[position] .. getCreatureName(pid) .. ""..(config.showLevel and " [" .. getPlayerLevel(pid) .. "]" or "")..""
i = i + 1
added = true
end
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, (i - 1) .. " player" .. (i > 1 and "s" or "") .. " online:")
for i, str in ipairs(strings) do
if(str:sub(str:len()) ~= ",") then
str = str .. "."
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str)
end
if(config.showVocations) then
for vocId, quant in pairs(vocations) do
vocStr = vocStr .. ""..getVocationInfo(vocId).name.." ["..quant.."], "
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Vocations: "..vocStr:gsub(", $", "."))
end
return true
end