mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-29 04:06:39 +09:00
Formated upto ExpGamingCore.Commands
This commit is contained in:
@@ -1,39 +1,39 @@
|
||||
--- A full ranking system for factorio.
|
||||
-- @module ExpGamingCommands.kill
|
||||
-- @module ExpGamingCommands.bonus@^4.0.0
|
||||
-- @author Cooldude2606
|
||||
-- @license https://github.com/explosivegaming/scenario/blob/master/LICENSE
|
||||
|
||||
local global = global{}
|
||||
local Game = require('FactorioStdLib.Game@^0.8.0')
|
||||
|
||||
-- these are the settings which are changed with scale being as +100%
|
||||
local settings = {
|
||||
{key='character_mining_speed_modifier',scale=3},
|
||||
{key='character_crafting_speed_modifier',scale=3},
|
||||
{key='character_running_speed_modifier',scale=3},
|
||||
{key='character_build_distance_bonus',scale=20},
|
||||
{key='character_reach_distance_bonus',scale=20},
|
||||
{key='character_inventory_slots_bonus',scale=200}
|
||||
character_mining_speed_modifier=3,
|
||||
character_crafting_speed_modifier=3,
|
||||
character_running_speed_modifier=3,
|
||||
character_build_distance_bonus=20,
|
||||
character_reach_distance_bonus=20,
|
||||
character_inventory_slots_bonus=200
|
||||
}
|
||||
|
||||
local global = global{}
|
||||
local Game = require('FactorioStdLib.Game')
|
||||
|
||||
--- Allows a player to set there bonus
|
||||
-- @command bonus
|
||||
-- @param bonus the amount of bonus there will get
|
||||
commands.add_command('bonus', 'Set your player bonus (default is 20, guest has 0)', {
|
||||
['bonus'] = {true,'number-range',-1,50} -- -1 < math.floor(bonus) <= 50
|
||||
['bonus'] = {true,'number-range-int',-1,50} -- -1 < math.floor(bonus) <= 50
|
||||
}, function(event,args)
|
||||
local player = Game.get_player(event)
|
||||
local bonus = args.bonus
|
||||
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
|
||||
for key,setting in pairs(settings) do player[key] = setting*math.floor(bonus)*0.01 end
|
||||
global[player.index]=bonus
|
||||
player_return('Bonus set to: '..math.floor(bonus)..'%')
|
||||
end)
|
||||
end).default_admin_only = true
|
||||
|
||||
script.on_event(defines.events.on_player_respawned,function(event)
|
||||
local player = Game.get_player(event)
|
||||
local bonus = global[player.index]
|
||||
if bonus then
|
||||
for _,setting in pairs(settings) do player[setting.key] = setting.scale*math.floor(bonus)*0.01 end
|
||||
for _,setting in pairs(settings) do player[key] = setting*math.floor(bonus)*0.01 end
|
||||
end
|
||||
end)
|
||||
|
||||
@@ -54,8 +54,8 @@ end)
|
||||
|
||||
return {
|
||||
on_init= function(self)
|
||||
if loaded_modules['ExpGamingCore.Ranking'] then
|
||||
local Ranking = require('ExpGamingCore.Ranking')
|
||||
if loaded_modules['ExpGamingCore.Ranking@^4.0.0'] then
|
||||
local Ranking = require('ExpGamingCore.Ranking@^4.0.0')
|
||||
-- instant respawn
|
||||
script.on_event(defines.events.on_pre_player_died,function(event)
|
||||
local player = Game.get_player(event)
|
||||
@@ -74,10 +74,10 @@ return {
|
||||
script.on_event(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
|
||||
for _,setting in pairs(settings) do player[key] = setting*0.2 end
|
||||
global[player.index]=20
|
||||
else
|
||||
for _,setting in pairs(settings) do player[setting.key] = 0 end
|
||||
for _,setting in pairs(settings) do player[key] = 0 end
|
||||
global[player.index]=nil
|
||||
end
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user