Boxdroppers and rapid destruction of multiple WCCs
Quote from msleeper on January 10, 2008, 9:21 pmStill easy, you'd have your math_counter start a 0 and whenever a box is destroyed have it Add 1. At whatever interval (either have a timer, or a OnHitValue in the math_counter), have it tell another entity (such as a logic_case) to create however many boxes need to be created.
Still easy, you'd have your math_counter start a 0 and whenever a box is destroyed have it Add 1. At whatever interval (either have a timer, or a OnHitValue in the math_counter), have it tell another entity (such as a logic_case) to create however many boxes need to be created.
Please do not Private Message me for assistance. Post a thread if you have questions or concerns.
If you need to contact the staff privately, contact the Global Moderators via Discord.
Quote from Hunter on January 11, 2008, 4:45 amYeah, but then you have the problem of too many boxes being dropped at once and clogging the vital apparatus vent. I forget where the link is, but I saw a YouTube video of that, and it wasn't pretty. So here's all of what you'd need to make your particular version work (pardon the pseudocode):
int NUM_BOXES; // However many cubes the player needs
math_counter counter;
logic_compare comparator(CompareValue = NUM_BOXES);
logic_relay spawn_relay, drop_relay;
trigger_multiple player_detector(Wait = 4, StartDisabled);logic_auto.OnMapSpawn = spawn_relay.Trigger;
box.OnOutOfWorld =
- counter.Subtract 1;
- spawn_relay.Trigger;counter.OutValue = comparator.SetValue;
spawn_relay.OnTrigger = comparator.Compare;
comparator.OnLessThan =
- spawn_relay.Disable;
- box_maker.ForceSpawn;
- player_detector.Enable;player_detector.OnStartTouch = drop_relay.Trigger;
drop_relay.OnTrigger =
- player_detector.Disable;
- box_dropper_cover.SetAnimation Open after 2;
- box_dropper_cover.SetAnimation Close after 4;
- counter.Add 1 after 4;
- spawn_relay.Enable after 4;
- spawn_relay.Trigger after 4;This way you only have one box in the tube at a time and everything else is as you designed it, assuming I wrote all this correctly. I don't know; it's way late, and I have no intention of firing up Hammer to test it.
Yeah, but then you have the problem of too many boxes being dropped at once and clogging the vital apparatus vent. I forget where the link is, but I saw a YouTube video of that, and it wasn't pretty. So here's all of what you'd need to make your particular version work (pardon the pseudocode):
int NUM_BOXES; // However many cubes the player needs
math_counter counter;
logic_compare comparator(CompareValue = NUM_BOXES);
logic_relay spawn_relay, drop_relay;
trigger_multiple player_detector(Wait = 4, StartDisabled);
logic_auto.OnMapSpawn = spawn_relay.Trigger;
box.OnOutOfWorld =
- counter.Subtract 1;
- spawn_relay.Trigger;
counter.OutValue = comparator.SetValue;
spawn_relay.OnTrigger = comparator.Compare;
comparator.OnLessThan =
- spawn_relay.Disable;
- box_maker.ForceSpawn;
- player_detector.Enable;
player_detector.OnStartTouch = drop_relay.Trigger;
drop_relay.OnTrigger =
- player_detector.Disable;
- box_dropper_cover.SetAnimation Open after 2;
- box_dropper_cover.SetAnimation Close after 4;
- counter.Add 1 after 4;
- spawn_relay.Enable after 4;
- spawn_relay.Trigger after 4;
This way you only have one box in the tube at a time and everything else is as you designed it, assuming I wrote all this correctly. I don't know; it's way late, and I have no intention of firing up Hammer to test it.