forked from minetest-mods/teleport-request
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterface.lua
More file actions
59 lines (54 loc) · 2.47 KB
/
interface.lua
File metadata and controls
59 lines (54 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
-- interface.lua
local function show_main_formspec(player)
local formspec = "size[6,4]" ..
"label[0.5,0.5;Que voulez-vous faire ?]" ..
"button[1,1;4,1;tp_to_player;TP vers quelqu'un]" ..
"button[1,2;4,1;tp_to_me;TP vers moi]"
minetest.show_formspec(player:get_player_name(), "better_tp:main", formspec)
end
local function show_input_formspec(player, mode)
local label = mode == "to_player" and "Entrez le pseudo du joueur vers qui vous voulez vous téléporter :" or
"Entrez le pseudo du joueur que vous voulez faire venir :"
local formspec = "size[8,3]" ..
"label[0.5,0.5;"..minetest.formspec_escape(label).."]" ..
"field[0.5,1.5;7,1;target;;]" ..
"button_exit[2,2.5;4,1;submit;Valider]"
minetest.show_formspec(player:get_player_name(), "better_tp:input_"..mode, formspec)
end
local function register_interface_handlers()
minetest.register_chatcommand("tp", {
description = "Ouvre le menu de téléportation",
func = function(name)
local player = minetest.get_player_by_name(name)
if not player then return false, "Joueur introuvable." end
show_main_formspec(player)
return true
end
})
minetest.register_on_player_receive_fields(function(player, formname, fields)
local name = player:get_player_name()
if formname == "better_tp:main" then
if fields.tp_to_player then
show_input_formspec(player, "to_player")
elseif fields.tp_to_me then
show_input_formspec(player, "to_me")
end
elseif formname == "better_tp:input_to_player" or formname == "better_tp:input_to_me" then
if fields.submit and fields.target and fields.target ~= "" then
local target = fields.target
if formname == "better_tp:input_to_player" then
tp.make_request(name, target, "sender")
minetest.chat_send_player(name, "Demande de téléportation envoyée à "..target..".")
else
tp.make_request(name, target, "receiver")
minetest.chat_send_player(name, "Demande de téléportation envoyée à "..target..".")
end
else
minetest.chat_send_player(name, "Veuillez entrer un pseudo valide.")
end
end
end)
end
return {
register = register_interface_handlers
}