Desynced

Desynced

MAKAIROSI Aug 27, 2023 @ 7:15pm
mass deconstruct walls
At least walls, come on guys, it's click - wait - click. I don't wanna make a behaviour that seeks and destroys walls, I just wanna expand my base to one direction.
< >
Showing 1-15 of 23 comments
Zaflis Aug 28, 2023 @ 5:44am 
I'm afraid your only solution may be a behavior. So i can give one solution to it:

Basically the behavior will normally be disabled. When you click Play it will scan around it in some radius you give it, say 8 tiles and if they are walls it goes and deconstructs them. When it's done with the scan it will stop the script and you can move it to a new location.

Bonus points if you give it colored lamp that shows red while it's working and green when done ;)
Last edited by Zaflis; Aug 28, 2023 @ 5:46am
MilvusKiter Aug 28, 2023 @ 6:00am 
Have the "Go to" Register bound to deconstruct target. This allows you to right click to deconstruct. Then hold shift and right click the multiple walls to setup its deconstruct order.

Have the bot bound to a nummer like 0 so you can always call it when you need it.

PS: Make sure the bot is disconnected from the logistics network.
markus Aug 28, 2023 @ 6:22am 
Do walls have a "signal" register, or are walls kind of special and don't have one?
I usually set up my deconstructor to loop over signals and deconstruct everything with a "construction" signal. So I just have to select everything I want to delete and set the signal registers.
In the meantime, my deconstructor has a radar filtered to "in power grid" and "dropped item" linked to the goto register, so that it also cleans up my base
Zaflis Aug 28, 2023 @ 6:44am 
Originally posted by MilvusKiter:
Have the "Go to" Register bound to deconstruct target. This allows you to right click to deconstruct. Then hold shift and right click the multiple walls to setup its deconstruct order.
While that may be simple it also sounds dangerous, any time you tell it to move somewhere it is a deconstruct order. Like if you misclick on a passing by bot you can say goodbye bot :p
Last edited by Zaflis; Aug 28, 2023 @ 6:45am
MAKAIROSI Aug 28, 2023 @ 7:25am 
Originally posted by MilvusKiter:
Have the "Go to" Register bound to deconstruct target. This allows you to right click to deconstruct. Then hold shift and right click the multiple walls to setup its deconstruct order.

Have the bot bound to a nummer like 0 so you can always call it when you need it.

PS: Make sure the bot is disconnected from the logistics network.

I tried that, it was the first thing I thought of, but it doesn't work. The deconstructor goes to deconstruct a wall, but doesn't wait until that order is done. It will move to the next place in the queue immediately.

Originally posted by Zaflis:
I'm afraid your only solution may be a behavior. So i can give one solution to it:

Basically the behavior will normally be disabled. When you click Play it will scan around it in some radius you give it, say 8 tiles and if they are walls it goes and deconstructs them. When it's done with the scan it will stop the script and you can move it to a new location.

Bonus points if you give it colored lamp that shows red while it's working and green when done ;)

Afaik, when the bot moves to deconstruct the wall, it will scan a new "wall", so in the end it will deconstruct your entire base of walls lol.

Originally posted by markus:
Do walls have a "signal" register, or are walls kind of special and don't have one?
I usually set up my deconstructor to loop over signals and deconstruct everything with a "construction" signal. So I just have to select everything I want to delete and set the signal registers.
In the meantime, my deconstructor has a radar filtered to "in power grid" and "dropped item" linked to the goto register, so that it also cleans up my base

Nope, walls have nothing. No signals, not even a powerdown button.
Last edited by MAKAIROSI; Aug 28, 2023 @ 7:27am
MAKAIROSI Aug 28, 2023 @ 7:29am 
The solution to all these could be simple. Let us have a signal "mark for destruction" and then allow walls to emit a signal. So we could simply select all the walls we want and choose that signal.
MAKAIROSI Aug 28, 2023 @ 9:09am 
Ok, I made a Queue Deconstructor behavior.

