summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples.lua79
-rw-r--r--init.lua82
2 files changed, 82 insertions, 79 deletions
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")