Skip to content

Interface:Talkactions

Stefan A. Brannfjell edited this page Dec 20, 2017 · 3 revisions

Other chat stuff... (TODO)

-- Empty!

Available events:

onSay()


onSay()

Description: Execute code on special words/talkactions defined in talkactions.xml
Parameters: N/A
Accepted return values: N/A
Example: online.lua

local maxPlayersPerMessage = 10

function onSay(player, words, param)
	local hasAccess = player:getGroup():getAccess()
	local players = Game.getPlayers()
	local onlineList = {}

	for _, targetPlayer in ipairs(players) do
		if hasAccess or not targetPlayer:isInGhostMode() then
			table.insert(onlineList, ("%s [%d]"):format(targetPlayer:getName(), targetPlayer:getLevel()))
		end
	end

	local playersOnline = #onlineList
	player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, ("%d players online."):format(playersOnline))

	for i = 1, playersOnline, maxPlayersPerMessage do
		local j = math.min(i + maxPlayersPerMessage - 1, playersOnline)
		local msg = table.concat(onlineList, ", ", i, j) .. "."
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, msg)
	end
	return false
end 

Added in version: 1.0

Clone this wiki locally