Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
-- Fails mod By Mg <mg[dot]minetest[at]gmail[dot]com>
|
|
|
|
--[[
|
|
|
|
|
|
|
|
/-----\-\
|
|
|
|
/ /--] \-\
|
|
|
|
| |-] |-|
|
|
|
|
\ | /-/
|
|
|
|
\-----/-/
|
|
|
|
|
|
|
|
"Congratulation, you win a failpoint."
|
|
|
|
|
|
|
|
]]--
|
|
|
|
|
|
|
|
-- The FailPoint mod by Mg.
|
|
|
|
-- The principal purpose of this mod is to allow FailPoints give, and the storage of them
|
|
|
|
|
2014-12-31 16:57:45 +01:00
|
|
|
data = {}
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
|
|
|
|
data.fp_file = minetest.get_worldpath().."/failpoints"
|
|
|
|
data.failpoints = {}
|
2014-12-31 17:10:47 +01:00
|
|
|
data.fp_version = 0.1
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
|
|
|
|
-- fp_create priv to create failpoints
|
|
|
|
minetest.register_privilege("fp_create","Is able to create FailPoints and give them to anybody else")
|
|
|
|
|
2014-12-31 16:57:45 +01:00
|
|
|
-- Check configuration fields
|
|
|
|
|
|
|
|
data.PUB_MSG = false
|
|
|
|
data.STRICT_PLAYER_CHECK = true
|
|
|
|
|
|
|
|
if minetest.setting_getbool("fp_pubmsg") ~= nil then
|
|
|
|
data.PUB_MSG = minetest.setting_getbool("fp_pubmsg")
|
|
|
|
end
|
|
|
|
if minetest.setting_getbool("fp_strict_checking") ~= nil then
|
|
|
|
data.STRICT_PLAYER_CHECK = minetest.setting_getbool("fp_strict_checking")
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Configuration application
|
|
|
|
|
|
|
|
data.send_func = function(name, msg) core.chat_send_player(name, msg) end
|
|
|
|
|
|
|
|
if data.PUB_MSG then
|
|
|
|
data.send_func = function (name, msg) core.chat_send_all(msg) end
|
|
|
|
end
|
|
|
|
|
|
|
|
data.is_player_available = minetest.get_player_by_name
|
|
|
|
|
|
|
|
if data.STRICT_PLAYER_CHECK == false then
|
|
|
|
print("REDEF!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
|
|
|
|
data.is_player_available = function (name)
|
|
|
|
return (io.open(minetest.get_worldpath().."/players/"..name) ~= nil)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
-- Loading failpoints
|
|
|
|
pntf = io.open(data.fp_file,"r")
|
|
|
|
if pntf == nil then
|
|
|
|
pntf = io.open(data.fp_file,"w")
|
|
|
|
else
|
|
|
|
repeat
|
|
|
|
local line = pntf:read()
|
|
|
|
if line == nil or line == "" then break end
|
|
|
|
data.failpoints[line:split(" ")[1]] = line:split(" ")[2]+0
|
|
|
|
until 1 == 0 -- Ok, not the best way to create a loop..
|
|
|
|
end
|
|
|
|
minetest.log("action","[FailPoints] Loaded")
|
|
|
|
|
|
|
|
-- Global callbacks
|
|
|
|
minetest.register_on_shutdown(function()
|
|
|
|
-- Saving failpoints
|
|
|
|
pntf = io.open(data.fp_file,"w")
|
|
|
|
for i,v in pairs(data.failpoints) do
|
|
|
|
if v ~= 0 then
|
|
|
|
pntf:write(i.." "..v.."\n")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
minetest.register_chatcommand("fail", {
|
|
|
|
params = "<subcommand> <subcommandparam> | <playername>",
|
|
|
|
description = "Fail command",
|
|
|
|
privs = {shout = true},
|
|
|
|
func = function(name, parameters)
|
|
|
|
local paramlist = parameters:split(" ")
|
|
|
|
local param = paramlist[1]
|
|
|
|
local param2 = paramlist[2]
|
|
|
|
if param == "version" then
|
2014-12-31 16:57:45 +01:00
|
|
|
core.chat_send_player(name,"-FP- Fail mod version: "..data.fp_version)
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
return true
|
|
|
|
elseif param == "help" or param == nil then
|
|
|
|
core.chat_send_player(name,"Failpoints available help :")
|
|
|
|
core.chat_send_player(name,"/fail <subcommand> | <playername>")
|
|
|
|
core.chat_send_player(name,"Available subcommands :")
|
|
|
|
core.chat_send_player(name," - help : show this help")
|
|
|
|
core.chat_send_player(name," - version : show actual fail version")
|
|
|
|
core.chat_send_player(name," - view | view <playername> : View player's failpoints amount")
|
2014-12-31 16:57:45 +01:00
|
|
|
return
|
|
|
|
elseif param == "settings" then
|
|
|
|
if not minetest.get_player_privs(name)["server"] then
|
|
|
|
core.chat_send_player(name,"You're not allowed to perform this command. (Missing privilege : server)")
|
|
|
|
return
|
|
|
|
end
|
|
|
|
|
|
|
|
core.chat_send_player(name,"=== FP_DEBUG_LINES SENT ===")
|
|
|
|
local send_admin = function(msg)
|
|
|
|
core.chat_send_player(name,msg)
|
|
|
|
end
|
|
|
|
|
|
|
|
table.foreach(data,print)
|
|
|
|
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
return
|
|
|
|
elseif param == "view" then
|
|
|
|
if param2 == "" or param2 == nil then
|
|
|
|
local ownfail = 0
|
|
|
|
if data.failpoints[name] then
|
|
|
|
ownfail = data.failpoints[name]
|
|
|
|
end
|
|
|
|
core.chat_send_player(name,"-FP- You own "..ownfail.." FailPoints.")
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
|
|
|
|
if data.failpoints[param2] ~= nil and data.failpoints[param2] > 0 then
|
|
|
|
core.chat_send_player(name,"-FP- Player "..param2.." owns "..data.failpoints[param2].." FailPoints.")
|
|
|
|
else
|
|
|
|
core.chat_send_player(name,"-FP- Player "..param2.." doesn't seem to own any FailPoint.")
|
|
|
|
end
|
|
|
|
else
|
|
|
|
|
|
|
|
-- If not any known command
|
|
|
|
if name == param then
|
|
|
|
if minetest.get_player_privs(name)["fp_create"] == true then
|
|
|
|
minetest.log("error",name.." tried to create a failpoint by giving to himself")
|
2014-12-31 16:57:45 +01:00
|
|
|
data.send_func(name,"-FP- Congratulation, you failed " .. name .. " . Don't try to give to yourself :p")
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
else
|
|
|
|
minetest.log("action",name.."gave himself a FailPoint")
|
2014-12-31 16:57:45 +01:00
|
|
|
data.send_func(name,"-FP- You failed " .. name .. " : It appears the name you entered is yours")
|
|
|
|
data.send_func(name,"Don't try to give yourself failpoints, it's useless :p")
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
end
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
|
|
|
if param == "" then
|
|
|
|
minetest.chat_send_player(name,"-FP- You failed: Not enough parameters given, type /fail help for help")
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
2014-12-31 16:57:45 +01:00
|
|
|
if not data.is_player_available(param) then
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
core.chat_send_player(name,"-FP- You failed: Sorry, "..param.." isn't online.")
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Take, or not, failpoints from name's account to give them to param
|
|
|
|
if minetest.get_player_privs(name)["fp_create"] ~= true then
|
|
|
|
if data.failpoints[name] == nil or data.failpoints[name] == 0 then
|
|
|
|
core.chat_send_player(name,"You failed: You don't have enough failpoints..")
|
|
|
|
return false
|
|
|
|
elseif data.failpoints[name] > 0 then
|
|
|
|
data.failpoints[name] = data.failpoints[name] -1
|
|
|
|
end
|
|
|
|
else
|
|
|
|
minetest.log("action","[FailPoints] "..name.." has created a FailPoint.")
|
|
|
|
end
|
|
|
|
|
|
|
|
-- Give/Add the failpoint to param' account
|
|
|
|
if data.failpoints[param] == nil then
|
|
|
|
data.failpoints[param] = 1
|
|
|
|
else
|
|
|
|
data.failpoints[param] = data.failpoints[param]+1
|
|
|
|
end
|
|
|
|
|
|
|
|
minetest.log("action","[FailPoints] "..name.." has given a failpoint to "..param)
|
|
|
|
minetest.log("action","[FailPoints] "..param.." now own "..data.failpoints[param].."FPs")
|
|
|
|
minetest.log("action","[FailPoints] "..name.." now own "..(data.failpoints[name] or 0).."FPs")
|
2014-12-31 17:10:47 +01:00
|
|
|
local message_reason = "."
|
|
|
|
if param2 ~= "" then
|
|
|
|
local m_table = paramlist
|
|
|
|
table.remove(m_table,1)
|
|
|
|
message_reason = " because "
|
|
|
|
for _,k in ipairs(m_table) do
|
|
|
|
message_reason = message_reason..k.." "
|
|
|
|
end
|
|
|
|
end
|
|
|
|
data.send_func(param,"Congratulations "..param..", you win a failpoint" .. message_reason)
|
Adding fail mod
(I'm gonna speak french a bit there..)
Je propose dans cette pull-request un mod dont je vous ai déjà sûrement parlé,
le mod fail. Fail est un petit mod, qui n'a (pour le moment) pas de but précis
à part l'animation et le fun sur le serveur. Le mod permet à une petite élite,
au départ, de créer des failpoints et des cookies pour les donner à des joueurs
qui réussissent une action particulière, ou qui se rattent lamentablement de
sorte que ce soit quelque chose de particulièrement drôle.
Par exemple, si un joueur envoie :
:msg Bidule J'ai trouvé du mese vers x,y,z rien que pour moi niark!
Et que tout le monde (IRC compris ici) le voit, c'est un joli failpoint que le
joueur recevra au lieu de ses mese diamonds/blocks!
Le mod de manière générale sert juste (pour le moment) à mettre un peu plus de
fun sur le serveur, mais les autres joueurs semblent l'attendre avec impatience,
et si il est intégré, je me chargerai de l'intégrer dans d'autres mods, comme
death_messages, pour des morts stupides dans la lave, l'acide, l'eau, etc...
Si vous voulez suivre le développement seul du mod il est [ici](http://github.com/LeMagnesium/fail).
2014-12-29 20:19:23 +01:00
|
|
|
core.chat_send_player(name,"FP sent.")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Create the same things for cookies
|
|
|
|
dofile(minetest.get_modpath("fail").."/cookie.lua")
|