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

Check guild members online, talkction

mamon_2

Banned User
Joined
Jul 2, 2007
Messages
424
Reaction score
0
I have this idea, make a comand like !guildmembers and check all players of your guild online...

Maybe here can have an idea, is for get Staff online:

Code:
function onSay(cid, words, param)
	local staffList = {}
	for _, name in ipairs(getOnlinePlayers()) do
		if getPlayerGroupId(getPlayerByName(name)) >= 2 then
			table.insert(staffList, name)
		end
	end
	if #staffList == 0 then
		doPlayerSendTextMessage(cid, 24, "No hay nadie del Staff conectado..")
	else
		doPlayerSendTextMessage(cid, 24, "Staff Conectado: " .. table.concat(staffList, ", ") .. ".")
	end
	return LUA_NO_ERROR
end
 
Code:
function onSay(cid, words, param)
	local onlineMembers = {}
	local playerGuild = getPlayerGuildId(cid)
	
	if playerGuild == 0 then
		return TRUE
	end

	for _, name in ipairs(getOnlinePlayers()) do
		if getPlayerGuildId(getPlayerByName(name)) == playerGuild then
			table.insert(onlineMembers, name)
		end
	end

	if #onlineMembers == 0 then
		doPlayerSendTextMessage(cid, 24, "There are no players online from your guild..")
	else
		local playersOnline = #onlineMembers
		local tmp = ""
		if(playersOnline > 1) then
			local tmp = "(s)"
		end

		local header = playersOnline .. " player" .. tmp .. " online from your guild."
		local header = 
		local str = ""
		for i, string in ipairs(onlineMembers) do
			str = "\n" .. str .. string
		end
		doPlayerPopupFYI(cid, header .. ".\n " .. str)
	end
	return LUA_NO_ERROR
end

[info]not tested[/info]
 
It works, but when are 2 members or more online, it says like

Code:
Member1Memeber2Member3

Could you make it separate like this:

Code:
Member1
Memeber2
Member3
 
Try changing
Code:
str = "\n" .. str .. string
to
Code:
str = str .. string .. "\n"
I don't know if that'll work or not, but it looks like it will.

Jo3
 
[27/11/2008 03:23:52] Warning: [Event::loadScript] Can not load script. data/talkactions/scripts/mtibia/guildmembers.lua
[27/11/2008 03:23:52] data/talkactions/scripts/mtibia/guildmembers.lua:27: unexpected symbol near '..'
 
Lua:
function onSay(cid, words, param)
	local onlineMembers = {}
	local playerGuild = getPlayerGuildId(cid)
	
	if playerGuild == 0 then
		return TRUE
	end

	for _, name in ipairs(getOnlinePlayers()) do
		if getPlayerGuildId(getPlayerByName(name)) == playerGuild then
			table.insert(onlineMembers, name)
		end
	end

	if #onlineMembers == 0 then
		doPlayerSendTextMessage(cid, 24, "There are no players online from your guild..")
	else
		local playersOnline = #onlineMembers
		local tmp = ""
		if(playersOnline > 1) then
			local tmp = "(s)"
		end

		local header = playersOnline .. " player" .. tmp .. " online from your guild."
		local str = ""
		for i, string in ipairs(onlineMembers) do
			str = "\n" .. str .. string .. "\n"
		end
		doPlayerPopupFYI(cid, header .. ".\n " .. str)
	end
	return LUA_NO_ERROR
end

Thats the fixed version if anyone needed this as well. (If you find out a way to fix a code, please post it...)
 
Last edited:
I have this idea, make a comand like !guildmembers and check all players of your guild online...

Maybe here can have an idea, is for get Staff online:

Code:
function onSay(cid, words, param)
	local staffList = {}
	for _, name in ipairs(getOnlinePlayers()) do
		if getPlayerGroupId(getPlayerByName(name)) >= 2 then
			table.insert(staffList, name)
		end
	end
	if #staffList == 0 then
		doPlayerSendTextMessage(cid, 24, "No hay nadie del Staff conectado..")
	else
		doPlayerSendTextMessage(cid, 24, "Staff Conectado: " .. table.concat(staffList, ", ") .. ".")
	end
	return LUA_NO_ERROR
end

Why did you remove the damn credits? I'll never help someone like you but well just because it was my script:
Code:
-- BY COLANDUS
-- and little by slawkens

function onSay(cid, words, param)
	local playerGuild = getPlayerGuildId(cid)
	if playerGuild == FALSE then
		return doPlayerSendTextMessage(cid, 24, "You are no member of a guild.")
	end
	
	local onlineMembers = {}
	for _, name in ipairs(getOnlinePlayers()) do
		if getPlayerGuildId(getPlayerByName(name)) == playerGuild then
			table.insert(onlineMembers, name)
		end
	end

	if #onlineMembers == 0 then
		doPlayerSendTextMessage(cid, 24, "There are no players online from your guild.")
	else
		local header = playersOnline .. " player(s) online from your guild."
		doPlayerPopupFYI(cid, header .. ".\n " .. table.concat(onlineMembers, "\n")
	end
	return LUA_NO_ERROR
end
 
Back
Top