diff --git a/examples.lua b/examples.lua new file mode 100644 index 0000000..df438ee --- /dev/null +++ b/examples.lua @@ -0,0 +1,79 @@ +----- EXAMPLE EFFECT TYPES ----- + +playereffects.register_effect_type("high_speed", "high speed", {"speed"}, + function(player) + player:set_physics_override(4,nil,nil) + end, + + function(effect) + local player = minetest.get_player_by_name(effect.playername) + player:set_physics_override(1,nil,nil) + end +) +playereffects.register_effect_type("low_speed", "low speed", {"speed"}, + function(player) + player:set_physics_override(0.25,nil,nil) + end, + + function(effect) + local player = minetest.get_player_by_name(effect.playername) + player:set_physics_override(1,nil,nil) + end +) +playereffects.register_effect_type("highjump", "greater jump height", {"jump"}, + function(player) + player:set_physics_override(nil,2,nil) + end, + function(effect) + local player = minetest.get_player_by_name(effect.playername) + player:set_physics_override(nil,1,nil) + end +) +playereffects.register_effect_type("fly", "fly mode available", {"fly"}, + function(player) + local playername = player:get_player_name() + local privs = minetest.get_player_privs(playername) + privs.fly = true + minetest.set_player_privs(playername, privs) + end, + function(effect) + local privs = minetest.get_player_privs(effect.playername) + privs.fly = nil + minetest.set_player_privs(effect.playername, privs) + end +) + + +minetest.register_chatcommand("fast", { + params = "", + description = "Makes you fast for a short time.", + privs = {}, + func = function(name, param) + playereffects.apply_effect_type("high_speed", 10, minetest.get_player_by_name(name)) + end, +}) +minetest.register_chatcommand("slow", { + params = "", + description = "Makes you slow for a long time.", + privs = {}, + func = function(name, param) + playereffects.apply_effect_type("low_speed", 120, minetest.get_player_by_name(name)) + end, +}) +minetest.register_chatcommand("highjump", { + params = "", + description = "Makes you jump higher for a short time.", + privs = {}, + func = function(name, param) + playereffects.apply_effect_type("highjump", 20, minetest.get_player_by_name(name)) + end, +}) + +minetest.register_chatcommand("fly", { + params = "", + description = "Grants you the fly privilege for a short time.", + privs = {}, + func = function(name, param) + playereffects.apply_effect_type("fly", 20, minetest.get_player_by_name(name)) + end, +}) diff --git a/init.lua b/init.lua index 41ba17c..5c93942 100644 --- a/init.lua +++ b/init.lua @@ -249,82 +249,6 @@ function playereffects.hud_effect(effect_type_id, player, pos) end ------ EXAMPLE EFFECT TYPES ----- - -playereffects.register_effect_type("high_speed", "high speed", {"speed"}, - function(player) - player:set_physics_override(4,nil,nil) - end, - - function(effect) - local player = minetest.get_player_by_name(effect.playername) - player:set_physics_override(1,nil,nil) - end -) -playereffects.register_effect_type("low_speed", "low speed", {"speed"}, - function(player) - player:set_physics_override(0.25,nil,nil) - end, - - function(effect) - local player = minetest.get_player_by_name(effect.playername) - player:set_physics_override(1,nil,nil) - end -) -playereffects.register_effect_type("highjump", "greater jump height", {"jump"}, - function(player) - player:set_physics_override(nil,2,nil) - end, - function(effect) - local player = minetest.get_player_by_name(effect.playername) - player:set_physics_override(nil,1,nil) - end -) -playereffects.register_effect_type("fly", "fly mode available", {"fly"}, - function(player) - local playername = player:get_player_name() - local privs = minetest.get_player_privs(playername) - privs.fly = true - minetest.set_player_privs(playername, privs) - end, - function(effect) - local privs = minetest.get_player_privs(effect.playername) - privs.fly = nil - minetest.set_player_privs(effect.playername, privs) - end -) - - -minetest.register_chatcommand("fast", { - params = "", - description = "Makes you fast for a short time.", - privs = {}, - func = function(name, param) - playereffects.apply_effect_type("high_speed", 10, minetest.get_player_by_name(name)) - end, -}) -minetest.register_chatcommand("slow", { - params = "", - description = "Makes you slow for a long time.", - privs = {}, - func = function(name, param) - playereffects.apply_effect_type("low_speed", 120, minetest.get_player_by_name(name)) - end, -}) -minetest.register_chatcommand("highjump", { - params = "", - description = "Makes you jump higher for a short time.", - privs = {}, - func = function(name, param) - playereffects.apply_effect_type("highjump", 20, minetest.get_player_by_name(name)) - end, -}) - -minetest.register_chatcommand("fly", { - params = "", - description = "Grants you the fly privilege for a short time.", - privs = {}, - func = function(name, param) - playereffects.apply_effect_type("fly", 20, minetest.get_player_by_name(name)) - end, -}) +-- EXAMPLES +-- uncomment the line below if you want to try out the examples +-- dofile(minetest.get_modpath(minetest.get_current_modname()).."/examples.lua")