EDIT: Tl;dr do not use this. It works the same with just putting a behavior to wait 1 tick. Read the last entry marked "update". I'm leaving it here though for history

DSCV04Y8Tl000YnR000gcb1nh0XK1q1MKj2yOVg13YGpcf20Ugkc1uWThZ00UuuY000YGR0BLxMu20HOnj21cbJo053blt1veKLE23ezWG3HEwmu21Ns1L0aqewP20Fkl425rqeu32zenH20BtoG2edT7t23vFVQ20Bu4X25sz0H1UkA8B1rCE1l271KJE289E1621cisB00RtDtM

So what this does:

Stores target to parameter 1
If it's a building, wait
Otherwise continue

Why? I know I can get component register 1 and therefore know what it's targetting. However this requires the program to first run that command and get that register, which means that before it has the time to do that, it will queue all "goto" commands.

However, storing it to parameter 1 is immediate. Also, I tried waiting just 1 tick, but the same thing happens, it's too fast and it just goes to the last item in the queue.

So I tested this with the game paused, queued all walls I wanted to deconstruct, and it did the thing. I don't know if it works with a large number, and it *only* works with buildings. I could add another check for units or solvables, however this would mean extra commands to run, therefore more time for things to go wrong. So I kept it at this, and I'll just use this for walls and turrets.

UPDATE: So it works, but it has to be a specific building type in the queue. So only use it for walls. I'll check if it works with multiple turrets too. But I'm guessing it has to be the same type.

UPDATE2: Lol, it only works with walls. Still, a small win. I'll check if I can set P2 somehow to also target turrets.

UPDATE3: Yeah, this is because turrets and stuff like that are considered "units" and not buildings... If I set it to filter units, then it works with turrets too.

UPDATE4: Lmfao, none of this matters. Just put a behavior to "wait 1 tick". That's all it needs. Then it will queue everything. Fml man this game xDD
Last edited by MAKAIROSI; Aug 28, 2023 @ 9:24am
Zaflis Aug 28, 2023 @ 9:36am 
Originally posted by MAKAIROSI:
Originally posted by Zaflis:
Basically the behavior will normally be disabled. When you click Play it will scan around it in some radius you give it, say 8 tiles and if they are walls it goes and deconstructs them. When it's done with the scan it will stop the script and you can move it to a new location.

Bonus points if you give it colored lamp that shows red while it's working and green when done ;)

Afaik, when the bot moves to deconstruct the wall, it will scan a new "wall", so in the end it will deconstruct your entire base of walls lol.
I'm assuming it builds an array at the beginning of the loop behavior. It's not recursive and you should shutdown behavior after parsing through the scan result list.

If it scanned again and again as it goes, you couldn't guarantee that the results are in the N radius of the scan. So i don't think it scans it more than once... I would consider it a bug if it did.
Last edited by Zaflis; Aug 28, 2023 @ 9:38am
MAKAIROSI Aug 28, 2023 @ 10:02am 
Originally posted by Zaflis:
Originally posted by MAKAIROSI:


Afaik, when the bot moves to deconstruct the wall, it will scan a new "wall", so in the end it will deconstruct your entire base of walls lol.
I'm assuming it builds an array at the beginning of the loop behavior. It's not recursive and you should shutdown behavior after parsing through the scan result list.

If it scanned again and again as it goes, you couldn't guarantee that the results are in the N radius of the scan. So i don't think it scans it more than once... I would consider it a bug if it did.

Equipping a radar starts scanning continuously doesn't it?
It brings the result of the closest entity. I don't know if you're talking about something else.
MAKAIROSI Aug 28, 2023 @ 12:47pm 
Originally posted by MAKAIROSI:
Ok, I made a Queue Deconstructor behavior.

EDIT: Tl;dr do not use this. It works the same with just putting a behavior to wait 1 tick. Read the last entry marked "update". I'm leaving it here though for history

[......]

UPDATE4: Lmfao, none of this matters. Just put a behavior to "wait 1 tick". That's all it needs. Then it will queue everything. Fml man this game xDD


