Final end hopfull
parent
3e5ca960d0
commit
57bdfe9a7b
|
@ -1,24 +1,14 @@
|
|||
survivalgames_kits = {}
|
||||
survivalgames_kit_form = {}
|
||||
local kits_all = {}
|
||||
hiddenseeker_kit_form = {}
|
||||
hiddenseeker_kits = {}
|
||||
local kits_register = {}
|
||||
local kits_all = {}
|
||||
|
||||
local storage = minetest.get_mod_storage()
|
||||
|
||||
function survivalgames.save_kits(name)
|
||||
function hiddenseeker.save_kits(name)
|
||||
if not name then
|
||||
table_to_modstorage(storage, survivalgames_kits)
|
||||
else table_to_modstorage(storage, survivalgames_kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
storage:from_table(nil)
|
||||
survivalgames.save_kits()
|
||||
|
||||
function survivalgames.load_kits(name)
|
||||
if not name then
|
||||
survivalgames_kits = modstorage_to_table(storage)
|
||||
else survivalgames_kits[name] = modstorage_to_table(storage, name)
|
||||
table_to_modstorage(storage, hiddenseeker_kits)
|
||||
else table_to_modstorage(storage, hiddenseeker_kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -44,238 +34,142 @@ subgames.register_on_joinplayer(function(player, lobby)
|
|||
end
|
||||
end)
|
||||
|
||||
function survivalgames.get_player_kits(name)
|
||||
return survivalgames_kits[name].kit
|
||||
function hiddenseeker.get_player_kits(name)
|
||||
return hiddenseeker_kits[name].kit
|
||||
end
|
||||
|
||||
function survivalgames.register_kit(kitname, def)
|
||||
function hiddenseeker.register_kit(kitname, def)
|
||||
kits_register[kitname] = def
|
||||
def.name = kitname
|
||||
table.insert(kits_all, kitname)
|
||||
end
|
||||
|
||||
function survivalgames.add_player_kits(name, kitname)
|
||||
function hiddenseeker.add_player_kits(name, kitname)
|
||||
local def = kits_register[kitname]
|
||||
if not survivalgames_kits[name].kit then survivalgames_kits[name].kit = {} end
|
||||
if not hiddenseeker_kits[name].kit then hiddenseeker_kits[name].kit = {} end
|
||||
if def and money.get_money(name) >= def.cost then
|
||||
if survivalgames_kits[name].kit == "" or not table.contains(survivalgames_kits[name].kit, kitname) == true then
|
||||
if hiddenseeker_kits[name].kit == "" or not table.contains(hiddenseeker_kits[name].kit, kitname) == true then
|
||||
money.set_money(name, money.get_money(name)-def.cost)
|
||||
table.insert(survivalgames_kits[name].kit, kitname)
|
||||
survivalgames.save_kits(name)
|
||||
minetest.chat_send_player(name, "You have buyed the kit " ..kitname.."!")
|
||||
else minetest.chat_send_player(name, "You already have buyed this Kit!")
|
||||
table.insert(hiddenseeker_kits[name].kit, kitname)
|
||||
hiddenseeker.save_kits(name)
|
||||
minetest.chat_send_player(name, "You have buyed the Block " ..kitname.."!")
|
||||
else minetest.chat_send_player(name, "You already have buyed this Block!")
|
||||
end
|
||||
else minetest.chat_send_player(name, "You don't have enough money!")
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.set_player_kit(name, kitname)
|
||||
if survivalgames.lobbys[survivalgames.player_lobby[name]].players[name] == true then
|
||||
minetest.chat_send_player(name, "You can't switch your kit while playing.")
|
||||
elseif kitname ~= "" and survivalgames_kits[name].kit ~= "" and table.contains(survivalgames_kits[name].kit, kitname) then
|
||||
survivalgames_kits[name].selected = kitname
|
||||
function hiddenseeker.set_player_kit(name, kitname)
|
||||
if kitname ~= "" and hiddenseeker_kits[name].kit ~= "" and table.contains(hiddenseeker_kits[name].kit, kitname) then
|
||||
hiddenseeker_kits[name].selected = kitname
|
||||
elseif kitname ~= "" then
|
||||
minetest.chat_send_player(name, "You don't have this kit!")
|
||||
minetest.chat_send_player(name, "You don't have this Block!")
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.give_kit_items(name)
|
||||
if survivalgames_kits[name].selected then
|
||||
local kitname = survivalgames_kits[name].selected
|
||||
local def = kits_register[kitname]
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local inv = player:get_inventory()
|
||||
for _,item in ipairs(def.items) do
|
||||
if inv:room_for_item("main", item) then
|
||||
inv:add_item("main", item)
|
||||
end
|
||||
end
|
||||
if player and kitname and kits_register[kitname] and kits_register[kitname].on_end then
|
||||
kits_register[kitname].on_start(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.end_kit(name)
|
||||
local kit = survivalgames_kits[name].selected
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player and kit and kits_register[kit] and kits_register[kit].on_end then
|
||||
kits_register[kit].on_end(player)
|
||||
end
|
||||
end
|
||||
|
||||
-- Add a sfinv Kit Formspec
|
||||
function survivalgames.create_kit_form(name)
|
||||
function hiddenseeker.create_kit_form(name)
|
||||
local selected_id = 1
|
||||
local selected_buyid = 0
|
||||
local defitems = ""
|
||||
if not survivalgames_kits[name] then return end
|
||||
if type(survivalgames_kits[name].kit) == "table" and #survivalgames_kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(survivalgames_kits[name].kit) do
|
||||
if kitname == survivalgames_kits[name].selected then
|
||||
if not hiddenseeker_kits[name] then return end
|
||||
if type(hiddenseeker_kits[name].kit) == "table" and #hiddenseeker_kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(hiddenseeker_kits[name].kit) do
|
||||
if kitname == hiddenseeker_kits[name].selected then
|
||||
selected_id = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if survivalgames_kits[name].buying then
|
||||
for kitnumb,kitname in ipairs(kits_all) do
|
||||
if kitname == survivalgames_kits[name].buying then
|
||||
if hiddenseeker_kits[name].buying then
|
||||
for kitnumb, kitname in ipairs(kits_all) do
|
||||
if kitname == hiddenseeker_kits[name].buying then
|
||||
selected_buyid = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if kits_register[hiddenseeker_kits[name].selected] then
|
||||
local def = kits_register[hiddenseeker_kits[name].selected]
|
||||
if def.items then
|
||||
defitems = def.items
|
||||
end
|
||||
end
|
||||
local costbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local costbuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if hiddenseeker_kits[name].buying then
|
||||
local costbuyb = kits_register[hiddenseeker_kits[name].buying]
|
||||
costbuy = costbuyb.cost
|
||||
end
|
||||
local itembuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if hiddenseeker_kits[name].buying then
|
||||
local itembuyb = kits_register[hiddenseeker_kits[name].buying]
|
||||
itembuy = itembuyb.items
|
||||
end
|
||||
local defeffect = ""
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if def.effect then
|
||||
defeffect = def.effect
|
||||
end
|
||||
end
|
||||
local effectbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if itembuyb.effect then
|
||||
itembuy = itembuyb.effect
|
||||
end
|
||||
end
|
||||
survivalgames_kit_form[name] = (
|
||||
hiddenseeker_kit_form[name] = (
|
||||
"size[8,9]" ..
|
||||
"label[0,0;Select your Kit!]" ..
|
||||
"dropdown[0,0.5;8,1.5;kitlist;"..subgames.concatornil(survivalgames_kits[name].kit)..";"..selected_id.."]" ..
|
||||
"label[0,1.5;Items: "..subgames.concatornil(defitems).." ]" ..
|
||||
"label[0,2;Effect: "..defeffect.." ]" ..
|
||||
"label[0,2.5;Here you can buy your kits!]" ..
|
||||
"label[0,0;Select your Block you want to be in the next round!]" ..
|
||||
"dropdown[0,0.5;8,1.5;blocklist;"..subgames.concatornil(hiddenseeker_kits[name].kit)..";"..selected_id.."]" ..
|
||||
"label[0,1.5;Block: "..subgames.concatornil(defitems).." ]" ..
|
||||
"label[0,2.5;Here you can buy your Block!]" ..
|
||||
"label[0,3;Your money: "..money.get_money(name).." Coins]" ..
|
||||
"dropdown[0,3.5;8,1.5;buylist;"..table.concat(kits_all, ",")..";"..selected_buyid.."]" ..
|
||||
"label[0,4.5;Cost: "..costbuy.."]" ..
|
||||
"label[0,5.5;Items: "..subgames.concatornil(itembuy).." ]" ..
|
||||
"label[0,6;Effect: "..effectbuy.." ]" ..
|
||||
"button[4,4.5;3,1;buykit;Buy this Kit!]")
|
||||
"label[0,5.5;Block: "..subgames.concatornil(itembuy).." ]" ..
|
||||
"button[4,4.5;3,1;buyblock;Buy this Block!]")
|
||||
end
|
||||
|
||||
-- Grant money when kill a player
|
||||
subgames.register_on_kill_player(function(killer, killed, lobby)
|
||||
if lobby == "survivalgames" then
|
||||
local killedname = killed:get_player_name()
|
||||
local killname = killer:get_player_name()
|
||||
money.set_money(killname, money.get_money(killname)+5)
|
||||
minetest.chat_send_player(killname, "CoinSystem: You have receive 5 Coins!")
|
||||
if survivalgames_kits[killname].selected == "Vampire" then
|
||||
killer:set_hp(20)
|
||||
local killedname = killed:get_player_name()
|
||||
local killname = killer:get_player_name()
|
||||
if lobby == "hiddenseeker" and hiddenseeker.player_lobby[killname] ~= 0 then
|
||||
local killrol = hiddenseeker.lobbys[hiddenseeker.player_lobby[killname]].players[killname]
|
||||
if killrol == "seeker" then
|
||||
money.set_money(killname, money.get_money(killname)+10)
|
||||
minetest.chat_send_player(killname, "CoinSystem: You have receive 10 Coins!")
|
||||
else money.set_money(killname, money.get_money(killname)+15)
|
||||
minetest.chat_send_player(killname, "CoinSystem: You have receive 15 Coins!")
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
function survivalgames.kit_on_player_receive_fields(self, player, context, pressed)
|
||||
local name = player:get_player_name()
|
||||
if player_lobby[name] == "survivalgames" then
|
||||
if pressed.buykit then
|
||||
if survivalgames_kits[name].buying then
|
||||
survivalgames.add_player_kits(name, survivalgames_kits[name].buying)
|
||||
end
|
||||
end
|
||||
if pressed.kitlist then
|
||||
survivalgames.set_player_kit(name, pressed.kitlist)
|
||||
end
|
||||
if pressed.buylist then
|
||||
survivalgames_kits[name].buying = pressed.buylist
|
||||
end
|
||||
survivalgames.save_kits(name)
|
||||
survivalgames.create_kit_form(name)
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Scaredy cat", {
|
||||
cost = 700,
|
||||
effect = "You are faster when you get damage",
|
||||
items = {},
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Sonic", {
|
||||
cost = 800,
|
||||
items = {},
|
||||
effect = "You have a higher speed",
|
||||
on_start = function(player)
|
||||
player:set_physics_override({speed=1.5})
|
||||
end,
|
||||
on_end = function(player)
|
||||
player:set_physics_override({speed=1})
|
||||
end
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Bomber", {
|
||||
cost = 600,
|
||||
items = {"tnt:tnt_burning 20"},
|
||||
effect = "None"
|
||||
})
|
||||
|
||||
function survivalgames.handle_hit(player, hitter, time_from_last_punch)
|
||||
function hiddenseeker.kit_on_player_receive_fields(self, player, context, pressed)
|
||||
local name = player:get_player_name()
|
||||
if survivalgames_kits[name].selected == "Scaredy cat" then
|
||||
player:set_physics_override({speed=3})
|
||||
minetest.after(5, function()
|
||||
player:set_physics_override({speed=1})
|
||||
end)
|
||||
if player_lobby[name] == "hiddenseeker" then
|
||||
if pressed.buyblock then
|
||||
if hiddenseeker_kits[name].buying then
|
||||
hiddenseeker.add_player_kits(name, hiddenseeker_kits[name].buying)
|
||||
end
|
||||
end
|
||||
if pressed.blocklist then
|
||||
hiddenseeker.set_player_kit(name, pressed.blocklist)
|
||||
end
|
||||
if pressed.buylist then
|
||||
hiddenseeker_kits[name].buying = pressed.buylist
|
||||
end
|
||||
hiddenseeker.save_kits(name)
|
||||
hiddenseeker.create_kit_form(name)
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Archer", {
|
||||
cost = 400,
|
||||
items = {"bow:bow", "bow:arrow 20"},
|
||||
effect = "None"
|
||||
function hiddenseeker.get_player_block(name)
|
||||
local lobby = hiddenseeker.player_lobby[name]
|
||||
local selected = hiddenseeker_kits[name].selected
|
||||
if not selected or selected == "Random" or selected == "" or not kits_register[selected] or not kits_register[selected].items then
|
||||
return hiddenseeker.lobbys[lobby].blocks[math.random(#hiddenseeker.lobbys[lobby].blocks)]
|
||||
else return kits_register[selected].items
|
||||
end
|
||||
end
|
||||
|
||||
hiddenseeker.register_kit("Stone", {
|
||||
cost = 300,
|
||||
items = "default:stone",
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Vampire", {
|
||||
cost = 1000,
|
||||
items = {},
|
||||
effect = "You get full heal when you kill a player",
|
||||
hiddenseeker.register_kit("Bookshelf", {
|
||||
cost = 300,
|
||||
items = "default:bookshelf",
|
||||
})
|
||||
hiddenseeker.register_kit("Wood", {
|
||||
cost = 300,
|
||||
items = "default:wood",
|
||||
})
|
||||
|
||||
--[[
|
||||
List of all Kits:
|
||||
Link:
|
||||
Mehr kills mehr Herzen
|
||||
|
||||
Techniker.
|
||||
Mehr kills bessere Rüstung
|
||||
|
||||
Angsthase:
|
||||
Schaden Speed
|
||||
|
||||
(Vogel)
|
||||
Jumppad Falschirm
|
||||
|
||||
Bomber:
|
||||
TNT
|
||||
Landmine
|
||||
|
||||
Teleporter
|
||||
Enderperle
|
||||
|
||||
Vampir.
|
||||
Kill volle Herzen
|
||||
|
||||
(Animal)
|
||||
You desquise to the animal you kill
|
||||
|
||||
Sonic
|
||||
Dauerhaft schneller
|
||||
|
||||
]]
|
||||
|
|
|
@ -1,24 +1,46 @@
|
|||
survivalgames_kits = {}
|
||||
survivalgames_kit_form = {}
|
||||
-- Adds kits to mesewars
|
||||
kits = {}
|
||||
mesewars_kit_form = {}
|
||||
mesewars_ability_form = {}
|
||||
local kits_all = {}
|
||||
local kits_register = {}
|
||||
local abilitys = {
|
||||
speed = {
|
||||
[1] = 25,
|
||||
[2] = 13,
|
||||
[3] = 9,
|
||||
[4] = 7,
|
||||
[5] = 5
|
||||
},
|
||||
slowness = {
|
||||
[1] = 25,
|
||||
[2] = 13,
|
||||
[3] = 9,
|
||||
[4] = 7,
|
||||
[5] = 5
|
||||
},
|
||||
killkit = {
|
||||
[1] = 10,
|
||||
[2] = 5,
|
||||
[3] = 4,
|
||||
[4] = 3,
|
||||
[5] = 2
|
||||
},
|
||||
carefull = {
|
||||
[1] = 10,
|
||||
[2] = 5,
|
||||
[3] = 4,
|
||||
[4] = 3,
|
||||
[5] = 2
|
||||
}
|
||||
}
|
||||
|
||||
local storage = minetest.get_mod_storage()
|
||||
|
||||
function survivalgames.save_kits(name)
|
||||
if not name then
|
||||
table_to_modstorage(storage, survivalgames_kits)
|
||||
else table_to_modstorage(storage, survivalgames_kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
storage:from_table(nil)
|
||||
survivalgames.save_kits()
|
||||
|
||||
function survivalgames.load_kits(name)
|
||||
function mesewars.save_kits(name)
|
||||
if not name then
|
||||
survivalgames_kits = modstorage_to_table(storage)
|
||||
else survivalgames_kits[name] = modstorage_to_table(storage, name)
|
||||
table_to_modstorage(storage, kits)
|
||||
else table_to_modstorage(storage, kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -32,7 +54,7 @@ mesewars.load_kits("register")
|
|||
|
||||
-- Creates player's account, if the player doesn't have it.
|
||||
subgames.register_on_joinplayer(function(player, lobby)
|
||||
if lobby == "survivalgames" then
|
||||
if lobby == "mesewars" then
|
||||
local name = player:get_player_name()
|
||||
mesewars.load_kits(name)
|
||||
if name ~= "register" then
|
||||
|
@ -47,27 +69,32 @@ subgames.register_on_joinplayer(function(player, lobby)
|
|||
end
|
||||
else minetest.kick_player(name, "Sorry, but this name is disallowed.")
|
||||
end
|
||||
mesewars.create_abilitys(player)
|
||||
mesewars.save_kits(name)
|
||||
end
|
||||
end)
|
||||
|
||||
function survivalgames.get_player_kits(name)
|
||||
return survivalgames_kits[name].kit
|
||||
function mesewars.get_player_kits(name)
|
||||
return kits[name].kit
|
||||
end
|
||||
|
||||
function survivalgames.register_kit(kitname, def)
|
||||
kits_register[kitname] = def
|
||||
function mesewars.register_kit(kitname, def)
|
||||
if not kits.register then
|
||||
kits.register = {}
|
||||
end
|
||||
kits.register[kitname] = def
|
||||
def.name = kitname
|
||||
table.insert(kits_all, kitname)
|
||||
mesewars.save_kits("register")
|
||||
end
|
||||
|
||||
function survivalgames.add_player_kits(name, kitname)
|
||||
local def = kits_register[kitname]
|
||||
if not survivalgames_kits[name].kit then survivalgames_kits[name].kit = {} end
|
||||
function mesewars.add_player_kits(name, kitname)
|
||||
local def = kits.register[kitname]
|
||||
if not kits[name].kit then kits[name].kit = {} end
|
||||
if def and money.get_money(name) >= def.cost then
|
||||
if survivalgames_kits[name].kit == "" or not table.contains(survivalgames_kits[name].kit, kitname) == true then
|
||||
if kits[name].kit == "" or not table.contains(kits[name].kit, kitname) == true then
|
||||
money.set_money(name, money.get_money(name)-def.cost)
|
||||
table.insert(survivalgames_kits[name].kit, kitname)
|
||||
survivalgames.save_kits(name)
|
||||
table.insert(kits[name].kit, kitname)
|
||||
minetest.chat_send_player(name, "You have buyed the kit " ..kitname.."!")
|
||||
else minetest.chat_send_player(name, "You already have buyed this Kit!")
|
||||
end
|
||||
|
@ -75,20 +102,18 @@ function survivalgames.add_player_kits(name, kitname)
|
|||
end
|
||||
end
|
||||
|
||||
function survivalgames.set_player_kit(name, kitname)
|
||||
if survivalgames.lobbys[survivalgames.player_lobby[name]].players[name] == true then
|
||||
minetest.chat_send_player(name, "You can't switch your kit while playing.")
|
||||
elseif kitname ~= "" and survivalgames_kits[name].kit ~= "" and table.contains(survivalgames_kits[name].kit, kitname) then
|
||||
survivalgames_kits[name].selected = kitname
|
||||
function mesewars.set_player_kit(name, kitname)
|
||||
if kitname ~= "" and kits[name].kit ~= "" and table.contains(kits[name].kit, kitname) then
|
||||
kits[name].selected = kitname
|
||||
elseif kitname ~= "" then
|
||||
minetest.chat_send_player(name, "You don't have this kit!")
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.give_kit_items(name)
|
||||
if survivalgames_kits[name].selected then
|
||||
local kitname = survivalgames_kits[name].selected
|
||||
local def = kits_register[kitname]
|
||||
function mesewars.give_kit_items(name)
|
||||
if kits[name].selected then
|
||||
local kitname = kits[name].selected
|
||||
local def = kits.register[kitname]
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local inv = player:get_inventory()
|
||||
for _,item in ipairs(def.items) do
|
||||
|
@ -96,192 +121,276 @@ function survivalgames.give_kit_items(name)
|
|||
inv:add_item("main", item)
|
||||
end
|
||||
end
|
||||
if player and kitname and kits_register[kitname] and kits_register[kitname].on_end then
|
||||
kits_register[kitname].on_start(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.end_kit(name)
|
||||
local kit = survivalgames_kits[name].selected
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player and kit and kits_register[kit] and kits_register[kit].on_end then
|
||||
kits_register[kit].on_end(player)
|
||||
end
|
||||
end
|
||||
|
||||
-- Add a sfinv Kit Formspec
|
||||
function survivalgames.create_kit_form(name)
|
||||
function mesewars.create_kit_form(name)
|
||||
local selected_id = 1
|
||||
local selected_buyid = 0
|
||||
local defitems = ""
|
||||
if not survivalgames_kits[name] then return end
|
||||
if type(survivalgames_kits[name].kit) == "table" and #survivalgames_kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(survivalgames_kits[name].kit) do
|
||||
if kitname == survivalgames_kits[name].selected then
|
||||
if not kits[name] then return end
|
||||
if type(kits[name].kit) == "table" and #kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(kits[name].kit) do
|
||||
if kitname == kits[name].selected then
|
||||
selected_id = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if survivalgames_kits[name].buying then
|
||||
if kits[name].buying then
|
||||
for kitnumb,kitname in ipairs(kits_all) do
|
||||
if kitname == survivalgames_kits[name].buying then
|
||||
if kitname == kits[name].buying then
|
||||
selected_buyid = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if kits.register[kits[name].selected] then
|
||||
local def = kits.register[kits[name].selected]
|
||||
if def.items then
|
||||
defitems = def.items
|
||||
end
|
||||
end
|
||||
local costbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local costbuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if kits[name].buying then
|
||||
local costbuyb = kits.register[kits[name].buying]
|
||||
costbuy = costbuyb.cost
|
||||
end
|
||||
local itembuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if kits[name].buying then
|
||||
local itembuyb = kits.register[kits[name].buying]
|
||||
itembuy = itembuyb.items
|
||||
end
|
||||
local defeffect = ""
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if def.effect then
|
||||
defeffect = def.effect
|
||||
end
|
||||
end
|
||||
local effectbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if itembuyb.effect then
|
||||
itembuy = itembuyb.effect
|
||||
end
|
||||
end
|
||||
survivalgames_kit_form[name] = (
|
||||
mesewars_kit_form[name] = (
|
||||
"size[8,9]" ..
|
||||
"label[0,0;Select your Kit!]" ..
|
||||
"dropdown[0,0.5;8,1.5;kitlist;"..subgames.concatornil(survivalgames_kits[name].kit)..";"..selected_id.."]" ..
|
||||
"dropdown[0,0.5;8,1.5;kitlist;"..subgames.concatornil(kits[name].kit)..";"..selected_id.."]" ..
|
||||
"label[0,1.5;Items: "..subgames.concatornil(defitems).." ]" ..
|
||||
"label[0,2;Effect: "..defeffect.." ]" ..
|
||||
"label[0,2.5;Here you can buy your kits!]" ..
|
||||
"label[0,3;Your money: "..money.get_money(name).." Coins]" ..
|
||||
"dropdown[0,3.5;8,1.5;buylist;"..table.concat(kits_all, ",")..";"..selected_buyid.."]" ..
|
||||
"label[0,4.5;Cost: "..costbuy.."]" ..
|
||||
"label[0,5.5;Items: "..subgames.concatornil(itembuy).." ]" ..
|
||||
"label[0,6;Effect: "..effectbuy.." ]" ..
|
||||
"button[4,4.5;3,1;buykit;Buy this Kit!]")
|
||||
end
|
||||
|
||||
-- Grant money when kill a player
|
||||
subgames.register_on_kill_player(function(killer, killed, lobby)
|
||||
if lobby == "survivalgames" then
|
||||
if lobby == "mesewars" then
|
||||
local killedname = killed:get_player_name()
|
||||
local killname = killer:get_player_name()
|
||||
money.set_money(killname, money.get_money(killname)+5)
|
||||
minetest.chat_send_player(killname, "CoinSystem: You have receive 5 Coins!")
|
||||
if survivalgames_kits[killname].selected == "Vampire" then
|
||||
killer:set_hp(20)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add some kits
|
||||
mesewars.register_kit("Swordman", {
|
||||
cost = 300,
|
||||
items = {"default:sword_stone"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Blocker", {
|
||||
cost = 1200,
|
||||
items = {"default:steelblock 3", "default:sandstone 15"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Tank", {
|
||||
cost = 600,
|
||||
items = {"3d_armor:chestplate_wood", "3d_armor:leggings_wood", "3d_armor:helmet_wood","3d_armor:boots_wood"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Digger", {
|
||||
cost = 500,
|
||||
items = {"default:pick_mese"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Cactus", {
|
||||
cost = 800,
|
||||
items = {"3d_armor:chestplate_cactus", "default:sword_stone"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Builder", {
|
||||
cost = 800,
|
||||
items = {"default:sandstone 10", "default:pick_stone"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Killer", {
|
||||
cost = 800,
|
||||
items = {"default:sword_steel"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Rabbit", {
|
||||
cost = 400,
|
||||
items = {"pep:jumpplus"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Runner", {
|
||||
cost = 600,
|
||||
items = {"pep:speedplus"},
|
||||
})
|
||||
|
||||
mesewars.register_kit("Homer", {
|
||||
cost = 500,
|
||||
items = {"mesewars:baseteleport"},
|
||||
})
|
||||
|
||||
-- Add abilitys.
|
||||
function mesewars.create_abilitys(player)
|
||||
local name = player:get_player_name()
|
||||
for key, value in pairs(abilitys) do
|
||||
if not kits[name].abilitys[key] then
|
||||
kits[name].abilitys[key] = {level = 0, active = true}
|
||||
end
|
||||
if kits[name].abilitys[key].active == nil then
|
||||
kits[name].abilitys[key].active = true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function mesewars.handle_hit(player, hitter, time_from_last_punch)
|
||||
local name = player:get_player_name()
|
||||
local hittername = hitter:get_player_name()
|
||||
if kits[hittername].abilitys.slowness.active == true and kits[hittername].abilitys.slowness.level > 0 then
|
||||
if math.random(abilitys.slowness[kits[hittername].abilitys.slowness.level]) == 1 then
|
||||
playereffects.apply_effect_type("pepspeedminus", 1, player)
|
||||
end
|
||||
end
|
||||
if kits[name].abilitys.speed.active == true and kits[name].abilitys.speed.level > 0 then
|
||||
if math.random(abilitys.speed[kits[name].abilitys.speed.level]) == 1 then
|
||||
playereffects.apply_effect_type("pepspeedplus", 3, player)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
subgames.register_on_placenode(function(pos, newnode, placer, oldnode, itemstack, pointed_thing, lobby)
|
||||
if lobby == "mesewars" and placer then
|
||||
local name = placer:get_player_name()
|
||||
if kits[name] and kits[name].abilitys.carefull.active == true and kits[name].abilitys.carefull.level > 0 then
|
||||
if math.random(abilitys.carefull[kits[name].abilitys.carefull.level]) == 1 then
|
||||
itemstack:add_item(newnode.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
function survivalgames.kit_on_player_receive_fields(self, player, context, pressed)
|
||||
local name = player:get_player_name()
|
||||
if player_lobby[name] == "survivalgames" then
|
||||
if pressed.buykit then
|
||||
if survivalgames_kits[name].buying then
|
||||
survivalgames.add_player_kits(name, survivalgames_kits[name].buying)
|
||||
end
|
||||
end
|
||||
if pressed.kitlist then
|
||||
survivalgames.set_player_kit(name, pressed.kitlist)
|
||||
end
|
||||
if pressed.buylist then
|
||||
survivalgames_kits[name].buying = pressed.buylist
|
||||
end
|
||||
survivalgames.save_kits(name)
|
||||
survivalgames.create_kit_form(name)
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
subgames.register_on_kill_player(function(killer, killed, lobby)
|
||||
if lobby == "mesewars" then
|
||||
minetest.after(2, function()
|
||||
if killed:is_player_connected() then
|
||||
local name = killed:get_player_name()
|
||||
if kits[name].abilitys.killkit.active == true and kits[name].abilitys.killkit.level > 0 then
|
||||
if math.random(abilitys.killkit[kits[name].abilitys.killkit.level]) == 1 then
|
||||
mesewars.give_kit_items(name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
end)
|
||||
|
||||
local function check_active(value, number, text)
|
||||
if value >= number then
|
||||
return core.colorize("green", text)
|
||||
else return core.colorize("red", text)
|
||||
end
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Scaredy cat", {
|
||||
cost = 700,
|
||||
effect = "You are faster when you get damage",
|
||||
items = {},
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Sonic", {
|
||||
cost = 800,
|
||||
items = {},
|
||||
effect = "You have a higher speed",
|
||||
on_start = function(player)
|
||||
player:set_physics_override({speed=1.5})
|
||||
end,
|
||||
on_end = function(player)
|
||||
player:set_physics_override({speed=1})
|
||||
end
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Bomber", {
|
||||
cost = 600,
|
||||
items = {"tnt:tnt_burning 20"},
|
||||
effect = "None"
|
||||
})
|
||||
|
||||
function survivalgames.handle_hit(player, hitter, time_from_last_punch)
|
||||
function mesewars.create_ability_form(player)
|
||||
local name = player:get_player_name()
|
||||
if survivalgames_kits[name].selected == "Scaredy cat" then
|
||||
player:set_physics_override({speed=3})
|
||||
minetest.after(5, function()
|
||||
player:set_physics_override({speed=1})
|
||||
end)
|
||||
local speedontool
|
||||
if kits[name].abilitys.speed.active == true then
|
||||
speedontool = "Enable!"
|
||||
else speedontool = "Disable!"
|
||||
end
|
||||
local slownessontool
|
||||
if kits[name].abilitys.slowness.active == true then
|
||||
slownessontool = "Enable!"
|
||||
else slownessontool = "Disable!"
|
||||
end
|
||||
local killkitontool
|
||||
if kits[name].abilitys.killkit.active == true then
|
||||
killkitontool = "Enable!"
|
||||
else killkitontool = "Disable!"
|
||||
end
|
||||
local carefullontool
|
||||
if kits[name].abilitys.carefull.active == true then
|
||||
carefullontool = "Enable!"
|
||||
else carefullontool = "Disable!"
|
||||
end
|
||||
mesewars_ability_form[name] = (
|
||||
"size[8,9]" ..
|
||||
"label[0,0.5;Here you can buy abilities for your money.]" ..
|
||||
"label[0,1;Your money: "..money.get_money(name).." Coins]" ..
|
||||
"image_button[1,2;1,1;pep_speedplus.png;speedon;]" ..
|
||||
"tooltip[speedon;"..speedontool.." A chance of getting speedbost when got hitted.]" ..
|
||||
"checkbox[1,3;speedbox;Active;"..tostring(kits[name].abilitys.speed.active).."]" ..
|
||||
"button[1,4;1,1;speed1;"..check_active(kits[name].abilitys.speed.level, 1, "4%").."]" ..
|
||||
"tooltip[speed1;200 Coins]" ..
|
||||
"button[1,5;1,1;speed2;"..check_active(kits[name].abilitys.speed.level, 2, "8%").."]" ..
|
||||
"tooltip[speed2;400 Coins]" ..
|
||||
"button[1,6;1,1;speed3;"..check_active(kits[name].abilitys.speed.level, 3, "12%").."]" ..
|
||||
"tooltip[speed3;800 Coins]" ..
|
||||
"button[1,7;1,1;speed4;"..check_active(kits[name].abilitys.speed.level, 4, "16%").."]" ..
|
||||
"tooltip[speed4;1600 Coins]" ..
|
||||
"button[1,8;1,1;speed5;"..check_active(kits[name].abilitys.speed.level, 5, "20%").."]" ..
|
||||
"tooltip[speed5;3200 Coins]" ..
|
||||
"image_button[2,2;1,1;pep_speedminus.png;slownesson;]" ..
|
||||
"tooltip[slownesson;"..slownessontool.." A chance of slowing your target down.]" ..
|
||||
"checkbox[2,3;slownessbox;Active;"..tostring(kits[name].abilitys.slowness.active).."]" ..
|
||||
"button[2,4;1,1;slowness1;"..check_active(kits[name].abilitys.slowness.level, 1, "4%").."]" ..
|
||||
"tooltip[slowness1;200 Coins]" ..
|
||||
"button[2,5;1,1;slowness2;"..check_active(kits[name].abilitys.slowness.level, 2, "8%").."]" ..
|
||||
"tooltip[slowness2;400 Coins]" ..
|
||||
"button[2,6;1,1;slowness3;"..check_active(kits[name].abilitys.slowness.level, 3, "12%").."]" ..
|
||||
"tooltip[slowness3;800 Coins]" ..
|
||||
"button[2,7;1,1;slowness4;"..check_active(kits[name].abilitys.slowness.level, 4, "16%").."]" ..
|
||||
"tooltip[slowness4;1600 Coins]" ..
|
||||
"button[2,8;1,1;slowness5;"..check_active(kits[name].abilitys.slowness.level, 5, "20%").."]" ..
|
||||
"tooltip[slowness5;3200 Coins]" ..
|
||||
"image_button[3,2;1,1;default_tool_steelsword.png;killkiton;]" ..
|
||||
"tooltip[killkiton;"..killkitontool.." A chance of receiving your kit when got killed.]" ..
|
||||
"checkbox[3,3;killkitbox;Active;"..tostring(kits[name].abilitys.killkit.active).."]" ..
|
||||
"button[3,4;1,1;killkit1;"..check_active(kits[name].abilitys.killkit.level, 1, "10%").."]" ..
|
||||
"tooltip[killkit1;200 Coins]" ..
|
||||
"button[3,5;1,1;killkit2;"..check_active(kits[name].abilitys.killkit.level, 2, "20%").."]" ..
|
||||
"tooltip[killkit2;400 Coins]" ..
|
||||
"button[3,6;1,1;killkit3;"..check_active(kits[name].abilitys.killkit.level, 3, "30%").."]" ..
|
||||
"tooltip[killkit3;800 Coins]" ..
|
||||
"button[3,7;1,1;killkit4;"..check_active(kits[name].abilitys.killkit.level, 4, "40%").."]" ..
|
||||
"tooltip[killkit4;1600 Coins]" ..
|
||||
"button[3,8;1,1;killkit5;"..check_active(kits[name].abilitys.killkit.level, 5, "50%").."]" ..
|
||||
"tooltip[killkit5;3200 Coins]" ..
|
||||
"item_image_button[4,2;1,1;default:sandstone;carefullon;]" ..
|
||||
"tooltip[carefullon;"..carefullontool.." A chance of don't lose your block on place.]" ..
|
||||
"checkbox[4,3;carefullbox;Active;"..tostring(kits[name].abilitys.carefull.active).."]" ..
|
||||
"button[4,4;1,1;carefull1;"..check_active(kits[name].abilitys.carefull.level, 1, "10%").."]" ..
|
||||
"tooltip[carefull1;200 Coins]" ..
|
||||
"button[4,5;1,1;carefull2;"..check_active(kits[name].abilitys.carefull.level, 2, "20%").."]" ..
|
||||
"tooltip[carefull2;400 Coins]" ..
|
||||
"button[4,6;1,1;carefull3;"..check_active(kits[name].abilitys.carefull.level, 3, "30%").."]" ..
|
||||
"tooltip[carefull3;800 Coins]" ..
|
||||
"button[4,7;1,1;carefull4;"..check_active(kits[name].abilitys.carefull.level, 4, "40%").."]" ..
|
||||
"tooltip[carefull4;1600 Coins]" ..
|
||||
"button[4,8;1,1;carefull5;"..check_active(kits[name].abilitys.carefull.level, 5, "50%").."]" ..
|
||||
"tooltip[carefull5;3200 Coins]"
|
||||
)
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Archer", {
|
||||
cost = 400,
|
||||
items = {"bow:bow", "bow:arrow 20"},
|
||||
effect = "None"
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Vampire", {
|
||||
cost = 1000,
|
||||
items = {},
|
||||
effect = "You get full heal when you kill a player",
|
||||
})
|
||||
|
||||
--[[
|
||||
List of all Kits:
|
||||
Link:
|
||||
Mehr kills mehr Herzen
|
||||
|
||||
Techniker.
|
||||
Mehr kills bessere Rüstung
|
||||
|
||||
Angsthase:
|
||||
Schaden Speed
|
||||
|
||||
(Vogel)
|
||||
Jumppad Falschirm
|
||||
|
||||
Bomber:
|
||||
TNT
|
||||
Landmine
|
||||
|
||||
Teleporter
|
||||
Enderperle
|
||||
|
||||
Vampir.
|
||||
Kill volle Herzen
|
||||
|
||||
(Animal)
|
||||
You desquise to the animal you kill
|
||||
|
||||
Sonic
|
||||
Dauerhaft schneller
|
||||
|
||||
]]
|
||||
function mesewars.handle_buy(player, ability, level, cost)
|
||||
local name = player:get_player_name()
|
||||
local pmoney = money.get_money(name)
|
||||
local kitfile = kits[name].abilitys[ability]
|
||||
if kitfile.level < level then
|
||||
if kitfile.level +1 == level then
|
||||
if pmoney >= cost then
|
||||
money.set_money(name, pmoney -cost)
|
||||
kitfile.level = kitfile.level +1
|
||||
minetest.chat_send_player(name, core.colorize("green", "You have buyed Level "..level.." of the Ability "..ability))
|
||||
else minetest.chat_send_player(name, "You don't have enough money.")
|
||||
end
|
||||
else minetest.chat_send_player(name, "You first have to buy the previous Level.")
|
||||
end
|
||||
elseif kitfile.level >= level then
|
||||
minetest.chat_send_player(name, "You already buyed this Level.")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,24 +1,16 @@
|
|||
survivalgames_kits = {}
|
||||
survivalgames_kit_form = {}
|
||||
skywars_kits = {}
|
||||
skywars_kit_form = {}
|
||||
skywars_ability_form = {}
|
||||
local kits_all = {}
|
||||
local kits_register = {}
|
||||
|
||||
|
||||
local storage = minetest.get_mod_storage()
|
||||
|
||||
function survivalgames.save_kits(name)
|
||||
function skywars.save_kits(name)
|
||||
if not name then
|
||||
table_to_modstorage(storage, survivalgames_kits)
|
||||
else table_to_modstorage(storage, survivalgames_kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
storage:from_table(nil)
|
||||
survivalgames.save_kits()
|
||||
|
||||
function survivalgames.load_kits(name)
|
||||
if not name then
|
||||
survivalgames_kits = modstorage_to_table(storage)
|
||||
else survivalgames_kits[name] = modstorage_to_table(storage, name)
|
||||
table_to_modstorage(storage, skywars_kits)
|
||||
else table_to_modstorage(storage, skywars_kits[name], name)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -31,33 +23,34 @@ end
|
|||
|
||||
-- Creates player's account, if the player doesn't have it.
|
||||
subgames.register_on_joinplayer(function(player, lobby)
|
||||
if lobby == "survivalgames" then
|
||||
if lobby == "skywars" then
|
||||
local name = player:get_player_name()
|
||||
skywars.load_kits(name)
|
||||
if not skywars_kits[name] then
|
||||
skywars_kits[name] = {kit = {}}
|
||||
end
|
||||
skywars.save_kits(name)
|
||||
end
|
||||
end)
|
||||
|
||||
function survivalgames.get_player_kits(name)
|
||||
return survivalgames_kits[name].kit
|
||||
function skywars.get_player_kits(name)
|
||||
return skywars_kits[name].kit
|
||||
end
|
||||
|
||||
function survivalgames.register_kit(kitname, def)
|
||||
function skywars.register_kit(kitname, def)
|
||||
kits_register[kitname] = def
|
||||
def.name = kitname
|
||||
table.insert(kits_all, kitname)
|
||||
end
|
||||
|
||||
function survivalgames.add_player_kits(name, kitname)
|
||||
function skywars.add_player_kits(name, kitname)
|
||||
local def = kits_register[kitname]
|
||||
if not survivalgames_kits[name].kit then survivalgames_kits[name].kit = {} end
|
||||
if not skywars_kits[name].kit then skywars_kits[name].kit = {} end
|
||||
if def and money.get_money(name) >= def.cost then
|
||||
if survivalgames_kits[name].kit == "" or not table.contains(survivalgames_kits[name].kit, kitname) == true then
|
||||
if skywars_kits[name].kit == "" or not table.contains(skywars_kits[name].kit, kitname) == true then
|
||||
money.set_money(name, money.get_money(name)-def.cost)
|
||||
table.insert(survivalgames_kits[name].kit, kitname)
|
||||
survivalgames.save_kits(name)
|
||||
table.insert(skywars_kits[name].kit, kitname)
|
||||
skywars.save_kits(name)
|
||||
minetest.chat_send_player(name, "You have buyed the kit " ..kitname.."!")
|
||||
else minetest.chat_send_player(name, "You already have buyed this Kit!")
|
||||
end
|
||||
|
@ -65,19 +58,17 @@ function survivalgames.add_player_kits(name, kitname)
|
|||
end
|
||||
end
|
||||
|
||||
function survivalgames.set_player_kit(name, kitname)
|
||||
if survivalgames.lobbys[survivalgames.player_lobby[name]].players[name] == true then
|
||||
minetest.chat_send_player(name, "You can't switch your kit while playing.")
|
||||
elseif kitname ~= "" and survivalgames_kits[name].kit ~= "" and table.contains(survivalgames_kits[name].kit, kitname) then
|
||||
survivalgames_kits[name].selected = kitname
|
||||
function skywars.set_player_kit(name, kitname)
|
||||
if kitname ~= "" and skywars_kits[name].kit ~= "" and table.contains(skywars_kits[name].kit, kitname) then
|
||||
skywars_kits[name].selected = kitname
|
||||
elseif kitname ~= "" then
|
||||
minetest.chat_send_player(name, "You don't have this kit!")
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.give_kit_items(name)
|
||||
if survivalgames_kits[name].selected then
|
||||
local kitname = survivalgames_kits[name].selected
|
||||
function skywars.give_kit_items(name)
|
||||
if skywars_kits[name].selected then
|
||||
local kitname = skywars_kits[name].selected
|
||||
local def = kits_register[kitname]
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local inv = player:get_inventory()
|
||||
|
@ -86,192 +77,109 @@ function survivalgames.give_kit_items(name)
|
|||
inv:add_item("main", item)
|
||||
end
|
||||
end
|
||||
if player and kitname and kits_register[kitname] and kits_register[kitname].on_end then
|
||||
kits_register[kitname].on_start(player)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function survivalgames.end_kit(name)
|
||||
local kit = survivalgames_kits[name].selected
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player and kit and kits_register[kit] and kits_register[kit].on_end then
|
||||
kits_register[kit].on_end(player)
|
||||
end
|
||||
end
|
||||
|
||||
-- Add a sfinv Kit Formspec
|
||||
function survivalgames.create_kit_form(name)
|
||||
function skywars.create_kit_form(name)
|
||||
local selected_id = 1
|
||||
local selected_buyid = 0
|
||||
local defitems = ""
|
||||
if not survivalgames_kits[name] then return end
|
||||
if type(survivalgames_kits[name].kit) == "table" and #survivalgames_kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(survivalgames_kits[name].kit) do
|
||||
if kitname == survivalgames_kits[name].selected then
|
||||
if not skywars_kits[name] then return end
|
||||
if type(skywars_kits[name].kit) == "table" and #skywars_kits[name].kit >= 1 then
|
||||
for kitnumb,kitname in ipairs(skywars_kits[name].kit) do
|
||||
if kitname == skywars_kits[name].selected then
|
||||
selected_id = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if survivalgames_kits[name].buying then
|
||||
if skywars_kits[name].buying then
|
||||
for kitnumb,kitname in ipairs(kits_all) do
|
||||
if kitname == survivalgames_kits[name].buying then
|
||||
if kitname == skywars_kits[name].buying then
|
||||
selected_buyid = kitnumb
|
||||
end
|
||||
end
|
||||
end
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if kits_register[skywars_kits[name].selected] then
|
||||
local def = kits_register[skywars_kits[name].selected]
|
||||
if def.items then
|
||||
defitems = def.items
|
||||
end
|
||||
end
|
||||
local costbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local costbuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if skywars_kits[name].buying then
|
||||
local costbuyb = kits_register[skywars_kits[name].buying]
|
||||
costbuy = costbuyb.cost
|
||||
end
|
||||
local itembuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if skywars_kits[name].buying then
|
||||
local itembuyb = kits_register[skywars_kits[name].buying]
|
||||
itembuy = itembuyb.items
|
||||
end
|
||||
local defeffect = ""
|
||||
if kits_register[survivalgames_kits[name].selected] then
|
||||
local def = kits_register[survivalgames_kits[name].selected]
|
||||
if def.effect then
|
||||
defeffect = def.effect
|
||||
end
|
||||
end
|
||||
local effectbuy = ""
|
||||
if survivalgames_kits[name].buying then
|
||||
local itembuyb = kits_register[survivalgames_kits[name].buying]
|
||||
if itembuyb.effect then
|
||||
itembuy = itembuyb.effect
|
||||
end
|
||||
end
|
||||
survivalgames_kit_form[name] = (
|
||||
skywars_kit_form[name] = (
|
||||
"size[8,9]" ..
|
||||
"label[0,0;Select your Kit!]" ..
|
||||
"dropdown[0,0.5;8,1.5;kitlist;"..subgames.concatornil(survivalgames_kits[name].kit)..";"..selected_id.."]" ..
|
||||
"dropdown[0,0.5;8,1.5;kitlist;"..subgames.concatornil(skywars_kits[name].kit)..";"..selected_id.."]" ..
|
||||
"label[0,1.5;Items: "..subgames.concatornil(defitems).." ]" ..
|
||||
"label[0,2;Effect: "..defeffect.." ]" ..
|
||||
"label[0,2.5;Here you can buy your kits!]" ..
|
||||
"label[0,3;Your money: "..money.get_money(name).." Coins]" ..
|
||||
"dropdown[0,3.5;8,1.5;buylist;"..table.concat(kits_all, ",")..";"..selected_buyid.."]" ..
|
||||
"label[0,4.5;Cost: "..costbuy.."]" ..
|
||||
"label[0,5.5;Items: "..subgames.concatornil(itembuy).." ]" ..
|
||||
"label[0,6;Effect: "..effectbuy.." ]" ..
|
||||
"button[4,4.5;3,1;buykit;Buy this Kit!]")
|
||||
end
|
||||
|
||||
-- Grant money when kill a player
|
||||
subgames.register_on_kill_player(function(killer, killed, lobby)
|
||||
if lobby == "survivalgames" then
|
||||
if lobby == "skywars" then
|
||||
local killedname = killed:get_player_name()
|
||||
local killname = killer:get_player_name()
|
||||
money.set_money(killname, money.get_money(killname)+5)
|
||||
minetest.chat_send_player(killname, "CoinSystem: You have receive 5 Coins!")
|
||||
if survivalgames_kits[killname].selected == "Vampire" then
|
||||
killer:set_hp(20)
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
function survivalgames.kit_on_player_receive_fields(self, player, context, pressed)
|
||||
function skywars.kit_on_player_receive_fields(self, player, context, pressed)
|
||||
local name = player:get_player_name()
|
||||
if player_lobby[name] == "survivalgames" then
|
||||
if player_lobby[name] == "skywars" then
|
||||
if pressed.buykit then
|
||||
if survivalgames_kits[name].buying then
|
||||
survivalgames.add_player_kits(name, survivalgames_kits[name].buying)
|
||||
if skywars_kits[name].buying then
|
||||
skywars.add_player_kits(name, skywars_kits[name].buying)
|
||||
end
|
||||
end
|
||||
if pressed.kitlist then
|
||||
survivalgames.set_player_kit(name, pressed.kitlist)
|
||||
skywars.set_player_kit(name, pressed.kitlist)
|
||||
end
|
||||
if pressed.buylist then
|
||||
survivalgames_kits[name].buying = pressed.buylist
|
||||
skywars_kits[name].buying = pressed.buylist
|
||||
end
|
||||
survivalgames.save_kits(name)
|
||||
survivalgames.create_kit_form(name)
|
||||
skywars.save_kits(name)
|
||||
skywars.create_kit_form(name)
|
||||
sfinv.set_player_inventory_formspec(player)
|
||||
end
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Scaredy cat", {
|
||||
skywars.register_kit("Swordman", {
|
||||
cost = 500,
|
||||
items = {"default:sword_steel"},
|
||||
})
|
||||
|
||||
skywars.register_kit("Bomber", {
|
||||
cost = 700,
|
||||
effect = "You are faster when you get damage",
|
||||
items = {},
|
||||
items = {"tnt:tnt_burning 5"},
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Sonic", {
|
||||
cost = 800,
|
||||
items = {},
|
||||
effect = "You have a higher speed",
|
||||
on_start = function(player)
|
||||
player:set_physics_override({speed=1.5})
|
||||
end,
|
||||
on_end = function(player)
|
||||
player:set_physics_override({speed=1})
|
||||
end
|
||||
skywars.register_kit("Builder", {
|
||||
cost = 0,
|
||||
items = {"default:stone 99"},
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Bomber", {
|
||||
cost = 600,
|
||||
items = {"tnt:tnt_burning 20"},
|
||||
effect = "None"
|
||||
skywars.register_kit("Blocker", {
|
||||
cost = 700,
|
||||
items = {"default:obsidian 20"},
|
||||
})
|
||||
|
||||
function survivalgames.handle_hit(player, hitter, time_from_last_punch)
|
||||
local name = player:get_player_name()
|
||||
if survivalgames_kits[name].selected == "Scaredy cat" then
|
||||
player:set_physics_override({speed=3})
|
||||
minetest.after(5, function()
|
||||
player:set_physics_override({speed=1})
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
survivalgames.register_kit("Archer", {
|
||||
cost = 400,
|
||||
items = {"bow:bow", "bow:arrow 20"},
|
||||
effect = "None"
|
||||
})
|
||||
|
||||
survivalgames.register_kit("Vampire", {
|
||||
skywars.register_kit("Archer", {
|
||||
cost = 1000,
|
||||
items = {},
|
||||
effect = "You get full heal when you kill a player",
|
||||
items = {"bow:bow", "bow:arrow 20"},
|
||||
})
|
||||
|
||||
--[[
|
||||
List of all Kits:
|
||||
Link:
|
||||
Mehr kills mehr Herzen
|
||||
|
||||
Techniker.
|
||||
Mehr kills bessere Rüstung
|
||||
|
||||
Angsthase:
|
||||
Schaden Speed
|
||||
|
||||
(Vogel)
|
||||
Jumppad Falschirm
|
||||
|
||||
Bomber:
|
||||
TNT
|
||||
Landmine
|
||||
|
||||
Teleporter
|
||||
Enderperle
|
||||
|
||||
Vampir.
|
||||
Kill volle Herzen
|
||||
|
||||
(Animal)
|
||||
You desquise to the animal you kill
|
||||
|
||||
Sonic
|
||||
Dauerhaft schneller
|
||||
|
||||
]]
|
||||
|
|
Loading…
Reference in New Issue