minetest.register_on_joinplayer(function(player) minetest.setting_set("node_highlighting", "box") minetest.setting_set("disable_anticheat", "true") minetest.setting_set("bones_mode", "keep") minetest.setting_set("time_speed", "0") minetest.set_timeofday(0.5) local player_inv = player:get_inventory() local g1 = player_inv:get_stack("gem", 1):get_name() local g2 = player_inv:get_stack("gem", 2):get_name() local g3 = player_inv:get_stack("gem", 3):get_name() local g4 = player_inv:get_stack("gem", 4):get_name() local g5 = player_inv:get_stack("gem", 5):get_name() local g21 = player_inv:get_stack("2gem", 1):get_name() local g22 = player_inv:get_stack("2gem", 2):get_name() local g23 = player_inv:get_stack("2gem", 3):get_name() local g24 = player_inv:get_stack("2gem", 4):get_name() local g25 = player_inv:get_stack("2gem", 5):get_name() local gg1 = 0 local gg2 = 0 local gg3 = 0 local gg4 = 0 local gg5 = 0 local gg21 = 0 local gg22 = 0 local gg23 = 0 local gg24 = 0 local gg25 = 0 if g1 == "tutorial:magic_gem1" then gg1 = 1 end if g2 == "tutorial:magic_gem2" then gg2 = 1 end if g3 == "tutorial:magic_gem3" then gg3 = 1 end if g4 == "tutorial:magic_gem4" then gg4 = 1 end if g5 == "tutorial:magic_gem5" then gg5 = 1 end if g21 == "tutorial:magic_gem1" then gg21 = 1 end if g22 == "tutorial:magic_gem2" then gg22 = 1 end if g23 == "tutorial:magic_gem3" then gg23 = 1 end if g24 == "tutorial:magic_gem4" then gg24 = 1 end if g25 == "tutorial:magic_gem5" then gg25 = 1 end if gg1 == 1 and gg2 == 1 and gg3 == 1 and gg4 == 1 and gg5 == 1 then local punched_player_privs = minetest.get_player_privs(player:get_player_name()) punched_player_privs["home"] = true punched_player_privs["zoom"] = true minetest.set_player_privs(player:get_player_name(), punched_player_privs) end if gg21 == 1 and gg22 == 1 and gg23 == 1 and gg24 == 1 and gg25 == 1 then local punched_player_privs = minetest.get_player_privs(player:get_player_name()) punched_player_privs["fast"] = true minetest.set_player_privs(player:get_player_name(), punched_player_privs) end end) minetest.register_on_shutdown(function() minetest.setting_set("disable_anticheat", "false") minetest.setting_set("bones_mode", "bones") minetest.setting_set("time_speed", "72") end) local gem = {} gem.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("gem", 5) player_inv:set_size("2gem", 5) local g1 = player_inv:get_stack("gem", 1):get_name() local g2 = player_inv:get_stack("gem", 2):get_name() local g3 = player_inv:get_stack("gem", 3):get_name() local g4 = player_inv:get_stack("gem", 4):get_name() local g5 = player_inv:get_stack("gem", 5):get_name() local g21 = player_inv:get_stack("2gem", 1):get_name() local g22 = player_inv:get_stack("2gem", 2):get_name() local g23 = player_inv:get_stack("2gem", 3):get_name() local g24 = player_inv:get_stack("2gem", 4):get_name() local g25 = player_inv:get_stack("2gem", 5):get_name() formspec = "size[8,8.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[8,8.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."image[1.5,1.25;1,1;tutorial_gem1.png]" .."image[2.5,1.25;1,1;tutorial_gem2.png]" .."image[3.5,1.25;1,1;tutorial_gem3.png]" .."image[4.5,1.25;1,1;tutorial_gem4.png]" .."image[5.5,1.25;1,1;tutorial_gem5.png]" if g1 == "tutorial:magic_gem1" and g2 == "tutorial:magic_gem2" and g3 == "tutorial:magic_gem3" and g4 == "tutorial:magic_gem4" and g5 == "tutorial:magic_gem5" then else formspec = formspec .."list[current_player;gem;1.5,1.25;5,1;]" end if g21 == "tutorial:magic_gem1" and g22 == "tutorial:magic_gem2" and g23 == "tutorial:magic_gem3" and g24 == "tutorial:magic_gem4" and g25 == "tutorial:magic_gem5" then formspec = formspec .."image[1.5,2.25;1,1;tutorial_gem1.png]" .."image[2.5,2.25;1,1;tutorial_gem2.png]" .."image[3.5,2.25;1,1;tutorial_gem3.png]" .."image[4.5,2.25;1,1;tutorial_gem4.png]" .."image[5.5,2.25;1,1;tutorial_gem5.png]" else if g1 == "tutorial:magic_gem1" and g2 == "tutorial:magic_gem2" and g3 == "tutorial:magic_gem3" and g4 == "tutorial:magic_gem4" and g5 == "tutorial:magic_gem5" then formspec = formspec .."list[current_player;2gem;1.5,2.25;5,1;]" .."image[1.5,2.25;1,1;tutorial_gem1.png]" .."image[2.5,2.25;1,1;tutorial_gem2.png]" .."image[3.5,2.25;1,1;tutorial_gem3.png]" .."image[4.5,2.25;1,1;tutorial_gem4.png]" .."image[5.5,2.25;1,1;tutorial_gem5.png]" end end formspec = formspec .."list[current_player;main;0,4.25;8,1;]" .."list[current_player;main;0,5.5;8,3;8]" return formspec end local crafting5 = {} crafting5.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("gem1", 8) player_inv:set_size("gem2", 8) formspec = "size[10,8.3]" .."background[10,8.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."list[current_player;gem1;2,1;8,1;]" .."label[0,1.2;Gem fragment]" .."list[current_player;gem2;2,2;8,1;]" .."label[0,2.2;Uranium Ingot]" .."button[4,3.3;2,0.5;craftgem;craft]" .."list[current_player;main;1,4.25;8,1;]" .."list[current_player;main;1,5.5;8,3;8]" return formspec end minetest.register_on_player_receive_fields(function(player, formname, fields) local player_inv = player:get_inventory() player_inv:set_size("rew", 1) player_inv:set_size("rewb", 1) local rew = player_inv:get_stack("rew", 1):get_count() local rewb = player_inv:get_stack("rewb", 1):get_count() player_inv:set_size("a1", 1) player_inv:set_size("a2", 1) player_inv:set_size("a3", 1) player_inv:set_size("a4", 1) player_inv:set_size("a5", 1) player_inv:set_size("a6", 1) player_inv:set_size("a7", 1) player_inv:set_size("a8", 1) player_inv:set_size("a9", 1) player_inv:set_size("a10", 1) player_inv:set_size("a11", 1) player_inv:set_size("a12", 1) player_inv:set_size("a13", 1) player_inv:set_size("a14", 1) player_inv:set_size("a15", 1) player_inv:set_size("a16", 1) player_inv:set_size("a17", 1) player_inv:set_size("a18", 1) player_inv:set_size("a19", 1) player_inv:set_size("a20", 1) player_inv:set_size("a21", 1) player_inv:set_size("a22", 1) player_inv:set_size("a23", 1) player_inv:set_size("a24", 1) player_inv:set_size("a25", 1) player_inv:set_size("a26", 1) player_inv:set_size("a27", 1) player_inv:set_size("a28", 1) player_inv:set_size("a29", 1) player_inv:set_size("a30", 1) player_inv:set_size("a31", 1) player_inv:set_size("a32", 1) player_inv:set_size("a33", 1) player_inv:set_size("a34", 1) player_inv:set_size("a35", 1) player_inv:set_size("a36", 1) player_inv:set_size("a37", 1) player_inv:set_size("a38", 1) player_inv:set_size("a39", 1) player_inv:set_size("a40", 1) player_inv:set_size("a41", 1) player_inv:set_size("a42", 1) player_inv:set_size("a43", 1) player_inv:set_size("a44", 1) player_inv:set_size("a45", 1) player_inv:set_size("a46", 1) player_inv:set_size("a47", 1) player_inv:set_size("a48", 1) player_inv:set_size("a49", 1) player_inv:set_size("a50", 1) local a1 = player_inv:get_stack("a1", 1):get_count() local a2 = player_inv:get_stack("a2", 1):get_count() local a3 = player_inv:get_stack("a3", 1):get_count() local a4 = player_inv:get_stack("a4", 1):get_count() local a5 = player_inv:get_stack("a5", 1):get_count() local a6 = player_inv:get_stack("a6", 1):get_count() local a7 = player_inv:get_stack("a7", 1):get_count() local a8 = player_inv:get_stack("a8", 1):get_count() local a9 = player_inv:get_stack("a9", 1):get_count() local a10 = player_inv:get_stack("a10", 1):get_count() local a11 = player_inv:get_stack("a11", 1):get_count() local a12 = player_inv:get_stack("a12", 1):get_count() local a13 = player_inv:get_stack("a13", 1):get_count() local a14 = player_inv:get_stack("a14", 1):get_count() local a15 = player_inv:get_stack("a15", 1):get_count() local a16 = player_inv:get_stack("a16", 1):get_count() local a17 = player_inv:get_stack("a17", 1):get_count() local a18 = player_inv:get_stack("a18", 1):get_count() local a19 = player_inv:get_stack("a19", 1):get_count() local a20 = player_inv:get_stack("a20", 1):get_count() local a21 = player_inv:get_stack("a21", 1):get_count() local a22 = player_inv:get_stack("a22", 1):get_count() local a23 = player_inv:get_stack("a23", 1):get_count() local a24 = player_inv:get_stack("a24", 1):get_count() local a25 = player_inv:get_stack("a25", 1):get_count() local a26 = player_inv:get_stack("a26", 1):get_count() local a27 = player_inv:get_stack("a27", 1):get_count() local a28 = player_inv:get_stack("a28", 1):get_count() local a29 = player_inv:get_stack("a29", 1):get_count() local a30 = player_inv:get_stack("a30", 1):get_count() local a31 = player_inv:get_stack("a31", 1):get_count() local a32 = player_inv:get_stack("a32", 1):get_count() local a33 = player_inv:get_stack("a33", 1):get_count() local a34 = player_inv:get_stack("a34", 1):get_count() local a35 = player_inv:get_stack("a35", 1):get_count() local a36 = player_inv:get_stack("a36", 1):get_count() local a37 = player_inv:get_stack("a37", 1):get_count() local a38 = player_inv:get_stack("a38", 1):get_count() local a39 = player_inv:get_stack("a39", 1):get_count() local a40 = player_inv:get_stack("a40", 1):get_count() local a41 = player_inv:get_stack("a41", 1):get_count() local a42 = player_inv:get_stack("a42", 1):get_count() local a43 = player_inv:get_stack("a43", 1):get_count() local a44 = player_inv:get_stack("a44", 1):get_count() local a45 = player_inv:get_stack("a45", 1):get_count() local a46 = player_inv:get_stack("a46", 1):get_count() local a47 = player_inv:get_stack("a47", 1):get_count() local a48 = player_inv:get_stack("a48", 1):get_count() local a49 = player_inv:get_stack("a49", 1):get_count() local a50 = player_inv:get_stack("a50", 1):get_count() local d1 = 0 if a1 == 1 then d1 = d1+1 end if a2 == 1 then d1 = d1+1 end if a3 == 1 then d1 = d1+1 end if a4 == 1 then d1 = d1+1 end if a5 == 1 then d1 = d1+1 end if a6 == 1 then d1 = d1+1 end if a7 == 1 then d1 = d1+1 end if a8 == 1 then d1 = d1+1 end if a9 == 1 then d1 = d1+1 end if a10 == 1 then d1 = d1+1 end if a11 == 1 then d1 = d1+1 end if a12 == 1 then d1 = d1+1 end if a13 == 1 then d1 = d1+1 end if a14 == 1 then d1 = d1+1 end if a15 == 1 then d1 = d1+1 end if a16 == 1 then d1 = d1+1 end if a17 == 1 then d1 = d1+1 end if a18 == 1 then d1 = d1+1 end if a19 == 1 then d1 = d1+1 end if a18 == 1 then d1 = d1+1 end if a21 == 1 then d1 = d1+1 end if a22 == 1 then d1 = d1+1 end if a23 == 1 then d1 = d1+1 end if a24 == 1 then d1 = d1+1 end if a25 == 1 then d1 = d1+1 end if a26 == 1 then d1 = d1+1 end if a27 == 1 then d1 = d1+1 end if a28 == 1 then d1 = d1+1 end if a29 == 1 then d1 = d1+1 end if a30 == 1 then d1 = d1+1 end if a31 == 1 then d1 = d1+1 end if a32 == 1 then d1 = d1+1 end if a33 == 1 then d1 = d1+1 end if a34 == 1 then d1 = d1+1 end if a35 == 1 then d1 = d1+1 end if a36 == 1 then d1 = d1+1 end if a37 == 1 then d1 = d1+1 end if a38 == 1 then d1 = d1+1 end if a39 == 1 then d1 = d1+1 end if a40 == 1 then d1 = d1+1 end if a41 == 1 then d1 = d1+1 end if a42 == 1 then d1 = d1+1 end if a43 == 1 then d1 = d1+1 end if a44 == 1 then d1 = d1+1 end if a45 == 1 then d1 = d1+1 end if a46 == 1 then d1 = d1+1 end if a47 == 1 then d1 = d1+1 end if a48 == 1 then d1 = d1+1 end if a49 == 1 then d1 = d1+1 end if a50 == 1 then d1 = d1+1 end if fields.rew then if d1 > 24 and rew == 0 and player_inv:room_for_item("main", "mobs:knight_1248_egg") then player_inv:add_item("main", "mobs:knight_1248_egg") player_inv:add_item("rew", "default:dirt") minetest.chat_send_all(player:get_player_name().." has 25 Regnum things and is able to spawn a 1248 Knight") end end if fields.rewb then if d1 > 49 and rewb == 0 and player_inv:room_for_item("main", "tutorial:hammer") then player_inv:add_item("main", "tutorial:hammer") player_inv:add_item("rewb", "default:dirt") minetest.chat_send_all(player:get_player_name().." has 50 Regnum things and is able to repair the color stick") end end if fields.gem then inventory_plus.set_inventory_formspec(player, gem.get_formspec(player)) end if fields.main or fields.inven then local player_inv = player:get_inventory() local g1 = player_inv:get_stack("gem", 1):get_name() local g2 = player_inv:get_stack("gem", 2):get_name() local g3 = player_inv:get_stack("gem", 3):get_name() local g4 = player_inv:get_stack("gem", 4):get_name() local g5 = player_inv:get_stack("gem", 5):get_name() local g21 = player_inv:get_stack("2gem", 1):get_name() local g22 = player_inv:get_stack("2gem", 2):get_name() local g23 = player_inv:get_stack("2gem", 3):get_name() local g24 = player_inv:get_stack("2gem", 4):get_name() local g25 = player_inv:get_stack("2gem", 5):get_name() local gg1 = 0 local gg2 = 0 local gg3 = 0 local gg4 = 0 local gg5 = 0 local gg21 = 0 local gg22 = 0 local gg23 = 0 local gg24 = 0 local gg25 = 0 if g1 == "tutorial:magic_gem1" then gg1 = 1 end if g2 == "tutorial:magic_gem2" then gg2 = 1 end if g3 == "tutorial:magic_gem3" then gg3 = 1 end if g4 == "tutorial:magic_gem4" then gg4 = 1 end if g5 == "tutorial:magic_gem5" then gg5 = 1 end if g21 == "tutorial:magic_gem1" then gg21 = 1 end if g22 == "tutorial:magic_gem2" then gg22 = 1 end if g23 == "tutorial:magic_gem3" then gg23 = 1 end if g24 == "tutorial:magic_gem4" then gg24 = 1 end if g25 == "tutorial:magic_gem5" then gg25 = 1 end if gg1 == 1 and gg2 == 1 and gg3 == 1 and gg4 == 1 and gg5 == 1 then local punched_player_privs = minetest.get_player_privs(player:get_player_name()) punched_player_privs["home"] = true punched_player_privs["zoom"] = true minetest.set_player_privs(player:get_player_name(), punched_player_privs) end if gg21 == 1 and gg22 == 1 and gg23 == 1 and gg24 == 1 and gg25 == 1 then local punched_player_privs = minetest.get_player_privs(player:get_player_name()) punched_player_privs["fast"] = true minetest.set_player_privs(player:get_player_name(), punched_player_privs) end end if fields.craftgem then if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("gem0", 1) player_inv:set_size("2gem0", 1) local gem = player_inv:get_stack("gem0", 1):get_count() local gem2 = player_inv:get_stack("2gem0", 1):get_count() local g11 = player_inv:get_stack("gem1", 1):get_name() local g12 = player_inv:get_stack("gem1", 2):get_name() local g13 = player_inv:get_stack("gem1", 3):get_name() local g14 = player_inv:get_stack("gem1", 4):get_name() local g15 = player_inv:get_stack("gem1", 5):get_name() local g16 = player_inv:get_stack("gem1", 6):get_name() local g17 = player_inv:get_stack("gem1", 7):get_name() local g18 = player_inv:get_stack("gem1", 8):get_name() local g21 = player_inv:get_stack("gem2", 1):get_name() local g22 = player_inv:get_stack("gem2", 2):get_name() local g23 = player_inv:get_stack("gem2", 3):get_name() local g24 = player_inv:get_stack("gem2", 4):get_name() local g25 = player_inv:get_stack("gem2", 5):get_name() local g26 = player_inv:get_stack("gem2", 6):get_name() local g27 = player_inv:get_stack("gem2", 7):get_name() local g28 = player_inv:get_stack("gem2", 8):get_name() local y1 = player_inv:get_stack("gem1", 1):get_count() local y2 = player_inv:get_stack("gem1", 2):get_count() local y3 = player_inv:get_stack("gem1", 3):get_count() local y4 = player_inv:get_stack("gem1", 4):get_count() local y5 = player_inv:get_stack("gem1", 5):get_count() local y6 = player_inv:get_stack("gem1", 6):get_count() local y7 = player_inv:get_stack("gem1", 7):get_count() local y8 = player_inv:get_stack("gem1", 8):get_count() local yy1 = player_inv:get_stack("gem2", 1):get_count() local yy2 = player_inv:get_stack("gem2", 2):get_count() local yy3 = player_inv:get_stack("gem2", 3):get_count() local yy4 = player_inv:get_stack("gem2", 4):get_count() local yy5 = player_inv:get_stack("gem2", 5):get_count() local yy6 = player_inv:get_stack("gem2", 6):get_count() local yy7 = player_inv:get_stack("gem2", 7):get_count() local yy8 = player_inv:get_stack("gem2", 8):get_count() local k = 0 local d = 0 if g11 == g12 and g12 == g13 and g13 == g14 and g14 == g15 and g15 == g16 and g16 == g17 and g17 == g18 then if g11 == "tutorial:gem_fragment" then k = k+1 end end if g11 == g12 and g12 == g13 and g13 == g14 and g14 == g15 and g15 == g16 and g16 == g17 and g17 == g18 then if g11 == "tutorial:gem_fragment2" then k = k+2 end end if g21 == g22 and g22 == g23 and g23 == g24 and g24 == g25 and g25 == g26 and g26 == g27 and g27 == g28 then if g21 == "technic:uranium_ingot" then k = k+1 end end if k == 2 then if gem == 0 then if player_inv:room_for_item("main", "tutorial:magic_gem1") == true then player_inv:add_item("main", "tutorial:magic_gem1") player_inv:add_item("gem0", "default:dirt") d = 1 end elseif gem == 1 then if player_inv:room_for_item("main", "tutorial:magic_gem2") == true then player_inv:add_item("main", "tutorial:magic_gem2") player_inv:add_item("gem0", "default:dirt") d = 1 end elseif gem == 2 then if player_inv:room_for_item("main", "tutorial:magic_gem3") == true then player_inv:add_item("main", "tutorial:magic_gem3") player_inv:add_item("gem0", "default:dirt") d = 1 end elseif gem == 3 then if player_inv:room_for_item("main", "tutorial:magic_gem4") == true then player_inv:add_item("main", "tutorial:magic_gem4") player_inv:add_item("gem0", "default:dirt") d = 1 end elseif gem == 4 then if player_inv:room_for_item("main", "tutorial:magic_gem5") == true then player_inv:add_item("main", "tutorial:magic_gem5") player_inv:add_item("gem0", "default:dirt") d = 1 end end if d == 1 then player_inv:set_stack("gem1", 1, "tutorial:gem_fragment "..(y1-1)) player_inv:set_stack("gem1", 2, "tutorial:gem_fragment "..(y2-1)) player_inv:set_stack("gem1", 3, "tutorial:gem_fragment "..(y3-1)) player_inv:set_stack("gem1", 4, "tutorial:gem_fragment "..(y4-1)) player_inv:set_stack("gem1", 5, "tutorial:gem_fragment "..(y5-1)) player_inv:set_stack("gem1", 6, "tutorial:gem_fragment "..(y6-1)) player_inv:set_stack("gem1", 7, "tutorial:gem_fragment "..(y7-1)) player_inv:set_stack("gem1", 8, "tutorial:gem_fragment "..(y8-1)) player_inv:set_stack("gem2", 1, "technic:uranium_ingot "..(yy1-1)) player_inv:set_stack("gem2", 2, "technic:uranium_ingot "..(yy2-1)) player_inv:set_stack("gem2", 3, "technic:uranium_ingot "..(yy3-1)) player_inv:set_stack("gem2", 4, "technic:uranium_ingot "..(yy4-1)) player_inv:set_stack("gem2", 5, "technic:uranium_ingot "..(yy5-1)) player_inv:set_stack("gem2", 6, "technic:uranium_ingot "..(yy6-1)) player_inv:set_stack("gem2", 7, "technic:uranium_ingot "..(yy7-1)) player_inv:set_stack("gem2", 8, "technic:uranium_ingot "..(yy8-1)) end end if k == 3 then if gem2 == 0 then if player_inv:room_for_item("main", "tutorial:magic_gem1") == true then player_inv:add_item("main", "tutorial:magic_gem1") player_inv:add_item("2gem0", "default:dirt") d = 1 end elseif gem2 == 1 then if player_inv:room_for_item("main", "tutorial:magic_gem2") == true then player_inv:add_item("main", "tutorial:magic_gem2") player_inv:add_item("2gem0", "default:dirt") d = 1 end elseif gem2 == 2 then if player_inv:room_for_item("main", "tutorial:magic_gem3") == true then player_inv:add_item("main", "tutorial:magic_gem3") player_inv:add_item("2gem0", "default:dirt") d = 1 end elseif gem2 == 3 then if player_inv:room_for_item("main", "tutorial:magic_gem4") == true then player_inv:add_item("main", "tutorial:magic_gem4") player_inv:add_item("2gem0", "default:dirt") d = 1 end elseif gem2 == 4 then if player_inv:room_for_item("main", "tutorial:magic_gem5") == true then player_inv:add_item("main", "tutorial:magic_gem5") player_inv:add_item("2gem0", "default:dirt") d = 1 end end if d == 1 then player_inv:set_stack("gem1", 1, "tutorial:gem_fragment2 "..(y1-1)) player_inv:set_stack("gem1", 2, "tutorial:gem_fragment2 "..(y2-1)) player_inv:set_stack("gem1", 3, "tutorial:gem_fragment2 "..(y3-1)) player_inv:set_stack("gem1", 4, "tutorial:gem_fragment2 "..(y4-1)) player_inv:set_stack("gem1", 5, "tutorial:gem_fragment2 "..(y5-1)) player_inv:set_stack("gem1", 6, "tutorial:gem_fragment2 "..(y6-1)) player_inv:set_stack("gem1", 7, "tutorial:gem_fragment2 "..(y7-1)) player_inv:set_stack("gem1", 8, "tutorial:gem_fragment2 "..(y8-1)) player_inv:set_stack("gem2", 1, "technic:uranium_ingot "..(yy1-1)) player_inv:set_stack("gem2", 2, "technic:uranium_ingot "..(yy2-1)) player_inv:set_stack("gem2", 3, "technic:uranium_ingot "..(yy3-1)) player_inv:set_stack("gem2", 4, "technic:uranium_ingot "..(yy4-1)) player_inv:set_stack("gem2", 5, "technic:uranium_ingot "..(yy5-1)) player_inv:set_stack("gem2", 6, "technic:uranium_ingot "..(yy6-1)) player_inv:set_stack("gem2", 7, "technic:uranium_ingot "..(yy7-1)) player_inv:set_stack("gem2", 8, "technic:uranium_ingot "..(yy8-1)) end end inventory_plus.set_inventory_formspec(player, crafting5.get_formspec(player)) end end) local rg18 = {} rg18.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 4. Ores]" .."label[0,1.3;You can find ores in the depth.]" .."label[0,1.6;Where to find ores:]" .."label[0,1.9;Silver: y < -2]" .."label[0,2.2;Mithril: y < -512]" .."label[0,2.5;Tin: y < 8]" .."label[0,2.8;Coal: y < 0]" .."label[0,3.1;Iron: y < 2]" .."label[0,3.4;Mese: y < -64]" .."label[0,3.7;Gold: y < -64]" .."label[0,4.0;Diamond: y < -128]" .."label[0,4.3;Copper: y < ?]" .."label[0,4.6;Black/White: y < 2]" .."label[0,4.9;Uranium: y < -128]" .."label[0,5.2;Admin: y < -500]" .."label[0,5.5;Titan: y < -400]" .."label[0,5.8;Rot/Blau: y < -100]" .."label[0,6.1;Regnum: y < -600]" .."label[0,6.4;Technic Uranium: y < -80, y > -300]" .."label[0,6.7;Cromium: y < -100]" .."label[0,7.0;Zinc: y < 2]" .."label[0,7.3;Ruby/Sapphire: y < -300]" .."label[0,7.6;Amethyst: y < -600]" .."label[0,7.9;Shadow/Pearl: y < -900]" .."label[0,8.2;Emerald: y < -1200]" .."button[2,10; 2,0.5;rg17;<]" .."button[4,10; 2,0.5;rg19;>]" return formspec end local rg19 = {} rg19.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 5. Armor, Battleaxes & Guns]" .."label[0,1.3;There are over 120 differend battleaxes and armors]" .."label[0,1.6;Here you can see witch kind of armor/battleaxe/gun you have to craft:]" .."label[0,1.9;(starter)]" .."label[0,2.2;mega lv.1-20]" .."label[0,2.5;cloud lv.1-20]" .."label[0,2.8;super lv.1-4]" .."label[0,3.1;uranium lv.1-2]" .."label[0,3.4;energie lv.1-12]" .."label[0,3.7;superenergy lv.1-7]" .."label[0,4.0;crystal lv.1-5]" .."label[0,4.3;ultra lv.1-25]" .."label[0,4.6;superultra]" .."label[0,4.9;arena lv.1-4]" .."label[0,5.2;titan lv.1-10]" .."label[0,5.5;legendary lv.1-6]" .."label[0,5.8;superlegendary]" .."label[0,6.1;regnum]" .."label[0,6.4;There are differend modes for the superlegendary armor/battleaxe/gun]" .."label[0,6.7;and also for the regnum:]" .."label[0,7.0;With the armor you can jump higher and run faster,]" .."label[0,7.3;with the battleaxe you can dig water/lava]" .."label[0,7.3;and the gun will add thunder]" .."label[0,7.6;The legendary battleaxe (or higher) will double some ores if you dig them.]" .."button[2,10; 2,0.5;rg18;<]" .."button[4,10; 2,0.5;rg20;>]" return formspec end local rg20 = {} rg20.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 6. Chat commands]" .."label[0,1.3;/admin for all admin tools]" .."label[0,1.6;/regnum for all regnum things]" .."label[0,1.9;/rank to see your rank]" .."button[2,10; 2,0.5;rg19;<]" return formspec end minetest.register_on_dignode(function(pos, node, player) if player == nil then return end local name = player:get_player_name() local inv = player:get_inventory() if node.name == "tutorial:geschenk_dragon" then local x = math.random(0,15) if x == 8 then inv:set_size("dgon", 1) local dgon = inv:get_stack("dgon", 1):get_count() if dgon == 0 then inv:add_item("main", "tutorial:dragon_schluessel") inv:add_item("dgon", "default:dirt") end else inv:add_item("main", "default:coal_lump 20") end end if node.name == "tutorial:geschenk_tortoise" then local x = math.random(0,15) if x == 8 then inv:set_size("ttoise", 1) local dgon = inv:get_stack("ttoise", 1):get_count() if dgon == 0 then inv:add_item("main", "tutorial:tortoise_schluessel") inv:add_item("ttoise", "default:dirt") end else inv:add_item("main", "default:coal_lump 20") end end if node.name == "tutorial:geschenk_gem" then local x = math.random(0,8) if x == 2 then inv:add_item("main", "tutorial:gem_fragment") elseif x == 5 then inv:add_item("main", "tutorial:geschenk_legend") elseif x == 4 then inv:add_item("main", "tutorial:geschenk_legend") end end if node.name == "tutorial:geschenk_gem2" then local x = math.random(0,8) if x == 2 then inv:add_item("main", "tutorial:gem_fragment2") elseif x == 5 then inv:add_item("main", "tutorial:geschenk_legend") elseif x == 4 then inv:add_item("main", "tutorial:geschenk_legend") end end if node.name == "tutorial:geschenk" then local x = math.random(1, 29) if x < 10 then inv:add_item("main", "tutorial:lightstone 1") elseif x < 18 then inv:add_item("main", "default:mese_crystal_fragment 2") elseif x < 24 then inv:add_item("main", "default:ice") elseif x < 27 then inv:add_item("main", "tutorial:dunklematerie4") else inv:add_item("main", "tutorial:geschenk") end end if node.name == "tutorial:geschenk_silber" then local x = math.random(1, 20) if x < 10 then inv:add_item("main", "tutorial:lightstone 2") elseif x < 18 then inv:add_item("main", "default:mese_crystal_fragment 4") elseif x < 20 then inv:add_item("main", "tutorial:arena_block") else inv:add_item("main", "tutorial:arena_glass") end end if node.name == "tutorial:geschenk_gold" then local x = math.random(1, 17) if x < 2 then inv:add_item("main", "mobs:dirt_monster_egg") elseif x < 3 then inv:add_item("main", "mobs:stone_monster_egg") elseif x < 4 then inv:add_item("main", "mobs:sand_monster_egg") elseif x < 5 then inv:add_item("main", "mobs:desert_sand_monster_egg") elseif x < 6 then inv:add_item("main", "mobs:snow_monster_egg") elseif x < 7 then inv:add_item("main", "mobs:desert_stone_monster_egg") elseif x < 8 then inv:add_item("main", "mobs:ice_monster_egg") elseif x < 9 then inv:add_item("main", "mobs:grass_monster_egg") elseif x < 10 then inv:add_item("main", "mobs:rainforest_litter_monster_egg") elseif x < 11 then inv:add_item("main", "mobs:dry_grass_monster_egg") elseif x < 12 then inv:add_item("main", "mobs:silver_sand_monster_egg") else inv:add_item("main", "default:mese_crystal") end end if node.name == "tutorial:geschenk_platin" then local x = math.random(1, 10) if x < 5 then inv:add_item("main", "default:mese_crystal 2") elseif x < 8 then inv:add_item("main", "tutorial:geschenk_wool") elseif x < 10 then inv:add_item("main", "tutorial:geschenk_wool1") else inv:add_item("main", "tutorial:geschenk_wool2") end end if node.name == "tutorial:geschenk_wool1" then local x = math.random(1, 6) if x == 1 then inv:add_item("main", "wool:yellow 2") elseif x == 2 then inv:add_item("main", "wool:white 2") elseif x == 3 then inv:add_item("main", "wool:violet 2") elseif x == 4 then inv:add_item("main", "wool:red 2") elseif x == 5 then inv:add_item("main", "wool:orange 2") else inv:add_item("main", "wool:blue 2") end end if node.name == "tutorial:geschenk_wool2" then local x = math.random(1, 15) if x == 1 then inv:add_item("main", "wool:yellow 3") elseif x == 2 then inv:add_item("main", "wool:white 3") elseif x == 3 then inv:add_item("main", "wool:violet 3") elseif x == 4 then inv:add_item("main", "wool:red 3") elseif x == 5 then inv:add_item("main", "wool:pink 3") elseif x == 6 then inv:add_item("main", "wool:orange 3") elseif x == 7 then inv:add_item("main", "wool:magenta 3") elseif x == 8 then inv:add_item("main", "wool:grey 3") elseif x == 9 then inv:add_item("main", "wool:green 3") elseif x == 10 then inv:add_item("main", "wool:dark_grey 3") elseif x == 11 then inv:add_item("main", "wool:dark_green 3") elseif x == 12 then inv:add_item("main", "wool:cyan 3") elseif x == 13 then inv:add_item("main", "wool:brown 3") elseif x == 14 then inv:add_item("main", "wool:blue 3") else inv:add_item("main", "wool:black 3") end end end) local rg14 = {} rg14.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 12. Gems]" .."label[0,1.3;Use the gem inventory to get home and fast privs.]" .."label[0,1.6;How to use Gems:]" .."label[0,1.9;1. Craft a dragon in the DNA craft.]" .."label[0,2.2;2. Craft a dragon crystal.]" .."label[0,2.5;3. Place the drgagon crystal in the dragon inventory.]" .."label[0,2.8;4. Collect gifts (gem).]" .."label[0,3.1;5. Get gem fragents from then gift (gem).]" .."label[0,3.4;6. Craft in the gem craft a magic gem.]" .."label[0,3.7;7. Place the magic gems in the right order in the gems inventory.]" .."button[2,10; 2,0.5;rg13;<]" .."button[4,10; 2,0.5;rg21;>]" return formspec end local rg15 = {} rg15.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 1. Gifts]" .."label[0,1.3;Craft gifts to get nice differend things.]" .."label[0,1.6;Gift: gift, dark matter Lv.4, ice, mese, lightstone]" .."label[0,1.9;Gift (silver): arena glass, arena block, mese, lightstone, gift]" .."label[0,2.2;Gift (gold): dirt/sand/stone monster spawn-egg, mese]" .."label[0,2.5;Gift (platinum): wool gift, colored wool gift lv.1/2]" .."label[0,2.8;Deathgift: mese, lightstone, ice, deathgift, regnum part]" .."label[0,3.1;Deathgift (silver): mese, lightstone, ice, deathgift, regnum part]" .."label[0,3.4;Deathgift (gold): mese, lightstone, ice, deathgift, regnum part]" .."label[0,3.7;Deathgift (platinum): mese, lightstone, ice, deathgift, regnum part]" .."label[0,4.0;Gift (DNA): every spawn-egg (but no monsters)]" .."label[0,4.3;Gift (legendary): ruby, sapphire, amethyst, pearl, shadow, emerald, legendary crystal]" .."label[0,4.6;Gift (regnum): gold/green/purple/red/blue regnum pixel]" .."label[0,4.9;Wool gift: white wool]" .."label[0,5.2;Colored wool gift lv.1: yellow/white/violetta/red/orange/blue wool]" .."label[0,5.5;Colored wool gift lv.2: every wool]" .."label[0,5.8;Gift (dragon): coal lump, dragon key]" .."label[0,6.1;Gift (gem): gift (legendary), gem fragment]" .."button[2,10; 2,0.5;rg25;<]" .."button[4,10; 2,0.5;rg16;>]" return formspec end local rg16 = {} rg16.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 2. Mobs]" .."label[0,1.3;There are monsters, animals and pets in Regnum]" .."label[0,1.6;The monster will kill you, but can get wrapping paper and DNA strings or tears]" .."label[0,1.9;You can get water and sky animals from the dna gift.]" .."label[0,2.2;There are turtles, sharks, gulls and many other.]" .."label[0,2.5;If you use the DNA craft you can get pets.]" .."label[0,2.8;The dog and the cat will kill monsters and collect the wrapping paper]" .."label[0,3.1;The sheep will produce wool.]" .."label[0,3.4;The dagon will produce a dragon gift or a gem gift if you have a regnum crystal.]" .."label[0,3.4;The fox will produce a fox key and treasures.]" .."label[0,3.4;The tortoise will produce a tortoise gift or a gem gift if you have a regnum crystal.]" .."label[0,3.7;You can chage the color of the pets and they can folow you.]" .."button[2,10; 2,0.5;rg15;<]" .."button[4,10; 2,0.5;rg17;>]" return formspec end local rg17 = {} rg17.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;II. 3. Xp & Level]" .."label[0,1.3;If you dig some things you can get Xp]" .."label[0,1.6;There are 6 differend kind of Xp:]" .."label[0,1.9;green, red, blue, grey, yellow and cyan Xp.]" .."label[0,2.2;If you dig uranium you will get 1 green Xp]" .."label[0,2.5;If you reach level green 100, you will get the lilabattleaxe.]" .."label[0,2.8;With it, you can dig red and blue ore.]" .."label[0,3.1;From them you can get red and blue Xp]" .."label[0,3.4;If you reach level red/blue 20, you will get a red/blue xp block.]" .."label[0,3.7;With them you can craft the xp block]" .."label[0,4.0;From the xp block you will get grey xp.]" .."label[0,4.3;If you reach level gray 100, you will get the xp block (yellow)]" .."label[0,4.6;From the xp block (yellow) you will get yellow xp.]" .."label[0,4.9;If you reach level yellow 100, you will get the goldenkey]" .."label[0,5.2;With the goldenkey you can use the Crystal craft]" .."label[0,5.5;From there you can get cristal bottles]" .."label[0,5.8;If you reach level cyan 25, you have completed all levels]" .."label[0,6.1;Look in the xp guide for your xp and how much xp you need.]" .."label[0,6.4;If you reach a new level you will get a reward]" .."label[0,6.7;Look in Xp items for the reward]" .."button[2,10; 2,0.5;rg16;<]" .."button[4,10; 2,0.5;rg18;>]" return formspec end local rg10 = {} rg10.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 8. Achievements]" .."label[0,1.3;Here you can see your achievement]" .."label[0,1.6;If you have all 50 achievements,]" .."label[0,1.9;you will have all Regnum things and you have completed the Regnum Game]" .."label[0,2.2;If you have 25 or 50 achivements you will get a reward]" .."label[0,2.5;There is also one spezial achievment.]" .."label[0,2.8;You will get it for one year Regnum.]" .."label[0,3.1;How to use Achievements:]" .."label[0,3.4;1. Craft the needed items]" .."label[0,3.7;2. Place them at the right place in the inventory]" .."label[0,4.0;3. Get 25 or 50 achievements]" .."label[0,4.3;4. Presse 'reward']" .."label[0,4.6;5. Presse also 'spezial']" .."button[2,10; 2,0.5;rg9;<]" .."button[4,10; 2,0.5;rg11;>]" return formspec end local rg11 = {} rg11.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 9. Regnum Guide]" .."label[0,1.3;You can read something about the subgame]" .."label[0,1.6;How to use Regnum Guide:]" .."label[0,1.9;1. Read]" .."button[2,10; 2,0.5;rg10;<]" .."button[4,10; 2,0.5;rg12;>]" return formspec end local rg12 = {} rg12.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 10. Awards]" .."label[0,1.3;Here you can see your awards]" .."label[0,1.6;If you have all awards, you will get the 'all awards' achievement.]" .."label[0,1.9;How to use Awards:]" .."label[0,2.2;1. Dig for the ores]" .."label[0,2.5;2. For the '???' awards you have to die next to a block]" .."label[0,2.8;3. Find out which block]" .."button[2,10; 2,0.5;rg11;<]" .."button[4,10; 2,0.5;rg13;>]" return formspec end local rg13 = {} rg13.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 11. Xp items]" .."label[0,1.3;Here you can get your rewards if you reach a new level.]" .."label[0,1.6;How to use Xp items:]" .."label[0,1.9;1. Reach a new level]" .."label[0,2.2;2. Take coins/max level blocks/keys/battleaxes/xp blocks from the 1st page]" .."label[0,2.5;3. Take green level blocks from the 2nd page]" .."label[0,2.8;4. Take red/blue level blocks from the 3rd page]" .."label[0,3.1;5. Take grey level blocks from the 4th page]" .."label[0,3.4;6. Take yellow level blocks from the 5th page]" .."label[0,3.7;7. Take cyan level blocks from the 6th page]" .."button[2,10; 2,0.5;rg12;<]" .."button[4,10; 2,0.5;rg14;>]" return formspec end local rg8 = {} rg8.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 6. Craft Guide]" .."label[0,1.3;Here you can see how to craft items]" .."label[0,1.6;Click on one item to see the crafting]" .."label[0,1.9;You can also see 4x4 and 5x5 craftings,]" .."label[0,2.2;You can see the craftings for battleaxes/armor/gun ]" .."label[0,2.5;in the Regnum Craft Guide.]" .."label[0,2.8;How to use Craft guide:]" .."label[0,3.1;1. Click on one item and you see the crafting above]" .."label[0,3.4;2. Click on the arrows below to switch to an other page]" .."label[0,3.7;3. Click on the arrows below 'main' to see the last]" .."label[0,4.0; crafting you use]" .."label[0,4.3;4. Click on the arrows above and below the item to see]" .."label[0,4.6; differend craftings for the same things]" .."label[0,4.9;5. Click on the 'Regnum' for armor/battleaxe/gun crafts]" .."button[2,10; 2,0.5;rg7;<]" .."button[4,10; 2,0.5;rg9;>]" return formspec end local rg9 = {} rg9.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 7. Crystals]" .."label[0,1.3;Here you can get legendary fire balls]" .."label[0,1.6;If you dig a legendary gift you can get a legendary crystal]" .."label[0,1.9;With every new cristal you get, get can get better fire balls]" .."label[0,2.2;After some time you will get the fire ball]" .."label[0,2.5;If you have a crystalkey,the time will be halved]" .."label[0,2.8;How to use Cristals:]" .."label[0,3.1;1. Craft legendary gifts and dig them]" .."label[0,3.4;2. If you have a cristal,click on a]" .."label[0,3.7; ball damage, thunder damage and thunder length level]" .."label[0,4.0;3. Click on create]" .."label[0,4.3;4. Get the crystalkey]" .."label[0,4.6;5. wait (seconds above 'crate') and you will get a fire ball]" .."button[2,10; 2,0.5;rg8;<]" .."button[4,10; 2,0.5;rg10;>]" return formspec end local xpi0 = {} xpi0.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() local xpi01_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi01",{ on_take = function(inv, listname, index, stack, player) player:get_inventory():remove_item(listname,stack) end, allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return stack:get_count() end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) xpi01_inv:set_size("xpi01", 15) player_inv:set_size("xpi01", 15) xpi01_inv:set_size("xpi02", 15) player_inv:set_size("xpi02", 15) xpi01_inv:set_size("xpi03", 15) player_inv:set_size("xpi03", 15) xpi01_inv:set_size("xpi04", 15) player_inv:set_size("xpi04", 15) xpi01_inv:set_size("xpi05", 15) player_inv:set_size("xpi05", 15) xpi01_inv:set_size("xpi06", 15) player_inv:set_size("xpi06", 15) for i=1, 15 do local stack = player_inv:get_stack("xpi01", i) xpi01_inv:set_stack("xpi01", i, stack) local stack = player_inv:get_stack("xpi02", i) xpi01_inv:set_stack("xpi02", i, stack) local stack = player_inv:get_stack("xpi03", i) xpi01_inv:set_stack("xpi03", i, stack) local stack = player_inv:get_stack("xpi04", i) xpi01_inv:set_stack("xpi04", i, stack) local stack = player_inv:get_stack("xpi05", i) xpi01_inv:set_stack("xpi05", i, stack) local stack = player_inv:get_stack("xpi06", i) xpi01_inv:set_stack("xpi06", i, stack) end formspec = "size[18,12.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."list[current_player;main;5,7.5;8,1;]" .."list[current_player;main;5,8.75;8,3;8]" .."background[18,12.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."list[detached:"..player:get_player_name().."_xpi01;xpi01;3,1.5;5,1]" .."list[detached:"..player:get_player_name().."_xpi01;xpi02;3,2.7;5,1]" .."list[detached:"..player:get_player_name().."_xpi01;xpi03;3,3.9;5,1]" .."list[detached:"..player:get_player_name().."_xpi01;xpi04;10,1.5;5,1]" .."list[detached:"..player:get_player_name().."_xpi01;xpi05;10,2.7;5,1]" .."list[detached:"..player:get_player_name().."_xpi01;xpi06;10,3.9;5,1]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi01]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi02]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi03]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi04]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi05]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi01;xpi06]" .."label[3,1.1;Green Xp Items]" .."label[3,2.3;Red Xp Items]" .."label[3,3.5;Blue Xp Items]" .."label[10,1.1;Grey Xp Items]" .."label[10,2.3;Yellow Xp Items]" .."label[10,3.5;Cyan Xp Items]" .."button[9,12;2,0.5;xpi;>]" return formspec end local xpi = {} xpi.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() local xpi1_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi1",{ on_take = function(inv, listname, index, stack, player) player:get_inventory():remove_item(listname,stack) end, allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return stack:get_count() end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) xpi1_inv:set_size("xpi1", 100) player_inv:set_size("xpi1", 100) for i=1, 100 do local stack = player_inv:get_stack("xpi1", i) xpi1_inv:set_stack("xpi1", i, stack) end formspec = "size[18,12.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."list[current_player;main;5,7.5;8,1;]" .."list[current_player;main;5,8.75;8,3;8]" .."background[18,12.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."list[detached:"..player:get_player_name().."_xpi1;xpi1;0,1.3;18,6]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi1;xpi1]" .."label[0,0.7;Green Level Blocks]" .."button[9,12;2,0.5;xpi2;>]" .."button[7,12;2,0.5;xpi0;<]" return formspec end local xpi2 = {} xpi2.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() local xpi2_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi2",{ on_take = function(inv, listname, index, stack, player) player:get_inventory():remove_item(listname,stack) end, allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return stack:get_count() end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) local xpi3_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi3",{ on_take = function(inv, listname, index, stack, player) player:get_inventory():remove_item(listname,stack) end, allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return 1 end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) xpi2_inv:set_size("xpi2", 20) player_inv:set_size("xpi2", 20) xpi3_inv:set_size("xpi3", 20) player_inv:set_size("xpi3", 20) for i=1, 20 do local stack = player_inv:get_stack("xpi2", i) xpi2_inv:set_stack("xpi2", i, stack) local stack2 = player_inv:get_stack("xpi3", i) xpi3_inv:set_stack("xpi3", i, stack2) end xpi2_inv:set_size("xpi2", 20) player_inv:set_size("xpi2", 20) xpi3_inv:set_size("xpi3", 20) player_inv:set_size("xpi3", 20) formspec = "size[18,12.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."list[current_player;main;5,7.5;8,1;]" .."list[current_player;main;5,8.75;8,3;8]" .."background[18,12.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."list[detached:"..player:get_player_name().."_xpi2;xpi2;0,1.3;18,2]" .."list[detached:"..player:get_player_name().."_xpi3;xpi3;0,3.9;18,2]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi2;xpi2]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi3;xpi3]" .."label[0,0.7;Red Level Blocks]" .."label[0,3.3;Blue Level Blocks]" .."button[7,12;2,0.5;xpi;<]" .."button[9,12;2,0.5;xpi3;>]" return formspec end local xpi3 = {} xpi3.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() local xpi4_inv = minetest.create_detached_inventory(player:get_player_name().."_xpi4",{ on_take = function(inv, listname, index, stack, player) player:get_inventory():remove_item(listname,stack) end, allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return stack:get_count() end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) xpi4_inv:set_size("xpi4", 100) player_inv:set_size("xp4", 100) for i=1, 100 do local stack = player_inv:get_stack("xpi4", i) xpi4_inv:set_stack("xpi4", i, stack) end xpi4_inv:set_size("xpi4", 100) player_inv:set_size("xpi4", 100) formspec = "size[18,12.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."list[current_player;main;5,7.5;8,1;]" .."list[current_player;main;5,8.75;8,3;8]" .."background[18,12.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."list[detached:"..player:get_player_name().."_xpi4;xpi4;0,1.3;18,6]" .."listring[current_player;main]" .."listring[detached:"..player:get_player_name().."_xpi4;xpi4]" .."label[0,0.7;Grey Level Blocks]" .."button[7,12;2,0.5;xpi2;<]" .."button[9,12;2,0.5;xpi4;>]" return formspec end local rg6 = {} rg6.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 4. Crafting]" .."label[0,1.3;There are 10 differend crafts:]" .."label[0,1.6;The '4x4 craft' to craft in a 4x4 field]" .."label[0,1.9;The '5x5 craft' to craft in a 5x5 field]" .."label[0,2.2;The Regnum craft to craft a pixeled regnum]" .."label[0,2.5;The DNA craft to get mobs]" .."label[0,2.8;The Gem craft to get magic gems]" .."label[0,3.1;The Mine craft to level you mining laser/drill up.]" .."label[0,3.4;The Cooking craft, works like furnaces but without fuel]" .."label[0,3.7;The Medallion craft to get medallions]" .."label[0,4.0;The Crystal craft to get crystalbottles]" .."label[0,4.3;The Trophy craft to get trophys]" .."label[0,4.6;Look in the Craft Guide which item you can craft in 4x4 and 5x5]" .."label[0,4.9;For Regnum craft you need regnum pixel.You can get them from Regnum gifts.]" .."label[0,5.2;For DNA craft you need dna strings.You can get them from monsters.]" .."label[0,5.5;You will get an animal spawn-egg if this animal has 100%.]" .."label[0,5.8;For Gem craft you need gem fragments and uranium ingots]" .."label[0,6.1;For Cooking use uranium to get fuel]" .."label[0,6.4;For Mine craft you need the mining laser/drill and green coins]" .."label[0,6.7;to level you mining laser/drill up.]" .."label[0,7.0;For Medallion craft you need Medallions.You will get them if you run around.]" .."label[0,7.3;For Crystal craft you have to wait.]" .."label[0,7.6;For each crystal you have, the crafting will take 200s less.]" .."label[0,7.9;For Trophy craft you need Tears.You can get them from monsters in the same color.]" .."label[0,8.2;How to use Crafting:]" .."label[0,8.5;1. For 4x4, 5x5, Regnum, Gem, Medallion craft and Cooking you need a key]" .."label[0,8.8;2. Craft the key and put the needed items in the fields]" .."label[0,9.1;3. Press 'craft/use/build DNA']" .."button[2,10; 2,0.5;rg5;<]" .."button[4,10; 2,0.5;rg7;>]" return formspec end local rg7 = {} rg7.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 5. Skins]" .."label[0,1.3;Here you can change your skin]" .."label[0,1.6;Click on one skin to change your skin]" .."label[0,1.9;If you have the pixeled Regnum key you can use the see-through skin]" .."label[0,2.2;If you have the knight Regnum key you can use the knight skins]" .."label[0,2.5;How to use Skins:]" .."label[0,2.8;1. Click on one skin]" .."label[0,3.1;2. Craft the Pixeled Regnum key]" .."label[0,3.4;3. Press 'see-through skin']" .."label[0,3.7;4. Craft the Knight key]" .."label[0,4.0;5. Press 'knight']" .."button[2,10; 2,0.5;rg6;<]" .."button[4,10; 2,0.5;rg8;>]" return formspec end local rg2 = {} rg2.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1; CONTENS]" .."label[0,1.3; I. Inventory]" .."label[0,1.6; 1. Bags]" .."label[0,1.9; 2. Armor]" .."label[0,2.2; 3. XP Guide]" .."label[0,2.5; 4. Crafting]" .."label[0,2.8; 5. Skins]" .."label[0,3.1; 6. Craft Guide]" .."label[0,3.4; 7. Crystals]" .."label[0,3.7; 8. Achievements]" .."label[0,4.0; 9. Regnum guide]" .."label[0,4.3; 10. Awards]" .."label[0,4.6; 11. Xp items]" .."label[0,4.9; 12. Gems]" .."label[0,5.2; 13. Artifacts]" .."label[0,5.5; 14. Medallion]" .."label[0,5.8; 15. Treasures]" .."label[0,6.1; 16. Trophys]" .."label[0,6.4; 17. Music]" .."label[0,6.7; II. Game]" .."label[0,7.0; 1. Gifts]" .."label[0,7.3; 2. Mobs]" .."label[0,7.6; 3. Xp & Level]" .."label[0,7.9; 4. Ores]" .."label[0,8.2; 5. Armor, Battleaxes & Guns]" .."label[0,8.5; 6. Chat commands]" .."button[2,10; 2,0.5;rg1;<]" .."button[4,10; 2,0.5;rg3;>]" return formspec end local rg3 = {} rg3.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 1. Bags]" .."label[0,1.3;You can use bags to take more things with you.]" .."label[0,1.6;You can have up to eight bags, every bag has eight level.]" .."label[0,1.9;Every level for a bag give you more space for it.]" .."label[0,2.2;If you want more then four bags you need also a bagkey.]" .."label[0,2.5;With each new bagkey level you can get one more bag.]" .."label[0,2.8;How to use bags:]" .."label[0,3.1;1. You have to craft a bag (look in the craft guide how).]" .."label[0,3.4;2. Put the bag in one of the fields and use the button below.]" .."label[0,3.7;3. You can put your items in the new inventory.]" .."label[0,4.0;4. If you put the bag in the lower field and you have no bagkey]" .."label[0,4.3; you can not use it]" .."label[0,4.6;5. You can use shift to move items quickly (as you use for chests)]" .."button[2,10; 2,0.5;rg2;<]" .."button[4,10; 2,0.5;rg4;>]" return formspec end local rg4 = {} rg4.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 2. Armor]" .."label[0,1.3;You can use armor to save you from monsters.]" .."label[0,1.6;There are 5 differend armor parts.]" .."label[0,1.9;Make your armor invisible to other when you have the armorkey.]" .."label[0,2.2;Some armor will also save you from lava and fire]" .."label[0,2.5;and there is also armor that regenerate you.]" .."label[0,2.8;Get the Protectionkey to get a save bonus]" .."label[0,3.1;How to use Armor:]" .."label[0,3.4;1. You have to craft some armor (look in the craft guide how).]" .."label[0,3.7;2. You can see five fields on the left.]" .."label[0,4.0;3. You have to put the helmet at the top and the boots at the bottom.(like in minecraft)]" .."label[0,4.3;4. You have to put the shield in the right field]" .."label[0,4.6;5. Craft the armor key and than you can press 'armor off']" .."label[0,4.9;6. Craft the protectionkey to get a save bonus]" .."button[2,10; 2,0.5;rg3;<]" .."button[4,10; 2,0.5;rg5;>]" return formspec end local rg5 = {} rg5.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;I. 3. XP Guide]" .."label[0,1.3;If you dig uranium/red ore/blue ore/Xp block/Xp Block (yellow)]" .."label[0,1.6;or you place a Crystalbottle, you will get xp.]" .."label[0,1.9;Use the Xp Guide to see how many xp you have]" .."label[0,2.2;If you want to see how many xp you need for the next level]" .."label[0,2.5;you have to use the xp key]" .."label[0,2.8;There are 6 differend kinds of xp.]" .."label[0,3.1;How to use Xp Guide:]" .."label[0,3.4;1. On the left you can see how many xp you have]" .."label[0,3.7;2. Craft the xp key and than you can press 'xp green/red/blue/grey/yellow/cyan you need']" .."button[2,10; 2,0.5;rg4;<]" .."button[4,10; 2,0.5;rg6;>]" return formspec end local rg = {} rg.get_formspec = function(player, pos) if player == nil then return end formspec = "size[9,10.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[9,10.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."label[0,1;This is the first page of the Regnum guide.]" .."label[0,1.3;Here you can get some basic informations]" .."label[0,1.6;about my subgame:Regnum]" .."label[0,1.9;I develop the Regnum subgame over the last 5 years]" .."label[0,2.2;Thanks to:]" .."label[0,2.5;NightmareLP who build a mod for my subgame]" .."label[0,2.8;et77 who had some great ideas]" .."label[0,3.1;wuschel1912 who tests the subgame]" .."button[4,10;2,0.5;rg2;>]" return formspec end minetest.register_on_dignode(function(pos, node, player) if player == nil then return end local name = player:get_player_name() local inv = player:get_inventory() if node.name == "tutorial:geschenk_dna" then local x = math.random(0,15) print (x) if x == 0 then inv:add_item("main", "mobs:watermob_crocodile_lg_egg") elseif x == 1 then inv:add_item("main", "mobs:watermob_crocodile_md_egg") elseif x == 2 then inv:add_item("main", "mobs:watermob_crocodile_sm_egg") elseif x == 3 then inv:add_item("main", "mobs:watermob_clownfish_egg") elseif x == 4 then inv:add_item("main", "mobs:watermob_tropical_fish_egg") elseif x == 5 then inv:add_item("main", "mobs:watermob_jellyfish_egg") elseif x == 6 then inv:add_item("main", "mobs:watermob_shark_sm_egg") elseif x == 7 then inv:add_item("main", "mobs:watermob_shark_md_egg") elseif x == 8 then inv:add_item("main", "mobs:watermob_shark_lg_egg") elseif x == 9 then inv:add_item("main", "mobs:watermob_turtle_lg_egg") elseif x == 10 then inv:add_item("main", "mobs:watermob_turtle_sm_egg") elseif x == 11 then inv:add_item("main", "mobs:skymob_butterfly_egg") elseif x == 12 then inv:add_item("main", "mobs:skymob_gull_egg") elseif x == 13 then inv:add_item("main", "mobs:skymob_bird_sm_egg") elseif x == 14 then inv:add_item("main", "mobs:skymob_bird_lg_egg") elseif x == 15 then inv:add_item("main", "mobs:skymob_bat_egg") end end end) local dna = {} dna.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("dna", 8) player_inv:set_size("dogdna", 1) player_inv:set_size("catdna", 1) player_inv:set_size("sheepdna", 1) player_inv:set_size("dragondna", 1) player_inv:set_size("foxdna", 1) player_inv:set_size("tortoisedna", 1) local dog = player_inv:get_stack("dogdna", 1):get_count() local cat = player_inv:get_stack("catdna", 1):get_count() local sheep = player_inv:get_stack("sheepdna", 1):get_count() local dragon = player_inv:get_stack("dragondna", 1):get_count() local fox = player_inv:get_stack("foxdna", 1):get_count() local tortoise = player_inv:get_stack("tortoisedna", 1):get_count() if cat == 20 then if player_inv:room_for_item("main", "mobs:cat_egg") == true then player_inv:add_item("catdna","default:dirt") player_inv:add_item("main","mobs:cat_egg") player_inv:add_item("a16","default:dirt") percat = "" else percat = "100% " end elseif cat > 20 then percat = "" else percat = (cat*5).."% " end if dog == 20 then if player_inv:room_for_item("main", "mobs:dog_egg") == true then player_inv:add_item("dogdna","default:dirt") player_inv:add_item("main","mobs:dog_egg") player_inv:add_item("a15","default:dirt") perdog = "" else perdog = "100% " end elseif dog > 20 then perdog = "" else perdog = (dog*5).."% " end if sheep == 20 then if player_inv:room_for_item("main", "mobs:sheep_egg") == true then player_inv:add_item("sheepdna","default:dirt") player_inv:add_item("main","mobs:sheep_egg") player_inv:add_item("a17","default:dirt") persheep = "" else persheep = "100% " end elseif sheep > 20 then persheep = "" else persheep = (sheep*5).."% " end if dragon == 25 then if player_inv:room_for_item("main", "mobs:dragon_egg") == true then player_inv:add_item("dragondna","default:dirt") player_inv:add_item("main","mobs:dragon_egg") player_inv:add_item("a18","default:dirt") perdragon = "" else perdragon = "100% " end elseif dragon > 25 then perdragon = "" else perdragon = (dragon*4).."% " end if fox == 25 then if player_inv:room_for_item("main", "mobs:fox_egg") == true then player_inv:add_item("foxdna","default:dirt") player_inv:add_item("main","mobs:fox_egg") player_inv:add_item("a29","default:dirt") perfox = "" else perfox = "100% " end elseif fox > 25 then perfox = "" else perfox = (fox*4).."% " end if tortoise == 50 then if player_inv:room_for_item("main", "mobs:tortoise_egg") == true then player_inv:add_item("tortoisedna","default:dirt") player_inv:add_item("main","mobs:tortoise_egg") player_inv:add_item("a30","default:dirt") pertortoise = "" else pertortoise = "100% " end elseif tortoise > 50 then pertortoise = "" else pertortoise = (tortoise*2).."% " end formspec = "size[8,9.5]" .."background[8,9.5;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."button[4,0;2,0.5;mobpos;Mob positions]" .."label[0,1;loading dog DNA...]" .."label[0,1.4;loading cat DNA...]" .."label[0,1.8;loading sheep DNA...]" .."label[0,2.2;loading dragon DNA...]" .."label[0,2.6;loading fox DNA...]" .."label[0,3;loading tortoise DNA...]" .."label[3,1;"..perdog.."complete]" .."label[3,1.4;"..percat.."complete]" .."label[3,1.8;"..persheep.."complete]" .."label[3,2.2;"..perdragon.."complete]" .."label[3,2.6;"..perfox.."complete]" .."label[3,3;"..pertortoise.."complete]" .."list[current_player;dna;0,3.6;8,1;]" .."button[5,2.3;2,0.5;dnab;build DNA]" .."list[current_player;main;0,5.5;8,1;]" .."list[current_player;main;0,6.75;8,3;8]" .."listring[current_player;main]" .."listring[current_player;dna]" return formspec end local mobpos = {} mobpos.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("gem1", 8) player_inv:set_size("gem2", 8) local dog = "" local cat = "" local sheep = "" local dragon = "" local fox = "" local tortoise = "" local knight = "" if player:get_attribute("dogx") ~= nil then dog = player:get_attribute("dogx")..", "..player:get_attribute("dogy")..", "..player:get_attribute("dogz") end if player:get_attribute("catx") ~= nil then cat = player:get_attribute("catx")..", "..player:get_attribute("caty")..", "..player:get_attribute("catz") end if player:get_attribute("sheepx") ~= nil then sheep = player:get_attribute("sheepx")..", "..player:get_attribute("sheepy")..", "..player:get_attribute("sheepz") end if player:get_attribute("dragonx") ~= nil then dragon = player:get_attribute("dragonx")..", "..player:get_attribute("dragony")..", "..player:get_attribute("dragonz") end if player:get_attribute("foxx") ~= nil then fox = player:get_attribute("foxx")..", "..player:get_attribute("foxy")..", "..player:get_attribute("foxz") end if player:get_attribute("tortoisex") ~= nil then tortoise = player:get_attribute("tortoisex")..", "..player:get_attribute("tortoisey")..", "..player:get_attribute("tortoisez") end if player:get_attribute("knightx") ~= nil then knight = player:get_attribute("knightx")..", "..player:get_attribute("knighty")..", "..player:get_attribute("knightz") end formspec = "size[4,3]" .."background[4,3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;dna;Back]" .."button[2,0;2,0.5;main;Main]" .."label[0,1;Dog pos:"..dog.."]" .."label[0,1.3;Cat pos:"..cat.."]" .."label[0,1.6;Sheep pos:"..sheep.."]" .."label[0,1.9;Dragon pos:"..dragon.."]" .."label[0,2.2;Fox pos:"..fox.."]" .."label[0,2.5;Tortoise pos:"..tortoise.."]" .."label[0,2.8;1248 Knight pos:"..knight.."]" return formspec end minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.dna then inventory_plus.set_inventory_formspec(player, dna.get_formspec(player)) end if fields.mobpos then inventory_plus.set_inventory_formspec(player, mobpos.get_formspec(player)) end if fields.xpi then inventory_plus.set_inventory_formspec(player, xpi.get_formspec(player)) end if fields.xpi0 then inventory_plus.set_inventory_formspec(player, xpi0.get_formspec(player)) end if fields.xpi2 then inventory_plus.set_inventory_formspec(player, xpi2.get_formspec(player)) end if fields.xpi3 then inventory_plus.set_inventory_formspec(player, xpi3.get_formspec(player)) end if fields.rg then inventory_plus.set_inventory_formspec(player, rg.get_formspec(player)) end if fields.rg1 then inventory_plus.set_inventory_formspec(player, rg.get_formspec(player)) end if fields.rg2 then inventory_plus.set_inventory_formspec(player, rg2.get_formspec(player)) end if fields.rg3 then inventory_plus.set_inventory_formspec(player, rg3.get_formspec(player)) end if fields.rg4 then inventory_plus.set_inventory_formspec(player, rg4.get_formspec(player)) end if fields.rg5 then inventory_plus.set_inventory_formspec(player, rg5.get_formspec(player)) end if fields.rg6 then inventory_plus.set_inventory_formspec(player, rg6.get_formspec(player)) end if fields.rg7 then inventory_plus.set_inventory_formspec(player, rg7.get_formspec(player)) end if fields.rg8 then inventory_plus.set_inventory_formspec(player, rg8.get_formspec(player)) end if fields.rg9 then inventory_plus.set_inventory_formspec(player, rg9.get_formspec(player)) end if fields.rg10 then inventory_plus.set_inventory_formspec(player, rg10.get_formspec(player)) end if fields.rg11 then inventory_plus.set_inventory_formspec(player, rg11.get_formspec(player)) end if fields.rg12 then inventory_plus.set_inventory_formspec(player, rg12.get_formspec(player)) end if fields.rg13 then inventory_plus.set_inventory_formspec(player, rg13.get_formspec(player)) end if fields.rg14 then inventory_plus.set_inventory_formspec(player, rg14.get_formspec(player)) end if fields.rg15 then inventory_plus.set_inventory_formspec(player, rg15.get_formspec(player)) end if fields.rg16 then inventory_plus.set_inventory_formspec(player, rg16.get_formspec(player)) end if fields.rg17 then inventory_plus.set_inventory_formspec(player, rg17.get_formspec(player)) end if fields.rg18 then inventory_plus.set_inventory_formspec(player, rg18.get_formspec(player)) end if fields.rg19 then inventory_plus.set_inventory_formspec(player, rg19.get_formspec(player)) end if fields.rg20 then inventory_plus.set_inventory_formspec(player, rg20.get_formspec(player)) end if fields.crafting5 then inventory_plus.set_inventory_formspec(player, crafting5.get_formspec(player)) end if fields.dnab then local player_inv = player:get_inventory() local x1 = player_inv:get_stack("dna", 1):get_name() local x2 = player_inv:get_stack("dna", 2):get_name() local x3 = player_inv:get_stack("dna", 3):get_name() local x4 = player_inv:get_stack("dna", 4):get_name() local x5 = player_inv:get_stack("dna", 5):get_name() local x6 = player_inv:get_stack("dna", 6):get_name() local x7 = player_inv:get_stack("dna", 7):get_name() local x8 = player_inv:get_stack("dna", 8):get_name() local y1 = player_inv:get_stack("dna", 1):get_count() local y2 = player_inv:get_stack("dna", 2):get_count() local y3 = player_inv:get_stack("dna", 3):get_count() local y4 = player_inv:get_stack("dna", 4):get_count() local y5 = player_inv:get_stack("dna", 5):get_count() local y6 = player_inv:get_stack("dna", 6):get_count() local y7 = player_inv:get_stack("dna", 7):get_count() local y8 = player_inv:get_stack("dna", 8):get_count() local dog = player_inv:get_stack("dogdna", 1):get_count() local cat = player_inv:get_stack("catdna", 1):get_count() local sheep = player_inv:get_stack("sheepdna", 1):get_count() local dragon = player_inv:get_stack("dragondna", 1):get_count() local fox = player_inv:get_stack("foxdna", 1):get_count() local tortoise = player_inv:get_stack("tortoisedna", 1):get_count() if x1 == "tutorial:dna_string" and x2 == "tutorial:dna_string" and x3 == "tutorial:dna_string" and x4 == "tutorial:dna_string" and x5 == "tutorial:dna_string" and x6 == "tutorial:dna_string" and x7 == "tutorial:dna_string" and x8 == "tutorial:dna_string" then player_inv:set_stack("dna", 1, "tutorial:dna_string "..(y1-1)) player_inv:set_stack("dna", 2, "tutorial:dna_string "..(y2-1)) player_inv:set_stack("dna", 3, "tutorial:dna_string "..(y3-1)) player_inv:set_stack("dna", 4, "tutorial:dna_string "..(y4-1)) player_inv:set_stack("dna", 5, "tutorial:dna_string "..(y5-1)) player_inv:set_stack("dna", 6, "tutorial:dna_string "..(y6-1)) player_inv:set_stack("dna", 7, "tutorial:dna_string "..(y7-1)) player_inv:set_stack("dna", 8, "tutorial:dna_string "..(y8-1)) local z = math.random(6) if z == 1 then if dog < 20 then player_inv:add_item("dogdna","default:dirt") end elseif z == 2 then if cat < 20 then player_inv:add_item("catdna","default:dirt") end elseif z == 3 then if sheep < 20 then player_inv:add_item("sheepdna","default:dirt") end elseif z == 4 then if dragon < 25 then player_inv:add_item("dragondna","default:dirt") end elseif z == 5 then if fox < 25 then player_inv:add_item("foxdna","default:dirt") end elseif z == 6 then if tortoise < 50 then player_inv:add_item("tortoisedna","default:dirt") end end end if x1 == "tutorial:big_dna_string" and x2 == "tutorial:big_dna_string" and x3 == "tutorial:big_dna_string" and x4 == "tutorial:big_dna_string" and x5 == "tutorial:big_dna_string" and x6 == "tutorial:big_dna_string" and x7 == "tutorial:big_dna_string" and x8 == "tutorial:big_dna_string" then player_inv:set_stack("dna", 1, "tutorial:big_dna_string "..(y1-1)) player_inv:set_stack("dna", 2, "tutorial:big_dna_string "..(y2-1)) player_inv:set_stack("dna", 3, "tutorial:big_dna_string "..(y3-1)) player_inv:set_stack("dna", 4, "tutorial:big_dna_string "..(y4-1)) player_inv:set_stack("dna", 5, "tutorial:big_dna_string "..(y5-1)) player_inv:set_stack("dna", 6, "tutorial:big_dna_string "..(y6-1)) player_inv:set_stack("dna", 7, "tutorial:big_dna_string "..(y7-1)) player_inv:set_stack("dna", 8, "tutorial:big_dna_string "..(y8-1)) player_inv:add_item("main","mobs:random_monster_egg") end inventory_plus.set_inventory_formspec(player, dna.get_formspec(player)) end end) local ach = {} ach.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("a1", 1) player_inv:set_size("a2", 1) player_inv:set_size("a3", 1) player_inv:set_size("a4", 1) player_inv:set_size("a5", 1) player_inv:set_size("a6", 1) player_inv:set_size("a7", 1) player_inv:set_size("a8", 1) player_inv:set_size("a9", 1) player_inv:set_size("a10", 1) player_inv:set_size("a11", 1) player_inv:set_size("a12", 1) player_inv:set_size("a13", 1) player_inv:set_size("a14", 1) player_inv:set_size("a15", 1) player_inv:set_size("a16", 1) player_inv:set_size("a17", 1) player_inv:set_size("a18", 1) player_inv:set_size("a19", 1) player_inv:set_size("a20", 1) player_inv:set_size("a21", 1) player_inv:set_size("a22", 1) player_inv:set_size("a23", 1) player_inv:set_size("a24", 1) player_inv:set_size("a25", 1) player_inv:set_size("a26", 1) player_inv:set_size("a27", 1) player_inv:set_size("a28", 1) player_inv:set_size("a29", 1) player_inv:set_size("a30", 1) player_inv:set_size("a31", 1) player_inv:set_size("a32", 1) player_inv:set_size("a33", 1) player_inv:set_size("a34", 1) player_inv:set_size("a35", 1) player_inv:set_size("a36", 1) player_inv:set_size("a37", 1) player_inv:set_size("a38", 1) player_inv:set_size("a39", 1) player_inv:set_size("a40", 1) player_inv:set_size("a41", 1) player_inv:set_size("a42", 1) player_inv:set_size("a43", 1) player_inv:set_size("a44", 1) player_inv:set_size("a45", 1) player_inv:set_size("a46", 1) player_inv:set_size("a47", 1) player_inv:set_size("a48", 1) player_inv:set_size("a49", 1) player_inv:set_size("a50", 1) local a1 = player_inv:get_stack("a1", 1):get_count() local a2 = player_inv:get_stack("a2", 1):get_count() local a3 = player_inv:get_stack("a3", 1):get_count() local a4 = player_inv:get_stack("a4", 1):get_count() local a5 = player_inv:get_stack("a5", 1):get_count() local a6 = player_inv:get_stack("a6", 1):get_count() local a7 = player_inv:get_stack("a7", 1):get_count() local a8 = player_inv:get_stack("a8", 1):get_count() local a9 = player_inv:get_stack("a9", 1):get_count() local a10 = player_inv:get_stack("a10", 1):get_count() local a11 = player_inv:get_stack("a11", 1):get_count() local a12 = player_inv:get_stack("a12", 1):get_count() local a13 = player_inv:get_stack("a13", 1):get_count() local a14 = player_inv:get_stack("a14", 1):get_count() local a15 = player_inv:get_stack("a15", 1):get_count() local a16 = player_inv:get_stack("a16", 1):get_count() local a17 = player_inv:get_stack("a17", 1):get_count() local a18 = player_inv:get_stack("a18", 1):get_count() local a19 = player_inv:get_stack("a19", 1):get_count() local a20 = player_inv:get_stack("a20", 1):get_count() local a21 = player_inv:get_stack("a21", 1):get_count() local a22 = player_inv:get_stack("a22", 1):get_count() local a23 = player_inv:get_stack("a23", 1):get_count() local a24 = player_inv:get_stack("a24", 1):get_count() local a25 = player_inv:get_stack("a25", 1):get_count() local a26 = player_inv:get_stack("a26", 1):get_count() local a27 = player_inv:get_stack("a27", 1):get_count() local a28 = player_inv:get_stack("a28", 1):get_count() local a29 = player_inv:get_stack("a29", 1):get_count() local a30 = player_inv:get_stack("a30", 1):get_count() local a31 = player_inv:get_stack("a31", 1):get_count() local a32 = player_inv:get_stack("a32", 1):get_count() local a33 = player_inv:get_stack("a33", 1):get_count() local a34 = player_inv:get_stack("a34", 1):get_count() local a35 = player_inv:get_stack("a35", 1):get_count() local a36 = player_inv:get_stack("a36", 1):get_count() local a37 = player_inv:get_stack("a37", 1):get_count() local a38 = player_inv:get_stack("a38", 1):get_count() local a39 = player_inv:get_stack("a39", 1):get_count() local a40 = player_inv:get_stack("a40", 1):get_count() local a41 = player_inv:get_stack("a41", 1):get_count() local a42 = player_inv:get_stack("a42", 1):get_count() local a43 = player_inv:get_stack("a43", 1):get_count() local a44 = player_inv:get_stack("a44", 1):get_count() local a45 = player_inv:get_stack("a45", 1):get_count() local a46 = player_inv:get_stack("a46", 1):get_count() local a47 = player_inv:get_stack("a47", 1):get_count() local a48 = player_inv:get_stack("a48", 1):get_count() local a49 = player_inv:get_stack("a49", 1):get_count() local a50 = player_inv:get_stack("a50", 1):get_count() local d1 = 0 if a1 == 1 then d1 = d1+1 end if a2 == 1 then d1 = d1+1 end if a3 == 1 then d1 = d1+1 end if a4 == 1 then d1 = d1+1 end if a5 == 1 then d1 = d1+1 end if a6 == 1 then d1 = d1+1 end if a7 == 1 then d1 = d1+1 end if a8 == 1 then d1 = d1+1 end if a9 == 1 then d1 = d1+1 end if a10 == 1 then d1 = d1+1 end if a11 == 1 then d1 = d1+1 end if a12 == 1 then d1 = d1+1 end if a13 == 1 then d1 = d1+1 end if a14 == 1 then d1 = d1+1 end if a15 == 1 then d1 = d1+1 end if a16 == 1 then d1 = d1+1 end if a17 == 1 then d1 = d1+1 end if a18 == 1 then d1 = d1+1 end if a19 == 1 then d1 = d1+1 end if a20 == 1 then d1 = d1+1 end if a21 == 1 then d1 = d1+1 end if a22 == 1 then d1 = d1+1 end if a23 == 1 then d1 = d1+1 end if a24 == 1 then d1 = d1+1 end if a25 == 1 then d1 = d1+1 end if a26 == 1 then d1 = d1+1 end if a27 == 1 then d1 = d1+1 end if a28 == 1 then d1 = d1+1 end if a29 == 1 then d1 = d1+1 end if a30 == 1 then d1 = d1+1 end if a31 == 1 then d1 = d1+1 end if a32 == 1 then d1 = d1+1 end if a33 == 1 then d1 = d1+1 end if a34 == 1 then d1 = d1+1 end if a35 == 1 then d1 = d1+1 end if a36 == 1 then d1 = d1+1 end if a37 == 1 then d1 = d1+1 end if a38 == 1 then d1 = d1+1 end if a39 == 1 then d1 = d1+1 end if a40 == 1 then d1 = d1+1 end if a41 == 1 then d1 = d1+1 end if a42 == 1 then d1 = d1+1 end if a43 == 1 then d1 = d1+1 end if a44 == 1 then d1 = d1+1 end if a45 == 1 then d1 = d1+1 end if a46 == 1 then d1 = d1+1 end if a47 == 1 then d1 = d1+1 end if a48 == 1 then d1 = d1+1 end if a49 == 1 then d1 = d1+1 end if a50 == 1 then d1 = d1+1 end formspec = "size[10.5,11.3]" .."background[10.5,11.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."button[4,0;2,0.5;achc;Spezial]" .."image[0,1;0.8,0.8;tutorial_"..a1..".png]" .."image[0,1.8;0.8,0.8;tutorial_"..a2..".png]" .."image[0,2.6;0.8,0.8;tutorial_"..a3..".png]" .."image[0,3.4;0.8,0.8;tutorial_"..a4..".png]" .."image[0,4.2;0.8,0.8;tutorial_"..a5..".png]" .."image[0,5;0.8,0.8;tutorial_"..a6..".png]" .."image[0,5.8;0.8,0.8;tutorial_"..a7..".png]" .."image[0,6.6;0.8,0.8;tutorial_"..a8..".png]" .."image[0,7.4;0.8,0.8;tutorial_"..a9..".png]" .."image[0,8.2;0.8,0.8;tutorial_"..a10..".png]" .."image[0,9;0.8,0.8;tutorial_"..a11..".png]" .."image[0,9.8;0.8,0.8;tutorial_"..a12..".png]" .."image[0,10.6;0.8,0.8;tutorial_"..a13..".png]" .."image[2.5,1.0;0.8,0.8;tutorial_"..a14..".png]" .."image[2.5,1.8;0.8,0.8;tutorial_"..a15..".png]" .."image[2.5,2.6;0.8,0.8;tutorial_"..a16..".png]" .."image[2.5,3.4;0.8,0.8;tutorial_"..a17..".png]" .."image[2.5,4.2;0.8,0.8;tutorial_"..a18..".png]" .."image[2.5,5;0.8,0.8;tutorial_"..a19..".png]" .."image[2.5,5.8;0.8,0.8;tutorial_"..a20..".png]" .."image[2.5,6.6;0.8,0.8;tutorial_"..a21..".png]" .."image[2.5,7.4;0.8,0.8;tutorial_"..a22..".png]" .."image[2.5,8.2;0.8,0.8;tutorial_"..a23..".png]" .."image[2.5,9;0.8,0.8;tutorial_"..a24..".png]" .."image[2.5,9.8;0.8,0.8;tutorial_"..a25..".png]" .."image[2.5,10.6;0.8,0.8;tutorial_"..a26..".png]" .."image[5,1;0.8,0.8;tutorial_"..a27..".png]" .."image[5,1.8;0.8,0.8;tutorial_"..a28..".png]" .."image[5,2.6;0.8,0.8;tutorial_"..a29..".png]" .."image[5,3.4;0.8,0.8;tutorial_"..a30..".png]" .."image[5,4.2;0.8,0.8;tutorial_"..a31..".png]" .."image[5,5;0.8,0.8;tutorial_"..a32..".png]" .."image[5,5.8;0.8,0.8;tutorial_"..a33..".png]" .."image[5,6.6;0.8,0.8;tutorial_"..a34..".png]" .."image[5,7.4;0.8,0.8;tutorial_"..a35..".png]" .."image[5,8.2;0.8,0.8;tutorial_"..a36..".png]" .."image[5,9.0;0.8,0.8;tutorial_"..a37..".png]" .."image[5,9.8;0.8,0.8;tutorial_"..a38..".png]" .."image[5,10.6;0.8,0.8;tutorial_"..a39..".png]" .."image[7.5,1;0.8,0.8;tutorial_"..a40..".png]" .."image[7.5,1.8;0.8,0.8;tutorial_"..a41..".png]" .."image[7.5,2.6;0.8,0.8;tutorial_"..a42..".png]" .."image[7.5,3.4;0.8,0.8;tutorial_"..a43..".png]" .."image[7.5,4.2;0.8,0.8;tutorial_"..a44..".png]" .."image[7.5,5;0.8,0.8;tutorial_"..a45..".png]" .."image[7.5,5.8;0.8,0.8;tutorial_"..a46..".png]" .."image[7.5,6.6;0.8,0.8;tutorial_"..a47..".png]" .."image[7.5,7.4;0.8,0.8;tutorial_"..a48..".png]" .."image[7.5,8.2;0.8,0.8;tutorial_"..a49..".png]" .."image[7.5,9.0;0.8,0.8;tutorial_"..a50..".png]" .."label[6,0;"..d1.."/50]" .."button[6.5,0;2,0.5;rew;Reward (25)]" .."button[8.5,0;2,0.5;rewb;Reward (50)]" return formspec end local ach2 = {} ach2.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() formspec= "label[0.8,1.1;Regnumbattleaxe]" .."label[0.8,1.9;Bagkey Lv.MAX]" .."label[0.8,2.7.5;Armorkey]" .."label[0.8,3.5;Xp key]" .."label[0.8,4.3.5;Craftkey Lv.MAX]" .."label[0.8,5.1;Legendkey]" .."label[0.8,5.9;Regnumkey]" .."label[0.8,6.7;Pixeled Regnumkey]" .."label[0.8,7.5;8 Regnum Trolleys]" .."label[0.8,8.3;8 Legend crystals]" .."label[0.8,9.1;Xp green Lv.MAX]" .."label[0.8,9.9;Xp red Lv.MAX]" .."label[0.8,10.7;Xp blue Lv.MAX]" .."label[3.3,1.1;Xp gray Lv.MAX]" .."label[3.3,1.9;dog spawn-egg]" .."label[3.3,2.7;cat spawn-egg]" .."label[3.3,3.5;sheep spawn-egg]" .."label[3.3,4.3;dragon spawn-egg]" .."label[3.3,5.1;mining laser lv.150]" .."label[3.3,5.9;all awards]" .."label[3.3,6.7;mining drill lv.150]" .."label[3.3,7.5;Dragon key]" .."label[3.3,8.3;5 magic gems]" .."label[3.3,9.1;Regnumhelmet]" .."label[3.3,9.9;Regnumchestplate]" .."label[3.3,10.7;Regnumleggings]" .."label[5.8,1.1;Regnumboots]" .."label[5.8,1.9;Regnumshield]" .."label[5.8,2.7;fox spawn-egg]" .."label[5.8,3.5;tortoise spawn-egg]" .."label[5.8,4.3;Foxkey]" .."label[5.8,5.1;10 magic gems]" .."label[5.8,5.9;Wallplacer lv.MAX]" .."label[5.8,6.7;Xp yellow Lv.MAX]" .."label[5.8,7.5;all artifacts]" .."label[5.8,8.3;Tortoisekey]" .."label[5.8,9.1;Knightkey]" .."label[5.8,9.9;all medallions]" .."label[5.8,10.7;Crystalkey]" .."label[8.3,1.1;2 Regnum crystal]" .."label[8.3,1.9;Goldenkey]" .."label[8.3,2.7;Xp cyan Lv.MAX]" .."label[8.3,3.5;Cookingkey Lv.MAX]" .."label[8.3,4.3;2 Pixeled Regnumkeys]" .."label[8.3,5.1;all trophys]" .."label[8.3,5.9;Protectionkey lv.MAX]" .."label[8.3,6.7;all treasures]" .."label[8.3,7.5;Legendstick lv.MAX]" .."label[8.3,8.3;Regnumgun]" .."label[8.3,9.1;Colorstick (broken)]" return formspec end local ach3 = {} ach3.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("year", 2) local year = player_inv:get_stack("year", 1):get_count() local year2 = player_inv:get_stack("year", 2):get_count() local d = 0 if year == 1 then d = d+1 end if year2 == 1 then d = d+1 end formspec= "size[10.5,11.3]" .."background[10.5,11.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;ach;Back]" .."button[2,0;2,0.5;main;Main]" .."label[0.8,1.1;one year Trophy]" .."label[0.8,1.9;two years Trophy]" .."label[5.5,0;"..d.."/2]" .."image[0,1;0.8,0.8;tutorial_"..year..".png]" .."image[0,1.8;0.8,0.8;tutorial_"..year2..".png]" return formspec end for j = 1, 8, 1 do for i = 1, 8, 1 do minetest.register_node("tutorial:legend_thunder_"..i.."_"..j, { description = "Legend thunder: damage lv."..i..",lengh lv."..j, drawtype = "plantlike", tiles = {{ name="tutorial_legend_thunder.png", }}, light_source = 12, walkable = false, buildable_to = true, damage_per_second = (i*8), drop = {}, groups = {dig_immediate=3}, }) minetest.register_abm({ nodenames = {"tutorial:legend_thunder_"..i.."_"..j}, interval = (j*3), chance = 1, action = function(pos) minetest.env:remove_node(pos) end, }) end end for k = 1, 8, 1 do for j = 1, 8, 1 do for i = 1, 8, 1 do minetest.register_entity("tutorial:legendball_"..i.."_"..j.."_"..k, { visual = "mesh", visual_size = {x=5, y=5}, mesh = "tutorial_fireball.x", textures = {"tutorial_legendball.png"}, velocity = 5, light_source = 12, on_step = function(self, dtime) local pos = self.object:getpos() if minetest.env:get_node(self.object:getpos()).name ~= "air"then self.hit_node(self, pos, node) self.object:remove() return end pos.y = pos.y-1 for _,player in pairs(minetest.env:get_objects_inside_radius(pos, 1)) do if player:is_player() then self.hit_player(self, player) self.object:remove() return end end end, hit_player = function(self, player) local hp = player:get_hp() if hp > (k*2) then player:set_hp(hp-(k*2)) else player:set_hp(0) end local s = player:getpos() local p = player:get_look_dir() local vec = {x=s.x-p.x, y=s.y-p.y, z=s.z-p.z} local pos = player:getpos() for dx=0,1 do for dy=0,1 do for dz=0,1 do local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} local n = minetest.env:get_node(p).name if (n == "air") then minetest.env:add_node(p, {name="tutorial:legend_thunder_"..i.."_"..j}) end end end end end, hit_node = function(self, pos, node) for dx=-1,1 do for dy=-2,1 do for dz=-1,1 do local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz} local n = minetest.env:get_node(p).name if (n == "air") then minetest.env:add_node(p, {name="tutorial:legend_thunder_"..i.."_"..j}) end end end end end }) minetest.register_tool("tutorial:legendball_"..i.."_"..j.."_"..k, { description = "Legend Ball: Ball damage lv."..k..", Thunder damage lv."..i..", Thunder lengh lv."..j, inventory_image = "tutorial_legendball.png", on_use = function(itemstack, placer, pointed_thing) local dir = placer:get_look_dir(); local inv = placer:get_inventory() local playerpos = placer:getpos(); local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "tutorial:legendball_"..i.."_"..j.."_"..k) local vec = {x=dir.x*3,y=dir.y*3,z=dir.z*3} if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end obj:setvelocity(vec) return itemstack end, light_source = 12, }) end end end local mode_text = { {"Give player Enemy rank. (revoke all privs)"}, {"Give player Member rank. (interact,shout)"}, {"Give player Premium rank. (interact,shout,fly,fast,home,zoom)"}, {"Give player VIP rank. (interact,shout,fly,fast,home,teleport,zoom)"}, {"Give player Hero rank. (interact,shout,fly,fast,home,teleport,noclip,zoom,debug)"}, {"Give player Legend rank (interact,shout,fly,fast,home,teleport,bring,noclip,settime,zoom,debug)"}, {"Give player Admin rank (all privs)"}, {"Mark player as a youtuber "}, } local function server_hammer_setmode(user, itemstack, mode, keys) local puncher = user:get_player_name() if keys["sneak"] == false and mode == 0 then minetest.chat_send_player(puncher, "Hold shift and use to change server hammer modes.") return end if keys["sneak"] == true then mode = mode + 1 if mode == 9 then mode = 1 end minetest.chat_send_player(puncher, "Ban hammer mode : "..mode.." - "..mode_text[mode][1] ) end itemstack:set_name("tutorial:server_hammer"..mode) itemstack:set_metadata(mode) return itemstack, mode end local function server_hammer_handler(itemstack, user, pointed_thing, mode) local keys = user:get_player_control() server_hammer_setmode(user, itemstack, mode, keys) if pointed_thing.type ~= "object" then return end if not pointed_thing.ref:is_player() then return end local puncher = user:get_player_name() local puncher_privs = minetest.get_player_privs(puncher) if (puncher_privs["ban"] == false) then return end local punched_player = pointed_thing.ref:get_player_name() local punched_player_privs = minetest.get_player_privs(punched_player) if mode == 1 then minetest.chat_send_player(punched_player, puncher.." gives you Enemy rank. You have no privs") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Enemy]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Youtuber][Enemy]"..player:get_player_name()}) end elseif mode == 2 then minetest.chat_send_player(punched_player, puncher.." gives you Member rank. You can use interact and shout") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}, text = "[Member]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 255}, text = "[Youtuber][Member]"..player:get_player_name()}) end elseif mode == 3 then minetest.chat_send_player(punched_player, puncher.." gives you Premium rank. You can use interact,shout,fast,fly,home and zoom") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true punched_player_privs["fly"] = true punched_player_privs["fast"] = true punched_player_privs["home"] = true punched_player_privs["zoom"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Premium]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Youtuber][Premium]"..player:get_player_name()}) end elseif mode == 4 then minetest.chat_send_player(punched_player, puncher.." gives you VIP rank. You can use interact,shout,fast,home,zoom,teleport and fly") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true punched_player_privs["fly"] = true punched_player_privs["fast"] = true punched_player_privs["home"] = true punched_player_privs["zoom"] = true punched_player_privs["teleport"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[VIP]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[Youtuber][VIP]"..player:get_player_name()}) end elseif mode == 5 then minetest.chat_send_player(punched_player, puncher.." gives you Hero rank. You can use interact,shout,fast,home,zoom,teleport,noclip,fly and debug") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true punched_player_privs["fly"] = true punched_player_privs["fast"] = true punched_player_privs["home"] = true punched_player_privs["zoom"] = true punched_player_privs["teleport"] = true punched_player_privs["noclip"] = true punched_player_privs["debug"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Hero]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Youtuber][Hero]"..player:get_player_name()}) end elseif mode == 6 then minetest.chat_send_player(punched_player, puncher.." gives you Legend rank. You can use interact,shout,fast,home,zoom,teleport,noclip,fly,debug,bring and settime") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true punched_player_privs["fly"] = true punched_player_privs["fast"] = true punched_player_privs["home"] = true punched_player_privs["zoom"] = true punched_player_privs["bring"] = true punched_player_privs["teleport"] = true punched_player_privs["noclip"] = true punched_player_privs["debug"] = true punched_player_privs["settime"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Legend]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Youtuber][Legend]"..player:get_player_name()}) end elseif mode == 7 then minetest.chat_send_player(punched_player, puncher.." gives you Admin rank. You can use every privs") minetest.set_player_privs(punched_player, {}) local punched_player_privs = minetest.get_player_privs(punched_player) punched_player_privs["interact"] = true punched_player_privs["shout"] = true punched_player_privs["fly"] = true punched_player_privs["fast"] = true punched_player_privs["home"] = true punched_player_privs["zoom"] = true punched_player_privs["bring"] = true punched_player_privs["teleport"] = true punched_player_privs["noclip"] = true punched_player_privs["debug"] = true punched_player_privs["settime"] = true punched_player_privs["server"] = true punched_player_privs["password"] = true punched_player_privs["delprotect"] = true punched_player_privs["kick"] = true punched_player_privs["ban"] = true punched_player_privs["rollback"] = true punched_player_privs["privs"] = true punched_player_privs["basic_privs"] = true punched_player_privs["give"] = true punched_player_privs["protection_bypass"] = true punched_player_privs["travelnet_remove"] = true punched_player_privs["travelnet_attach"] = true punched_player_privs["shop_admin"] = true punched_player_privs["creative"] = true minetest.set_player_privs(punched_player, punched_player_privs) local player = minetest.get_player_by_name(punched_player) local player_inv = player:get_inventory() player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Admin]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Youtuber][Admin]"..player:get_player_name()}) end elseif mode == 8 then minetest.chat_send_player(punched_player, puncher.." marks you as a youtuber") pri = minetest.get_player_privs(punched_player) local player = minetest.get_player_by_name(punched_player) if pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring and pri.server and pri.password and pri.delprotect and pri.kick and pri.ban and pri.rollback and pri.privs and pri.basic_privs and pri.give and pri.sign_editor and pri.protection_bypass and pri.travelnet_remove and pri.travelnet_attach and pri.shop_admin and pri.creative then player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Youtuber][Admin]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Youtuber][Legend]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Youtuber][Hero]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport then player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[Youtuber][VIP]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom then player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Youtuber][Premium]"..player:get_player_name()}) elseif pri.interact and pri.shout then player:set_nametag_attributes({text = "[Youtuber][Member]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Youtuber][Enemy]"..player:get_player_name()}) end local inv = player:get_inventory() inv:set_size("youtube",1) inv:set_stack("youtube",1,"default:dirt") end return itemstack end minetest.register_craftitem("tutorial:server_hammer", { description = "Admin tool 6: Server Hammer", inventory_image = "ban_hammer.png", stack_max = 1, on_use = function(itemstack, user, pointed_thing) local mode = 0 server_hammer_handler(itemstack, user, pointed_thing, mode) return itemstack end, }) for i = 1, 8 do minetest.register_craftitem("tutorial:server_hammer"..i, { description = "Admin tool 6: Server Hammer in Mode "..i, inventory_image = "ban_hammer.png^technic_tool_mode"..i..".png", wield_image = "ban_hammer.png", groups = {not_in_creative_inventory=1}, on_use = function(itemstack, user, pointed_thing) local mode = i server_hammer_handler(itemstack, user, pointed_thing, mode) return itemstack end, }) end minetest.register_on_joinplayer(function(player) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("t", 1) player_inv:add_item("t", "default:dirt") local pri = minetest.get_player_privs(player:get_player_name()) player_inv:set_size("youtube", 1) local c = player_inv:get_stack("youtube",1):get_count() if c == 0 then if pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring and pri.server and pri.password and pri.delprotect and pri.kick and pri.ban and pri.rollback and pri.privs and pri.basic_privs and pri.give and pri.protection_bypass and pri.travelnet_remove and pri.travelnet_attach and pri.shop_admin and pri.creative then player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Admin]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Legend]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Hero]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport then player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[VIP]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom then player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Premium]"..player:get_player_name()}) elseif pri.interact and pri.shout then player:set_nametag_attributes({text = "[Member]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Enemy]"..player:get_player_name()}) end else if pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring and pri.server and pri.password and pri.delprotect and pri.kick and pri.ban and pri.rollback and pri.privs and pri.basic_privs and pri.give and pri.protection_bypass and pri.travelnet_remove and pri.travelnet_attach and pri.shop_admin and pri.creative then player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 255}, text = "[Youtuber][Admin]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug and pri.settime and pri.bring then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 0}, text = "[Youtuber][Legend]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport and pri.noclip and pri.debug then player:set_nametag_attributes({color = {a = 255, r = 0, g = 255, b = 255}, text = "[Youtuber][Hero]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom and pri.teleport then player:set_nametag_attributes({color = {a = 255, r = 255, g = 255, b = 0}, text = "[Youtuber][VIP]"..player:get_player_name()}) elseif pri.interact and pri.shout and pri.fly and pri.fast and pri.home and pri.zoom then player:set_nametag_attributes({color = {a = 255, r = 0, g = 0, b = 255}, text = "[Youtuber][Premium]"..player:get_player_name()}) elseif pri.interact and pri.shout then player:set_nametag_attributes({text = "[Youtuber][Member]"..player:get_player_name()}) else player:set_nametag_attributes({color = {a = 255, r = 255, g = 0, b = 0}, text = "[Youtuber][Enemy]"..player:get_player_name()}) end end end) local kri = {} kri.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() local kri_inv = minetest.create_detached_inventory(player:get_player_name().."_kri",{ allow_put = function(inv, listname, index, stack, player) return 0 end, allow_take = function(inv, listname, index, stack, player) return 0 end, allow_move = function(inv, from_list, from_index, to_list, to_index, count, player) return 0 end, }) kri_inv:set_size("kri", 8) player_inv:set_size("kri", 8) player_inv:set_size("de", 1) player_inv:set_size("td", 1) player_inv:set_size("tl", 1) player_inv:set_size("time", 1) player_inv:set_size("t", 1) player_inv:set_size("krit", 1) local dl = player_inv:get_stack("de", 1):get_count() local tdl = player_inv:get_stack("td", 1):get_count() local tll = player_inv:get_stack("tl", 1):get_count() local tes = player_inv:get_stack("t", 1):get_count() if dl == 0 then dl = "nil" end if tdl == 0 then tdl = "nil" end if tll == 0 then tll = "nil" end local k = 0 for i=1, 8 do local stack = player_inv:get_stack("kri", i) kri_inv:set_stack("kri", i, stack) if not player_inv:get_stack("kri", i):is_empty() then k = k+1 end end local time = 0 if dl ~= "nil" and tdl ~= "nil" and tll ~= "nil" then time = time+(dl*35) time = time+(tdl*15) time = time+(tll*10) if player_inv:get_stack("krit", 1):get_name() == "tutorial:crystal_schluessel" then time = time/2 end else time = "nil" end formspec = "size[10,12.3]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."background[10,8.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."list[current_player;krit;0.3,2.5;1,1;]" .."list[current_player;main;1,8.75;8,4;]" .."label[0.3,3.5;crystalkey]" .."list[detached:"..player:get_player_name().."_kri;kri;3,1;2,1;]" .."list[detached:"..player:get_player_name().."_kri;kri;5,2;1,2;2]" .."list[detached:"..player:get_player_name().."_kri;kri;4,4;1,1;4]" .."list[detached:"..player:get_player_name().."_kri;kri;3,4;1,1;5]" .."list[detached:"..player:get_player_name().."_kri;kri;2,3;1,1;6]" .."list[detached:"..player:get_player_name().."_kri;kri;2,2;1,1;7]" .."listring[current_player;krit]" .."listring[current_player;main]" .."label[0,1;You have "..k.."/8 crystals]" .."image[3.1,2.1;2,2;tutorial_legendenkristall.png]" .."label[7,1;Ball damage level:"..dl.."]" .."label[7,1.5;Thunder damage level:"..tdl.."]" .."label[7,2;Thunder damage level:"..tll.."]" .."label[7,2.5;Time in s:"..time.."]" .."label[0,5.75;Ball damage level]" .."label[0,6.75;Thunder damage level]" .."label[0,7.75;Thunder length level]" if k > 0 then formspec = formspec .."button[2,5.75;1,0.5;adem;1]" .."button[2,6.75;1,0.5;athu;1]" .."button[2,7.75;1,0.5;athl;1]" if time ~= "nil" then formspec = formspec .."label[7,3;creating..]" end end if k > 1 then formspec = formspec .."button[3,5.75;1,0.5;bdem;2]" .."button[3,6.75;1,0.5;bthu;2]" .."button[3,7.75;1,0.5;bthl;2]" end if k > 2 then formspec = formspec .."button[4,5.75;1,0.5;cdem;3]" .."button[4,6.75;1,0.5;cthu;3]" .."button[4,7.75;1,0.5;cthl;3]" end if k > 3 then formspec = formspec .."button[5,5.75;1,0.5;ddem;4]" .."button[5,6.75;1,0.5;dthu;4]" .."button[5,7.75;1,0.5;dthl;4]" end if k > 4 then formspec = formspec .."button[6,5.75;1,0.5;edem;5]" .."button[6,6.75;1,0.5;ethu;5]" .."button[6,7.75;1,0.5;ethl;5]" end if k > 5 then formspec = formspec .."button[7,5.75;1,0.5;fdem;6]" .."button[7,6.75;1,0.5;fthu;6]" .."button[7,7.75;1,0.5;fthl;6]" end if k > 6 then formspec = formspec .."button[8,5.75;1,0.5;gdem;7]" .."button[8,6.75;1,0.5;gthu;7]" .."button[8,7.75;1,0.5;gthl;7]" end if k > 7 then formspec = formspec .."button[9,5.75;1,0.5;hdem;8]" .."button[9,6.75;1,0.5;hthu;8]" .."button[9,7.75;1,0.5;hthl;8]" end if tes > 0 and time ~= "nil" then formspec = formspec .."button[7,3;2,0.5;cre;create]" end return formspec end minetest.register_on_player_receive_fields(function(player, formname, fields) if player == nil then return end if fields.kri then inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.ach then local player_inv = player:get_inventory() local name = player:get_player_name() player_inv:set_size("a1", 1) player_inv:set_size("a2", 1) player_inv:set_size("a3", 1) player_inv:set_size("a4", 1) player_inv:set_size("a5", 1) player_inv:set_size("a6", 1) player_inv:set_size("a7", 1) player_inv:set_size("a8", 1) player_inv:set_size("a9", 1) player_inv:set_size("a10", 1) player_inv:set_size("a11", 1) player_inv:set_size("a12", 1) player_inv:set_size("a13", 1) player_inv:set_size("a14", 1) player_inv:set_size("a15", 1) player_inv:set_size("a16", 1) player_inv:set_size("a17", 1) player_inv:set_size("a18", 1) player_inv:set_size("a19", 1) player_inv:set_size("a20", 1) player_inv:set_size("a21", 1) player_inv:set_size("a22", 1) player_inv:set_size("a23", 1) player_inv:set_size("a24", 1) player_inv:set_size("a25", 1) player_inv:set_size("a26", 1) player_inv:set_size("a27", 1) player_inv:set_size("a28", 1) player_inv:set_size("a29", 1) player_inv:set_size("a30", 1) player_inv:set_size("a31", 1) player_inv:set_size("a32", 1) player_inv:set_size("a33", 1) player_inv:set_size("a34", 1) player_inv:set_size("a35", 1) player_inv:set_size("a36", 1) player_inv:set_size("a37", 1) player_inv:set_size("a38", 1) player_inv:set_size("a39", 1) player_inv:set_size("a40", 1) player_inv:set_size("a41", 1) player_inv:set_size("a42", 1) player_inv:set_size("a43", 1) player_inv:set_size("a44", 1) player_inv:set_size("a45", 1) player_inv:set_size("a46", 1) player_inv:set_size("a47", 1) player_inv:set_size("a48", 1) player_inv:set_size("a49", 1) player_inv:set_size("a50", 1) local type = player:get_inventory():get_stack("b",1):get_name() local type2 = player:get_inventory():get_stack("arm",1):get_name() local type3 = player:get_inventory():get_stack("feld2",1):get_name() local type4 = player:get_inventory():get_stack("feld",1):get_name() local type5 = player:get_inventory():get_stack("feld3",1):get_name() local type6 = player:get_inventory():get_stack("feld4",1):get_name() local type7 = player:get_inventory():get_stack("skinskey",1):get_name() local type8 = 0 local type9 = 0 local type10 = player:get_inventory():get_stack("feld5",1):get_name() local ge = io.open(minetest.get_worldpath().."/"..name.."_experience", "r") local type10 = ge:read("*l") local rt = io.open(minetest.get_worldpath().."/"..name.."_experience_rot", "r") local type11 = rt:read("*l") local bl = io.open(minetest.get_worldpath().."/"..name.."_experience_blau", "r") local type12 = bl:read("*l") local gr = io.open(minetest.get_worldpath().."/"..name.."_experience_grau", "r") local type13 = gr:read("*l") local ye = io.open(minetest.get_worldpath().."/"..name.."_experience_gelb", "r") local type16 = ye:read("*l") local ce = io.open(minetest.get_worldpath().."/"..name.."_experience_cyan", "r") local type23 = ce:read("*l") local type14 = player:get_inventory():get_stack("feld5",1):get_name() local type15 = player:get_inventory():get_stack("feld6",1):get_name() local type17 = player:get_inventory():get_stack("feld7",1):get_name() local type18 = player:get_inventory():get_stack("skinskey2",1):get_name() local type19 = player:get_inventory():get_stack("krit",1):get_name() local type20 = player:get_inventory():get_stack("dragon",1):get_name() local type21 = player:get_inventory():get_stack("tortoise",1):get_name() local type22 = player:get_inventory():get_stack("feld8",1):get_name() local type24 = player:get_inventory():get_stack("cookkey",1):get_name() local type25 = player:get_inventory():get_stack("pixkey",1):get_name() local type26 = player:get_inventory():get_stack("arm2",1):get_name() for i=1,8 do if player:get_inventory():get_stack("bag"..i,1):get_name() == "bags:trolley_admin" then type8 = type8+1 end if player:get_inventory():get_stack("kri",i):get_name() == "tutorial:legenden_kristall_"..i then type9 = type9+1 end end local g1 = player_inv:get_stack("gem", 1):get_name() local g2 = player_inv:get_stack("gem", 2):get_name() local g3 = player_inv:get_stack("gem", 3):get_name() local g4 = player_inv:get_stack("gem", 4):get_name() local g5 = player_inv:get_stack("gem", 5):get_name() local g11 = player_inv:get_stack("gem2", 1):get_name() local g12 = player_inv:get_stack("gem2", 2):get_name() local g13 = player_inv:get_stack("gem2", 3):get_name() local g14 = player_inv:get_stack("gem2", 4):get_name() local g15 = player_inv:get_stack("gem2", 5):get_name() local ar1 = player_inv:get_stack("armor", 1):get_name() local ar2 = player_inv:get_stack("armor", 2):get_name() local ar3 = player_inv:get_stack("armor", 3):get_name() local ar4 = player_inv:get_stack("armor", 4):get_name() local ar5 = player_inv:get_stack("armor", 5):get_name() local afaf = player_inv:get_stack("afaf", 1):get_count() local meme = player_inv:get_stack("meme", 1):get_count() local trtr = player_inv:get_stack("trtr", 1):get_count() local tata = player_inv:get_stack("tata", 1):get_count() if afaf == 71 then player_inv:set_stack("a35", 1,"tutorial:dirt") end if meme == 7 then player_inv:set_stack("a38", 1,"tutorial:dirt") end if trtr == 24 then player_inv:set_stack("a45", 1,"tutorial:dirt") end if tata == 6 then player_inv:set_stack("a47", 1,"tutorial:dirt") end if ar1 == "3d_armor:regnumhelmet" or ar1 == "3d_armor:regnumhelmet2" or ar1 == "3d_armor:regnumhelmet3" or ar1 == "3d_armor:regnumhelmet4" then player_inv:set_stack("a24", 1,"tutorial:dirt") end if ar2 == "3d_armor:regnumchestplate" or ar2 == "3d_armor:regnumchestplate2" or ar2 == "3d_armor:regnumchestplate3" or ar2 == "3d_armor:regnumchestplate4" then player_inv:set_stack("a25", 1,"tutorial:dirt") end if ar3 == "3d_armor:regnumleggings" or ar3 == "3d_armor:regnumleggings2" or ar3 == "3d_armor:regnumleggings3" or ar3 == "3d_armor:regnumleggings4" then player_inv:set_stack("a26", 1,"tutorial:dirt") end if ar4 == "3d_armor:regnumboots" or ar4 == "3d_armor:regnumboots2" or ar4 == "3d_armor:regnumboots3" or ar4 == "3d_armor:regnumboots4" then player_inv:set_stack("a27", 1,"tutorial:dirt") end if ar5 == "shields:regnumshield" or ar5 == "shields:regnumshield2" or ar5 == "shields:regnumshield3" or ar5 == "shields:regnumshield4" then player_inv:set_stack("a28", 1,"tutorial:dirt") end if g1 == "tutorial:magic_gem1" and g2 == "tutorial:magic_gem2" and g3 == "tutorial:magic_gem3" and g4 == "tutorial:magic_gem4" and g5 == "tutorial:magic_gem5" then if g11 == "tutorial:magic_gem1" and g12 == "tutorial:magic_gem2" and g13 == "tutorial:magic_gem3" and g14 == "tutorial:magic_gem4" and g15 == "tutorial:magic_gem5" then player_inv:set_stack("a23", 1,"tutorial:dirt") end end if g1 == "tutorial:magic_gem1" and g2 == "tutorial:magic_gem2" and g3 == "tutorial:magic_gem3" and g4 == "tutorial:magic_gem4" and g5 == "tutorial:magic_gem5" then player_inv:set_stack("a32", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:regnumbattleaxe1") or player:get_inventory():contains_item("main", "tutorial:regnumbattleaxe2") or player:get_inventory():contains_item("main", "tutorial:regnumbattleaxe3") then player_inv:set_stack("a1", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:legendstick9") then player_inv:set_stack("a48", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:wallplacer5_1") or player:get_inventory():contains_item("main", "tutorial:wallplacer5_2") or player:get_inventory():contains_item("main", "tutorial:wallplacer5_3") or player:get_inventory():contains_item("main", "tutorial:wallplacer5_4") or player:get_inventory():contains_item("main", "tutorial:wallplacer5_5") then player_inv:set_stack("a33", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "technic:laser_mkS150") then player_inv:set_stack("a19", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:colorstick_broken") then player_inv:set_stack("a50", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:regnumgun1") or player:get_inventory():contains_item("main", "tutorial:regnumgun2") then player_inv:set_stack("a49", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "technic:drill_mkS150") or player:get_inventory():contains_item("main", "technic:drill_mkS150_1") or player:get_inventory():contains_item("main", "technic:drill_mkS150_2") or player:get_inventory():contains_item("main", "technic:drill_mkS150_3") or player:get_inventory():contains_item("main", "technic:drill_mkS150_4") or player:get_inventory():contains_item("main", "technic:drill_mkS150_5")then player_inv:set_stack("a21", 1,"tutorial:dirt") end if type == "tutorial:bag_schluessel4" then player_inv:set_stack("a2", 1,"tutorial:dirt") end if type2 == "tutorial:armor_key" then player_inv:set_stack("a3", 1, "default:dirt") end if type3 == "tutorial:level_schluessel" then player_inv:set_stack("a4", 1, "default:dirt") end if type4 == "tutorial:craft_schluessel7" then player_inv:set_stack("a5", 1, "default:dirt") end if type5 == "tutorial:legenden_schluessel" then player_inv:set_stack("a6", 1, "default:dirt") end if type6 == "tutorial:regnum_key" then player_inv:set_stack("a7", 1, "default:dirt") end if type7 == "tutorial:regnum_key_pixeled" or type25 == "tutorial:regnum_key_pixeled" then player_inv:set_stack("a8", 1, "default:dirt") end if type8 == 8 then player_inv:set_stack("a9", 1, "default:dirt") end if type9 == 8 then player_inv:set_stack("a10", 1, "default:dirt") end if type14 == "tutorial:dragon_schluessel" then player_inv:set_stack("a22", 1, "default:dirt") end if type15 == "tutorial:fox_schluessel" then player_inv:set_stack("a31", 1, "default:dirt") end if type17 == "tutorial:tortoise_schluessel" then player_inv:set_stack("a36", 1, "default:dirt") end if type18 == "tutorial:knight_schluessel" then player_inv:set_stack("a37", 1, "default:dirt") end if type19 == "tutorial:crystal_schluessel" then player_inv:set_stack("a39", 1, "default:dirt") end if type20 == "tutorial:dragon_crystal" and type21 == "tutorial:dragon_crystal" then player_inv:set_stack("a40", 1, "default:dirt") end if type22 == "tutorial:golden_schluessel" then player_inv:set_stack("a41", 1, "default:dirt") end if type24 == "tutorial:cooking_schluessel4" then player_inv:set_stack("a43", 1, "default:dirt") end if type26 == "tutorial:protection_schluessel3" then player_inv:set_stack("a46", 1, "default:dirt") end if type7 == "tutorial:regnum_key_pixeled" and type25 == "tutorial:regnum_key_pixeled" then player_inv:set_stack("a44", 1, "default:dirt") end if tonumber(type10) > 11949 then player_inv:set_stack("a11", 1, "default:dirt") end if tonumber(type11) > 249 then player_inv:set_stack("a12", 1, "default:dirt") end if tonumber(type12) > 249 then player_inv:set_stack("a13", 1, "default:dirt") end if tonumber(type13) > 3199 then player_inv:set_stack("a14", 1, "default:dirt") end if tonumber(type16) > 599 then player_inv:set_stack("a34", 1, "default:dirt") end if tonumber(type23) > 899 then player_inv:set_stack("a42", 1, "default:dirt") end inventory_plus.set_inventory_formspec(player, (ach.get_formspec(player)..ach2.get_formspec(player))) end if fields.achc then local player_inv = player:get_inventory() player_inv:set_size("year", 2) if player:get_inventory():contains_item("main", "tutorial:trophy_year1") then player_inv:set_stack("year", 1,"tutorial:dirt") end if player:get_inventory():contains_item("main", "tutorial:trophy_year2") then player_inv:set_stack("year", 2,"tutorial:dirt") end inventory_plus.set_inventory_formspec(player, ach3.get_formspec(player)) end if fields.adem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 1") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.bdem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 2") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.cdem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 3") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.ddem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 4") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.edem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 5") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.fdem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 6") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.gdem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 7") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.hdem then local player_inv = player:get_inventory() player_inv:set_stack("de", 1,"tutorial:dirt 8") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.athu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 1") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.bthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 2") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.cthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 3") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.dthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 4") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.ethu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 5") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.fthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 6") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.gthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 7") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.hthu then local player_inv = player:get_inventory() player_inv:set_stack("td", 1,"tutorial:dirt 8") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.athl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 1") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.bthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 2") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.cthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 3") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.dthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 4") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.ethl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 5") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.fthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 6") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.gthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 7") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.hthl then local player_inv = player:get_inventory() player_inv:set_stack("tl", 1,"tutorial:dirt 8") inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end if fields.cre then local player_inv = player:get_inventory() local dl = player_inv:get_stack("de", 1):get_count() local tdl = player_inv:get_stack("td", 1):get_count() local tll = player_inv:get_stack("tl", 1):get_count() local time = 0 time = time+(dl*35) time = time+(tdl*15) time = time+(tll*10) player_inv:set_stack("t", 1, nil) inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) if player_inv:get_stack("krit", 1):get_name() == "tutorial:crystal_schluessel" then time = time/2 end print(time) minetest.after(time, function() if player == nil then return end local player_inv = player:get_inventory() player_inv:add_item("main","tutorial:legendball_"..tdl.."_"..tll.."_"..dl) player_inv:set_stack("t", 1, "default:dirt") if kri.get_formspec(player) == (player:get_inventory_formspec().."button[10,2;2,0.5;cre;create]") then inventory_plus.set_inventory_formspec(player, kri.get_formspec(player)) end end) end end) minetest.register_on_dignode(function(pos, node, player) if player == nil then return end local name = player:get_player_name() local inv = player:get_inventory() if node.name == "tutorial:geschenk_legend" then local x = math.random(20) if x == 16 then local y = math.random(8) inv:set_stack("kri", y,"tutorial:legenden_kristall_"..y) else local z = math.random(16) if z == 1 then inv:add_item("main","gems:emerald_gem 2") elseif z < 3 then inv:add_item("main","gems:shadow_gem 2") elseif z < 5 then inv:add_item("main","gems:pearl_gem 2") elseif z < 8 then inv:add_item("main","gems:amethyst_gem 2") elseif z < 12 then inv:add_item("main","gems:ruby_gem 2") else inv:add_item("main","gems:sapphire_gem 2") end end end if node.name == "tutorial:geschenk_regnum" then local x = math.random(1, 5) if x == 1 then inv:add_item("main", "tutorial:regnum_pixel_gold 20") elseif x == 2 then inv:add_item("main", "tutorial:regnum_pixel_green 20") elseif x == 3 then inv:add_item("main", "tutorial:regnum_pixel_purple 55") elseif x == 4 then inv:add_item("main", "tutorial:regnum_pixel_red 185") elseif x == 5 then inv:add_item("main", "tutorial:regnum_pixel_blue 185") end end end) local crafting4 = {} crafting4.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("crvier4", 5) formspec = "size[8,11.3]" .."background[8,11.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."button[6,3.5;2,0.5;cra4;Craft]" .."list[current_player;main;0,7.25;8,1;]" .."label[2,1;you need 352 gold pixel]" .."label[2,2;you need 352 green pixel]" .."label[2,3;you need 1120 purple pixel]" .."label[2,4;you need 3696 red pixel]" .."label[2,5;you need 3696 blue pixel]" .."list[current_player;main;0,8.5;8,3;8]" .."list[current_player;crvier4;1,1;1,5;]" .."listring[current_player;main]" .."listring[current_player;crvier4]" return formspec end minetest.register_on_dignode(function(pos, node, player) if player == nil then return end local name = player:get_player_name() local hp = player:get_hp() local drops = node.name local x = math.random(1,50) local inv = player:get_inventory() if node.name == "tutorial:geschenk_death" then if x < 6 then minetest.get_player_by_name(name):set_hp(0) elseif x < 21 then if hp > 3 then minetest.get_player_by_name(name):set_hp(hp-4) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 31 then if hp > 9 then minetest.get_player_by_name(name):set_hp(hp-10) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 36 then inv:add_item("main", "default:mese_crystal_fragment 4") elseif x < 41 then inv:add_item("main", "tutorial:lightstone") elseif x < 46 then inv:add_item("main", "default:ice") elseif x < 50 then inv:add_item("main", "tutorial:geschenk_death") elseif x == 50 then inv:add_item("main", "tutorial:regnum_part") end end if node.name == "tutorial:geschenk_death_silber" then if x < 5 then minetest.get_player_by_name(name):set_hp(0) elseif x < 18 then if hp > 3 then minetest.get_player_by_name(name):set_hp(hp-4) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 26 then if hp > 9 then minetest.get_player_by_name(name):set_hp(hp-10) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 32 then inv:add_item("main", "default:mese_crystal") elseif x < 38 then inv:add_item("main", "tutorial:lightstone") elseif x < 44 then inv:add_item("main", "default:ice") elseif x < 50 then inv:add_item("main", "tutorial:geschenk_death_silber") elseif x == 50 then local y = math.random(1,2) inv:add_item("main", "tutorial:regnum_part "..y) end end if node.name == "tutorial:geschenk_death_gold" then if x < 4 then minetest.get_player_by_name(name):set_hp(0) elseif x < 15 then if hp > 3 then minetest.get_player_by_name(name):set_hp(hp-4) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 21 then if hp > 9 then minetest.get_player_by_name(name):set_hp(hp-10) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 28 then inv:add_item("main", "default:mese_crystal 2") elseif x < 35 then inv:add_item("main", "tutorial:lightstone 2") elseif x < 42 then inv:add_item("main", "default:ice") elseif x < 50 then inv:add_item("main", "tutorial:geschenk_death_gold") elseif x == 50 then local y = math.random(1,3) inv:add_item("main", "tutorial:regnum_part "..y) end end if node.name == "tutorial:geschenk_death_platin" then if x < 4 then minetest.get_player_by_name(name):set_hp(0) elseif x < 15 then if hp > 3 then minetest.get_player_by_name(name):set_hp(hp-4) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 16 then if hp > 9 then minetest.get_player_by_name(name):set_hp(hp-10) else minetest.get_player_by_name(name):set_hp(0) end elseif x < 24 then inv:add_item("main", "default:mese_crystal 3") elseif x < 33 then inv:add_item("main", "tutorial:lightstone 2") elseif x < 41 then inv:add_item("main", "default:ice") elseif x < 50 then inv:add_item("main", "tutorial:geschenk_death_platin") elseif x == 50 then local y = math.random(1,4) inv:add_item("main", "tutorial:regnum_part "..y) end end end) minetest.override_item("default:water_source", { groups = {water=3, liquid=3, puts_out_fire=1, cracky = 14}, drop = "default:water_source", drawtype = "liquid", diggable = true, alpha = 180, }) minetest.override_item("default:water_flowing", { groups = {water=3, liquid=3, puts_out_fire=1, cracky = 14}, drop = "default:water_source", drawtype = "flowingliquid", diggable = true, alpha = 180, }) minetest.override_item("default:lava_source", { groups = {lava=3, liquid=2, hot=3, igniter=1, cracky = 14}, drop = "default:lava_source", diggable = true, }) minetest.register_on_dignode(function(pos, node, player) local dig1 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","default:clay"} local dig2 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium"} local dig3 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium","gems:ruby_ore","gems:sapphire_ore","gems:amethyst_ore","gems:pearl_ore","gems:shadow_ore","gems:emerald_ore"} local dig4 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium","gems:ruby_ore","gems:sapphire_ore","gems:amethyst_ore","gems:pearl_ore","gems:shadow_ore","gems:emerald_ore","tutorial:stone_with_admin","default:clay"} local dig5 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium","gems:ruby_ore","gems:sapphire_ore","gems:amethyst_ore","gems:pearl_ore","gems:shadow_ore","gems:emerald_ore","tutorial:stone_with_admin","tutorial:stone_with_titan"} local dig6 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium","gems:ruby_ore","gems:sapphire_ore","gems:amethyst_ore","gems:pearl_ore","gems:shadow_ore","gems:emerald_ore","tutorial:stone_with_admin","tutorial:stone_with_titan","tutorial:stone_with_rot","tutorial:stone_with_blau"} local dig7 = {"default:stone_with_coal","default:stone_with_iron","default:stone_with_copper","default:stone_with_gold","default:stone_with_mese","default:stone_with_diamond","moreores:silver","moreores:mineral_tin","moreores:mineral_mithril","moreores:mineral_silver","technic:mineral_chromium","technic:mineral_zinc","technic:mineral_uranium","tutorial:stone_with_white","tutorial:stone_with_black","tutorial:stone_with_uranium","gems:ruby_ore","gems:sapphire_ore","gems:amethyst_ore","gems:pearl_ore","gems:shadow_ore","gems:emerald_ore","tutorial:stone_with_admin","tutorial:stone_with_titan","tutorial:stone_with_rot","tutorial:stone_with_blau","default:lava_source","default:water_source"} local dig8 = {"default:cobble","default:stone","default:dirt","default:sand","default:desert_sand","default:desert_stone","default:dirt_with_grass","default:gravel","default:clay","default:cobble","default:mossycobble","default:dirt_with_snow","default:dirt_with_rainforest_litter","default:grass_3","default:dry_grass_3","default:grass_4","default:dry_grass_4"} local name, tool, drops, i, drop, drop_name if player == nil then return end local inv = player:get_inventory() tool = player:get_wielded_item():get_name() if tool == "tutorial:legendenbattleaxe1" then drops = node.name for _,node_name in ipairs(dig1) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:legendenbattleaxe2" then drops = node.name for _,node_name in ipairs(dig2) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:legendenbattleaxe3" then drops = node.name for _,node_name in ipairs(dig3) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:legendenbattleaxe4" then drops = node.name for _,node_name in ipairs(dig4) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:legendenbattleaxe5" then drops = node.name for _,node_name in ipairs(dig5) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:legendenbattleaxe6" then drops = node.name for _,node_name in ipairs(dig6) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:superlegendenbattleaxe1" or tool == "tutorial:superlegendenbattleaxe2" then drops = node.name for _,node_name in ipairs(dig7) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end end if tool == "tutorial:regnumbattleaxe1" or tool == "tutorial:regnumbattleaxe2" or tool == "tutorial:regnumbattleaxe3" then drops = node.name for _,node_name in ipairs(dig7) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end for _,node_name in ipairs(dig8) do if drops == node_name then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) end end end if drops == "default:grass_5" or drops == "default:dry_grass_5" then droping = minetest.get_node_drops(node.name) for _, itemname in ipairs(droping) do inv:add_item("main", itemname) inv:add_item("main", itemname) end end end end) local old_entities = {"mobs:zombie", "mobs:grass_monster", "mobs:geist", "mobs:tree_monster", "mobs:spider", "mobs:dungeon_master", "mobs:lava_flan", "mobs:mese_monster", "mobs:oerkki","mobs:rat","mobs_crocs:crocodile_swim","mobs:cow","mobs:chicken","mobs:pumba","mobs:sheep_white","mobs:kitten","","spidermob:spider"} local old_nodes = {} for _,node_name in ipairs(old_nodes) do minetest.register_node(":"..node_name, { groups = {old=1}, }) end minetest.register_abm({ nodenames = {"group:old"}, interval = 1, chance = 1, action = function(pos, node) minetest.env:remove_node(pos) end, }) for _,entity_name in ipairs(old_entities) do minetest.register_entity(":"..entity_name, { on_activate = function(self, staticdata) self.object:remove() end, }) end local xp_gui = {} local xp_gru = {} local xp_r_b = {} local xp_gra = {} local xp_gel = {} local xp_cya = {} local crafting = {} local crafting3 = {} local crafting4 = {} local cr = {} crafting4.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("crvier4", 5) formspec = "size[8,11.3]" .."background[8,11.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."button[6,3.5;2,0.5;cra4;Craft]" .."list[current_player;main;0,7.25;8,1;]" .."label[2,1;you need 352 gold pixel]" .."label[2,2;you need 352 green pixel]" .."label[2,3;you need 1120 purple pixel]" .."label[2,4;you need 3696 red pixel]" .."label[2,5;you need 3696 blue pixel]" .."list[current_player;main;0,8.5;8,3;8]" .."list[current_player;crvier4;1,1;1,5;]" .."listring[current_player;main]" .."listring[current_player;crvier4]" return formspec end crafting3.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("crvier3", 25) formspec = "size[8,10.3]" .."background[8,11.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."button[6,2;2,0.5;cra3;Craft (1)]" .."button[6,3;2,0.5;cra310;Craft (10)]" .."button[6,4;2,0.5;cra399;Craft (99)]" .."list[current_player;main;0,6.25;8,1;]" .."list[current_player;main;0,7.5;8,3;8]" .."list[current_player;crvier3;1,1;5,5;]" .."listring[current_player;main]" .."listring[current_player;crvier3]" return formspec end crafting.get_formspec = function(player, pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("crvier", 16) formspec = "size[8,9.3]" .."background[8,9.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;cr;Back]" .."button[2,0;2,0.5;main;Main]" .."button[5,1.5;2,0.5;cra;Craft (1)]" .."button[5,2.5;2,0.5;cra10;Craft (10)]" .."button[5,3.5;2,0.5;cra99;Craft (99)]" .."list[current_player;main;0,5.25;8,1;]" .."list[current_player;main;0,6.5;8,3;8]" .."list[current_player;crvier;1,1;4,4;]" .."listring[current_player;main]" .."listring[current_player;crvier]" return formspec end cr.get_formspec = function(player,pos) if player == nil then return end local player_inv = player:get_inventory() player_inv:set_size("feld", 1) player_inv:set_size("feld3", 1) player_inv:set_size("feld4", 1) player_inv:set_size("feld5", 1) player_inv:set_size("feld6", 1) player_inv:set_size("feld7", 1) player_inv:set_size("feld8", 1) local type = player:get_inventory():get_stack("feld",1):get_name() local type3 = player:get_inventory():get_stack("feld3",1):get_name() local type4 = player:get_inventory():get_stack("feld4",1):get_name() local type5 = player:get_inventory():get_stack("feld5",1):get_name() local type6 = player:get_inventory():get_stack("feld6",1):get_name() local type7 = player:get_inventory():get_stack("feld7",1):get_name() local type8 = player:get_inventory():get_stack("feld8",1):get_name() if type == "tutorial:craft_schluessel7" then image = "crafting" else image = "cr" end if type3 == "tutorial:legenden_schluessel" then image3 = "crafting3" else image3 = "cr" end if type4 == "tutorial:regnum_key" then image4 = "crafting4" else image4 = "cr" end if type5 == "tutorial:dragon_schluessel" then image5 = "crafting5" else image5 = "cr" end if type6 == "tutorial:fox_schluessel" then image6 = "crafting6" else image6 = "cr" end if type7 == "tutorial:tortoise_schluessel" then image7 = "crafting7" else image7 = "cr" end if type8 == "tutorial:golden_schluessel" then image8 = "crafting8" else image8 = "cr" end formspec = "size[14,8.55]" .."background[14,8.55;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[0,0;2,0.5;inven;Back]" .."button[2,0;2,0.5;main;Main]" .."button[0,2.5;2,0.5;"..image..";4x4 craft]" .."button[2,2.5;2,0.5;"..image3..";5x5 craft]" .."button[4,2.5;2,0.5;"..image4..";Regnum craft]" .."button[6,2.5;2,0.5;"..image5..";Gem craft]" .."button[8,2.5;2,0.5;"..image6..";Cooking]" .."button[10,2.5;2,0.5;"..image7..";Medallion craft]" .."button[12,2.5;2,0.5;"..image8..";Crystal craft]" .."button[4,3.5;2,0.5;dna;DNA craft]" .."button[6,3.5;2,0.5;mine;Mining craft]" .."button[8,3.5;2,0.5;troph;Trophy craft]" .."label[0.5,1.8;Craftkey]" .."label[2.4,1.8;Legendkey]" .."label[4.35,1.8;Regnumkey]" .."label[6.35,1.8;Dragonkey]" .."label[8.5,1.8;Foxkey]" .."label[10.4,1.8;Tortoisekey]" .."label[12.4,1.8;Goldenkey]" .."list[current_player;feld;0.5,1;1,1;]" .."list[current_player;feld3;2.5,1;1,1;]" .."list[current_player;feld4;4.5,1;1,1;]" .."list[current_player;feld5;6.5,1;1,1;]" .."list[current_player;feld6;8.5,1;1,1;]" .."list[current_player;feld7;10.5,1;1,1;]" .."list[current_player;feld8;12.5,1;1,1;]" .."list[current_player;main;3,4.5;8,1;]" .."list[current_player;main;3,5.75;8,3;8]" return formspec end xp_gra.get_formspec = function(player) formspec = "size[6.2,5.95]button[0,0;2,0.5;xp_gui;Back]" .."background[6.2,5.95;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2.5,0;2,0.5;main;Main]" .."textlist[0,1;6,5;xp_gra;Lv.1 = 5xp,Lv.2 = 10xp,Lv.3 = 15xp,Lv.4 = 20xp,Lv.5 = 25xp,Lv.6 = 30xp,Lv.7 = 35xp,Lv.8 = 40xp,Lv.9 = 45xp,Lv.10 = 50xp,Lv.11 = 60xp,Lv.12 = 70xp,Lv.13 = 80xp,Lv.14 = 90xp,Lv.15 = 100xp,Lv.16 = 110xp,Lv.17 = 120xp,Lv.18 = 130xp,Lv.19 = 140xp,Lv.20 = 150xp,Lv.21 = 165xp,Lv.22 = 180xp,Lv.23 = 195xp,Lv.24 = 210xp,Lv.25 = 225xp,Lv.26 = 240xp,Lv.27 = 255xp,Lv.28 = 270xp,Lv.29 = 285xp,Lv.30 = 300xp,Lv.31 = 320xp,Lv.32 = 340xp,Lv.33 = 360xp,Lv.34 = 380xp,Lv.35 = 400xp,Lv.36 = 420xp,Lv.37 = 440xp,Lv.38 = 460xp,Lv.39 = 480xp,Lv.40 = 500xp,Lv.41 = 525xp,Lv.42 = 550xp,Lv.43 = 575xp,Lv.44 = 600xp,Lv.45 = 625xp,Lv.46 = 650xp,Lv.47 = 675xp,Lv.48 = 700xp,Lv.49 = 725xp,Lv.50 = 750xp,Lv.51 = 780xp,Lv.52 = 810xp,Lv.53 = 840xp,Lv.54 = 870xp,Lv.55 = 900xp,Lv.56 = 930xp,Lv.57 = 960xp,Lv.58 = 990xp,Lv.59 = 1020xp,Lv.60 = 1050xp,Lv.61 = 1085xp,Lv.62 = 1120xp,Lv.63 = 1155xp,Lv.64 = 1190xp,Lv.65 = 1225xp,Lv.66 = 1260xp,Lv.67 = 1295xp,Lv.68 = 1330xp,Lv.69 = 1365xp,Lv.70 = 1400xp,Lv.71 = 1440xp,Lv.72 = 1480xp,Lv.73 = 1520xp,Lv.74 = 1560xp,Lv.75 = 1600xp,Lv.76 = 1640xp,Lv.77 = 1680xp,Lv.78 = 1720xp,Lv.79 = 1760xp,Lv.80 = 1800xp,Lv.81 = 1845xp,Lv.82 = 1890xp,Lv.83 = 1935xp,Lv.84 = 1980xp,Lv.85 = 2025xp,Lv.86 = 2070xp,Lv.87 = 2115xp,Lv.88 = 2160xp,Lv.89 = 2205xp,Lv.90 = 2250xp,Lv.91 = 2300xp,Lv.92 = 2350xp,Lv.93 = 2400xp,Lv.94 = 2450xp,Lv.95 = 2500xp,Lv.96 = 2550xp,Lv.97 = 2600xp,Lv.98 = 2650xp,Lv.99 = 2700xp,Lv.100 = 2750xp,Lv.MAX = 3200xp]" return formspec end xp_r_b.get_formspec = function(player) formspec = "size[6.2,5.95]button[0,0;2,0.5;xp_gui;Back]" .."background[6.2,5.95;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2.5,0;2,0.5;main;Main]" .."textlist[0,1;6,5;xp_r_b;Lv.1 = 1xp,Lv.2 = 3xp,Lv.3 = 6xp,Lv.4 = 10xp,Lv.5 = 15xp,Lv.6 = 21xp,Lv.7 = 28xp,Lv.8 = 36xp,Lv.9 = 45xp,Lv.10 = 55xp,Lv.11 = 66xp,Lv.12 = 78xp,Lv.13 = 91xp,Lv.14 = 105xp,Lv.15 = 120xp,Lv.16 = 136xp,Lv.17 = 153xp,Lv.18 = 171xp,Lv.19 = 190xp,Lv.20 = 210xp,Lv.MAX = 250xp]" return formspec end xp_gru.get_formspec = function(player) formspec = "size[6.2,5.95]button[0,0;2,0.5;xp_gui;Back]" .."background[6.2,5.95;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2.5,0;2,0.5;main;Main]" .."textlist[0,1;6,5;xp_gru;Lv.1 = 10xp,Lv.2 = 20xp,Lv.3 = 30xp,Lv.4 = 40xp,Lv.5 = 50xp,Lv.6 = 70xp,Lv.7 = 90xp,Lv.8 = 110xp,Lv.9 = 130xp,Lv.10 = 150xp,Lv.11 = 180xp,Lv.12 = 210xp,Lv.13 = 240xp,Lv.14 = 270xp,Lv.15 = 300xp,Lv.16 = 340xp,Lv.17 = 380xp,Lv.18 = 420xp,Lv.19 = 460xp,Lv.20 = 500xp,Lv.21 = 550xp,Lv.22 = 600xp,Lv.23 = 650xp,Lv.24 = 700xp,Lv.25 = 750xp,Lv.26 = 810xp,Lv.27 = 870xp,Lv.28 = 930xp,Lv.29 = 990xp,Lv.30 = 1050xp,Lv.31 = 1120xp,Lv.32 = 1190xp,Lv.33 = 1260xp,Lv.34 = 1330xp,Lv.35 = 1400xp,Lv.36 = 1480xp,Lv.37 = 1560xp,Lv.38 = 1640xp,Lv.39 = 1720xp,Lv.40 = 1800xp,Lv.41 = 1890xp,Lv.42 = 1980xp,Lv.43 = 2070xp,Lv.44 = 2160xp,Lv.45 = 2250xp,Lv.45 = 2250xp,Lv.46 = 2350xp,Lv.47 = 2450xp,Lv.48 = 2550xp,Lv.49 = 2650xp,Lv.50 = 2750xp,Lv.51 = 2860xp,Lv.52 = 2970xp,Lv.53 = 3080xp,Lv.54 = 3190xp,Lv.55 = 3300xp,Lv.56 = 3420xp,Lv.57 = 3540xp,Lv.58 = 3660xp,Lv.59 = 3780xp,Lv.60 = 3900xp,Lv.61 = 4030xp,Lv.62 = 4160xp,Lv.63 = 4290xp,Lv.64 = 4420xp,Lv.65 = 4550xp,Lv.66 = 4690xp,Lv.67 = 4830xp,Lv.68 = 4970xp,Lv.69 = 5110xp,Lv.70 = 5250xp,Lv.71 = 5400xp,Lv.72 = 5550xp,Lv.73 = 5700xp,Lv.74 = 5850xp,Lv.75 = 6000xp,Lv.76 = 6160xp,Lv.77 = 6320xp,Lv.78 = 6480xp,Lv.79 = 6640xp,Lv.80 = 6800xp,Lv.81 = 6970xp,Lv.82 = 7140xp,Lv.83 = 7310xp,Lv.84 = 7480xp,Lv.85 = 7650xp,Lv.86 = 7830xp,Lv.87 = 8010xp,Lv.88 = 8190xp,Lv.89 = 8370xp,Lv.90 = 8550xp,Lv.91 = 8740xp,Lv.92 = 8930xp,Lv.93 = 9120xp,Lv.94 = 9310xp,Lv.95 = 9500xp,Lv.96 = 9700xp,Lv.97 = 9900xp,Lv.98 = 10100xp,Lv.99 = 10300xp,Lv.100 = 10500xp,Lv.MAX = 11950xp]" return formspec end xp_gel.get_formspec = function(player) formspec = "size[6.2,5.95]button[0,0;2,0.5;xp_gui;Back]" .."background[6.2,5.95;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2.5,0;2,0.5;main;Main]" .."textlist[0,1;6,5;xp_gel;Lv.1 = 1xp,Lv.2 = 2xp,Lv.3 = 3xp,Lv.4 = 4xp,Lv.5 = 5xp,Lv.6 = 6xp,Lv.7 = 7xp,Lv.8 = 8xp,Lv.9 = 9xp,Lv.10 = 10xp,Lv.11 = 12xp,Lv.12 = 14xp,Lv.13 = 16xp,Lv.14 = 18xp,Lv.15 = 20xp,Lv.16 = 22xp,Lv.17 = 24xp,Lv.18 = 26xp,Lv.19 = 28xp,Lv.20 = 30xp,Lv.21 = 33xp,Lv.22 = 36xp,Lv.23 = 39xp,Lv.24 = 42xp,Lv.25 = 45xp,Lv.26 = 48xp,Lv.27 = 51xp,Lv.28 = 54xp,Lv.29 = 57xp,Lv.30 = 60xp,Lv.31 = 64xp,Lv.32 = 68xp,Lv.33 = 72xp,Lv.34 = 76xp,Lv.35 = 80xp,Lv.36 = 84xp,Lv.37 = 88xp,Lv.38 = 92xp,Lv.39 = 96xp,Lv.40 = 100xp,Lv.41 = 105xp,Lv.42 = 110xp,Lv.43 = 115xp,Lv.44 = 120xp,Lv.45 = 125xp,Lv.46 = 130xp,Lv.47 = 135xp,Lv.48 = 140xp,Lv.49 = 145xp,Lv.50 = 150xp,Lv.51 = 156xp,Lv.52 = 162xp,Lv.53 = 168xp,Lv.54 = 174xp,Lv.55 = 180xp,Lv.56 = 186xp,Lv.57 = 192xp,Lv.58 = 198xp,Lv.59 = 204xp,Lv.60 = 210xp,Lv.61 = 217xp,Lv.62 = 224xp,Lv.63 = 231xp,Lv.64 = 238xp,Lv.65 = 245xp,Lv.66 = 252xp,Lv.67 = 259xp,Lv.68 = 266xp,Lv.69 = 273xp,Lv.70 = 280xp,Lv.71 = 288xp,Lv.72 = 296xp,Lv.73 = 304xp,Lv.74 = 312xp,Lv.75 = 320xp,Lv.76 = 328xp,Lv.77 = 336xp,Lv.78 = 344xp,Lv.79 = 352xp,Lv.80 = 360xp,Lv.81 = 369xp,Lv.82 = 378xp,Lv.83 = 387xp,Lv.84 = 396xp,Lv.85 = 405xp,Lv.86 = 414xp,Lv.87 = 423xp,Lv.88 = 432xp,Lv.89 = 441xp,Lv.90 = 450xp,Lv.91 = 460xp,Lv.92 = 470xp,Lv.93 = 480xp,Lv.94 = 490xp,Lv.95 = 500xp,Lv.96 = 510xp,Lv.97 = 520xp,Lv.98 = 530xp,Lv.99 = 540xp,Lv.100 = 550xp,Lv.MAX = 600xp]" return formspec end xp_cya.get_formspec = function(player) formspec = "size[6.2,5.95]button[0,0;2,0.5;xp_gui;Back]" .."background[6.2,5.95;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2.5,0;2,0.5;main;Main]" .."textlist[0,1;6,5;xp_cya;Lv.1 = 1xp,Lv.2 = 4xp,Lv.3 = 9xp,Lv.4 = 16xp,Lv.5 = 25xp,Lv.6 = 36xp,Lv.7 = 49xp,Lv.8 = 64xp,Lv.9 = 81xp,Lv.10 = 100xp,Lv.11 = 121xp,Lv.12 = 144xp,Lv.13 = 169xp,Lv.14 = 196xp,Lv.15 = 225xp,Lv.16 = 256xp,Lv.17 = 289xp,Lv.18 = 324xp,Lv.19 = 361xp,Lv.20 = 400xp,Lv.21 = 441xp,Lv.22 = 484xp,Lv.23 = 529xp,Lv.24 = 576xp,Lv.25 = 625xp,Lv.MAX = 900xp]" return formspec end xp_gui.get_formspec = function(player) if player == nil then return end local name = player:get_player_name() local player_inv = player:get_inventory() local xp_gruen_o = io.open(minetest.get_worldpath().."/"..name.."_experience", "r") local xp_gruen = xp_gruen_o:read("*l") local xp_rot_o = io.open(minetest.get_worldpath().."/"..name.."_experience_rot", "r") local xp_rot = xp_rot_o:read("*l") local xp_blau_o = io.open(minetest.get_worldpath().."/"..name.."_experience_blau", "r") local xp_blau = xp_blau_o:read("*l") local xp_grau_o = io.open(minetest.get_worldpath().."/"..name.."_experience_grau", "r") local xp_grau = xp_grau_o:read("*l") local xp_gelb_o = io.open(minetest.get_worldpath().."/"..name.."_experience_gelb", "r") local xp_gelb = xp_gelb_o:read("*l") local xp_cyan_o = io.open(minetest.get_worldpath().."/"..name.."_experience_cyan", "r") local xp_cyan = xp_cyan_o:read("*l") player_inv:set_size("feld2", 1) local type = player:get_inventory():get_stack("feld2",1):get_name() if type == "tutorial:level_schluessel" then image1 = "xp_gru" image2 = "xp_r_b" image3 = "xp_gra" image4 = "xp_gel" image5 = "xp_cya" else image1 = "xp_gui" image2 = "xp_gui" image3 = "xp_gui" image4 = "xp_gui" image5 = "xp_gui" end formspec = "size[8,8.3]button[0,0;2,0.5;inven;Back]" .."background[8,8.3;1,1;gui_formbg.png;true]" .."listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]" .."bgcolor[#080808BB;true]" .."button[2,0;2,0.5;main;Main]" .."label[0,1;Xp green (Part1) : "..xp_gruen.."xp]" .."label[0,1.4;Xp red (Part2) : "..xp_rot.."xp]" .."label[0,1.8;Xp blue (Part2) : "..xp_blau.."xp]" .."label[0,2.2;Xp gray (Part3) : "..xp_grau.."xp]" .."label[0,2.6;Xp yellow (Part4) : "..xp_gelb.."xp]" .."label[0,3;Xp cyan (Part5) : "..xp_cyan.."xp]" .."list[current_player;main;0,4.25;8,1;]" .."list[current_player;main;0,5.5;8,3;8]" .."list[current_player;feld2;5,0;1,1;]" .."label[5,0.9;Xp key]" .."button[3.5,1.5;2.0,0.2;"..image1..";Xp green you need]" .."button[3.5,2.2;2.0,0.2;"..image2..";Xp red/blue you need]" .."button[5.5,1.5;2.0,0.2;"..image3..";Xp gray you need]" .."button[5.5,2.2;2.0,0.2;"..image4..";Xp yellow you need]" .."button[4.5,2.9;2.0,0.2;"..image5..";Xp cyan you need]" .."listring[current_player;feld2]" .."listring[current_player;main]" return formspec end minetest.register_on_player_receive_fields(function(player, formname, fields) if player == nil then return end if fields.xp_gui then inventory_plus.set_inventory_formspec(player, xp_gui.get_formspec(player)) end if fields.cra then local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 4, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end local kk = nil if not kk == ture then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting.get_formspec(player)) end if fields.cra10 then for i=1,10 do local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 4, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end local kk = nil if not kk == ture then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting.get_formspec(player)) end end if fields.cra99 then for i=1,99 do local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 4, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end local kk = nil if not kk == ture then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting.get_formspec(player)) end end if fields.cra3 then local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier3") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 5, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier3", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting3.get_formspec(player)) end if fields.cra310 then for i=1,10 do local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier3") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 5, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier3", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting3.get_formspec(player)) end end if fields.cra399 then for i=1,99 do local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local tablelist = player_inv:get_list("crvier3") if tablelist then crafted,table_dec = minetest.get_craft_result({method = "normal", width = 5, items = tablelist}) end local k = 0 if player_inv:room_for_item("main", crafted.item) == true then k = 1 end if crafted.item:get_name() == "" then k = 0 end if k == 1 then player_inv:add_item("main", crafted.item) player_inv:set_list("crvier3", table_dec.items) end inventory_plus.set_inventory_formspec(player, crafting3.get_formspec(player)) end end if fields.cra4 then local player_inv = player:get_inventory() local crafted = nil local table_dec = nil local player_inv = player:get_inventory() local k = 1 local x1 = player_inv:get_stack("crvier4", 1):get_name() local x2 = player_inv:get_stack("crvier4", 2):get_name() local x3 = player_inv:get_stack("crvier4", 3):get_name() local x4 = player_inv:get_stack("crvier4", 4):get_name() local x5 = player_inv:get_stack("crvier4", 5):get_name() local y1 = player_inv:get_stack("crvier4", 1):get_count() local y2 = player_inv:get_stack("crvier4", 2):get_count() local y3 = player_inv:get_stack("crvier4", 3):get_count() local y4 = player_inv:get_stack("crvier4", 4):get_count() local y5 = player_inv:get_stack("crvier4", 5):get_count() if x1 == "tutorial:regnum_pixel_gold" and y1 >= 352 then else k = 0 end if x2 == "tutorial:regnum_pixel_green" and y2 >= 352 then else k = 0 end if x3 == "tutorial:regnum_pixel_purple" and y3 >= 1120 then else k = 0 end if x4 == "tutorial:regnum_pixel_red" and y4 >= 3696 then else k = 0 end if x5 == "tutorial:regnum_pixel_blue" and y5 >= 3696 then else k = 0 end if k == 1 then player_inv:add_item("main", "tutorial:regnum_pixeled") print (y1-352) player_inv:set_stack("crvier4", 1, "tutorial:regnum_pixel_gold "..(y1-352)) player_inv:set_stack("crvier4", 2, "tutorial:regnum_pixel_green "..(y2-352)) player_inv:set_stack("crvier4", 3, "tutorial:regnum_pixel_purple "..(y3-1120)) player_inv:set_stack("crvier4", 4, "tutorial:regnum_pixel_red "..(y4-3696)) player_inv:set_stack("crvier4", 5, "tutorial:regnum_pixel_blue "..(y5-3696)) end inventory_plus.set_inventory_formspec(player, crafting4.get_formspec(player)) end if fields.xp_gru then inventory_plus.set_inventory_formspec(player, xp_gru.get_formspec(player)) end if fields.xp_r_b then inventory_plus.set_inventory_formspec(player, xp_r_b.get_formspec(player)) end if fields.xp_gra then inventory_plus.set_inventory_formspec(player, xp_gra.get_formspec(player)) end if fields.xp_gel then inventory_plus.set_inventory_formspec(player, xp_gel.get_formspec(player)) end if fields.xp_cya then inventory_plus.set_inventory_formspec(player, xp_cya.get_formspec(player)) end if fields.cr then inventory_plus.set_inventory_formspec(player, cr.get_formspec(player)) end if fields.crafting then inventory_plus.set_inventory_formspec(player, crafting.get_formspec(player)) end if fields.crafting3 then inventory_plus.set_inventory_formspec(player, crafting3.get_formspec(player)) end if fields.crafting4 then inventory_plus.set_inventory_formspec(player, crafting4.get_formspec(player)) end end) local function has_locked_chest_privilege(meta, player) if player:get_player_name() ~= meta:get_string("owner") then return false end return true end tutorial = {} local function add_spawner(pos) minetest.set_node(pos, {name="tutorial:spawner_mummy"}) if not minetest.setting_getbool("only_peaceful_mobs") then tutorial.spawn_mummy({x=pos.x,y=pos.y,z=pos.z-2},2) end end local function can_replace(pos) local n = minetest.get_node_or_nil(pos) if n and n.name and minetest.registered_nodes[n.name] and not minetest.registered_nodes[n.name].walkable then return true elseif not n then return true else return false end end local function get_sign(i) if i == 0 then return 0 else return i/math.abs(i) end end local function get_velocity(vx, vy, vz, yaw) local x = math.cos(yaw)*vx+math.cos(math.pi/2+yaw)*vz local z = math.sin(yaw)*vx+math.sin(math.pi/2+yaw)*vz return {x=x, y=vy, z=z} end local function get_v(v) return math.sqrt(vx^2+vz^2) end local heli = { physical = true, collisionbox = {-1,-0.6,-1, 1,0.3,1}, collide_with_objects = true, weight = 5, visual = "mesh", mesh = "root.x", driver = nil, model = nil, motor = nil, left = true, timer=0, yaw=0, prev_y=0, vx=0, vy=0, vz=0 } local heliModel = { visual = "mesh", mesh = "heli.x", textures = {"bladest.png","bladest.png","helit.png","Glasst.png"}, } local motor = { physical = true, collisionbox = {-2,0.5,-1, 1,1,1}, visual = "mesh", mesh = "motor.x", textures = {"motort.png"}, driver = nil, left = true, timer=0, vx = 0, vy = 0, vz = 0 } function heli:on_rightclick(clicker) if not clicker or not clicker:is_player() then return end if self.driver and clicker == self.driver then clicker:set_attach(self.model, "Root", {x=0,y=0,z=0}, {x=0,y=0,z=0}) self.driver = nil clicker:set_detach() self.model:set_animation({x=0,y=1},0, 0) elseif not self.driver then self.model:set_animation({x=0,y=10},10, 0) self.driver = clicker clicker:set_attach(self.model, "Root", {x=0,y=0,z=-10}, {x=-90,y=0,z=-90}) end end function heliModel:on_activate(staticdata, dtime_s) self.object:set_armor_groups({immortal=1}) local is_attached = false for _,object in ipairs(minetest.env:get_objects_inside_radius(self.object:getpos(), 2)) do if object and object:get_luaentity() and object:get_luaentity().name=="tutorial:heli" then if object:get_luaentity().model == nil then object:get_luaentity().model = self end if object:get_luaentity().model == self then is_attached = true end end end if is_attached == false then self.object:remove() end end function heli:on_activate(staticdata, dtime_s) self.object:set_armor_groups({immortal=1}) self.prev_y=self.object:getpos() if self.model == nil then self.model = minetest.env:add_entity(self.object:getpos(), "tutorial:heliModel") self.model:set_attach(self.object, "Root", {x=0,y=0,z=2}, {x=0,y=0,z=0}) end end function heli:get_staticdata(self) end function heli:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) if self.model ~= nil then self.model:remove() end self.object:remove() if puncher and puncher:is_player() then puncher:get_inventory():add_item("main", "tutorial:heli") end end function heliModel:on_punch(puncher, time_from_last_punch, tool_capabilities, direction) self.object:remove() end function heli:on_step(dtime) if self.driver and ( math.abs(self.driver:getpos().x-self.object:getpos().x)>10*dtime or math.abs(self.driver:getpos().y-self.object:getpos().y)>10*dtime or math.abs(self.driver:getpos().z-self.object:getpos().z)>10*dtime) then self.driver = nil end if self.driver then self.yaw = self.driver:get_look_yaw() v = self.object:getvelocity() local ctrl = self.driver:get_player_control() if ctrl.up then self.vx = self.vx + math.cos(self.driver:get_look_yaw())*0.1 self.vz = self.vz + math.sin(self.driver:get_look_yaw())*0.1 end if ctrl.down then self.vx = self.vx-math.cos(self.driver:get_look_yaw())*0.1 self.vz = self.vz-math.sin(self.driver:get_look_yaw())*0.1 end if ctrl.left then self.vz = self.vz+math.cos(self.driver:get_look_yaw())*0.1 self.vx = self.vx+math.sin(math.pi+self.driver:get_look_yaw())*0.1 end if ctrl.right then self.vz = self.vz-math.cos(self.driver:get_look_yaw())*0.1 self.vx = self.vx-math.sin(math.pi+self.driver:get_look_yaw())*0.1 end if ctrl.jump then if self.vy<1.5 then self.vy = self.vy+0.2 end end if ctrl.sneak then if self.vy>-1.5 then self.vy = self.vy-0.2 end end if math.abs(self.vx) > 4.5 then self.vx = 4.5*get_sign(self.vx) end if math.abs(self.vz) > 4.5 then self.vz = 4.5*get_sign(self.vz) end end local sx=get_sign(self.vx) self.vx = self.vx - 0.02*sx local sz=get_sign(self.vz) self.vz = self.vz - 0.02*sz local sy=get_sign(self.vy) self.vy = self.vy-0.01*sy if sx ~= get_sign(self.vx) then self.vx = 0 end if sz ~= get_sign(self.vz) then self.vz = 0 end if math.abs(self.vx) > 4.5 then self.vx = 4.5*get_sign(self.vx) end if math.abs(self.vz) > 4.5 then self.vz = 4.5*get_sign(self.vz) end if math.abs(self.vy) > 4.5 then self.vz = 4.5*get_sign(self.vz) end self.object:setvelocity({x=self.vx, y=self.vy,z=self.vz}) if self.model then self.model:set_attach(self.object,"Root", {x=0,y=0,z=0}, { x=-90+self.vz*4*math.cos(self.yaw)-self.vx*4*math.sin(self.yaw), y=0-self.vz*4*math.sin(self.yaw)-self.vx*4*math.cos(self.yaw), z=self.yaw*57}) end end minetest.register_entity("tutorial:heli", heli) minetest.register_entity("tutorial:heliModel", heliModel) minetest.register_entity("tutorial:motor", motor)