give income on place_node; move code to seperate file

master
Casimir 2013-10-15 21:06:11 +02:00
parent 35fe34db4b
commit de01a82a08
2 changed files with 42 additions and 33 deletions

40
income.lua Normal file
View File

@ -0,0 +1,40 @@
players_income = {}
local timer = 0
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= 720 then --720 for one day
timer = 0
for _,player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if players_income[name] == nil then
players_income[name] = 0
end
players_income[name] = 1
print("[Currency] basic income for "..name.."")
end
end
end)
earn_income = function(player)
if not player then return end
local name = player:get_player_name()
if players_income[name] == nil then
players_income[name] = 0
end
if players_income[name] > 0 then
count = players_income[name]
local inv = player:get_inventory()
inv:add_item("main", {name="currency:minegeld_5", count=count})
players_income[name] = 0
print("[Currency] added basic income for "..name.." to inventory")
end
end
minetest.register_on_dignode(function(pos, oldnode, digger)
earn_income(digger)
end)
minetest.register_on_placenode(function(pos, node, placer)
earn_income(placer)
end)

View File

@ -9,36 +9,5 @@ dofile(minetest.get_modpath("currency").."/safe.lua")
print("[Currency] Safe Loaded!")
dofile(minetest.get_modpath("currency").."/crafting.lua")
print("[Currency] Crafting Loaded!")
players_income = {}
local timer = 0
minetest.register_globalstep(function(dtime)
timer = timer + dtime;
if timer >= 720 then --720 for one day
timer = 0
for _,player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
if players_income[name] == nil then
players_income[name] = 0
end
players_income[name] = 1
print("[Currency] basic income for "..name.."")
end
end
end)
minetest.register_on_dignode(function(pos, oldnode, digger)
if not digger then return end
local name = digger:get_player_name()
if players_income[name] == nil then
players_income[name] = 0
end
if players_income[name] > 0 then
count = players_income[name]
local inv = digger:get_inventory()
inv:add_item("main", {name="currency:minegeld_5", count=count})
players_income[name] = 0
print("Currency] added basic income for "..name.." to inventory")
end
end)
dofile(minetest.get_modpath("currency").."/income.lua")
print("[Currency] Income Loaded!")