proximity
This commit is contained in:
parent
26a84d1309
commit
f93d86be61
36
proximity_mode.lua
Normal file
36
proximity_mode.lua
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
|
||||||
|
-- Proximity mode
|
||||||
|
|
||||||
|
local playerproximitypref = {}
|
||||||
|
|
||||||
|
local maxproximity = int(minetest.setting_get("chat_modes.maxproximity") ) or 100
|
||||||
|
|
||||||
|
chat_modes.register("proximity", {
|
||||||
|
help = "Send messages to players within a certain distance",
|
||||||
|
|
||||||
|
register = function(playername, params)
|
||||||
|
local proxpref = int(params[1]) or maxproximity
|
||||||
|
if proxpref > maxproximity then
|
||||||
|
proxpref = maxproximity
|
||||||
|
end
|
||||||
|
|
||||||
|
playerpxoimitypref[playername] = proxpref
|
||||||
|
end,
|
||||||
|
|
||||||
|
deregister = function(playername)
|
||||||
|
playerpxoimitypref[playername] = nil
|
||||||
|
end,
|
||||||
|
|
||||||
|
getPlayers = function(playername, message)
|
||||||
|
local targetplayers = {}
|
||||||
|
local thisplayer = minetest.get_player_by_name(playername)
|
||||||
|
|
||||||
|
for _,player in pairs(minetest.get_connected_players() ) do
|
||||||
|
if vector.distance(player:getpos(), thisplayer:getpos() ) <= playerpxoimitypref[playername] then
|
||||||
|
targetplayers[#targetplayers] = player
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return targetplayers
|
||||||
|
end
|
||||||
|
})
|
Loading…
x
Reference in New Issue
Block a user