init.lua 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. local S = minetest.get_translator("tntrun")
  2. tntrun = {}
  3. dofile(minetest.get_modpath("tntrun") .. "/settings.lua")
  4. local player_jump = tntrun.player_jump
  5. local player_speed = tntrun.player_speed
  6. local player_jump = tntrun.player_jump
  7. local player_speed = tntrun.player_speed
  8. arena_lib.register_minigame("tntrun", {
  9. name = "Tnt Run!",
  10. icon = "tntrun_icon",
  11. celebration_time = 3,
  12. load_time = 3,
  13. prefix = "[Sp] ",
  14. celebration_time = 3,
  15. load_time = 4,
  16. queue_waiting_time = 20,
  17. show_minimap = true,
  18. properties = {
  19. tnt_area_pos_1 = {{x = "<xpos>", y = "<ypos>", z = "<zpos>"}},
  20. tnt_area_pos_2 = {{x = "<xpos>", y = "<ypos>", z = "<zpos>"}},
  21. },
  22. disabled_damage_types = {"punch"},
  23. hotbar = {
  24. slots = 1,
  25. background_image = "tntrun_gui_hotbar.png"
  26. },
  27. in_game_physics = {
  28. speed = tntrun.player_speed,
  29. jump = tntrun.player_jump,
  30. },
  31. })
  32. minetest.register_privilege("tntrun_admin", S("Needed for Tntrun"))
  33. if not minetest.get_modpath("lib_chatcmdbuilder") then
  34. dofile(minetest.get_modpath("tntrun") .. "/chatcmdbuilder.lua")
  35. end
  36. dofile(minetest.get_modpath("tntrun") .. "/nodes.lua")
  37. dofile(minetest.get_modpath("tntrun") .. "/auto.lua")
  38. dofile(minetest.get_modpath("tntrun") .. "/tnt.lua")
  39. minetest.register_privilege("tntrun_admin", S("Needed for Tntrun admin setup"))
  40. ChatCmdBuilder.new("tntrun", function(cmd) -- In music is a music Cusade by KevinMacLeod which should using for one map
  41. -- create arena
  42. cmd:sub("create :arena", function(name, arena_name)
  43. arena_lib.create_arena(name, "tntrun", arena_name)
  44. end)
  45. cmd:sub("create :arena :minplayers:int :maxplayers:int", function(name, arena_name, min_players, max_players)
  46. arena_lib.create_arena(name, "tntrun", arena_name, min_players, max_players)
  47. end)
  48. -- remove arena
  49. cmd:sub("remove :arena", function(name, arena_name)
  50. arena_lib.remove_arena(name, "tntrun", arena_name)
  51. end)
  52. -- list of the arenas
  53. cmd:sub("list", function(name)
  54. arena_lib.print_arenas(name, "tntrun")
  55. end)
  56. -- enter editor mode
  57. cmd:sub("edit :arena", function(sender, arena)
  58. arena_lib.enter_editor(sender, "tntrun", arena)
  59. end)
  60. -- enable and disable arenas
  61. cmd:sub("enable :arena", function(name, arena)
  62. arena_lib.enable_arena(name, "tntrun", arena)
  63. end)
  64. cmd:sub("disable :arena", function(name, arena)
  65. arena_lib.disable_arena(name, "tntrun", arena)
  66. end)
  67. end, {
  68. description = [[
  69. (/help tntrun)
  70. Use this to configure your arena:
  71. - create <arena name> [min players] [max players]
  72. - edit <arena name>
  73. - enable <arena name>
  74. Other commands:
  75. - remove <arena name>
  76. - disable <arena>
  77. ]],
  78. privs = {
  79. tntrun_admin = true
  80. },
  81. })
  82. arena_lib.on_enable("tntrun", function(arena, p_name)
  83. if #arena.tnt_area_pos_1 ~= #arena.tnt_area_pos_2 or arena.tnt_area_pos_1 [1] == { x = "<xpos>" , y = "<ypos>", z = "<zpos>" } or arena.tnt_area_pos_2 [1] == { x = "<xpos>", y = "<ypos>", z = "<zpos>"} then
  84. minetest.chat_send_player(p_name,"Missing params in the positions")
  85. return false
  86. end
  87. return true
  88. end)