Got counters working pretty well and it doesn't take too many scripts, but it can use up a chunk of your power channels, depending on how high you need to count to. Here's video: http://xboxdvr.com/gamer/Yumudas Beegbut/video/15009347 ---------------------- BACKGROUND ---------------------- Basically, we're just using scripting Power Channels as digital bits that form numbers. Each bit (Power Channel) has the values 0 or 1 (Off or On). One bit lets you have those 2 values: 0,1. Every bit you add doubles the number of numbers you can represent. 2-bits gets you 4 numbers: 00, 01, 10, 11 (also known as 0, 1, 2, 3) 3-bits = 8 numbers: 0=000, 1=001, 2=010, 3=011, 4=100, 5=101, 6=110, 7=111 4-bits = 16 numbers: 0000-1111 (0-15) It can go higher, but I think 8-bits (0-255) is about the practical limit for one number The bit on the right (least significant bit) is worth 1. The second from the right is worth 2. Third = 4. They keep doubling. Add up their values to calculate their number. The bit on the far left is called the most significant bit. I'll address them by their Power Channel or their value. You can also chain groups of counters like I did in the images above -------------------- COMMON STUFF -------------------- Each of these counters uses 3-4 Power Channels to represent numbers If power channels Golf, Foxtrot & Echo (GFE) are used, they can be checked using a (Multi) Condition to see if a specific number has occurred. If you need something to happen when a counter reaches number 5, check for GFE=101. One additional PowChan is used as a Clock to drive the counter. Toggle it to increment your counter by 1. (Use Power Channels, not Messages, in Multi Conditions for now. There's a bug where changing Power Channels can trigger Message Conditions within the Multi Condition.) It only takes 4-5 scripts to handle the counters themselves, but more to actually have them do something They are set to reset back to 0 when activated after they reach their limit (overflow) Use whichever Power Channels you like... those here are just for example. -------------------- 4-bit (0-15) Counter -------------------- 5 Power Channels: Zulu (Clock), Delta (8 bit), Charlie (4 bit), Bravo (2 bit), Alpha (1 bit) 4 Scripts that toggle the next higher bit when the ones before get full: Multi:Min=1 (OnPower:zulu:Toggle) {Power:alpha:Toggle} Multi:Min=2 (OnPower:zulu:Toggle) (OnPower:alpha:On) {Power:bravo:Toggle} Multi:Min=3 (OnPower:zulu:Toggle) (OnPower:bravo:On) (OnPower:alpha:On) {Power:charlie:Toggle} Multi:Min=4 (OnPower:zulu:Toggle) (OnPower:charlie:On) (OnPower:bravo:On) (OnPower:alpha:On) {Power:delta:Toggle} -------------------- Decimal (0-9) Counter -------------------- 5 Power Channels: Zulu (Clock), Delta (8 bit), Charlie (4 bit), Bravo (2 bit), Alpha (1 bit) 5 Scripts - #1-4 toggle the next bit when full, #5 resets to 0 after 9 is reached: Multi:Min=1 (OnPower:zulu:Toggle) {Power:alpha:Toggle} Multi:Min=3 (OnPower:zulu:Toggle) (OnPower:delta:Off) (OnPower:alpha:On) {Power:bravo:Toggle} Multi:Min=3 (OnPower:zulu:Toggle) (OnPower:bravo:On) (OnPower:alpha:On) {Power:charlie:Toggle} Multi:Min=4 (OnPower:zulu:Toggle) (OnPower:charlie:On) (OnPower:bravo:On) (OnPower:alpha:On) {Power:delta:Toggle} Multi:Min=3 (OnPower:zulu:Toggle) (OnPower:delta:On) (OnPower:alpha:On) {Power:delta:Off} ----------------- Tens Minutes (0-5) Counter ----------------- 4 Power Channels: Yankee (Clock), Golf (4 bit), Foxtrot (2 bit), Echo (1 bit) 4 Scripts - #1-3 toggle the next bit when full, #4 resets to 0 after 5 is reached: Multi:Min=1 (OnPower:yankee:Toggle) {Power:echo:Toggle} Multi:Min=3 (OnPower:yankee:Toggle) (OnPower:golf:Off) (OnPower:echo:On) {Power:foxtrot:Toggle} Multi:Min=3 (OnPower:yankee:Toggle) (OnPower:foxtrot:On) (OnPower:echo:On) {Power:golf:Toggle} Multi:Min=3 (OnPower:yankee:Toggle) (OnPower:golf:On) (OnPower:echo:On) {Power:golf:Off} ---------------------- DO ACTION ---------------------- Use (Multi) Conditions to perform actions when a specific count comes up. Since the Power Channels are all switched in the same bunch (right after their Clock toggles), you can listen for all 3/4 Channels in a (Multi). Number Decal Display Example The number decals that make up the clock-looking display have a 1) {Despawn} script to make them disappear each time its Clock gets toggled and THEN a 2) {Spawn} script for when their number comes up. For testing, I highly recommend adding a third script to make them respawn before you save your map. Note that this uses many more scripts than the Counters. This first {Despawn} script uses OR logic (Minimum set to 1) to Despawn the numbers when either the Clock Channel is activated (OnPower:yankee:Toggle) or when a reset is issued (OnPower:victor:Toggle). If you want to initialize your display to 0's at any time, don't include the reset for the 0 decals. Multi:Min=1 (OnPower:yankee:Toggle) (OnPower:victor:Toggle) {Despawn} Multi:Min=3 (OnPower:golf:Onf) (OnPower:foxtrot:Onf) (OnPower:echo:Onf) {Spawn} Replace "Onf" with On or Off as appropriate. Count=5 means GFE=101 (OnOffOn), etc. Optional Respawn all with Message before saving: (OnMessage:alpha) {Spawn} That spinning wheel only adds 2 more scripts, but it's... just horrible. I'd rather a zombie eat my embarrassment cortex than let anyone find out I made that thing. Some scrolling numbers, an analog clock (Big Ben, anyone?), or a 7-segment display might work out. ---------------------- CHAINING ---------------------- The images above show a clock-looking display with 10:6:10 Counters chained to each other. To have a second counter count how many times the first counter has cycled & reset, use a script that matches the first counter's reset conditions (check for 0000) and then toggle counter 2's Clock: #1: Decimal Counter (0-9) for 1's digit on the clock, uses Zulu for its Clock #2: Tens Minutes Counter (0-5) for the 10's digit, uses Yankee for its Clock, called when counter #1 resets to DCBA=0000 Multi:Min=4 (OnPower:delta:Off) (OnPower:charlie:Off) (OnPower:bravo:Off) (OnPower:alpha:Off) {Power:yankee:Toggle} #3: Decimal Counter (0-9) for the minutes display, uses X for its Clock, called when #2 resets to GFE=000 Multi:Min=3 (OnPower:golf:Off) (OnPower:foxtrot:Off) (OnPower:echo:Off){Power:x:Toggle} Feel free to check out or copy the latest numbered "COUNTERS ##" test map on this Yumudas Beegbut xbox account. Sometimes the wheel takes off. Edit: formatting
Yeah, that's the stuff! I'm thinking of making those 7-segment LED displays out of chromas (3 horizontal lines + 4 vertical lines). Then I wanna weld them floating over some vehicles where the rider can't see but everyone else can. the starting number is random-ish and when it resets BOOM! If the vehicle {Damage Ratio} action works. Crap, I should get countdowners working too.
So colors, dashes as horizontal lines, and both bulleted AND numbered lists don't save ppl from infinite looping in gif format? Hmmm. I should prolly only post tutorials when my sanity is working some. Maybe hide some sections inside spoiler thingums? Also, shooting the grenade with the magnum (NOT THE AR!) blows it up and also increments the counter. Sometimes.