Guest User

Untitled

a guest
Sep 23rd, 2016
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.97 KB | None | 0 0
  1. local function give_player(arg)
  2.     local player=arg[1]
  3.     local name=arg.name
  4.     local count=arg.count
  5.     if game.item_prototypes[name] ~= nil then
  6.         player.insert({name=name, count=count})
  7.     end
  8. end
  9.  
  10. local function changefilter(inventory, slot, name)
  11.     if game.item_prototypes[name] ~= nil then
  12.         inventory.set_filter(slot, name)
  13.     end
  14. end
  15.  
  16. -- first we establish starting inventory and filters upon player first joining a game
  17. function give_starting_equipment(event)
  18.     local player = game.players[event.player_index]
  19.     -- change player color to blue
  20.     player.color = {r = 0, g = 0, b = 1, a = .7}
  21.     local inventory = player.get_inventory(defines.inventory.player_quickbar)
  22.     inventory.clear()
  23.     changefilter(inventory, 1,"transport-belt")
  24.     changefilter(inventory, 2,"inserter")
  25.     changefilter(inventory, 3,"underground-belt")
  26.     changefilter(inventory, 4,"hacked-splitter")
  27.     changefilter(inventory, 5,"small-electric-pole")
  28.     changefilter(inventory, 6,"assembling-machine-1")
  29.     changefilter(inventory, 7,"long-handed-inserter")
  30.     changefilter(inventory, 8,"blueprint")
  31.     changefilter(inventory, 9,"deconstruction-planner")
  32.     changefilter(inventory,10,"steel-chest")
  33.     -- power-armor to increase storage
  34.     give_player{player, name="power-armor", count=1}
  35.     -- materials
  36.     give_player{player, name="steel-axe", count=10}
  37.     give_player{player, name="iron-plate", count=592} -- 8 extra are added by freeplay scenario starting items
  38.     give_player{player, name="copper-plate", count=400}
  39.     give_player{player, name="electronic-circuit", count=200}
  40.     give_player{player, name="iron-gear-wheel", count=200}
  41.     give_player{player, name="underground-belt", count=50}
  42.     give_player{player, name="hacked-splitter", count=50}
  43.     give_player{player, name="small-electric-pole", count=148} -- 48 required for furnace setup, 100 extra == 148
  44.     -- logistics
  45.     give_player{player, name="assembling-machine-1", count=20}
  46.     give_player{player, name="long-handed-inserter", count=50}     
  47.     give_player{player, name="blueprint", count=1}
  48.     give_player{player, name="deconstruction-planner", count=1}
  49.     give_player{player, name="steel-chest", count=50}
  50.     give_player{player, 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
  51.     give_player{player, name="transport-belt", count=800}
  52.     -- smelting/mining
  53.     give_player{player, name="electric-mining-drill", count=36} -- 13 for iron, 13 for copper, 2 for stone, 8 for coal == 36
  54.     give_player{player, name="stone-furnace", count=52} -- two setups of 2x13 == 52
  55.     -- power
  56.     give_player{player, name="boiler", count=28} -- two rows of 14 boilers == 28
  57.     give_player{player, name="coal", count=1400} -- 50 coal per boiler * 28 == 1400
  58.     give_player{player, name="steam-engine", count=20} -- two rows of 10 steam engines == 20
  59.     give_player{player, name="offshore-pump", count=2} -- two power chains
  60.     give_player{player, name="pipe-to-ground", count=50}
  61.     give_player{player, name="pipe", count=50}
  62.     -- car
  63.     give_player{player, name="car", count=1}
  64.     give_player{player, name="coal", count=200} -- coal for car
  65.     -- robot
  66.     give_player{player, name="construction-robot", count=50}
  67.     give_player{player, name="fusion-reactor-equipment", count=1}
  68.     give_player{player, name="personal-roboport-equipment", count=5}
  69.     give_player{player, name="battery-mk2-equipment", count=3}
  70.     -- science
  71.     give_player{player, name="lab", count=10}
  72.     give_player{player, name="science-pack-1", count=10}
  73. end
  74.  
  75. script.on_event(defines.events.on_player_created, function(event)
  76.     give_starting_equipment(event)
  77. end)
  78.  
  79. -- then we establish a new inventory if player should respawn
  80.  
  81. function give_respawn_equipment(event)
  82.     --filters
  83.     local player = game.players[event.player_index]
  84.     local inventory = player.get_inventory(defines.inventory.player_quickbar)
  85.     changefilter(inventory, 1,"transport-belt")
  86.     changefilter(inventory, 2,"inserter")
  87.     changefilter(inventory, 3,"underground-belt")
  88.     changefilter(inventory, 4,"hacked-splitter")
  89.     changefilter(inventory, 5,"small-electric-pole")
  90.     changefilter(inventory, 6,"assembling-machine-1")
  91.     changefilter(inventory, 7,"long-handed-inserter")
  92.     changefilter(inventory, 8,"blueprint")
  93.     changefilter(inventory, 9,"deconstruction-planner")
  94.     changefilter(inventory,10,"steel-chest")
  95.     -- materials
  96.     give_player{player, name="steel-axe", count=10}
  97.     -- logistics
  98.     give_player{player, name="blueprint", count=1}
  99.     give_player{player, name="deconstruction-planner", count=1}
  100.     -- car
  101.     give_player{player, name="car", count=1}
  102.     give_player{player, name="coal", count=200} -- coal.... for car
  103.     -- robot
  104.     give_player{player, name="power-armor", count=1}
  105.     give_player{player, name="construction-robot", count=50}
  106.     give_player{player, name="fusion-reactor-equipment", count=1}
  107.     give_player{player, name="personal-roboport-equipment", count=5}
  108.     give_player{player, name="battery-mk2-equipment", count=3}
  109. end
  110. script.on_event(defines.events.on_player_respawned, function(event)
  111.     give_respawn_equipment(event)
  112.     end)
Advertisement
Add Comment
Please, Sign In to add comment