• I/O Systems and how to use them
    4 replies, posted
I'm a big fan of the Input/Output systems that can be found within source. It is an easy thing to learn, as long as you think logically about the puzzle. So, here is a thread deigned to help people with i/o systems, and to show off some crazy stuff. Hopefully people can get back into using this stuff instead of relying on LUA for even basic things. I/O systems run all sorts of things in maps. A door that is opened by a button is a basic i/o system. More complex i/o systems can create power generators that need to be fuelled by specific objects, or even entire gamemodes. What I have done is create a quick vmf with some common i/o systems that can be adapted to suit any needs. The first system is a door that is controlled by a button. The second is a light that turns on and off, but the skin of the light changes to suit the on/off state. The third is a system that was requested in my events manager thread. When the button is pressed, the system spawns either a shotgun or a magnum. The forth is a valve that fills or empties a pool. The file can be found here: [url]http://www.filefront.com/16570101/iotuts.rar[/url] The most important thing to remember when creating these systems is the create meaningful naming conventions. Yes, you could call one relay "bob" and another "simon", but it is a lot easier if the name matches what it does. If anyone wants me to create a system example for them, ask in here with clear steps as to what you want it to do. There are tons of tutorials out there, and examples can help, but the best stuff is the things you can create yourselves. I'll update this post every so often with new examples, including (hopefully) a tech demo of a gamemode I have been experimenting with...no lua involved. And...and old video showing what I/O can do: [media]http://www.youtube.com/watch?v=q-DNSe5_94c[/media] This is the block of i/o stuff from the thread on the events manager, the link of which can be found at the end of the quote. People are welcome to use the events manager, but i would rather not see any of the buildings found on the map in any other maps, unless permission is first asked. [quote]After an experiment with that which went horribly wrong, the experiment got shelved. However after experiments performed today a similar system was born. The Events Manager. Imagine going onto a server where there is an evil admin. He spawns explosives in your base, locks you in a room where the water is rising rapidly, and traps you inside a cave and collapses the entrance. Then you find out that this "evil admin" is just a few entities working together. GM_Phoenix is a world which will attempt to kill you. You may set up a wooden boat in the middle of a river, then find that after the signal quake the water is boiling hot and your floats are starting to catch fire. And because i am an experimentalist, this is how the setup is done: You will need the following entities: For the simple version: 1x Logic_auto 1x Logic_timer 1x env_shake 1x logic_case 16x logic_relay 1. Spawn the entities and place them on the map. I usually place the entities in the above order. 2. Name the entities. Make them meaningful names. For the tutorial i will just call them by their names. 3. Moving backwards, in the logic_case outputs, set the following: Oncase01 relay1 trigger Oncase02 relay2 trigger And so on. 4. In the logic timer, set a minimum and a maximum time, set "use random time" to "yes". In the outputs, set the following: Ontimer logic_case pickrandom ontimer env_shake startshake 5. In the logic_auto outputs, set the following onmapspawn logic_timer enable 6. On your relays attach them to explosions, killing fields or giant cannons. This method gives you 16 ways to kill someone. gm_phoenix will have 256. The Full version in gm_phoenix will use: 1x Logic_auto 1x Logic_timer 1x env_shake 17x logic_case 256x logic_relay The Events Manager: [url]http://www.filefront.com/16453427/gm_phoenix.rar/[/url] [/quote]
Or this little thing I made a long time ago: [img]http://img481.imageshack.us/img481/9022/skillzthatkill0000aa3.jpg[/img] [img]http://img441.imageshack.us/img441/2014/entetiesfj5.jpg[/img] the counter contains: 44 logic_relay 4 math_counter 5 logic_case 1 logic_timer 1 logic_auto 35 func_brush a HELL lot of outputs It's a 10 hour digital clock
For anyone who is interested in learning about i/o systems, check out my tutorials on youtube. [url]http://www.youtube.com/user/darkironphoenix?feature=mhum[/url]
@Zyx: Use custom models with skins -> much less outputs -> no relays needed for handling many outputs -> better to look at / less space wasted in Hammer. ;) Recently I created 14 different vending machines for a failed L4D2 survival map project: [media][img]http://img34.imageshack.us/img34/1808/15740492.jpg[/img][/media] You use gascans to purchase what's on the sign, to upgrade it or to gamble (either get the double amount or nothing). For my current project (an L4D2 campaign) I created moving statues: [media][img]http://img580.imageshack.us/img580/6114/78884893.jpg[/img] [img]http://img858.imageshack.us/img858/1493/88730779.jpg[/img][/media] (^ no, it won't look that bland, first the system, then the cosmetics) They move 64 units in one direction, they can be pulled or pushed and they only move within an area marked by the blue info boxes which will not be rendered ingame (so you can't push it through obstacles or pull it while being between the statue and an obstacle).
I don't get why people think the I/O system is limited. It is extremely flexible, and very, very simple as long as you think logically. I love the system myself, I can't make nice looking maps, but I can make half decent things in I/O.
Sorry, you need to Log In to post a reply to this thread.