Factorio
Sem avaliações suficientes
Programando en Factorio [Cheats]
Por GacelaVK
En esta guía os enseño algunos scripts que he creado en lenguaje LUA para la consola de comandos de Factorio v0.12.33.

Os recomiendo haberos pasado el juego antes de usar estos scripts dado que facilitan mucho el juego y pueden llegar a considerarse trucos.

Si queréis podéis poner en los comentarios scripts que os gustaría que haga o si necesitáis ayuda con el vuestro.

Si sois nuevos en programacion y quereis hacer vuestros scripts en Factorio estos enlaces os ayudaran:
- Wiki de Factorio: https://wiki.factorio.com/index.php?title=Console
- Lenguaje LUA: https://www.lua.org/start.html
- LUA-API de Factorio v0.12.33: http://lua-api.factorio.com/0.12.33/
- Lista de items de Factorio: https://wiki.factorio.com/index.php?title=Items

NOTAS:
Los nombres de los items de Factorio en la consola se escriben con minusculas, sino no reconocera el objeto.

Los nombres de los items de Factorio que contengan espacios, se tienen que sustituir los espacios por guiones. EJ: Storage Tank para la consola es storage-tank.

Los items de Factorio no siempre tienen los mismos nombres internos que los visuales. EJ: Electric mining drill es el nombre visual, pero para la consola es basic-mining-drill.

Un saludo.
   
Premiar
Adic. a Favoritos
Nos Favoritos
Desfavoritar
Aumentar Recursos
En este video os muestro como aumentar los recursos existentes de nuestro mapa. Espero que os guste ;)


Aqui os dejo el script para que podais usarlo.

/c local resources = {"iron-ore", "copper-ore", "stone", "coal", "crude-oil"}; local border = 1000; local maxAmount = 5000; local minAmount = 1000; local maxYield = 800; local minYield = 500; local cteYield = 75; local xPlayer = game.local_player.position.x; local yPlayer = game.local_player.position.y; local topRectangle = {xPlayer - border, yPlayer - border}; local bottomRectangle = {xPlayer + border, yPlayer + border}; for i, resource in pairs(resources) do for j, entity in pairs(game.local_player.surface.find_entities_filtered{area = {topRectangle, bottomRectangle}, name = resource}) do if entity.name == "crude-oil" then entity.amount=math.random(minYield*cteYield, maxYield*cteYield); else entity.amount=math.random(minAmount, maxAmount); end end end
Rellenar Tanques
En este video os muestro como rellenar los tanques de fluidos existentes de nuestro mapa. Espero que os guste ;)


Aqui os dejo el script para que podais usarlo.

/c local amountPerTank = 2500; local border = 10; local xPlayer = game.local_player.position.x; local yPlayer = game.local_player.position.y; local topRectangle = {xPlayer-border,yPlayer-border}; local bottomRectangle = {xPlayer+border,yPlayer+border}; for i, entity in pairs(game.local_player.surface.find_entities_filtered{area = {topRectangle, bottomRectangle}, name= "storage-tank"}) do local fluidBox = entity.fluidbox[1]; fluidBox.amount = amountPerTank; entity.fluidbox[1] = fluidBox; end
Mejorar Cintas Transportadoras
En este video os muestro como remplazar las cintas transportadoras existentes de nuestro mapa. Espero que os guste ;)


Aqui os dejo el script para que podais usarlo.

/c local transportBelts = {"basic-transport-belt", "fast-transport-belt", "basic-transport-belt-to-ground", "fast-transport-belt-to-ground", "basic-splitter", "fast-splitter"} local border = 100; local xPlayer = game.local_player.position.x; local yPlayer = game.local_player.position.y; local topRectangle = {xPlayer-border,yPlayer-border}; local bottomRectangle = {xPlayer+border,yPlayer+border}; for i, transportBelt in pairs(transportBelts) do for j, entity in pairs(game.local_player.surface.find_entities_filtered{area = {topRectangle, bottomRectangle}, name= transportBelt}) do local oldPosition = entity.position; local oldDirection = entity.direction; local oldforce = entity.force; local oldName = entity.name; if oldName == "basic-transport-belt" or oldName == "fast-transport-belt" then entity.destroy(); game.local_player.surface.create_entity{name = "express-transport-belt", position = oldPosition, direction = oldDirection, force = oldforce}; elseif oldName == "basic-transport-belt-to-ground" or oldName == "fast-transport-belt-to-ground" then local oldGround = entity.belt_to_ground_type; entity.destroy(); game.local_player.surface.create_entity{name = "express-transport-belt-to-ground", position = oldPosition, direction = oldDirection, force = oldforce, type = oldGround}; elseif oldName == "basic-splitter" or oldName == "fast-splitter" then entity.destroy(); game.local_player.surface.create_entity{name = "express-splitter", position = oldPosition, direction = oldDirection, force = oldforce}; end end end
3 comentários
Astaroth 20 jun. 2016 às 15:43 
muchas gracias :steamhappy:
GacelaVK  [autor] 20 jun. 2016 às 10:21 
Astaroth si solo quieres unos cuantos, para que aparezcan en tu inventario, suponiendo que tienes huecos libres en tu inventatio claro, solo pon uno de estos scripts:

Para paquetes de ciencia nivel 1 (rojos)
/c game.local_player.insert{name="science-pack-1",count=200}

Para paquetes de ciencia nivel 2 (verdes)
/c game.local_player.insert{name="science-pack-2",count=200}

Para paquetes de ciencia nivel 3 (azules)
/c game.local_player.insert{name="science-pack-3",count=200}

Espero haberte ayudado.

Un saludo.
Astaroth 19 jun. 2016 às 11:02 
hola, me estoy pasando el juego y me da pereza fabricar paquetes de ciencia 2, tienes algun script que me de unos cuantos de los verdes y rojos?