Page 1 of 1
Slight Hand Crafting Adjustment
Posted: Sun Aug 07, 2016 5:06 pm
by Assassain33
The idea is thus: Whilst crafting an object by hand: e.g. 1 Roboport
I require 45xIron Gear as one of my components. If I have 0 Iron Gears then the gears are crafted to make it.
My request is that whilst it's crafting the 45 gears I need, that it would recognize if I were to pick up some gears from a chest or belt (or delivered to me).
The current method is to cancel the craft and then restart it. Perhaps this could be implemented by checking the ingredients each time an item has completed crafting?
Thank you for reading.
Re: Slight Hand Crafting Adjustment
Posted: Sun Aug 07, 2016 11:26 pm
by ssilk
I added it to
viewtopic.php?f=80&t=10222 Improvement of crafting queue ☸
This has been discussed somehow there in that linked thread or in the linklist in that link-thread. Long story short: Many suggestions for this, seems easy to implement, but has a very high game-impact (for example it enables cheating) and so is quite questionable.
Re: Slight Hand Crafting Adjustment
Posted: Mon Aug 08, 2016 1:15 am
by atloomis
Also, the game is designed to encourage automation, so making handcrafting, a non-autonomous task, easier seems against the spirit of the game.
Re: Slight Hand Crafting Adjustment
Posted: Mon Aug 08, 2016 1:31 am
by Ranakastrasz
ssilk wrote:I added it to
viewtopic.php?f=80&t=10222 Improvement of crafting queue ☸
This has been discussed somehow there in that linked thread or in the linklist in that link-thread. Long story short: Many suggestions for this, seems easy to implement, but has a very high game-impact (for example it enables cheating) and so is quite questionable.
And it still isn't possible for it to enable cheating unless you code it wrong. I still don't understand how you could think that.
Code: Select all
On obtain item
Look through crafting queue
Find any instances of that picked up item to be crafted.
For each finished product set that was picked up or is available in total, remove one count from queue entry. Remove entry entirely if empty.
A finished Product set is whatever the recipe makes. Copper cable recipe would have a set of 2 copper cable, for example.
So, you queue 10 circuits from Copper and iron plates.
Code: Select all
Queue: 15 Copper Cable sets (2 Each, 30 total), 10 electronic Circuits.
You pick up 10 copper cable immediately after starting, before the first cable finishes.
Search queue.
Observes 15 copper cable in Queue as first entry.
Has 10 Copper cable picked up. None already in inventory to stack with it. 10 total.
10 Copper cable is 5 instances.
Remove 5 Copper cable from crafting queue. Remove 10 copper cable from inventory.
You now have 10 Copper Cable and 10 Electronic Circuits in Queue, and 5 copper plates returned to inventory.
How exactly would you code it, and where would the error occur? That is how I would code it, and I have had at least a bit of experience with programming. Might not be optimal, but it would work, and never give you extra resources so far as I can tell.
----
Sorry, its just that this issue has been bothering me for a while and I can't see why its a problem to implement.
Re: Slight Hand Crafting Adjustment
Posted: Mon Aug 08, 2016 11:41 am
by ssilk
Hm. I'm not so sure if I want to argue here, cause - as already said - this subject has already been discussed.
My problem is: I need to think the whole process through, which is really hard. Why?
Try to implement in your pointed out algorithm, that you can stop crafting at any time. Take in account, that you move the needed items for crafting to a hidden inventory before you craft. Take also in account, that there is a difference between needed items to craft one item and needed items to craft many. There are sometimes leftovers, if you craft many items, which can be used to cheat, if you allow to change that hidden crafting-inventory during crafting.
It could be, that with the very new change of the crafting, that leftovers from previous crafting (like single wires) will not be returned, this is now possible without cheating. But I don't know it per sure.
If that all is nothing, which you understand
yet, well, then you see my problem.