Ok now none of these work. I dunno wtf to do really xD I realoaded the game and it no longer works now lmfao

EDIT: And now it works again. Now it doesn't even need a behavior. Like, this is so inconsistent :s
Last edited by MAKAIROSI; Aug 28, 2023 @ 12:57pm
darkmathis Aug 28, 2023 @ 1:01pm 
Originally posted by markus:
Do walls have a "signal" register, or are walls kind of special and don't have one?
I usually set up my deconstructor to loop over signals and deconstruct everything with a "construction" signal. So I just have to select everything I want to delete and set the signal registers.
In the meantime, my deconstructor has a radar filtered to "in power grid" and "dropped item" linked to the goto register, so that it also cleans up my base

I'm guessing technically they probably do. The real problem is that the UI doesn't expose this to us, just like we don't get the registers for ruins and bug hives.

I thought I saw someone created a mod for it, but don't hold me to that.
darkmathis Aug 28, 2023 @ 1:02pm 
Originally posted by MAKAIROSI:
Originally posted by MAKAIROSI:
Ok, I made a Queue Deconstructor behavior.

EDIT: Tl;dr do not use this. It works the same with just putting a behavior to wait 1 tick. Read the last entry marked "update". I'm leaving it here though for history

[......]

UPDATE4: Lmfao, none of this matters. Just put a behavior to "wait 1 tick". That's all it needs. Then it will queue everything. Fml man this game xDD


Ok now none of these work. I dunno wtf to do really xD I realoaded the game and it no longer works now lmfao

EDIT: And now it works again. Now it doesn't even need a behavior. Like, this is so inconsistent :s

My experience with deconstruction is that while the bot is on the network and has power, it takes roughly 2 seconds (10 ticks) to complete deconstruction. If for some reason it steps out of the network, that gets modified by its efficiency, meaning it can take up to 10 full *seconds* to deconstruct something.

So plan your script around that.
MAKAIROSI Aug 28, 2023 @ 1:44pm 
So I tried making a behavior that takes in 2 sets of coordinates, top left and bot right (rectangle) and attempts to deconstruct everything inside them.

Guess what. There's no way to compare coordinates lmfao. I thought it would be something like "register 1" and "register 2". But nope.

The plan was simple. Loop entities in visible range. Get their location. Check it against Parameters 1 and 2. If it's inside the box, then check if it's a wall (let's say). If it is, deconstruct it.

Dude this could be so much simpler and even when I go about it in complicated ways, to use their toolset, it's still lacking.
Last edited by MAKAIROSI; Aug 28, 2023 @ 1:46pm
Zaflis Aug 28, 2023 @ 3:18pm 
Originally posted by MAKAIROSI:
Equipping a radar starts scanning continuously doesn't it?
It brings the result of the closest entity. I don't know if you're talking about something else.
You don't need to equip a radar. The "Loop in range" function (don't remember what it's called, but it's not same as the Radar script) can scan in max 10 tiles radius i think without radar installed. But you need to proper filter it to only deal with walls.
MAKAIROSI Aug 28, 2023 @ 3:50pm 
Originally posted by Zaflis:
Originally posted by MAKAIROSI:
Equipping a radar starts scanning continuously doesn't it?
It brings the result of the closest entity. I don't know if you're talking about something else.
You don't need to equip a radar. The "Loop in range" function (don't remember what it's called, but it's not same as the Radar script) can scan in max 10 tiles radius i think without radar installed. But you need to proper filter it to only deal with walls.

Like I said in the following comments, I did many things trying to do the "in-range" thing, but it won't compare coordinates. I want to ensure that shut-down buildings outside the "deconstruction area" aren't deconstructed. Anyway, I'm gonna wait until someone comes up with a solution to this, or the game gets updated to include this, cause it's just wasting my time at this point.
< >
Showing 1-15 of 23 comments
Per page: 1530 50

Date Posted: Aug 27, 2023 @ 7:15pm
Posts: 23