allow players to invite eachother to channels

master
Tai Kedzierski 2019-01-02 18:59:22 +00:00 committed by SmallJoker
parent 18e51e0c49
commit 32f87d2578
2 changed files with 24 additions and 0 deletions

View File

@ -23,6 +23,8 @@ There is one chat command to manage everything.
* Leave the current channel: `/channel leave`
* Invite player to you channel: `/channel invite <playername>`
Additionally, players with `basic_privs` priviledge can also use
* Send message to all players: `/channel wall <message ...>`

View File

@ -23,6 +23,7 @@ minetest.register_chatcommand("channel", {
minetest.chat_send_player(name, "Online players: /channel online")
minetest.chat_send_player(name, "Join/switch: /channel join <channel>")
minetest.chat_send_player(name, "Leave channel: /channel leave")
minetest.chat_send_player(name, "Invite to channel: /channel invite <playername>")
return
elseif param == "online" then
@ -41,6 +42,10 @@ minetest.register_chatcommand("channel", {
channels.command_set(name, args[2])
return
elseif args[1] == "invite" and #args == 2 then
channels.command_invite(name, args[2])
return
elseif args[1] == "wall" and #args >= 2 then
channels.command_wall(name, tablejoin(args,2) )
return
@ -64,6 +69,23 @@ function channels.say_chat(name, message, channel)
end
end
function channels.command_invite(hoster,guest)
local channelname = channels.players[hoster]
if not channelname then
if channels.allow_global_channel then
channelname = "the global chat"
else
minetest.chat_send_player(hoster, "The global channel is not usable.")
return
end
else
channelname = "the '"..channelname.."' chat channel."
end
minetest.chat_send_player(guest, hoster.." invites you to join "..channelname)
minetest.chat_send_player(hoster, guest.." was invited to join "..channelname)
end
function channels.command_wall(name, message)
local playerprivs = minetest.get_player_privs(name)
if not playerprivs.basic_privs then