mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 04:51:40 +09:00
Added All Settings To Game Settings
This commit is contained in:
@@ -12,36 +12,36 @@ Discord: https://discord.gg/r6dC2uK
|
|||||||
--{type='function',object='',key='',name='',param={}}
|
--{type='function',object='',key='',name='',param={}}
|
||||||
local basic_settings = {
|
local basic_settings = {
|
||||||
{type='slider',object='force',key='manual_mining_speed_modifier',name='mining-speed',min=0,max=10},
|
{type='slider',object='force',key='manual_mining_speed_modifier',name='mining-speed',min=0,max=10},
|
||||||
{type='slider',object='force',key='manual_crafting_speed_modifier',name='craft-speed',min=0,max=10}
|
{type='slider',object='force',key='manual_crafting_speed_modifier',name='craft-speed',min=0,max=10},
|
||||||
-- running
|
{type='slider',object='force',key='character_running_speed_modifier',name='running-speed',min=0,max=10},
|
||||||
-- build distance
|
{type='slider',object='force',key='character_build_distance_bonus',name='build-distance',min=0,max=50},
|
||||||
-- reach
|
{type='slider',object='force',key='character_reach_distance_bonus',name='reach-distance',min=0,max=50},
|
||||||
-- bot speed
|
{type='slider',object='force',key='worker_robots_speed_modifier',name='bot-speed',min=0,max=10},
|
||||||
-- lab speed
|
{type='slider',object='force',key='laboratory_speed_modifier',name='lab-speed',min=0,max=10},
|
||||||
-- stack bonus
|
{type='slider',object='force',key='stack_inserter_capacity_bonus',name='stack-bonus',min=1,max=30}
|
||||||
}
|
}
|
||||||
|
|
||||||
local advanced_settings = {
|
local advanced_settings = {
|
||||||
{type='slider',object='force',key='quickbar_count',name='quickbar-count',min=1,max=5},
|
{type='slider',object='force',key='quickbar_count',name='quickbar-count',min=1,max=5},
|
||||||
-- inventory size
|
{type='slider',object='force',key='character_inventory_slots_bonus',name='inventory-size',min=0,max=1000},
|
||||||
-- mining prog
|
{type='slider',object='force',key='mining_drill_productivity_bonus',name='mining-prod',min=0,max=10},
|
||||||
-- game speed
|
{type='slider',object='game',key='speed',name='game-speed',min=0.01,max=5},
|
||||||
-- force crc -function
|
{type='function',object='game',key='server_save',name='save'},
|
||||||
{type='function',object='game',key='server_save',name='save'}
|
{type='function',object='force',key='reset_technology_effects',name='reload-effects'},
|
||||||
-- reset force -function
|
{type='function',object='enemy',key='kill_all_units',name='kill-biters'},
|
||||||
-- reload effects -function
|
{type='function',object='force',key='rechart',name='reload-map'},
|
||||||
-- kill bitters -function
|
{type='function',object='game',key='force_crc',name='crc'},
|
||||||
-- re chart map -function
|
{type='function',object='force',key='reset',name='reset-force'}
|
||||||
}
|
}
|
||||||
|
|
||||||
local personal_settings = {
|
local personal_settings = {
|
||||||
{type='slider',object='player',key='character_mining_speed_modifier',name='mining-speed',min=0,max=10},
|
{type='slider',object='player',key='character_mining_speed_modifier',name='mining-speed',min=0,max=10},
|
||||||
{type='slider',object='player',key='character_crafting_speed_modifier',name='craft-speed',min=0,max=10}
|
{type='slider',object='player',key='character_crafting_speed_modifier',name='craft-speed',min=0,max=10},
|
||||||
-- running speed
|
{type='slider',object='player',key='character_running_speed_modifier',name='running-speed',min=0,max=10},
|
||||||
-- build distance
|
{type='slider',object='player',key='character_build_distance_bonus',name='build-distance',min=0,max=50},
|
||||||
-- reach distance
|
{type='slider',object='player',key='character_reach_distance_bonus',name='reach-distance',min=0,max=50},
|
||||||
-- quick bar count
|
{type='slider',object='player',key='character_inventory_slots_bonus',name='inventory-size',min=0,max=1000},
|
||||||
-- inventory slots
|
{type='slider',object='player',key='quickbar_count_bonus',name='quickbar-count',min=0,max=5}
|
||||||
}
|
}
|
||||||
|
|
||||||
local _root_list = {basic_settings=basic_settings,advanced_settings=advanced_settings,personal_settings=personal_settings}
|
local _root_list = {basic_settings=basic_settings,advanced_settings=advanced_settings,personal_settings=personal_settings}
|
||||||
@@ -54,7 +54,7 @@ local function _get_data(root_frame)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function _object_list(player) return {game=game,player=player,force=player.force} end
|
local function _object_list(player) return {game=game,player=player,force=player.force,enemy=game.forces['enemy']} end
|
||||||
|
|
||||||
for name,group in pairs(_root_list) do
|
for name,group in pairs(_root_list) do
|
||||||
for key,setting in pairs(group) do
|
for key,setting in pairs(group) do
|
||||||
@@ -71,16 +71,27 @@ for name,group in pairs(_root_list) do
|
|||||||
local data = _get_data(element.parent)
|
local data = _get_data(element.parent)
|
||||||
local objects = _object_list(player)
|
local objects = _object_list(player)
|
||||||
local object = objects[data.object]
|
local object = objects[data.object]
|
||||||
object[data.key] = value
|
local _caption = string.format('%.2f',value); if value > 2 then _caption = string.format('%.2f',math.floor(value)) end
|
||||||
element.parent.counter.caption = tostring(value)
|
object[data.key] = tonumber(_caption)
|
||||||
|
element.parent.counter.caption = _caption
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
elseif setting.type == 'function' then
|
elseif setting.type == 'function' then
|
||||||
_added = Gui.inputs.add_checkbox('game-settings-'..setting.name,true,nil,false,function(player,element)
|
_added = Gui.inputs.add_checkbox('game-settings-'..setting.name,true,nil,false,function(player,element)
|
||||||
local data = _get_data(element.parent)
|
local data = _get_data(element.parent.parent)
|
||||||
local objects = _object_list(player)
|
local objects = _object_list(player)
|
||||||
local object = objects[data.object]
|
local object = objects[data.object]
|
||||||
pcall(object[data.key],unpack(data.params))
|
pcall(object[data.key],unpack(data.params))
|
||||||
|
Server.new_thread{
|
||||||
|
timeout=60,
|
||||||
|
data=element
|
||||||
|
}:on_event('timeout',function(self)
|
||||||
|
if self.data and self.data.valid then
|
||||||
|
element.parent.parent['game-settings-are-you-sure'].state = false
|
||||||
|
self.data.parent.style.visible = false
|
||||||
|
self.data.state = false
|
||||||
|
end
|
||||||
|
end):open()
|
||||||
end)
|
end)
|
||||||
if not setting.params then setting.params = {} end
|
if not setting.params then setting.params = {} end
|
||||||
end
|
end
|
||||||
@@ -89,6 +100,19 @@ for name,group in pairs(_root_list) do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local are_you_sure = Gui.inputs.add_checkbox('game-settings-are-you-sure',true,nil,false,function(player,element)
|
||||||
|
element.parent.sure.style.visible = true
|
||||||
|
Server.new_thread{
|
||||||
|
timeout=600,
|
||||||
|
data=element
|
||||||
|
}:on_event('timeout',function(self)
|
||||||
|
if self.data and self.data.valid then
|
||||||
|
self.data.state = false
|
||||||
|
self.data.parent.sure.style.visible = false
|
||||||
|
end
|
||||||
|
end):open()
|
||||||
|
end)
|
||||||
|
|
||||||
local function _draw_setting(frame,setting)
|
local function _draw_setting(frame,setting)
|
||||||
local frame = frame.add{type='flow'}
|
local frame = frame.add{type='flow'}
|
||||||
local frame = frame.add{
|
local frame = frame.add{
|
||||||
@@ -107,13 +131,23 @@ local function _draw_setting(frame,setting)
|
|||||||
}.style.visible = false
|
}.style.visible = false
|
||||||
if setting.type == 'slider' then
|
if setting.type == 'slider' then
|
||||||
local slider = setting._loaded:draw(frame)
|
local slider = setting._loaded:draw(frame)
|
||||||
|
slider.style.width = 300
|
||||||
|
local _caption = string.format('%.2f',slider.slider_value); if slider.slider_value > 2 then _caption = tostring(math.floor(slider.slider_value)) end
|
||||||
frame.add{
|
frame.add{
|
||||||
type='label',
|
type='label',
|
||||||
name='counter',
|
name='counter',
|
||||||
caption=tostring(slider.slider_value)
|
caption=_caption
|
||||||
}
|
}
|
||||||
elseif setting.type == 'function' then
|
elseif setting.type == 'function' then
|
||||||
setting._loaded:draw(frame)
|
are_you_sure:draw(frame)
|
||||||
|
local flow = frame.add{type='flow',name='sure'}
|
||||||
|
flow.style.visible = false
|
||||||
|
flow.add{
|
||||||
|
type='label',
|
||||||
|
caption={'game-settings.sure'},
|
||||||
|
style='bold_red_label'
|
||||||
|
}
|
||||||
|
setting._loaded:draw(flow)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,22 @@ advanced-message=Please do not touch these settings at all unless you know 100%
|
|||||||
personal-name=Personal Settings
|
personal-name=Personal Settings
|
||||||
personal-tooltip=These will only effect you, if you are spoted you are on your own.
|
personal-tooltip=These will only effect you, if you are spoted you are on your own.
|
||||||
personal-message=These settings will only effect your player any changes you make are to be resposible ones and dont over do it or you may be caught using them.
|
personal-message=These settings will only effect your player any changes you make are to be resposible ones and dont over do it or you may be caught using them.
|
||||||
|
sure=Are You Sure!
|
||||||
effect-mining-speed=Mining Speed
|
effect-mining-speed=Mining Speed
|
||||||
effect-craft-speed=Crafting Speed
|
effect-craft-speed=Crafting Speed
|
||||||
|
effect-running-speed=Running Speed
|
||||||
|
effect-build-distance=Build Distance
|
||||||
|
effect-reach-distance=Reach Distance
|
||||||
|
effect-bot-speed=Bot Speed
|
||||||
|
effect-lab-speed=Lab Speed
|
||||||
|
effect-stack-bonus=Stack Bonus
|
||||||
effect-quickbar-count=Quickbar Count
|
effect-quickbar-count=Quickbar Count
|
||||||
|
effect-inventory-size=Inventory Size
|
||||||
|
effect-mining-prod=Mining Productivity
|
||||||
|
effect-game-speed=Game Speed
|
||||||
effect-save=Save Game
|
effect-save=Save Game
|
||||||
|
effect-reload-effects=Reload Effects
|
||||||
|
effect-reload-map=Reload Minimap
|
||||||
|
effect-kill-biters=Kill Biters
|
||||||
|
effect-crc=Force CRC Check
|
||||||
|
effect-reset-force=Reset Force
|
||||||
Reference in New Issue
Block a user