Make everything customisable! Look in config.lua for configuration options.

This commit is contained in:
Amaz1
2015-04-20 09:27:25 +01:00
parent 3f0444598a
commit b3eb6379a1
4 changed files with 98 additions and 34 deletions

View File

@ -1,33 +1,32 @@
local RULES = [[
Rules:
]]
dofile(minetest.get_modpath("interact") .. "/config.lua")
dofile(minetest.get_modpath("interact") .. "/rules.lua") --I put the rules in their own file so that they don't get lost/overlooked!
local function make_formspec(player)
local name = player:get_player_name()
local size = { "size[10,4]" }
table.insert(size, "label[0.5,0.5;Hello, " ..name.. ", welcome to this server!]")
table.insert(size, "label[0.5,1.5;Could you please tell me if you like to grief or not?]")
table.insert(size, "button_exit[5.5,3.4;2,0.5;no;No, I don't.]")
table.insert(size, "button[7.5,3.4;2,0.5;yes;Yes, I do!]")
table.insert(size, "label[0.5,0.5;" ..interact.s1_header.. "]")
table.insert(size, "label[0.5,1.5;" ..interact.s1_l2.. "]")
table.insert(size, "label[0.5,2;" ..interact.s1_l3.. "]")
table.insert(size, "button_exit[5.5,3.4;2,0.5;no;" ..interact.s1_b1.. "]")
table.insert(size, "button[7.5,3.4;2,0.5;yes;" ..interact.s1_b2.. "]")
return table.concat(size)
end
local function make_formspec2(player)
local name = player:get_player_name()
local size = { "size[10,4]" }
table.insert(size, "label[0.5,0.5;So " ..name.. ", do you want interact, or do you just want to look around]")
table.insert(size, "label[0.5,1;the server?]")
table.insert(size, "button_exit[2.5,3.4;3.5,0.5;interact;Yes, I want interact!]")
table.insert(size, "button_exit[6.4,3.4;3.6,0.5;visit;I just want to look round.]")
table.insert(size, "label[0.5,0.5;" ..interact.s2_l1.. "]")
table.insert(size, "label[0.5,1;" ..interact.s2_l2.. "]")
table.insert(size, "button_exit[2.5,3.4;3.5,0.5;interact;" ..interact.s2_b1.. "]")
table.insert(size, "button_exit[6.4,3.4;3.6,0.5;visit;" ..interact.s2_b2.. "]")
return table.concat(size)
end
local function make_formspec3(player)
local size = { "size[10,8]" }
table.insert(size, "textarea[0.5,0.5;9.5,7.5;TOS;Here are the rules:;"..RULES.."]")
table.insert(size, "button[5.5,7.4;2,0.5;decline;I Disagree]")
table.insert(size, "button_exit[7.5,7.4;2,0.5;accept;I Agree]")
table.insert(size, "textarea[0.5,0.5;9.5,7.5;TOS;" ..interact.s3_header.. ";" ..interact.rules.. "]")
table.insert(size, "button[5.5,7.4;2,0.5;decline;" ..interact.s3_b2.. "]")
table.insert(size, "button_exit[7.5,7.4;2,0.5;accept;" ..interact.s3_b1.. "]")
return table.concat(size)
end
@ -40,7 +39,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end)
return
elseif fields.yes then
minetest.kick_player(name, "Try out singleplayer if you like griefing, because then you'll only destroy your own stuff!")
if interact.grief_ban ~= true then
minetest.kick_player(name, interact.msg_grief)
else
minetest.ban_player(name)
end
return
end
end)
@ -54,7 +57,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end)
return
elseif fields.visit then
minetest.chat_send_player(name, "Have a nice time looking round! If you want interact just type /rules, and you can go through the process again!")
minetest.chat_send_player(name, interact.vist_msg)
minetest.log("action", name.. " is just visiting.")
return
end
@ -65,9 +68,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname ~= "rules" then return end
local name = player:get_player_name()
if fields.accept then
if minetest.check_player_privs(name, {shout=true}) then
minetest.chat_send_player(name, "Thanks for accepting the rules, you now are able to interact with things.")
minetest.chat_send_player(name, "Happy building!")
if minetest.check_player_privs(name, interact.priv) then
minetest.chat_send_player(name, interact.interact_msg1)
minetest.chat_send_player(name, interact.interact_msg2)
local privs = minetest.get_player_privs(name)
privs.interact = true
minetest.set_player_privs(name, privs)
@ -75,7 +78,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end
return
elseif fields.decline then
minetest.kick_player(name, "Bye then! You have to agree to the rules to play on the server.")
if interact.disagree_ban ~= true then
minetest.kick_player(name, interact.disagree_msg)
else
minetest.ban_player(name)
end
return
end
end)
@ -83,7 +90,7 @@ end)
minetest.register_chatcommand("rules",{
params = "",
description = "Shows the server rules",
privs = {shout=true},
privs = interact.priv,
func = function (name,params)
local player = minetest.get_player_by_name(name)
minetest.after(1, function()
@ -100,4 +107,3 @@ minetest.register_on_joinplayer(function(player)
end
end
)