I would like to have my default 10 filters set every time I start a game. I always use the exact same ones and I have a tendency to iterate my factories, so always having to reset my filters is... manual. I would like to automate this process.
Setting the filters up by default would be the best solution, but if not that then I will just give myself a single unit of each item type in the correct order so that they will line up on my belt at game start in the order I normally use. However, at game start you are given a burner miner and a stone furnace, and those start in slots 1 and 2. Is there a way to remove everything from the toolbelt before I give items to myself so that slots 1 and 2 can be empty and receive the correct item?
Clear Toolbelt at game start and set filters?
Re: Clear Toolbelt at game start and set filters?
Code: Select all
local inventory = player.get_inventory(defines.inventory.player_quickbar)
inventory.set_filter(1,"transport-belt")
inventory.set_filter(2,"inserter")
inventory.set_filter(3,"medium-electric-pole")
Re: Clear Toolbelt at game start and set filters?
Okay, thanks! I think I have made some significant progress with my mod now! Here is the code in case anyone is looking for the solution in the future:
Code: Select all
-- first we establish starting inventory and filters upon player first joining a game
script.on_event(defines.events.on_player_created, function(event)
game.players[event.player_index].color = {r = 0, g = 0, b = 1, a = .7}; -- change player color to blue
local player = game.players[event.player_index]
local inventory = player.get_inventory(defines.inventory.player_quickbar)
inventory.clear()
inventory.set_filter(1,"transport-belt")
inventory.set_filter(2,"inserter")
inventory.set_filter(3,"underground-belt")
inventory.set_filter(4,"hacked-splitter")
inventory.set_filter(5,"small-electric-pole")
inventory.set_filter(6,"assembling-machine-1")
inventory.set_filter(7,"long-handed-inserter")
inventory.set_filter(8,"blueprint")
inventory.set_filter(9,"deconstruction-planner")
inventory.set_filter(10,"steel-chest")
-- materials
player.insert{name="steel-axe", count=10}
player.insert{name="iron-plate", count=592} -- 8 extra are added by freeplay scenario starting items
player.insert{name="copper-plate", count=400}
player.insert{name="electronic-circuit", count=200}
player.insert{name="iron-gear-wheel", count=200}
player.insert{name="underground-belt", count=50}
player.insert{name="hacked-splitter", count=50}
player.insert{name="small-electric-pole", count=148} -- 48 required for furnace setup, 100 extra == 148
-- logistics
player.insert{name="assembling-machine-1", count=20}
player.insert{name="long-handed-inserter", count=50}
player.insert{name="blueprint", count=1}
player.insert{name="deconstruction-planner", count=1}
player.insert{name="steel-chest", count=50}
player.insert{name="inserter", count=182} -- 2 inserters per stone furnace, 52 stone furnaces to start with in 2 layouts of 2x13 = 2*2*2*13 == 104 + 28 for boilers + 50 spare
player.insert{name="transport-belt", count=800}
-- smelting/mining
player.insert{name="electric-mining-drill", count=36} -- 13 for iron, 13 for copper, 2 for stone, 8 for coal == 36
player.insert{name="stone-furnace", count=52} -- two setups of 2x13 == 52
-- power
player.insert{name="boiler", count=28} -- two rows of 14 boilers == 28
player.insert{name="coal", count=1400} -- 50 coal per boiler * 28 == 1400
player.insert{name="steam-engine", count=20} -- two rows of 10 steam engines == 20
player.insert{name="offshore-pump", count=2} -- two power chains
player.insert{name="pipe-to-ground", count=50}
player.insert{name="pipe", count=50}
-- car
player.insert{name="car", count=1}
player.insert{name="coal", count=200} -- coal for car
-- robot
player.insert{name="power-armor", count=1}
player.insert{name="construction-robot", count=50}
player.insert{name="fusion-reactor-equipment", count=1}
player.insert{name="personal-roboport-equipment", count=5}
player.insert{name="battery-mk2-equipment", count=3}
-- science
player.insert{name="lab", count=10}
player.insert{name="science-pack-1", count=10}
end)
-- then we establish a new inventory if player should respawn
-- script.on_event(defines.events.on_player_respawn, function(event)
-- local player = game.players[event.player_index]
-- local inventory = player.get_inventory(defines.inventory.player_quickbar)
-- inventory.set_filter(1,"transport-belt")
-- inventory.set_filter(2,"inserter")
-- inventory.set_filter(3,"underground-belt")
-- inventory.set_filter(4,"hacked-splitter")
-- inventory.set_filter(5,"small-electric-pole")
-- inventory.set_filter(6,"assembling-machine-1")
-- inventory.set_filter(7,"long-handed-inserter")
-- inventory.set_filter(8,"blueprint")
-- inventory.set_filter(9,"deconstruction-planner")
-- inventory.set_filter(10,"steel-chest")
-- materials
-- player.insert{name="steel-axe", count=10}
-- logistics
-- player.insert{name="blueprint", count=1}
-- player.insert{name="deconstruction-planner", count=1}
-- car
-- player.insert{name="car", count=1}
-- player.insert{name="coal", count=200} -- coal for car
-- robot
-- player.insert{name="power-armor", count=1}
-- player.insert{name="construction-robot", count=50}
-- player.insert{name="fusion-reactor-equipment", count=1}
-- player.insert{name="personal-roboport-equipment", count=5}
-- player.insert{name="battery-mk2-equipment", count=3}
-- end)
Last edited by Arumba on Mon Sep 12, 2016 3:11 am, edited 1 time in total.
Re: Clear Toolbelt at game start and set filters?
That needs to be at the top of the function.Arumba wrote:Code: Select all
local player = game.players[event.player_index]