missions/steps/grant.lua
NatureFreshMilk 02cfd18b4d luacheck
2019-07-30 12:56:56 +02:00

55 lines
929 B
Lua

missions.register_step({
type = "grant",
name = "Grant privilege",
privs = {privs=true},
create = function()
return {priv=""}
end,
edit_formspec = function(ctx)
local stepdata = ctx.step.data
local formspec = "size[8,8;]" ..
"label[0,0;Grant privilege]" ..
"field[0,2;8,1;priv;Privilege;" .. stepdata.priv .. "]" ..
"button[0,7;8,1;save;Save]"
return formspec;
end,
update = function(ctx)
local fields = ctx.fields
local stepdata = ctx.step.data
if fields.priv then
stepdata.priv = fields.priv
end
if fields.save then
ctx.show_mission()
end
end,
on_step_enter = function(ctx)
local player = ctx.player
local name = player:get_player_name()
local stepdata = ctx.step.data
local priv = stepdata.priv
if priv then
local privs = minetest.get_player_privs(name)
privs[priv] = true
minetest.set_player_privs(name, privs)
end
ctx.on_success()
end
})