Fixed Bonus After Death And Instant Respawn

This commit is contained in:
Cooldude2606
2018-04-18 19:32:55 +01:00
parent c9b89b7b57
commit 61bdd84c2e
2 changed files with 26 additions and 1 deletions

View File

@@ -17,11 +17,18 @@ local settings = {
{key='character_inventory_slots_bonus',scale=200}
}
local function _bonus(reset)
global.addons = not reset and global.addons or {}
global.addons.homes = not reset and global.addons.bonus or {}
return global.addons.bonus
end
commands.add_command('bonus', 'Set your player bonus (default is 20, guest has 0)', {'bonus'}, function(event,args)
local player = Game.get_player(event)
local bonus = tonumber(args.bonus)
if not bonus or bonus < 0 or bonus > 50 then player_return{'commands.invalid-range',0,50} return commands.error end
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
_bonus()[player.index]=bonus
player_return('Bonus set to: '..math.floor(bonus)..'%')
end)
@@ -29,7 +36,24 @@ Event.register(defines.events.rank_change,function(event)
local player = Game.get_player(event)
if event.new_rank:allowed('bonus') then
for _,setting in pairs(settings) do player[setting.key] = setting.scale*0.2 end
_bonus()[player.index]=0.2
else
for _,setting in pairs(settings) do player[setting.key] = 0 end
_bonus()[player.index]=nil
end
end)
Event.register(defines.events.on_player_respawned,fucntion(event)
local player = Game.get_player(event)
local bonus = _bonus()[player.index]
if bonus then
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
end
end)
Event.register(defines.events.on_player_died,function(event)
local player = Game.get_player(event)
if Ranking.get_rank(player):allowed('bonus-respawn') then
player.ticks_to_respawn = nil
end
end)

View File

@@ -189,7 +189,8 @@ ranks['Donator']:edit('allow',false,{
['set-home']=true,
['home']=true,
['return']=true,
['bonus']=true
['bonus']=true,
['bonus-respawn']=true
})
ranks['Veteran']:edit('allow',false,{
['tree-decon']=true,