Move chatcommands to separate files.

master
red-001 2016-11-02 20:19:28 +00:00
parent 20f5cd39c9
commit a934de42da
3 changed files with 97 additions and 67 deletions

42
chatcommands.lua Normal file
View File

@ -0,0 +1,42 @@
minetest.register_chatcommand("duel", {
params = "<player name>",
description = "Challenge a player to a duel",
func = function(caller, param)
if caller == param then
return false, "You can't have a duel with yourself"
end
local player = minetest.get_player_by_name(param)
if not player then
return false, "Player:"..param.." not found."
end
if duel.challenge(caller, param) then
return true, "You have challenged "..param.." to a duel"
else
return false, "Duel already in progres"
end
end,
})
minetest.register_chatcommand("duel_accept", {
description = "Accept a duel",
func = function(caller, param)
if duel.accept(caller) then
return true, "You have accepted the challenge"
else
return false, "No-one has challenged you to a duel"
end
end,
})
minetest.register_chatcommand("duel_abandon", {
description = "Abandon a duel before one of the players dies (causes you to lose)",
func = function(caller, param)
if duel.lose(caller) then
return true, "You have abandon a duel"
else
return false, "You are not in a duel"
end
end,
})

50
dev_chatcommands.lua Normal file
View File

@ -0,0 +1,50 @@
core.register_chatcommand("forceduel", {
params = "<player name>",
description = "Force a player to duel",
func = function(caller, param)
local player = minetest.get_player_by_name(param)
if not player then
return false, "Player:"..param.." not found."
end
if duel.challenge(caller, param) then
duel.accept(param)
return true, "You have challenged "..param.." to a duel"
else
return false, "Duel already in progres"
end
end,
})
core.register_chatcommand("setstate", {
description = "set duel state",
func = function(caller, param)
duel_data.state = param
return true, "done"
end,
})
core.register_chatcommand("restore", {
description = "restore inventory",
func = function(caller, param)
local player = minetest.get_player_by_name(caller)
restore_player_inv(player)
return true, "done"
end,
})
core.register_chatcommand("save", {
description = "save inventory",
func = function(caller, param)
local player = minetest.get_player_by_name(caller)
save_player_inv(player)
return true, "done"
end,
})
core.register_chatcommand("dump", {
description = "dump data",
func = function(caller, param)
print(dump(duel_data))
return true, "done"
end,
})

View File

@ -1,5 +1,7 @@
duel = {}
local modpath = minetest.get_modpath("duel")
-- TODO: use a setting for this
duel.pos1={x=0,y=0,z=0}
duel.pos2={x=10,y=0,z=10}
@ -186,72 +188,8 @@ minetest.register_on_respawnplayer(function(player)
end)
-- Register chat commands
core.register_chatcommand("duel", {
params = "<player name>",
description = "Challenge a player to a duel",
func = function(caller, param)
if caller == param then
return false, "You can't have a duel with yourself"
end
local player = minetest.get_player_by_name(param)
if not player then
return false, "Player:"..param.." not found."
end
if duel.challenge(caller, param) then
return true, "You have challenged "..param.." to a duel"
else
return false, "Duel already in progres"
end
end,
})
core.register_chatcommand("duel_accept", {
description = "Accept a duel",
func = function(caller, param)
if duel.accept(caller) then
return true, "You have accepted the challenge"
else
return false, "No-one has challenged you to a duel"
end
end,
})
core.register_chatcommand("duel_abandon", {
description = "Abandon a duel before one of the players dies (causes you to lose)",
func = function(caller, param)
if duel.lose(caller) then
return true, "You have abandon a duel"
else
return false, "You are not in a duel"
end
end,
})
if dev_mode then
core.register_chatcommand("restore", {
description = "restore inventory",
func = function(caller, param)
local player = minetest.get_player_by_name(caller)
restore_player_inv(player)
return true, "done"
end,
})
core.register_chatcommand("save", {
description = "save inventory",
func = function(caller, param)
local player = minetest.get_player_by_name(caller)
save_player_inv(player)
return true, "done"
end,
})
core.register_chatcommand("dump", {
description = "dump data",
func = function(caller, param)
print(dump(duel_data))
return true, "done"
end,
})
dofile(modpath.."chatcommands")
if dev_mode then
dofile(modpath.."dev_chatcommands")
end