Just some general info that I've found while using H2A's Forge and Custom Games. Terms Guide: - I will be using some terms to keep things easy - SC = Spawn Channel - PC = Power Channel - CD (!/+) = Can Despawn. !/+ refers to CD False or CD True. - BC/BD = Broadcast Channel - TD = Timer/User Data - Assigned : Spawn Channel, Power Channel, and Broadcast Channel are set to -1 by default. When it is greater than -1, they are considered assigned. - Inactive : When a BD, PC, or BD are not assigned. This occurs when they are set to -1. - Scripting Object : An object that is capable of outputting to its assigned BC, changing it to a different value. - 0 & 1: This refers to the Broadcast Channel's off and on state. By default, the BC is set to 0. - 0-switch & 1-switch: Off-switches (0) and on-switches (1). - T-switch: Toggle-switches. - 0-timer & 1-timer : Off-timers (0) and on-timers (1). - 0-otimer & 1-otimer : Off-once-timers (0) and on-once-timers (1). - T-timer & T-otimer : Toggle-timer and toggle-once-timer. - CG = Custom Game Scripting General: - There are 3 classes of objects for scripting: switches, timers, and triggers. - Within the object settings (X button menu), the scripting folder has 5 settings: spawn channel, can despawn, power channel, broadcast channel, and timer/user data. Broadcast Channels: - Broadcast channels are the most important element when using scripting. Nothing can happen without them. - Broadcast channels (BCs) have two modes, on (1) and off (0). - There are 64 active channels (0-63) and a negative channel (-1). By default, BCs are set to unassigned at -1. - Unassigned (-1) BCs will not activate objects assigned to it. That specific signal is inert. - BCs act as a "power source" for the "power channels" and "spawn channels". - Only scripting objects (switches, timers, triggers) and certain gadgets have access to the BC option. - In the case of gadgets like colored lights and the Zanzibar gate, the BC option is an input, not an output. These objects will not change the BCs state, unlike scripting objects. Switches: - Switches are the first type of scripting objects and one of the easier ones to understand. - There are three types of switches: on (1), off (0), and toggle (t). - Switches can be activated by approaching them and holding the X or interact button (RB by default). - If a 1-switch is activated, it sets the BC it is assigned to to 1. If a 0-switch is activated, it sets the BC it is assigned to to 0. If a t-switch is activated, it cycles through the setting. - If a BC is already 1, 1-switches assigned to it are locked and cannot be activated. The reverse is true with 0-switches, which are disabled when the assigned BC is 0. This does not affect toggle switches which merely cycle through BC states. Spawn Channels & Can Despawn: - Spawn channels (SCs) allow players to make objects "appear out of thin air". - Can despawn (CD) has two options: false (!) by default and true (+). - If CD is true and a vehicle is connected to a BC that is currently 1, changing the BC to 0 will instantly destroy the vehicle. Likewise, setting the BC to 1 will respawn the vehicle instantly, ignoring its respawn timer. - Because BCs are 0 by default, an object with an assigned BC and CD+ will start off de-spawned. Because Forge normally spawns objects set to "Never Respawn", this might surprise you by popping up only in Custom Games (CGs). The solution will be explored later in timers. Timers + Timer/User Data: - Timers, like switches, are another type of scripting object. - There are 6 types of timers: on-timers (1-timer), off-timers (0-timer), toggle-timers (t-timer), and their "work"-once variants (X-otimers). - The timer/user data (TD) option sets how much time it takes for a timer to activate after being spawned. After the duration, the timer outputs to its BC based on its type (0,1,t). - After a timer activates, it loops back and begins its TD countdown again. - When spawned, Otimers will only output a single timer after its TD countdown ends. They will only "renew" themselves if if they are de-spawned and re-spawned. - 1-otimers can be used to "initialize" BCs at the start of a map, solving the SC problem from earlier. - 0-otimers can deactivate their own BC. This can be used for something like a switch that extends a bridge for 5 seconds and then retracts it. - Although the TD options has a maximum limit, timers can be chained together through the use of differing BCs. - Major find: timers with their TD set to 0 will output every tick. This means that they will remain on and disregard other timers and switches assigned to the same BC. If used with something like inf_flight_remove, this would let players spawn objects at specific payload points! Triggers: - Triggers are the third and final type of script objects. - Triggers are proximity detectors. There are a lot of them, but most of them are self explanatory. - There is also a destruction trigger. It detects when an object within its radius is destroyed. This can be used to detect when a bridge controller is shot and for instance. - I will update this with more information later. Due to the sheer number of objects housed within triggers, I don't think I'll list them all. - Triggers don't seem to work well in Forge. Test them in custom games. Power Channels: - Power channels (PCs) are similar to BDs, but for scripting objects. They are used to enable or disable scripting objects like timers and triggers. - For instance, if a t-switch is assigned to a BD of 5 and a t-timer's PC is set to 5, the t-switch can be used to control the timer. When the t-switch is 1, the timer will toggle its BD as normal. When the t-switch is 0, the timer will remain inactive. Object Spawning & Despawning: - When taking advantage of scripting, note that objects will not spawn if a player is in the way. Despawning however, has no such limitation. Abuse it the best you can. Custom Games: - Unless your map has all of the required objective items, certain game-types will not show up. Slayer, Juggernaut, and Infection are guaranteed to work without objectives due to their simple natures. - There are 3 custom loadout options. Maps also have their own default loadout, and the game-type can be set to follow them. Weapons: - Shotgun survivor and magnum survivor are variants with less ammo than their normal counterparts. - Both of the survivor weapons use ammo different from the normal shotgun and magnum. - Because they are functionally considered different weapons, you can have both a shotgun and a shotgun survivor in your inventory. - There is a red infected energy sword. Infection: - Vehicles and weapons can be used as the payload object (it's normally an assault bomb) for the flight game-type. - This means that you can use a gungoose as a "bomb" to "plant" in the flight zone. Alternatively, you can use an energy sword as a "key" to unlock doors. - "Destroying" a payload vehicle or weapon will cause the next one to become the payload object. In the case of a vehicle, it will act as a payload object until the destroyed parts despawn, transferring the status to a new vehicle. - Curiously, although the assault bomb spawner works flight, neither the oddball skull spawner nor the CTF flag spawner will work. - If a removable turret is set as the payload object, a curiously bug occurs. Ripping off the turret instantly respawns a new one. Unlike actual weapons, this ripped off turret will not count as a payload object. Instead, the turret will continue acting as the payload object. Through this, you can get an unlimited amount of machine gun turrets. - The order that the payload (plant) locations are selected can be chosen manually in forge. - There are 5 types of special infected including Alpha infected and normal infected.
"note that objects will not spawn if a player is in the way" Based on my experience an object will not spawn if a Spartan is within approximately 3.0 coordinate units of the said object, You should also mention that object spawning and despawning cannot be tested in forge and has to be done in a custom.
Maybe I'm being a dingus, but what is "BD"? You use it several times, and I don't see it in the terms guide, nor do I see anything in game that would be abbreviated like that.
I think he meant BC for Broadcast Channel and just kept writing BD instead. What I'm inferring from the context of actually reading what he wrote.