Want to turn a light on and off with the same button? Fold wings back and forth? Submerge and Surface?
This guide shows the way I know to make a toggle/switch that lets you change from one state to another at the press of a single button.
Отказ от ответственности
This is one way я know of creating a toggle/switch using ACBs. If there are alternative and/or easier ways, I haven’t been able to find them, so if you know of other/easier ways, пожалуйста, оставьте комментарий.
Flowchart
I will use the example of turning a light on and off (setting intensity to 30% и 0% соответственно).
The actual toggle itself will need at least 9 АКБС. These won’t do anything on their own, but we will get to that.
Here’s a flowchart to hopefully aid in explaining how this work.
MSwitch
MSwitch (Мастер -переключатель) is the first ACB. Triggering it is essentially the flicking of the light switch.
Replace the Prefix with something relating to the function this Toggle will affect. В нашем случае “Light MSwitch” will work. If we then use an ACB Controller we can create a button and set its Search Filter to “Light MSwitch”.
Установить на Взаимодействие unless you want it to trigger through other events. Setting it to Взаимодействие is in my experience a good way to ensure it does not trigger unless it gets executed.
Set this to 0.5 to prevent repeated activation (you might get away with setting it as low as 0.2, but I stick with 0.5).
Note that all of the other ACBs going forward will have their Condition set to Взаимодействие, so their section will only include the Состояние if there is something unique to be set there.
Affect Range depends on how far away you place the other ACBs. If you place them closer, you can reduce the Affect Range. This will prevent other nearby Toggle/Switch Circuits from being triggered by this one.
Состояние 1 & 2 (Initiators)
The next two ACBs will be beginnings of the two separate chains of ACBs that will make this toggle work. They are nearly identical in setup.
Let’s start with the Master window this time.
Name one of the two “Состояние 1 Инициатор” и другой “Состояние 2 Инициатор”. The “Инициатор” is the important part here, as the MSwitch is set up to search for that word.
Запрещать один of these two ACBs.
This is vital, as the way the Toggle works is by alternating which of these two ACBs is enabled.
- Set Target: АКБС
- Set Action: Выполнять
- Search Pattern:
- “State 1” для Состояние 1 Инициатор
- “State 2” для Состояние 2 Инициатор
Состояние 1 & 2 Действие
These two ACBs are the ones you will configure to trigger each of the two states you’re trying to toggle/switch between. So one of these will trigger the light to turn on, the other will turn it off.
То же, что и раньше, the names are identical except for the numbers. Ensure those are set correctly.
Several Options:
- Set Target to ACBs. Set Search Pattern to an ACB you want to trigger. (В нашем примере, the ACB is named “Light On” and will turn the light on when triggered by this “Состояние 1 Действие” ACB.) The advantage of this method is that this single ACB can trigger groups of others as long as they are named in such a way that the search filter can affect them.
- Or you can directly set this ACB to do the action you want it to (such as turning the light on.)
Самое главное – Что бы ни Состояние 1 Действие triggers needs to be different from Состояние 2 Действие. Например, Состояние 1 Action will turn the light ON, while State 2 Action will turn the light OFF.
Состояние 1 & 2 Disabler
These next two ACBs will disable their respective State Initiators после небольшой задержки.
Ты знаешь упражнение, change the number for State 2.
Effect Delay: Set this to 0.1s
Состояние 1 Primer
This one is triggered as part of Состояние 1. It will enable the Состояние 2 Инициатор.
Effect Delay: Set this to 0.1s
- Цель: АКБС
- Действие: Давать возможность
- Search Filter: Состояние 2 Инициатор
Состояние 2 Primer
This one is triggered as part of Состояние 2. It will enable the Состояние 1 Инициатор.
Effect Delay: Set this to 0.1s
- Цель: АКБС
- Действие: Давать возможность
- Search Filter: Состояние 1 Инициатор
My Prefab
Since this whole assembly is made up of 9 АКБС, it does take up some space. Однако, by moving the ACBs closer together and reducing the Affect Range of each block to the minimum to communicate with every required block, the assembly can fit into a 3x2x2 footprint.
Note that I used Mimics and Decorations to make the thing look a little neater.
As for using multiple Toggles, they can be placed close to each other, но for my particular Prefab Toggles need to be spaced with 1-2 blocks between them as shown below.
The footprint for my Prefab includes these boundaries. The empty spaces can overlap, but need to be clear of block from other Toggles.
Насколько я знаю, it’s not possible to share Prefabs directly, but I have uploaded my Prefab as a Vehicle to the Workshop. You can spawn it and create your own Prefab from it.
Это все, чем мы делимся сегодня для этого. Из глубин гид. Это руководство было первоначально создано и написано Lurakin. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.