text:
City Of Heroes/Binds/TWUFIGTB

INTRODUCTION
Welcome to the Wholly Unofficial and Fairly Incomplete Guide to /bind, an attempt to collect all the information we know about the bind command and organize it in a way that will make using it a lot easier to understand. Bind is a very powerful tool for customising the way you play your game, and while it's a little confusing to use when you first get into it, it gets easier the more you play with it.

This guide will (hopefully) make it easier for you to:

- Understand what the /bind command does - Get a solid grasp on how it works, so you can play around with it on your own, and - Immediately start using /bind to remap your keyboard and mouse in ways that the basic options in-game will now allow

This guide was written by Curveball in his spare time. It was written based on his experiments during the beta program, and based on the tests and observations of others. Corrections have been made, and hopefully other people in the community with more in-depth knowledge of /bind will make corrections as they find them.

No developer oversaw or authorised the creation of this guide, and there is always the off-chance that on any given subject I have no idea what I'm talking about.

Why this guide exists
I have been playing around with /bind since my second week of testing, and one of the things that made it difficult to figure out what to do was that all the information you need exists in multiple locations. There is a list of official keybinds, a /bind FAQ, a /bind FAQ comments thread, a list of unofficial slash commands, my own thread on binding commands to your mouse, El_Presidente's thread on creating "toggle binds," various threads on keybinds.txt files, and more. All of these threads are useful and worth reading, but it helps if you go into any one of those threads with a general knowledge of all of them. This guide is an attempt to give you a fairly basic understanding of /bind so that you can read those threads and understand what everyone is talking about.

This guide also exists because the /bind commands can make the game more accessible to people who otherwise would not be able to play it. One of the first threads that I remember following with interest on the beta testing forums was started by a man who was disabled and had limited motor functions -- he could use either the keyboard or a mouse, but not both. This is exactly the kind of situation where the /bind command can shine -- while it can't solve his problem (both the mouse and keyboard are needed in this game, and you can't do away with either) it is possible to use /bind to make the game vastly easier to play and to minimize the awkward spots.

Acknowledgements
Back in the beta testing days I searched through threads gathering all the information I could find on /bind, and I took lots of useful info from a lot of people. There are a few people, however, who I want to acknowledge specifically, either because they were developers who were very accessible and helpful when it came to talking about the subject or because they were other testers who loved playing around with this stuff and talking about it as much as I did.

poz pohsyb SaberCat Weap0nX El_Presidente Jason Brannen

and since release there have been a few others who have been invaluable resources:

Grotus Vapors

I know there are more people who should be on this list, but at the moment I can't remember any of them (and alas, I only saved two threads from the old boards). I apologize if I left you off that list, and I thank you for your help. --Curveball.

UNDERSTANDING WHAT /BIND IS
City of Heroes comes with a set of predefined in-game navigation and control commands. Pressing the W key moves your character forward, pressing the A key rotates your character to the left, pressing the D key rotates your character to the right, and so on. If you're not happy with these commands, you can open up the options panel, press the controls button, and replace some of them with key strokes our mouse button clicks of your own choosing. But you can't do this with every single key in the game. If you want more control over how the in-game commands are assigned to keys, you must use /bind.

In it's simplest form, /bind tells the game "from now on, when this button is pressed I want you to trigger that action." That action could be anything -- start a power, bring up a UI panel, send a message to another player. It's even possible to assign multiple actions to the same bind, though there are limits, and the more complex your /bind the greater a chance that something unexpected (and perhaps unwanted) will happen. That button can be almost any button on your keyboard or mouse, though again there are some limits. But essentially, /bind is telling the game that when you press the F key you want to activate the Hover power.

What /bind is not
/bind is NOT a macro language, and it cannot be used to automate your actions. In some games it is popular to write macros or shortcuts that allow you to queue up a number of attacks: for example, to start out with jab, then punch, then haymaker, and then to repeat until you no longer have a target. This is not possible using /bind, though it is possible to do some interesting things with it that come close.

There are in fact macros in the game, but they are slightly different than macros in other games. Macros will also be covered at the end of this guide, since they share many similiarities to /bind (and enough differences to make them important).

USING /BIND: THE BASICS
Before you can understand how to use /bind properly, you need to know how to use "slash commands." Slash commands are commands that you send to the game while using the chat window. /bind is a slash command, so understanding how they work in general will help you understand how to use /bind specifically.

Tangent: a brief guide to slash commands
While you are in-game, press your ENTER key. You'll see a flashing prompt in your chat window. You've probably used this any number of times to say something to other players in game, either through the local, team, broadcast or query channels. You may also know that if you append a slash ("/") to certain words they will be interpreted as in-game commands. For example, if you have ever fallen through the city and find yourself standing in the middle of a big blue void, with the ghostly image of the city hanging above your head, you might press the ENTER key and type

/stuck

and voila! You re-appear at the entrance to the zone you were just in. City of Heroes saw the slash in front of "stuck" and realized that you were sending it a command. It then looked up "stuck" and saw that it needed to return you to the proper zone, and *poof* -- it was done.

Any time you put a slash in front of text in your chat window, City of Heroes interprets the word that follows as though it were a command, whether the command exists or not. For example, /g tells CoH that all of the text following the "g" should be send to the group channel (or the team channel).

So if I typed

/g I'd really like a ham sandwich.

Anyone in my team would see the following message

I'd really like a ham sandwich.

Some commands are a little more complicated -- not only will the game need to know the general command to tell it what to do, it will need a few pointers to show it how or where to do it. For example, /t or /tell informs the game that you want to send a single character on the server a private message. But which character?

The proper way to send a tell is to type the following:

/t [character name], Hey! Want to group?

[character name] in this case represents someone's actual name. So what you have to do is use the /t commend, then enter the character's name, then use a comma to separate the instructions from the message, then type the message. So

/t Curveball, Hey! Want to group?

Would cause the message "Hey! Want to group?" to show up in my text window. Which, by the way, is not necessarily a great idea because he's not the best defender ever made. Caveat Emptor...

All this really means is that when you're using a complicated slash command you often have to be very specific in telling City of Heroes what you want to happen, and that often you have to give it that information in a very specific way. For example, if you typed

/t Curveball Hey! Want to group?

City of Heroes wouldn't know what to do. For all it knows, the character you're trying to send a message to is named "Curveball Hey! Want to group?" which is impossible, since the name field doesn't allow exclamation points or question marks. The comma after the name is very, very important, because it tells the game "I've told you who to send the message to, now I'm going to tell you the message."

Bringing the tangent back on-topic
That's all well and good, you ask, but what does that have to do with /bind? Well, two things:

- First, /bind is a slash command (as I've already said) and you need to know how slash commands work in general - Second, /bind is a slash command that can TRIGGER OTHER SLASH COMMANDS.

You'll see what I'm talking about later.

Parsing a /bind command
/bind, like /t or /tell, requires that you parse (format) your command very specifically. The basic layout of a properly constructed /bind command is

/bind [trigger] "[command]"

First you identify the slash command (/bind). Then you identify what key will start the command ([trigger]) and then you place quotes around what the /bind actually does ([command]).

Of course, none of that makes any sense unless you know what a trigger is and what a command is.

Triggers
A trigger is either a:

- single key - combination of keys - mouse click, or - key and mouse click combination

that activates the /bind command. A trigger can be pressing the e key, or clicking mouse button 1, or pressing the left shift key in combination with either the e or mouse button 1. Combinations of keys and mouse buttons allow you to map a lot of very specific commands to a limited number of keyboards, provided you can keep track of all of them in your head.

Each key has a name that /bind uses to differentiate it from other keys. The majority of the names are pretty easy to figure out -- for example, the e key is "e", and the F1 key is "F1." But because some keys on your keyboard share the same name, City of Heroes has assigned them unique, more complex names to set them apart. For example:

lshift -- the shift key on the left side of your keyboard rshift -- the shift key on the right side of your keyboard numpad1 -- the "1" key on your number pad (as opposed to the row of numbers at the top of your keyboard) lbutton -- the left mouse button on a right-handed mouse (more commonly known as mouse button 1) mbutton -- the middle button on a three-button mouse (more commonly known as mouse butotn 3, often the scroll wheel on modern mice) button4 -- usually the thumb button on modern mice

Some special keys can be used in combination with other keys and mouse buttons. These keys are called chord keys -- they do not act as triggers themselves, but can be used with trigger keys to make new triggers.

For example, suppose you've set up the e key to trigger your tanker's Temporary Invulnerability power. In this case, E is a trigger -- when you press it, it causes the Temporary Invulnerability power to activate. So the /bind command might look like

/bind e "[power activation command]"

(The specifics of the command are not important at the moment. It will be dealt with in the next section. )

The e key is very convenient to access in combat, and if you want you can combine it with a chord key in order assign another command to it. So you could have

/bind lshift+e "[another power activation command]"

which would tell the game "when the left shift chord key key is pressed, and then (while the left shift key is still pressed down) the e trigger key is pressed, execute the following command."

In the first example, pressing the e key allows you to trigger a power. In the second example, pressing the left shift key and e key together allows you to trigger another power entirely -- the shift key is essentially making the e key a completely new trigger.

When you are setting up a chord key and trigger key combination you separate them with the "+" symbol. This tells the game that you are using both keys together. /bind commands are read from left to right, so if you are using chords in a trigger you must always use the chord key FIRST. If you typed

/bind e+lshift "[another power activation command]"

the game would read it as

/bind e "[another power activation command]"

and OVERWRITE your original e binding. It does this because e is a trigger key, and cannot chord -- so it sees "oh, there's an e, I can't do anything else" and skips right to the command in quotation marks.

Commands
A command is the instructions the game follows when a trigger is pressed. Commands are usually other slash commands -- in fact, most of the time when you create a /bind you are assigning a slash command to a key or mouse button.

But what are these commands, you ask? Well there are a lot of them, and they're scattered around the forums, but the most important ones can be found in these two locations:

- APPENDIX A (which can be found at the end of this guide) provides a list of all the default keybindings -- which keys trigger which navigation and combat actions, that sort of thing - APPENDIX B (which can be found at the end of this guide) provides a list of all the slash commands that existed as of the time of the posting. It may or may not be up to date -- there may be new slash commands, and some of the listed commands may no longer work.

Putting it all together
Now that you know what triggers are, what types of things those triggers can make happen, let's look at a simple /bind command:

/bind e "powexec_name Temp Invulnerability"

This tells the game that whenever the e key is pressed, the power "Temporary Invulnerability" should activate.

Now, powexec_name is a slash command. If you were to activate Temporary Invulnerability in your chat window, you'd type

/powexec_name Temp Invulnerability

and the power would trigger (assuming you had it). By binding that command to the e key, you save a lot of time, especially in combat.

One of the things you will notice in the /bind example is that the slash command was called out without the actual "/." /bind assumes that you are going to send it a slash command, so the slash is not only unnecessary, but it will break the command.

BINDING MULTIPLE COMMANDS TO THE SAME KEY
The previous example was the simplest form of a /bind command: a key triggered a single action. Sometimes you might want to do something a little more complicated, set up a binding so that when a single key is pressed, multiple things happen simultaneously.

In keeping with our previous example, let's say that when the Temporary Invulnerability power is triggered you want to have your character say "I am invincible!" Well, that is actually two slash commands:

/powerexec_name Temp Invulnerability /local I am invincible!

To do this, you need a way to tell /bind "but wait, I want you to do something else." You do this by inserting "$$" between the two commands:

/bind e "local I am invincible!$$powerexec_name Temp Invulnerability"

"$$" can be thought of as "and then" -- you are telling the game "say 'I am invincible!' AND THEN trigger the Temporary Invulnerability power." The game will do just that -- in that order -- though it will happen so quickly it will appear to occur simultaneously.

You could do this with just about any power you want. A popular keybinding is to add a message to the taunt power, like

/bind t "local C'mere, ya pansy! Who wants some?$$powerexec_name Taunt"

You can even do this to trigger more than one power with the same key:

/bind e "powerexec_name Temp Invulnerability$$powerexec_name Hover"

This turns on the the Temporary Invulnerability power and then turns on the Hover power. (Unless Hover is already on, in which case it turns Hover off.)

Things to consider when using $$
Some developers have recommended omitting spaces between the commands that appear before and after the $$ symbols. All of the examples in this guide adhere to that "standard," but some of the examples the developers have used in various threads do not. However, placing a space between $$ and your commands can cause things to break. For example:

/bind h "powexec_name Healing Aura $$ local You are healed!"

will not work. Why? Because the /bind command is not being read as "execute 'Healing Aura'," it's being read as "execute 'Healing Aura '" -- note there is a space after Aura. Since there is no such power as Healing-space-Aura-space, nothing happens.

Strangely enough, you CAN use

/bind h "local You are healed! $$ powexec_name Healing Aura"

and it WILL work. This is because the first command is a text message, and City of Heroes doesn't care if a text message ends in an exclamation point or a space.

At any rate, I suggest leaving no spaces at all between your first command, the $$, and the second command... and third command... and fourth command... etc.

What you CANNOT do with multiple actions
The one thing you can't do when you bind multiple actions to the same key is set up a macro that will execute one attack, then a second attack, then a third attack, and so on. If you tried to do the following:

/bind 1 "powexec_name Punch$$powexec_name Jab$$powexec_name Haymaker"

then the game would immediately try to set up punch, an instant later be told to execute a jab instead, and finally be overridden a third time and be told to perform a haymaker. And the only thing it would do is perform a haymaker.

There is an intesting trick you can use to get around this to an extent -- it's covered in "Neat things you can do with /bind."

USING VARIABLES IN /BIND
Sometimes you will want to create a binding that will require the use of information that you won't necessarily have at the moment. You may not have it because you don't know it, or because that information changes, or because that information will be different depending on which character you're playing (and you want a common set of key bindings for all your characters). City of Heroes currently supports six variables that you can use as placeholders, which will be substituted with the actual information when it is available.

Five of the variables are placeholders for information about your own character:

$name -- your character's name $origin -- your character's origin $archetype -- your character's archetype $level -- your character's level $battlecry -- your character's batlecry

It is possible to supply this information yourself, but then the /bind command would be specific to that character only, and if you ever exported the key bindings and imported them into another character you would have redo those /binds. Besides, your level changes throughout the game.

With these variables, it is possible to have a /bind command like this:

/bind v "local Hello, I am $name, a level $level $origin $archetype. $battelcry"

This bind would cause whichever character you were using at the time to fill in those variables with information specific to their individual builds. If we were to use my characters, for example:

Curveball "Hello, I am Curveball, a level 10 magic defender. You have GOT to be kidding me!"

The Judge "Hello, I am Judge, a level 11 mutant tanker. You are... guilty."

Stormhaven "Hello, I am Stormhaven, a level 12 mutant defender. "

Note that if the battlecry has its own punctuation (as both Curveball's and the Judge's do) it will be included in the battlecry string (which is why I did not include any in my bind.) Stormhaven, who has not battlecry, says nothing -- but there is still a trailing space between the period at the end of the first sentence and where the battlecry would start.

The last variable is $target, which acts as a placeholder for the name of any OTHER character you are currently selecting -- what that character be another hero, a civilian, or a villian. This variable can be very useful when you want to identify whoever you've targeted.

For example, you could create a /bind command that would call out a specific villian whenever your tanker uses taunt:

/bind t "local C'mere, $target!$$powexec_name Taunt"

If you had selected a Hellion Gunner and selected the t key, your character would say "C'mere, Hellion Gunner!" and activate the Taunt power.

This can be used in benign ways as well. I recently teamed up with a character who used the teleport friend power, and had a key binding set up to inform group members when this was happening. I believe he used a key binding similiar to

/bind t "group $target, prepare to be teleported to my location.$$powexec_name Recall Friend"

This sent a message across the group channel letting everyone know that a character was about to teleported to the hero using the power, and then activated the Recall Friend power. If he had wanted the message to be more private, he could have done it this way:

/bind t "tell $target, Prepare to be teleported to my location.$$powexec_name Recall Friend"

In this example, the variable $target is actually part of the command -- remember, tell needs a character name (followed by a comma) in order to know who to send the message to.

USING /BIND WITH YOUR MOUSE
Mouse buttons are trigger keys just like your standard keyboard keys are, so you can assign /bind commands to them in pretty much the same manner.

The trigger key names for each of the mouse buttons are listed below.

lbutton -- the left mouse button on a right-handed mouse. It is usually referred to as "Mouse Button 1" when used in the context of both left and right handed mice. rbutton -- the right mouse button on a right-handed mouse. It is usually referred to as "Mouse Button 2" when used in the context of both left and right handed mice. mbutton -- the button between Mouse Button 1 and Mouse Button 2. In modern mice it usually doubles as the scroll wheel. It is usually referred to as "Mouse Button 3." button4 button5 button6 button7 button8

Buttons 4 through 8 are used to describe extra buttons your mouse may have. At present (29 March 2004) it does not seem possible to successfully use button5, button 6, button 7 or button 8 in key bindings. Button4 seems to work just fine.

lbutton/button 1
Button 1 is used in-game when you select targets (friendly, unfriendly and neutral) and click on items in the user interface (or certain objects in game). It seems to resist being overridden. You cannot, for example, attempt to REPLACE its default "click" binding with another command. Attempts to do so cause both commands to execute.

For example:

/bind lbutton "+forward"

Does not replace button 1's default functionality with "forward" -- instead, when you press down on button 1, a "click" is triggered AND your character moves forward. This could have some awkward consequences -- if your mouse was resting over a power icon in the power tray, for example, and you clicked on the button to move forward you would also click on that power.

rbutton/button 2
Button 2 is used in-game to "right click" on objects in order to see the options on their cascading menu. This is extremely important because it gives you access to the complete descriptions of powers, or the ability to trade with other characters.

Button 2 is easier to override than button 1, but it still retains the ability to pop up a right-click menu, no matter what you do to it. For example, I currently have my mouse set so that pressing button 2 puts it in a permanent mouse look mode until I hit another key to bring it out of it. If I do this when hovering over a button on the power bar, the popup menu appears even though the mouse has disappeared and there's no way to access anything on it. I have to hit the escape key to make the menu disappear before I can continue playing the game.

mbutton/button 3
Button 3 is a weird button. It seems to be permanently bound to +camrotate, which allows you to rate the camera around your character. I have been able to override this key command for short periods of time, but eventually +camrotate suddenly re-attches itself to mbutton, while retaining the functionality of whatever else is bound to it. I can't figure out exactly why this happens or why it sometimes happens immediately and why it sometimes doesn't happen for an hour.

SAVING AND LOADING YOUR KEYBINDS
If you want to save your keybindings to your hard drive, use the slash command /bind_save. This saves your keybinds in a file called keybinds.txt, located in the root directory of your c: drive.

If you want to load the keybinds.txt file, use the slash command /bind_load. As long as the keybinds.txt file is still in the root directory of your c: drive, it will load automatically.

It is possible to load other text files with keybinding commands in it simply by specifing the file name and location. The full command is

/bind_load_file [path]

So, for example,

/bind_load_file c:\coh\textfiles\judge.txt

would load the judge.txt file from the c:\coh\textfiles directory.

When a bind file is loaded using either /bind_load or /bind_load_file, the new file does not REPLACE the old file, it is MERGED with it. If a keybinding conflicts between the current file and the file being loaded, the binding in the file being loaded is used... but any key binding mentioned in the current file that is not present in the file being loaded is left alone.

Thus you can use /bind_load_file to load a keybinds file that has only two entries in it, and only those two entries will be changed. This is useful in the toggle keybindings section of the "Neat things you can do with /bind" chapter.

Understanding Keybinds.txt
The keybinds.txt file is the file that is created when you use the /bind_save slash command. It contains a list of all the triggers and commands you have defined for the character you saved it from.

This is a sample of what keybinds.txt looks like:

Q "powexec_name Hurricane" R "powexec_name Sprint" RALT "alttraysticky" RBUTTON "+forward$$+mouse_look" SHIFT+RBUTTON "+backward$$+mouse_look" ALT+RBUTTON "nop" RIGHT "+turnright"

Notice the /bind command is not used at all. All you see is the trigger and the command. If you want to make custom keybind files (that can be loaded with the slash command /bind_load_file) then you need to follow this format. Use the /bind command in the chat window, not in the keybinds.txt file.

USING "TOGGLE BINDS" (different than powexec_toggleon)
/bind is designed to tie a specific command to a specific key. The command might be fairly elaborate, involving an action, speech, a remapping of auto-attack, and a few combinations of slash commands, but each time you press the key it always invokes the same command. "One key, one command" is the way /bind was intended to work.

There is, however, a way around this.

Let's say that you want to bind some text to your character's taunt power, so that your character will actually taunt the villian when the power is activated. But you don't want to use the same text time after time after time, because you don't want your group to get annoyed. So you come up with five different taunts:

"Get over here!" "You're next." "Who wants some?" "C'mere, ya pansy." "Let's see what you've got."

These taunts will add a little variety to your character's taunting power, and because it's not the same thing over and over again may be a little tolerable for your teammates.

Now, you could go ahead and bind each taunt with your taunt power, each to a different key, but that would be wasteful. Wouldnt' it be more convenient if you hit one taunt key, and each time you did so it called up a different taunt? It is possible to configure a key to "toggle" through a set of different keybindings, but it's a little complicated. The way you do this is by constantly replacing your current keybinding with a new one, using the command /bind_load_file

a brief tangent: a recap of /bind_load_file
The /bind_load slash command tells City of Heroes to load the keybinds.txt file in the root directory of your C: drive. The /bind_load_file slash command allows you to specify the name and location of the keybinding file you want to load. Thus, I use the following commands:

/bind_load_file c:\keybinds\curveball.txt /bind_load_file c:\keybinds\stormhaven.txt /bind_load_file c:\keybinds\judge.txt

and the game would go into my c:\keybinds directory and load whatever file name I specified.

The curveball.txt, stormhaven.txt and judge.txt files have a few commands specific to those characters -- Stormhaven is a storm/electric defender, and the key I use to bring up his hurricane power is the same key I use to bring up Curveball's teleport foe power. The key I use to bring up The Judge's temporary invulnerability power is the same I use to bring up Curveball's force field power. When I create a new character that has a similar archetype to one of these, I first use /bind_load to bring in my basic command set, then I use /bind_load_file c:\keybinds\curveball.txt (or stormhaven.txt, or judge.txt) to bring in archetype-specific keybindings.

And because these files only require a few deviations from my default keybinds.txt file, I only need to include a few commands in each:

curveball.txt

e "powexec_name Personal Force Field" w "nop" q "powexec_name Teleport Foe" f "nop" t "nop"

stormhaven.txt

e "powexec_name Steamy Mist" w "powexec_name Freezing Rain" q "powexec_name Hurricane" f "powexec_name Hover" t "nop"

judge.txt

e "powexec_name Temp Invulnerability" w "nop" q "nop" f "nop" t "powexec_name Combat Jumping"

Each of these files only import five keybinds. Some of those keybinds are simply commands that overwrite what was originally there and replace it with nothing (nop) and others are specific powers.

If I wanted, in my default keybinds.txt I could create commands that automatically loaded these:

numpad1 "bind_load_file c:\keybinds\curveball.txt" numpad2 "bind_load_file c:\keybinds\stormhaven.txt" numpad3 "bind_load_file c:\keybinds\judge.txt"

then by hitting the numbers 1-3 on my number pad I could automatically load a custom bind set.

putting the tangent back on course: creating a toggle bind
To set up a key that toggles between the five taunts I listed earlier in this section, you need to create custom keybind files for each of them. These keybind files need to contain three things:

- the command to speak the taunt, - the command to activate the taunt command, and - the command to load the next taunt binding

The first thing you need to do is to create five keybind files:

taunt1.txt

taunt2.txt

taunt3.txt

taunt4.txt

taunt5.txt

In each taunt file, you need to put in the /bind command that gets executed. So each file would look like this:

--taunt1.txt-- t "local Get over here!$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt2.txt" --taunt2.txt--

t "local You're next.$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt3.txt" --taunt3.txt-- t "local Who wants some?$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt4.txt" --taunt4.txt-- t "local C'mere, ya pansy.$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt5.txt" --taunt5.txt-- t "local Let's see what you've got.$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt1.txt"

When taunt 1 is active, pressing t will cause the character to say "Get over here! and activate the taunt power. At the same time, City of Heroes loads the taunt2.txt file and (since the bind command is for the same key) overwrites the t key with the new binding. So the next time t is pressed the character says "You're next." and the taunt power is launched again -- and this time, taunt3.txt is loaded, and THAT binding replaces the current one, and so forth and so on until finally taunt5.txt rebinds the key to load taunt1.txt, and the cycle starts over again.

Because the toggle bind is only loading and replacing one keybinding at a time, the process takes place very quickly.

Now the only thing left to do is to actually bind t to the first toggle command. You can either do this manually or you can add it to your keybinds.txt file:

t "local Let's see what you've got.$$powexec_name Taunt$$bind_load_file c:\keybinds\taunt1.txt"

when you use the slash command /bind_load, then t will be bound to emulate the taunt5.txt binding, and the next time t is pressed the first taunt binding will activate.

As long as you are willing to be patient and set up your files before you get into the game, you can create toggle binds for just about everything. I was able to create a toggle bind for my mouse: pressing a key loaded one set of binds to my mouse (to put it in "movement mode") and pressing it again loaded another set of binds (to put it in "default mode").

MACROS (brief)
What do you do when you run out of keys to bind? Create icons.

By the time you've reached 40th level in City of Heroes you'll have roughly 20 powers. Some of those powers will be powers you need to activate, some won't. If every single power required activation, they would take up two full trays on your power bar...

... so why are there nine trays? Why, so you can create your own icons, of course!

In City of Heroes it is possible to create your own icons on the power bar. These icons can be activated with a mouse click, or can even be bound to keys if you use the /powexec_tray slash command to identify which tray and which slot in that tray the icon is sitting. You do this by using the /macro command.

/macro is very similar to /bind -- you are, in effect, binding a command to an object. The main difference is that /bind uses objects that already exist (keys on your keyboard) as the trigger, whereas /macro creates the trigger and then associates the command to it. The trigger it creates is a new icon that sits on the first empty slot on your power bar.

The basic format for /macro is

/macro [macroname] "[command]"

It is possible to do anything with /macro that you can do with /bind. The only major difference is that instead of pressing a key to trigger the command, you click on the macro icon sitting in the power bar. You can also use any key bindings associated with the slot it is sitting in (for example, if it were in the second slot on the first tray of the power bar, you could press the 2 key to activate the macro) but you cannot bind a key directly to the macro itself.

People are often confused by /macro because it's so similar to /bind. Here's an example of macro creation to put the entire thing in context.

Let's say I want the Judge to have an emote/speech combination: I want him to perform the ThumbsUp emote and say "Good work!" But I don't want to devote a key to it -- I need my keys for combat and navigation controls -- but I decide it would be all right if I could just click on an icon in the power tray to perform that function.

I know what the /bind command would be for this:

/bind [some key] "em ThumbsUp$$local Good Work!"

For /macro, [some key] is replaced by whatever name you want to give the macro:

/macro GW "em ThumbsUp$$local Good Work!"

typing that in the command window will cause a new icon to appear in the first empty slot on the first available tray on my Power Bar... with the letters "GW" stamped on it. I can now move that icon anywhere I want to on my tray, and clicking on it will cause the Judge to stick his thumb up in the air and for him to say "Good Work!"

You can name your macro anything you like, but the icon has limited space to actually display the letters. I try to keep my macros down to one or two-letter names so they can be read clearly on my icon tray.

That is the /macro command in a nutshell. Really, that's all there is to it. /macro seems tricky because it is almost identical /bind, and the "almost" throws people. The only difference between the two is that /macro creates the object that triggers the command, and you need to tell the game what the object is named.

NEAT THINGS YOU CAN DO WITH /BIND
This is the section that has samples of some of the fun stuff you can do with the /bind command. Most of these ideas are not my own -- they were picked up here and there from people far more ingenious than I.

Getting around the "no queued attack" rule
We've already learned that you can't actually "queue up attacks" with /bind -- but there is away to get around that limitation, to an extent. One of the participants in my "The Day I remapped my mouse with /bind" thread had an ingenious bind that did no less than SEVEN actions. The last two actions were to attack with two different ranged attacks.

How did he do it? By not really attacking the first attack -- instead, he just set it up so that attacking would be the immediate consequence of the command:

/bind numpad0 "powexec_auto Dark Blast$$powexec_name Moonbeam"

This is just the last bit of the original bind, which is much longer. When the 0 button on the number pad is pressed, Dark Blast is set up as an automatically fired power -- that is, it will fire at an enemy is selected and within range of the attack. After Dark Blast is set to auto, Moonbeam is fired. So this is what happens:

1. Dark Blast is set up as an "autofire" power. 2. Moonbeam is fired. 3. Dark Blast will fire, recharge, fire, recharge, fire, recharge, etc.

With this bind, you essentially set up two attacks, but you only specifically fire off one.

Targeting the nearest enemy
The tab key is nice for quickly moving from enemy target to enemy target, but how do you quickly attack the closest enemy to you? It's easy -- first you tell the game to target no-one at all, then you tell to to target an enemy -- it will always choose the closest one to you:

/bind space "target_enemy_near"

When you press the space bar, the game will drop any target you currently have and then target the closest enemy.

Remapping your mouse to control your movement
If you're not satisfied using your keyboard to control all your movement, you can bind navigation and movement keys to your mouse buttons. To give you greater mouse control. The following examples assume you have a four button mouse:

/bind rbutton "+forward$$+mouse_look" /bind lbutton "-mouse_look" /bind mbutton "map" /bind button4 "+up" /bind lshift+rbutton "+backward$$+mouse_look" /bind lalt+rbutton "-mouse_look"

The first button is the basic navigation command. When you click mouse button two, the mouse enters "mouse look" mode. The mouse pointer disappears when you move the mouse to the left or right, your character turns left or right. When you move your mouse up or down, your character looks up or down (and if flying, your character tilts up or down). Now every time you press down on mouse button 2 your character will move forward.

The second binding ends mouse look -- when you actually need to use your mouse to click on something, click on mouse button 1 and your pointer will reappear.

The third mouse binding causes the zone map to pop up whenever you press mouse button 3. Mouse button 3 will probably continue to stay mapped to +camrotate, so you can still use it rotate the camera around your character. It is alternately annoying and amusing to see one happen when you're only interested in the other.

The fourth mouse binding allows mouse button 4 to control when the character jumps. I find that controlling jumps with my thumb gives me a lot more control over my timing.

The fifth mouse binding acts just like the first, only instead of going forward the character moves backward. Sometimes I find I have to re-enter the first mouse binding after entering this one, because it accdentally writes over the first. Re-entering the bind usually solves the problem, but it can sometimes be problematic.

The sixth mouse binding allows me to right-click on objects with my mouse when I have the left alt key pressed down in order to bring up the popup menu.

APPENDIX A: DEFAULT KEYBOARD BINDINGS
This is the list of default keyboard bindings as of 29 March 2004.

Movement
w +forward

a +left

s +backward

d +right

q +turnleft

e +turnright

r ++autorun

f follow

space +up

x +down

View
rbutton +mouse_look

pageup +camrotate

mbutton +camrotate

pagedown camreset

b ++third

mousewheel +camdistadjust

Chat
enter "show chat$$startchat"

/ "show chat$$slashchat"

"show chat$$slashchat"

Backspace autoreply

, "show chat$$beginchat /tell $target, " (Starts /tell to target)

' quickchat /bind " start_chat$$afk 'your message here'" must include ""

Powers
z powexec_abort

1 "powexec_slot 1"

2 "powexec_slot 2"

3 "powexec_slot 3"

4 "powexec_slot 4"

5 "powexec_slot 5"

6 "powexec_slot 6"

7 "powexec_slot 7"

8 "powexec_slot 8"

9 "powexec_slot 9"

0 "powexec_slot 10"

lalt+1 "powexec_altslot 1"

lalt+2 "powexec_altslot 2"

lalt+3 "powexec_altslot 3"

lalt+4 "powexec_altslot 4"

lalt+5 "powexec_altslot 5"

lalt+6 "powexec_altslot 6"

lalt+7 "powexec_altslot 7"

lalt+8 "powexec_altslot 8"

lalt+9 "powexec_altslot 9"

lalt+0 "powexec_altslot 10"

f1 "inspexec_slot 1"

f2 "inspexec_slot 2"

f3 "inspexec_slot 3"

f4 "inspexec_slot 4"

f5 "inspexec_slot 5"

home "powexec_name Sprint"

end "powexec_name Rest"

Tray
lalt +alttray

ralt alttraysticky

= next_tray

- prev_tray

lalt+= next_tray_alt

lalt+- prev_tray_alt

lcontrol+1 "goto_tray 1"

lcontrol+2 "goto_tray 2"

lcontrol+3 "goto_tray 3"

lcontrol+4 "goto_tray 4"

lcontrol+5 "goto_tray 5"

lcontrol+6 "goto_tray 6"

lcontrol+7 "goto_tray 7"

lcontrol+8 "goto_tray 8"

lcontrol+9 "goto_tray 9"

lcontrol+0 "goto_tray 10"

Team
lshift+1 "team_select 1"

lshift+2 "team_select 2"

lshift+3 "team_select 3"

lshift+4 "team_select 4"

lshift+5 "team_select 5"

lshift+6 "team_select 6"

lshift+7 "team_select 7"

lshift+8 "team_select 8"

Windows
m "map"

n "nav"

p "powers"

\ "menu"

t "target"

c "chat"

Misc

tab toggle_enemy

lshift+tab toggle_enemy_prev

rshift+tab toggle_enemy_prev

esc unselect

sysrq screenshot

f6 "local RUN!"

f7 "say $$ emote thumbsup"

f8 "local HELP! $$ emote whistle"

f9 "local level $level $archetype$$local Looking for team"

f10 "say ATTACK! $$ emote attack"

f11 "emote hi$$local Hi, My name is $name, and I'm a $origin $archetype and a Libra. I believe in justice and long evening walks on rooftops."

A note about the "+" and "++" prefixes in some of these commands
The short explanation of the + and ++ prefixes is that they represent how persistently the command will be carried out. Most of these keybindings represent "press and fire" commands -- that is, you press down on the button and the action will be performed once, until the button is pressed again.

With a "+" prefix the command will be carried out for as long as the button is pressed down, and ceases as soon as the button is no longer being pressed. For example, the default binding for the w key is +forward. For as long as the w key is pressed down your character will continue moving forward... but as soon as the button is no longer being pressed, the character stops moving.

With a "++" prefix the command will be toggled "on" and will continue to be activated until the button is pressed again, toggling it "off." If the w key were bound to ++forward, pressing the w key once would cause the character to move forward, and that character would continue to move forward until the w key were pressed again.

Any command that has a + prefix can work with a ++ prefix, and vice versa. This can lead to some nearly redundant commands. For example, ++forward works almost the same as ++autorun -- you run until you turn the command off. However, ++autorun will be turned off if you move forward or backward, while ++forward is only turned off by moving forward.

APPENDIX B: KNOWN LIST OF SLASH COMMANDS
'''If you know any slash commands that are not listed, please add them. This list is in alphabetical order.'''

/afk [message] Marks the player as Away From Keyboard (with given message)

/alttray Toggle the secondary tray while a key is being pressed. (for keybinds)

/alttraysticky Toggle the secondary tray

/auction [message] Send message to request channel

/autoreply Start an automatic reply for client

/autorun Toggles autorun

/b [message] Send message to entire map (broadcast)

/beginchat [string] Starts chat-entry mode with given string

/bind [key] [command] Binds a key to any command in this list - 'bind m map’ will activate the Map with the ‘m’ key.

/bindlist Will list all keybinds

/bind_load Will load the c:\keybinds.txt file

/bind_load_file [file location/file name] Will load the named file from the specified location

/bind_save Will save a file in c:\, called keybinds.txt with all your current keybinds

/broadcast [message] Send message to entire map

/bug [bug subject] Report a bug. Enter a short description of any length.

/camdist [distance] Sets the distance in feet that the third person camera pulls back behind the avatar

/camdistadjust Adjusts the camera distance relative to the current camera distance. Reads mousewheel for input.

/camreset Resets the camera behind the player.

/chat Toggles the chat window

/chat_cycle Steps to the next chat channel in the list

/chat_set [channel] Sets the chat channel to the given channel. Channel is the first letter of the channel you want to be current. You can also type the whole word.

/contextmenu [slot#] Activate an context menu slot

/copychat_b Copy the last X lines from bottom chat window into the clipboard

/copychat_t Copy the last X lines from top chat window into the clipboard

/demote Demote supergroup member one rank

/disable2D Toggles UI

/e [string] Emotes a text string

/em [string] Emotes a text string

/emaildelete [message num] Delete message

/emailheaders Request email headers

/emailread [message num] Request message

/emailsend [name] [subject] [body] Send message

/emote [string] Emotes a text string. There are also animated emotes. They are listed in detail on the Emotes page

/estrange [name] Remove player from friend list

/f [message] Talk to friends

/findmember Displays a list of players in your current zone looking for a team with their name, archetype and level

/fl Display friend list

/follow Toggles follow mode

/friend [name] Add player to friend list

/friendlist Display friend list

/fullscreen Sets video mode to fullscreen

/g [message] Send message to group channel

/goto_tray [tray#] Go to specified tray number. Can also use /goto_tray_alt and /goto_tray_alt2 for your middle and top trays.

/group [message] Send message to group channel

/hide [window] Forces the named window to be hidden. (Synonym: window_hide)

/i [name] Invite player to join team

/ignore [name] Ignore User

/ignorelist Displays a list of ignored users

/inspexec_name [inspiration name] Activate an inspiration by name

/inspexec_slot [slot#] Activate an inspiration slot in the first row

/inspexec_tray [tray#] [slot#] Activate an inspiration slot in the given row and column

/inspirationslot [slot#] Activate an inspiration slot

/invite [name] Invite player to join team

/k [name] Kick player from team

/kick [name] Kick player from team

/kiosk home Pop up the kiosk info for the nearest kiosk. (Assuming you're close enough.)

/l [message] Send message to your area (same as ‘local’)

/leaveteam Leave your current team

/local [message] Send message to your area

/lookup Adjusts camera angle up

/lookdown Adjusts camera angle down

/loot Brings up interact menu

/macro [macro name] "[command]" Add a macro to first empty slot

/macroslot Add a macro to provided slot

/manage Go to the enhancement management screen

/map Toggles the map window

/maximize Maximizes window

/me [string] Emotes a text string

/menu Toggles the Menu

/namecaptain Renames the captain rank

/nameleader Renames the leader rank

/namemember Renames the member rank

/nav Toggles the navigation window

/netgraph Toggles network statistics

/next_tray Go to next tray

/next_tray_alt Go to next secondary tray

/nop No operation, does nothing (use to clear a bind from a key)

/p [name], Send a message to only one player

/popmenu [menu] Pops up the named menu at the current mouse location

/powexec_abort Cancels the auto-attack power and the queued power.

/powexec_altslot [slot#] Executes the given power slot from the alternate tray.

/powexec_auto [power name] Sets the auto-attack power to given named power (or blank to shut it off, or toggles if it's on already).

/powexec_name [power name] Executes a power with the given name.

/powexec_slot [slot#] Executes the given power slot from the current tray.

/powexec_toggleoff [power name] Toggles off a power.

/powexec_toggleon [power name] Toggles on a power.

/powexec_tray [slot#] [tray#] Executes a power in the given tray and slot.

/prev_tray Go to previous tray

/prev_tray_alt Go to previous secondary tray

/private [name], Send a message to only one player

/promote Promote supergroup member one rank

/quickchat Pops up the quickchat menu

/quit Quits game

/req [message] Send message to request channel

/request [message] Send message to request channel

/s [message] Send message to your area

/say [message] Sends the given text on the current chat channel.

/screenshot Save a .tga format screenshot

/screenshotui Toggle inclusion of UI in screenshots

/sell [message] Send message to request channel

/show [window] Forces a named window to open. (Synonym: window_show)

/sg [message] Send message to super group channel

/sg_accept Receives a supergroup accept

/sg_decline Receives a supergroup decline

/sgcreate Start a supergroup

/sgi [name] Invite player to join supergroup

/sginvite [name] Invite player to join supergroup

/sgk [name] Kick player from join supergroup

/sgkick [name] Kick player from join supergroup

/sgleave Leave your current supergroup

/sgsetcostume Sets supergroup costume parameters

/sgsetmotd Sets supergroup “Message of the Day”

/sgsetmotto Sets supergroup motto

/sgstats Display supergroup info in chat window

/showfps Show current frame rate

/sidekick [name] Invite player to be your sidekick

/sidekick_accept Accept an invitation to be a sidekick

/sidekick_decline Decline an invitation to be a sidekick

/sk [name] Invite player to be your sidekick

/slashchat Starts chat-entry mode with slash

/startchat Starts chat-entry mode

/stuck Tries to get a player unstuck

/supergroup [message] Send message to super group channel

/t [name],[message] Send a message to only one player

/target Toggles the target window

/target_enemy_far Target farthest enemy

/target_enemy_near Target nearest enemy

/target_enemy_next Target next farther enemy from your current target (wraps)

/target_enemy_prev Target next nearer enemy from your current target (wraps)

/target_friend_far Target farthest friend. A friend is any friendly player or pet, not just teammates.

/target_friend_near Target nearest friend

/Target_friend_next Target next farther friend from your current target (wraps)

/target_friend_prev Target next nearer friend from your current target (wraps)

/team [message] Send message to group channel

/team_accept Receives a team accept

/team_decline Receives a team decline

/team_select [member#] Select specified Team member. Example: /team_select 7 would select the 7th team member. This will not allow you to select yourself.

/tell [name], [message] Send a message to only one player

/third Toggles first/third person view

/toggle [window] Show a window if hidden, hide a window if shown. (Synonym: window_toggle)

/toggle_enemy Cycles through targetable enemies

/toggle_enemy_prev Cycles through targetable enemies (in reverse, wraps)

/trade [name] Invite player to trade

/trade_accept Receives a trade accept

/trade_decline Receives a trade decline

/tray Toggles the tray window

/unfriend [name] Remove player from friend list

/unignore [name] Unignore User

/unselect Unselects currently selected thing

/unsidekick No longer mentor (or be a sidekick)

/unsk No longer mentor (or be a sidekick)

/whisper [name], [message] Send a message to only one player

/whoall Print who's on this map

/window_color Changes the window colors

/window_hide [window] Forces the given window to be hidden. (Synonym: hide)

/window_resetall Resets all window locations, sizes, and visibility to their defaults.

/window_show [window] Forces the given window to be shown. (Synonym: show)

/window_toggle [window] Show a window if hidden, hide a window if shown. (Synonym: toggle)

/windowcolor Changes the window colors

/y [message] Send message to entire map

/yell [message] Send message to entire map

/zoomin Adjusts the camera distance relative to the current camera distance

/zoomout Adjusts the camera distance relative to the current camera distance

Custom Chat Bubbles
<> commands can be used with any chat channel prefix (/page, /tell, /whisper, /request, /auction, etc.)

/say Sets the background color of the chat balloon for that message only. Color can use html colors like #FF0000 or html color names like Papaya Whip.

/say Sets the balloon color for that message only

/say Sets the text color for that message only

/say Sets the size of the text in the chat balloon for that message only. The number must be between .6 and 1.25

APPENDIX C: NAMED KEYS
This Appendix contains a list of all the known "named keys" that can be used with the /bind command. A "named key" is a key that you must identify with a name rather than with a symbol: for example, the left shift is called "lshift" when using it with /bind.

These keys are fairly self-explanatory:

numlock

pageup

pagedown

insert

delete

home

end

backspace

tab

esc

F1-F12

These keys are a bit more obscure:

capital (The Caps Lock key)

scroll (The Scroll Lock key)

tilde (The "`" and "~" key, on the numbers row of your keyboard -- usually)

up (up arrow)

down (down arrow)

left (left arrow)

right (right arrow)

Chord Keys

lshift/rshift (left and right shift keys)

lcontrol/rcontrol (left and right control keys)

lalt/ralt (left and right alt keys)

Fn (on laptops, this is the key that accesses "special laptop commands" on your keyboard. It acts as a chord key)

Mouse Keys

lbutton

rbutton

mbutton

button4

button5

button6

button7

button8

Keypad Keys

numpad0

numpad1

numpad2

numpad3

numpad4

numpad5

numpad6

numpad7

numpad8

numpad9

add

divide

multiply

subtract

Joystick Keys
NOTE: These commands seem to work erratically at best.

Joypad Names

joypad_up

joypad_down

joypad_left

joypad_right

Joystick Buttons

joy1

joy2

joy3

joy4

joy5

joy6

joy7

joy8

joy9

joy10

joy11

joy12

joy13

joy14

joy15

joy16

joy17

joy18

joy19

joy20

joy21

joy22

joy23

joy24

joy25

X/Y Axis Joystick Controls

joystick1_up

joystick1_down

joystick1_left

joystick1_right

Z/Zrot controls

joystick2_up

joystick2_down

joystick2_left

joystick2_right

Xrot/Yrot

joystick3_up

joystick3_down

joystick3_left

joystick3_right

Pov1-Pov3 hat

povX_up

povX_down

povX_left

povX-right

title: City Of Heroes/Binds/TWUFIGTB


text:
City Of Heroes/Binds/Multikeys

Here's one way to make multiple toggles activate with one key.

 * /bind "+ $$powexec_toggleon Combat Jumping$$powexec_toggleon Fire Shield"

What that will do is on the down press it will activate fire shield and on the release (if it's held long enough) it will activate combat jumping. You can use as many toggleons as you want, more than two will require multiple keypresses.

 * /bind "powexec_toggleon combat jumping$$powexec_toggleon fire shield$$powexec_toggleon fiery aura"

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: City Of Heroes/Binds/Multikeys


text:
City Of Heroes/Binds/Travel binds

Switch from Combat Jumping to Super Jump
/bind yourkeyhere "powexec_name Combat Jumping$$powexec_name Super Jump"

 * I rarely use this any more as I've found that I don't often need to switch between the two.

Teleport enhancer
''/bind lshift+lbutton "powexec_name Teleport"

 * This will allow you to chain teleports by holding down the left shift key and clicking with the mouse where you want to teleport to.

Ironik here with travel binds that I use. Hope they're helpful!

Notes:

 * A /bind activates the last power in the list first, so switch around to taste.

 * In order to find out the name of a power, simply mouseover the icon in your power tray. Then insert the power name you want to bind.
 * For instance, in the Hover/Fly bind below, the Kheldian powers are called "Combat Flight" and "Energy Flight."

Switch from Fly to Hover
/bind yourkeyhere "powexec_name Hover$$powexec_name Fly"

 * I use the E key because it's easily accessible in combat.
 * E's default is to turn your character to the right, so if you want to preserve that ability then you'll have to bind a different key.

 * I prefer activating Fly first so I can use it as a panic button. Up, up and away!

Auto Super Jump
/bind yourkeyhere "++up$$++autorun$$powexec_name Super Jump"

 * I use this for hands-free Super Jumping. Useful for bounding while typing.

title: City Of Heroes/Binds/Travel binds


text:
City Of Heroes/Binds/Random Phrases

Random Phrases
This bind isn't so much a bind as it is a minature progam. What it does is pretty cool in my humble little opinion. When you press the key designated in the file, any one of the many phrases that you wrote (and possibly emotes or power executions... see the guide to binds for other ideas of things that you can randomize) will come up. I'd suggest using several different sayings, as they can get annoying if repeated, the more you think you're going to use it, the more sayings you should put in there.

Ok, so now that you know what it is, here's how it looks.

You need two text files, one will be empty. For the sake of simplicity, I'll use blank.txt for the loading file and phrases.txt as the listing file. Place both of these files in the same folder, I'll use C:/cohbinds

The batch file should look like this;

=random.bat=

@ECHO OFF

 * TOP

FOR /F "DELIMS=" %%i IN (phrases.txt) DO (echo %%i>blank.txt)&&SLEEP 1&&ECHO %%i

GOTO TOP

This file should be in the same folder as your two text files.

The phrases.txt is where all the magic is done. The cool thing about this setup is that you can have different emotes attached to each saying... the drawback is that you have to have a longer file... Example:

=phrases.txt=

F10 "em dance$$Local Hi!$$bind_load_file C:/cohbind/target.txt"

F10 "em wave$$Local My name is $name, who are you today?$$bind_load_file C:/cohbind/target.txt"

F10 "em shrug$$Local How are you today?$$bind_load_file C:/cohbind/target.txt"

F10 "Local S'up?$$bind_load_file C:/cohbind/target.txt"

F10 "em frustrated$$Local GRAAAAAAAAAAAAAAAAAHHHHHHHH!!!!!!!!!!!!!!!!!$$bind_load_file C:/cohbind/target.txt"

You can replace 'Local' with 'say' and it will be said in the current channel, you can use any button in the place of F10... I'm just used to F10.

blank.txt is... blank, but there has to be an empty text file by that name to start with.

Make SURE that the program is running and you type "/bind_load_file C:/cohbinds/blank.txt" (not phrases.txt, that would just mess it all up) in the game before trying this.

title: City Of Heroes/Binds/Random Phrases


text:
City Of Heroes/Badges/Exploration

Badges are separated into the zones in which they're found.

Atlas Park
Location: On top of city hall, right next to the flag. You will need super jump, hover, flight, or similar travel power to get it.
 * Freedom

Coordinates: 124.3 121.8 -641.1

Location: Talk to Henry Peter Wong, to the west of City Hall, towards the tram.
 * Hero Corps Insider

Coordinates: 283.2 16.2 -889.9

Location: Inside of City Hall, to the left of the Super Group registration desk.
 * Patriot

Coordinates: (Inside of building at: 128.6, 43.9, -601.5), 159.5 -767.7 -672.9

Location: ~200 yards NE of Chiron Medical Center. Badge is on a building ledge at tram level.
 * Silent Sentinel

Coordinates: -609.5, 70.0, -1889.7

Location: On top of the Atlas Globe. You will need a travel power to reach it.
 * Top Dog

Coordinates: 133.5, 314.0, -341.2

Location: Just east of the Steel Canyon entrance, on the "Earth is for Humans!" billboard.
 * Undefeated

Coordinates: 632.9, 84.9, 2322.8

title: City Of Heroes/Badges/Exploration


text:
City Of Heroes/Badges/Defeat

Name: Banisher Requirements: Defeat 200 Mask Spirits Villain Group: Banished Pantheon Description: You are a banisher of evil spirits. The Banished Pantheon fears your very name. Comment: You can kill any of the four Spirit Masks types (Despair, Death, etc.) for this badge.

Name: Keeper of Secrets Requirements: Defeat Adamastor Villain Group: Banished Pantheon Description: You have defeated the demon Adamastor, brought forth by the Banished Pantheon to destroy the world. Comment: Adamastor is found in Dark Astoria.

Name: Illusionist Requirements: Defeat 200 Summoned Illusionists Villain Group: Carnival of Shadows Description: You have learned enough from fighting the Illusionists of the Carnival of Shadows, to know the real from the fake. Comment: Only the summoned Illusionists (by Master Illusionists) count towards this badge.

Name: Demon Slayer Requirements: Defeat Baphomet Villain Group: Circle of Thorns Description: You have defeated Baphomet, an evil spirit summoned by the upper echelon of the Circle of Thorns to destroy Paragon City. Comment: Baphomet is an Arch-Villain in a portal missions and can also be found in Faathim the Kind's Task Force.

title: City Of Heroes/Badges/Defeat


text:
City Of Heroes/Badges/History

Academic

 * You have learned the history of the successful takeover of Washington, D.C. by Nemesis.

 * Academic Plaque 1 - Peregrine Island -1905.0, 5, -7229, 158 yds. NW of Cutlass Isles marker, west side of large support column.

 * Academic Plaque 2 - Rikti Crash Site, 2002, 128, -7041, 260 yds. SW of NE corner, NW side of destroyed building on exterior wall, about 10' off the ground

 * Academic Plaque 3 - Abandoned Sewer Network, 465, -576, -1558, 554 yds. NWW of Boomtown Sector marker in room which connects Steel Canyon, Boomtown and Underworld sectors on wall to left of Steel Canyon sector entrance

Alumnus

 * Alumnus Plaque 1 - Atlas Park
 * Alumnus Plaque 2 - Croatoa
 * Alumnus Plaque 3 - Croatoa
 * Alumnus Plaque 4 - Croatoa
 * Alumnus Plaque 5 - Croatoa

Authority

 * You have learned the history of Freedom Phalanx.

 * Authority Plaque 1 - Independence Port
 * 179 yards south of Valor Bridge marker.
 * Authority Plaque 2 - Independence Port
 * 430 yards west of the Kings Row entrance near the water on a raised overpass.
 * Authority Plaque 3 - Talos Island
 * By Talos’s foot (at the Talos statue).
 * Authority Plaque 4 - Dark Astoria
 * 183 yards SE of Toffet Terrace marker to the left of the bottom of a short stairwell. The marker faces east.
 * Authority Plaque 5 - Terra Volta
 * 300 yards East of Terra Volta Reactor. It is at the base of the ledge facing east.

Digger

 * You have learned the history behind the Hollowing.

 * Digger Plaque 1 - Atlas Park
 * Digger Plaque 2 - The Hollows
 * Digger Plaque 3 - The Hollows
 * Digger Plaque 4 - The Hollows
 * Digger Plaque 5 - The Hollows

Disciple

 * You have learned the history behind the founding of Hero Corps.

 * Disciple Plaque 1 - Steel Canyon
 * Disciple Plaque 2 - Skyway City
 * Disciple Plaque 3 - Boomtown
 * Disciple Plaque 4 - Boomtown
 * Disciple Plaque 5 - Boomtown
 * Disciple Plaque 6 - Faultline
 * Disciple Plaque 7 - Faultline

Expert

 * You have learned the history of the Might for Right Act.

 * Expert Plaque 1 - Atlas Park
 * Expert Plaque 2 - Galaxy City
 * Expert Plaque 3 - Galaxy City
 * Expert Plaque 4 - Perez Park

Ghost Hunter

 * You have learned the rumors behind the fabled Ghost Ship.

 * Ghost Hunter Plaque 1 - Talos Island
 * Ghost Hunter Plaque 2 - Striga Isle
 * Ghost Hunter Plaque 3 - Striga Isle
 * Ghost Hunter Plaque 4 - Striga Isle
 * Ghost Hunter Plaque 5 - Striga Isle

Historian

 * You have learned the history of the U.N. Special Council on Superhuman Activities.

 * Historian Plaque 1 - Independence Port
 * Historian Plaque 2 - Talos Island
 * Historian Plaque 3 - Dark Astoria
 * Historian Plaque 4 - Terra Volta
 * Historian Plaque 5 - Terra Volta

Intellectual

 * You have learned the history of the Lost's attempt to control the minds of Paragon City's people.

 * Intellectual Plaque 1 - Atlas Park
 * Intellectual Plaque 2 - Galaxy City
 * Intellectual Plaque 3 - King's Row
 * Intellectual Plaque 4 - King's Row
 * Intellectual Plaque 5 - Perez Park
 * Intellectual Plaque 6 - King's Row

Just Said No to Superadine

 * You have learned the history of Superadine, the newest designer drug to plague Paragon City.

 * Just Said No to Superadine Plaque 1 - Steel Canyon
 * Just Said No to Superadine Plaque 2 - Steel Canyon
 * Just Said No to Superadine Plaque 3 - Skyway City
 * Just Said No to Superadine Plaque 4 - Boomtown
 * Just Said No to Superadine Plaque 5 - Faultline

Pupil

 * You have learned the history of the fallen hero Atlas.

 * Pupil Plaque 1 - Atlas Park
 * Pupil Plaque 2 - Galaxy City
 * Pupil Plaque 3 - King's Row
 * Pupil Plaque 4 - King's Row
 * Pupil Plaque 5 - Perez Park

Researcher

 * You have learned the sordid history of former mayor of Paragon City, Spanky Rabinowitz.

 * Researcher Plaque 1 - Independence Port
 * Researcher Plaque 2 - Talos Island
 * Researcher Plaque 3 - Talos Island
 * Researcher Plaque 4 - Dark Astoria
 * Researcher Plaque 5 - Dark Astoria
 * Researcher Plaque 6 - Terra Volta

Savant

 * You have learned the history of the Rikti War.

 * Savant Plaque 1 - Founder's Falls
 * Savant Plaque 2 - Crey's Folly
 * Savant Plaque 3 - Crey's Folly
 * Savant Plaque 4 - Eden
 * Savant Plaque 5 - Eden

Scholar

 * You have learned the history of the Back Alley Brawler's war on drugs in Paragon City.

 * Scholar Plaque 1 - Steel Canyon
 * Scholar Plaque 2 - Skyway City
 * Scholar Plaque 3 - Skyway City
 * Scholar Plaque 4 - Boomtown
 * Scholar Plaque 5 - Faultline

Scholastic

 * You have learned the history of Dr. Webb smashing the Dimensional Barrier.

 * Scholastic Plaque 1 - Founder's Falls
 * Scholastic Plaque 2 - Brickstown
 * Scholastic Plaque 3 - Brickstown

Student

 * You have learned the history of the Citizen Crime Fighting Act.

 * Scholar Plaque 1 - Atlas Park
 * Scholar Plaque 2 - Atlas Park
 * Scholar Plaque 3 - Galaxy City
 * Scholar Plaque 4 - Perez Park
 * Scholar Plaque 5 - Perez Park

title: City Of Heroes/Badges/History


text:
City Of Heroes/Badges/Accolade

Archmage
Effects - Eye of the Magus: Self, +Res(All but Psionics), +DEF(All but Psionics), -SPD, -Recharge, -ACC

 * Your research into the arcane, coupled with your experience in fighting magical foes, has unlocked heretofore unknown magics within you, earning you the title of Archmage. You have learned a spell of protection because of this.

 * When you activate the Eye of the Magus, you are granted a very high bonus to Defense and Damage Resistance for one minute. You can only activate the Eye of the Magus once every 25 minutes.

Requirements
Achievement:

 * Banisher

 * Illusionist

 * Soul Binder

 * Tracer

Exploration:

 * Dark Mystic

 * Faultless Mystic

 * Mystic

 * Mystic King

Awarded the Freedom Cross
Effects: None

 * Before respecification of powers: ???.
 * After respecification of powers: Repeated exposure of the energies of the Terra Volta reactor have once again affected you.

Requirements
Complete the Third Terra Volta Trial (lv44+)

Conspiracy Theorist
Effects - Crey CBX-9 Pistol: Ranged, Moderate DoT(Cold), Foe Immobilize, -SPD, -Recharge
 * You have uncovered Crey's conspiracy, one that has been choking Paragon City for years. As a souvenir you have kept a Crey pistol for your own personal use.

 * The Crey CBX-9 Pistol immobilizes your target in an icy trap. Deals some damage over time and slightly Slows the target's attack and movement speed even if they break free from the Immobilization. The Crey Cryo Pistol is extremely accurate, but it can only fire once every 25 minutes.

Requirements
Accomplishment:

 * The Doctor's Ally

Achievement:

 * Infiltrator

Exploration:

 * Bird Watcher
 * Crey Fish
 * Crey Havoc
 * Crey Watcher

Earned the Statesman Star
Effects - None

 * Before respecification of powers: Again your Terra Volta experience has altered your powers in ways no one could imagine. After respecification of powers: The power generators of the Terra Volta reactor have again had a funny interaction with your abilities.

Requirements
Complete the Second Terra Volta Trial (lv34+)

Freedom Phalanx Reserve
Effects - Freedom Phalanx Reserve: Auto, Self, +Max HP (+10%)
 * You have earned a reserve membership into Paragon City's premier Super Group: Freedom Phalanx. This privilege comes with the added perk of +10% Hit Points.

 * Earning membership into the Freedom Phalanx Reserve has granted you a permanent increase to your Max Hit Points by 10%

Requirements
Achievement:

 * Gearsmasher

 * Tank Buster

 * Unveiler

Exploration:

 * Brawler

 * Keen Sighted

 * Nimble Mynx

 * Purifier

 * Regal

 * Summoned

 * Vigorous

History:

 * Authority

Portal Jockey
Effects:

 * Portal Jockey: Auto, Self, +Max HP (5), +Max End (5)

Description:
 * As a Portal Jockey, you have been granted you a permanent increase to your Max Hit Points and Max Endurance by 5%.

Requirements
Achievement:

 * Dimensional Warder

Exploration:

 * Multidimensional

 * Shrouded

History:

 * Scholastic

Received the Stalwart Medallion
Effects - None

 * Before respecification of powers: ???. After respecification of powers: Your battle in reactor of Terra Volta altered your powers in a permanent way.

Requirements
Complete the First Terra Volta Trial (lv24+)

The Atlas Medallion
Effects - The Atlas Medallion: Auto, Self, Max END
 * Through the might of Atlas, one of the greatest heroes of Paragon City's history, you have gained +5 to your maximum Endurance total.

 * Earning The Atlas Medallion has granted you a permanent increase to your Max Endurance by 5%.

Requirements
Accomplishment:

 * Spelunker

Achievement:

 * The Silver Bullet

 * The Slayer

Exploration:

 * Top Dog

History:

 * Pupil

title: City Of Heroes/Badges/Accolade


text:
City Of Heroes/General Help/Task Forces

A Task Force is a series of missions given by a special contact which must be completed by a single team. No new members may be added to the team once the TF starts. People can quit, but once the team drops down to a single player, the task force is over. No contacts other than the special TF contact will give you missions or sell you inspirations. While the task force is going on, you can only do task force missions. You can log off, and then log back on later to complete the TF, as long as and your teammates don't actually quit from the TF. You must fall within the level range listed below to begin the task force, though you may outlevel it during the course of the TF. People can SK up to join a TF, but may not be able to enter the necessary zones. People can exemplar down to join a TF, but if they unexemplar for any reason during the TF, they are immediately booted out. Any mapserver disconnect for either of the people in the exemplaring relationship can result in being kicked from the TF. Note: villains will spawn at the highest level of the TF, without regard for the levels of the heroes in the TF. This list contains spoilers

Positron (Steel Canyon): The Rule of Three
Level Range: 10-16 Minimum Team Size: 3 Approximate Time Required: 7 hours Summary: Battle Clockwork, Vahzilok, and Circle of Thorns to thwart their efforts to damage the dam.

Synapse (Skyway): The Fall of the Clockwork King
Level Range: 15-21 Minimum Team Size: 4 Approximate Time Required: 5 hours Summary:

Sister Psyche (Independence Port): Clamor and Destruction
Level Range: 20-26 Minimum Team Size: 5 Approximate Time Required: 5 hours Summary:

Moonfire (Striga Isle): The Kheldian War
Level Range: 23-28 Minimum Team Size: 6 Approximate Time Required: 3 hours Summary:

* 1 - Defeat all vampyri in cave (Striga)

* 2 - Defeat all Wolves in Cave (Striga)

* 3 - Defeat mixed council (mosly wolves and troopers) in Council base (Striga)

* 4 - Hunt for 20 Council (Striga)

* 5 - Find and free hostage in council base, can be breezed through with Invisiblity and Teleport (Striga)

* 6 - Defeat all enemies, Look for Clues (one flashie) in Council Base (Striga)

* 7 - Take Schematics to Dr. Engles (Skyway city)

* 8 - Defeat Archon Salavatore and his men (Striga)

* 9 - Defeat 20 Council (Striga)

* 10 - Defeat Arakhn (Striga) * Arakhn has a number of annoying traits, including Instant Healing, which totally replenishes her life after about 2 minutes. So, you MUST have enough damage dealing to accomodate for this. Additionally, she's keen on stunning those adjacent to her.

Actually, if you stay out of melee range, you can avoid her AoE vampyric heal move. It has a long recharge, so then you can go beat up on her some more.

We couldn't take her out, and our attempt to complete this listing failed. Hopefully another will seize the reins and complete the guide (Wiki rocks)

 * We had more luck, beating her with 2 scrappers, an illusion / bubbler, and an emp / dark. We took out her guards, retreated, rested and buffed, then waded in. Though she kept healing (not always to full) we kept plugging. After about 5 minutes of solid thrashing she bit the dust. Everyone got an xp bonus and an SO (no badge).

Ernesto Hess (Striga)
Level Range: 25-30 Minimum Team Size: 6 Approximate Time Required: 3 hours Summary: Council Missions: * Click Glowies * Save Scientist and destroy reactor * Destroy radar stations (4 very short missions) * Scout base. * Defeat AV.

Jane Hallaway (Independence Port): Save the Terra Volta Reactor
Level Range: 24-32 Minimum Team Size: 4 Approximate Time Required: 3 hours Summary: Sky Raiders Missions: * Speak to NPC - Terra Volta * Defeat 25 Sky Raiders - Terra Volta * Defeat Sgt. Clayton + men - Talos Island * Save reactor - Terra Volta

Bastion (Talos Island): Bastion's Children
Level Range: 25-31 Minimum Team Size: 6 Approximate Time Required: 5 hours Summary:

Manticore (Brickstown): Following Countess Crey
Level Range: 30-35 Minimum Team Size: 7 Approximate Time Required: 5 hours Summary:

Captain James Harlan (Founder's Falls): Save the Terra Volta Reactor
Level Range: 34-43 Minimum Team Size: 4 Approximate Time Required: 3 hours Summary: Freakshow

Numina (Founder's Falls): Soul of the Woodsman
Level Range: 35-38 Minimum Team Size: 4 Approximate Time Required: 5 hours Summary:

Dr. Quarterfield (Fire Base Zulu): Explorers and Exploiters
Level Range: 40-44 Minimum Team Size: 8 Approximate Time Required: 12 hours! (Can be done in 7.5 hours) Summary:

Sara Moore (Cascade Archipelago/Molepoint Charlie?): The Legend of Ruladak
Level Range: 40-50 Minimum Team Size: 8 Approximate Time Required: 7 hours Summary:

Justin Augustine (The Chantry): The Saga of Faathim
Level Range: 40-50 Minimum Team Size: 8 Approximate Time Required: 4 hours Summary:

Faathim the Kind (The Chantry): The Saga of Lanaru
Level Range: 40-50 Minimum Team Size: 8, can go down to 4, but not lower unless you've beaten the Baphomet mission! Approximate Time Required: 7 hours [4.5 hours with excellent team] Missions: NOTE: You will NOT get Faathim's contact number. Ever. Missions listed below with the same number do not require returning to Faathim. * 1a) Defeat all Rularuu in first cave - Chantry vs. Rularuu  * 1b) Defeat all Rularuu in second cave - Chantry vs. Rularuu * 1c) Defeat all Rularuu in third cave - Chantry vs. Rularuu  * 2a) Anger: Defeat Malaise (AV) + 4 simultaneous glowys - Storm Palace vs. Nemesis and AV Praetorian * 2b) Malace: Defeat Mother Mayhem (AV) + 4 simultaneous glowys - Storm Palace vs. Nemesis and AV Praetorian  * 3a) Torment: Defeat Nemesis army + 4 simultaneous glowys - Storm Palace vs. Nemesis * 3b) Hatred: Defeat Nemesis army (w/ Nemesis? AV) + 4 simultaneous glowys - Storm Palace vs. Nemesis         and Rikti   * 4a) Fury: Defeat Rikti + 4 simultaneous glowys - Storm Palace vs. Rikti and Knives of Artemis * 4b) Destruction: Defeat Rikti + 4 NON-simultaneous glowys - Storm Palace vs. Rikti and Malta  * 5a) Find Key of Destruction + Kill Boss and Company - Perez Park vs. Malta, Knives (few), and CoT (named boss) * 5b) Speak with Azuria - Atlas Park  * 5c) Find Key of Madness - Talos Island vs. Malta * 5d) Speak with Azuria - Atlas Park  * 5e) Defeat Baphomet (AV) + 4 simultaneous glowys - Train vs. Circle of Thorns * 6a-g) Use keys on monuments (7 different clicks) - Storm Palace  * 6h) Defeat Lanaru the Mad (AV) - Storm Palace vs. Lanaruu and Rularuu - Very short

Major Richard Flagg (Rikti Crash Site): Save the Terra Volta Reactor
Level Range: 44-50 Minimum Team Size: 4 Approximate Time Required: 3 hours Villains: Rikti Missions: * Defeat 30 Rikti - Rikti Crash Site * Defeat all in base + Rescue scientist - Peregrine Island * Patrol 3 points - Rikti Crash Site * Defeat all in base + Seek clues (1) - Rikti Crash Site * Save reactor - Terra Volta

title: City Of Heroes/General Help/Task Forces


text:
Public Digital Backbone/1. A Silent Revolution

= 1. A Silent Revolution =

Introduction:

The digital era has ushered in a new paradigm where the flow of information, people, and money is intricately intertwined with technology. This chapter delves into the concept of the Public Digital Backbone, elucidating its significance in this interconnected world. Why to call it 'Public Digital Backbone'? Because Digital Public Infrastructure (DPI) differs from the simple provision of services via digital channels, as the crux of DPI is that it empowers others to utilize the infrastructure in their own applications. We hope the readers will have a clear understanding of what constitutes a Public Digital Backbone, its historical development, and its overarching goals in societal infrastructure.

*

In the annals of human progress, infrastructure has always played an indomitable role, connecting people, facilitating financial transactions, and disseminating information. While the 19th and 20th centuries heralded an era of physical infrastructure like railways and telecommunication, the 21st century has marked the onset of a digital renaissance: Digital Public Infrastructure (DPI).

At its essence, DPI is the digital foundation that allows for the construction and delivery of applications for public welfare. Envisioned as a multi-layered structure, it encompasses identity, payments, data management, and consent, further culminating in layers of health, education, agriculture, logistics, and many more. At its pinnacle, it supports a plethora of apps and solutions tailored for diverse needs.

Acting as the digital arteries of a nation, DPI mediates essential flows: 1. People: Digital ID systems, 2. Money: Real-time payment systems, 3. Information: Consent-based data sharing systems ensure users have control over their personal data, as seen in India's Account Aggregator built upon the Data Empowerment Protection Architecture (DEPA).

However, amidst its numerous merits, it's crucial that DPI remains guarded against pitfalls like monopolization, digital colonization, and authoritarian control. It is here that the techno-legal structure comes into play, blending technological tools and legal regulations to forge a robust infrastructure that aligns with democratic principles.

A key feature of DPI is its open architecture. This openness, integral to DPI’s DNA, comprises: Open Standards: Freely available protocols ensure DPI’s vast compatibility. Open Source Software: Providing transparency and allowing collective enhancement, ensuring DPI remains progressive. Open Data: Ensuring data availability for public benefit without compromising individual privacy. Open Governance: Ensuring DPI's transparent and accountable management.

While the value of openness is irrefutable, balancing it with privacy remains paramount. Innovations like data anonymization and privacy-preserving technologies ensure that while data remains accessible, individual privacy isn’t jeopardized.

How can the centralization of such vast amounts of data be prevented? The answer lies in a multifaceted approach. Decentralization distributes data across diverse locations. Encryption ensures data remains unintelligible to unauthorized entities.

DPI, with its transformative capabilities, is not just an evolution; it's a silent revolution. As India has demonstrated with Aadhaar, UPI, and Digi-Locker, this infrastructure has the potential to redefine public service delivery. By fostering innovation, ensuring inclusion, and empowering individuals, DPI isn’t just creating a digital commons; it’s democratizing the digital future.

The beauty of the DPI framework lies in its participatory nature. Its open-source character invites developers, policymakers, and even everyday citizens to contribute to its evolution. It's a collaborative ecosystem where public and private entities, civil societies, and individuals converge, each bringing unique perspectives and skills.

For businesses, DPI offers unprecedented opportunities. With a reliable and efficient infrastructure in place, entrepreneurs can innovate without reinventing the wheel. They can build upon existing DPI layers, focusing their energy on creating niche solutions tailored for specific community needs.


text: Category:Book:Be smart - learn mathematics!


text: Category:Book:Maths Manic!!

title: Category:Book:Maths Manic!!


text:
Wikibooks:Reading room/Archives/2023/July

Book creation
Hi I want to write my own book. I can't write it here ,so I am asking you guys,how can I write it without problems? Answer ASAP Symbol Mosieleng (discuss • contribs) 17:59, 3 July 2023 (UTC)

 * You want advice on how to write a book that has nothing to do with Wikibooks? I'm not sure that we can help here. —Justin ( koavf ) ❤T☮C☺M☯ 20:27, 3 July 2023 (UTC)

Nazi Leaders wikibook?
is this acceptable for historic reasons? Thank you. YuriSlavec (discuss • contribs) 00:34, 4 July 2023 (UTC)

 * i also have stubbed it due to criteria, thank you. YuriSlavec (discuss • contribs) 00:35, 4 July 2023 (UTC)
 * Probably fine unless it glorifies them. As a historical book it should be OK.--Xania [[Image:Flag_of_Estonia.svg|15px]] [[Image:Flag_of_Ukraine.svg|15px]] talk 01:29, 4 July 2023 (UTC)
 * Thank you very much!!! If glorifications occur, will be not allowed!!!! YuriSlavec (discuss • contribs) 01:32, 4 July 2023 (UTC)
 * Yes, anti-Semitism is not tolerated on Wikimedia. Take care while writing it. SHB2000 (discuss • contribs) 01:34, 4 July 2023 (UTC)
 * Will do! YuriSlavec (discuss • contribs) 01:35, 4 July 2023 (UTC)

Endless changes
Hi, Until yesterday, the preview followed below the source editing viewer. Today I find source editing and preview side by side in columns. =8~/ The narrow preview is unrealistically different from the view that a reader will see. Is this beneficial?

The Wikibooks home page has been rearranged since a few months back. Finding this Reading room page today required a text search. =8~/

Who has authority to make such changes? Are the changes made by paid Wikimedia staff? Are content editors consulted before the changes? If so, where?

Sorry to say, I wonder about endless complexification reducing the value of Wikimedia projects.

Regards,    ... PeterEasthope (discuss • contribs) 13:58, 1 July 2023 (UTC)

 * I don't have this issue. Are you using MonoBook? —Justin ( koavf ) ❤T☮C☺M☯ 14:37, 1 July 2023 (UTC)
 * I also haven't seen this issue—the preview is as usual, and the reading room link is easily accessible in the sidebar. I use the vector legacy skin. —Kittycataclysm (discuss • contribs) 02:24, 2 July 2023 (UTC)
 * A screenshot is at http://easthope.ca/WikibooksReadingRoomProjects.jpg. Haven't checked the skin setting for months; possibly more than a year. If there was a change, it wasn't by me. Will try to fix but this is an unwanted time-waster. Thank for replying, ... PeterEasthope (discuss • contribs) 16:21, 2 July 2023 (UTC)
 * The skin here was "Vector (2022)". Changing to "Vector legacy (2010) (default ..." gave the full edit window again. I don't understand how the two column view surfaced without my intervention. =8~/ Another setting inflicts a new feature automatically? In any case, new features shouldn't be imposed without user acceptance. =8~/

 * I don't recall a change of the interface, in years, having significant benefit. For me, most preferences are unnecessary; mostly I've left original defaults. Frivolous additions and changes waste resources and cause distraction. These concerns parallel the economic problem described by Guy Macon. When troublesome details and aspects are bad enough and a suitable alternative appears, people will begin to apply efforts elsewhere. =8~/

 * Nobody has answered my question about origin of the changes. Who instigates changes to the interface? Who implements? Will be very disappointed if I learn that people are paid to make detrimental changes. I admire the original intentions of Wikimedia but some aspects are going in the wrong direction. Regards, ... PeterEasthope (discuss • contribs) 17:50, 2 July 2023 (UTC)
 * , it's WMF staff members that do this - major changes (like the Vector updates you mentioned) are announced at Reading_room/General. The Vector updates were controversial, so the option to retain the 2010 version was provided. Leaderboard (discuss • contribs) 19:50, 2 July 2023 (UTC)
 * Can the discussion about the updates still be read? A link, please? I'm curious about the controversy. Thanks, ... PeterEasthope (discuss • contribs) 04:23, 4 July 2023 (UTC)
 * , the announcement is at Reading_room/Archives/2022/September.
 * Discussion about the redesign can be seen here (there are over 10 pages of archives) - mw:Talk:Reading/Web/Desktop_Improvements/Archive10 in particular may interest you. Leaderboard (discuss • contribs) 06:19, 4 July 2023 (UTC)

Thanks for the links. I hope changes are approved by the trustees. Not just pushed by paid staff sustaining employment. =8~/

Ten pages. Sigh. Many responses are only complaints against unfamiliar aspects. No point in adding to the racket and thank goodness the two column view is avoidable. Suffice to say, the Wikimedia environment has more than enough complexity; better to simplify than complexify. =8~) Regards, ... PeterEasthope (discuss • contribs) 14:26, 4 July 2023 (UTC)

Textbooks authorship
The authorship of any of the textbooks belongs to its creator, or is it a collective work (similar to Wikipedia)? — Виктор Пинчук (discuss • contribs) 15:52, 4 July 2023 (UTC)

 * It's a collective work. Leaderboard (discuss • contribs) 15:57, 4 July 2023 (UTC)

Yes, it's a collective work but you can find one or some writers with more contribution in each book. It's not comparable with Wikipedia articles. As I said precoiously Authorships policy is one of the biggest problems in all Wikibooks projects. --Doostdar (discuss • contribs) 21:08, 9 July 2023 (UTC)

How do I add TemplateData?
Some of the templates used on Wikibooks (Template:wp and Template:Wikipedia being the two I just ran into) have no TemplateData, which means the Visual Editor displays a really bad user interface. It also says that TemplateData can be added to the template to improve the user interface. How would I go about doing this? SupremeUmanu (discuss • contribs) 18:07, 20 July 2023 (UTC)

 * Have you seen mw:Help:TemplateData? —Justin ( koavf ) ❤T☮C☺M☯ 02:51, 21 July 2023 (UTC)

Template transclusion
Hi, How can a template from Wikipedia be inserted in a wikibook. A simple example which fails is. Thx, ... PeterEasthope (discuss • contribs) 16:11, 26 July 2023 (UTC)

 * There is no way at the moment. Wikifunctions is launching soon and that may fix this problem. Another solution is having an admin import it. A last-ditch solution is to copy and paste it from there (make sure to give attribution!), but that often fails because most templates rely on other modules and templates to work, so you need to copy all of them (which importing can do). —Justin ( koavf ) ❤T☮C☺M☯ 16:35, 26 July 2023 (UTC)
 * Thanks for the explanation. For my interests, heroic means aren't justified.

 * Another possibility might be consolidation of all projects into a single namespace. Parallel to worldwide longitude and latitude rather than coordinates peculiar to countries. Will watch for Wikifunctions. Thx, ... PeterEasthope (discuss • contribs) 16:52, 26 July 2023 (UTC)

Deploying the Phonos in-line audio player to your Wiki
!

Apologies if this message is not in your language, to your language.

This wiki will soon be able to use the inline audio player implemented by the Phonos extension. This is part of fulfilling a wishlist proposal of providing audio links that play on click.

With the inline audio player, you can add text-to-speech audio snippets to wiki pages by simply using a tag: The above tag will show the text next to a speaker icon, and clicking on it will play the audio instantly without taking you to another page. A common example where you can use this feature is in adding pronunciation to words as illustrated on the English Wiktionary below.

Could become:

The inline audio player will be available in your wiki in 2 weeks time; in the meantime, we would like you to read about the features and give us feedback or ask questions about it in this talk page.

Thank you! UOzurumba (WMF), on behalf of the Foundation's Language team

02:26, 27 July 2023 (UTC)

Is this an appropriate approach for a wikibook?
Would the wikibook described below be appropriate, as part of my project in Wikiversity that also anticipates a wikiedu.org project:

 * 1) Wikiversity: Developing a syllabus for COM 216, Digital Media & Information in Society, a for-credit course to be offered at SUNY Polytechnic Institute during the Fall 2023 semester.
 * 2) Wikiedu : Use Wikiversity syllabus to support participation by enrolled students in a wikiedu.org project that provides the background, training and support for students to revise and create Wikipedia pages.
 * 3) Wikibooks: Use Wikiversity syllabus to facilitate creating a Wikibook  class wiki book which will include "lectures" and student responses to the lectures as subpages to the book. The initial book will be the basic framework, and the completed book will include short pages developed by students (about one per week per student x 50 students...)?
 * Hello, have you read What is Wikibooks? please? According to my interpretation of our policies, I'm not sure that students papers, responses to the lectures, constitute an admissible pedagogic book. It would more belong to the Wikiversity's scope. JackPotte (discuss • contribs) 15:37, 15 July 2023 (UTC)

Two-column mode appearing randomly
Hello again, Until recently, preview was always above edit. Two-column mode seems to surface briefly and then disappear at random times. As mentioned a few weeks ago, I have the legacy vector skin. I don't recognize an explanation for two-column mode appearing. As software becomes more complex, behavior can be more difficult to understand. Illustrated by this sporadic two-column phenomenon.

I don't see a significant benefit of two-column mode to an editor. In some circumstances it may be tolerable. In others, detrimental. Why add unnecessary and bothersome features? The net effect is motivation of conscientious editors to seek other projects where efforts can be donated. Regards, ... PeterEasthope (discuss • contribs) 16:39, 26 July 2023 (UTC)


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...f5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6/4. Nxf7


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Nc3/3...Nf6


text: Talk:Chess Opening Theory/1. Nf3/1...f5/2. e4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...d6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...Nf6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...Nd4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...Bc5


text: Talk:Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6


text: Talk:Chess Opening Theory/1. e4/1...d6/2. d4/2...Nf6/3. Nc3/3...g6/4. f4/4...Bg7


text: Talk:Chess Opening Theory/1. e4/1...c5/2. b4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...d6


text: Talk:Chess Opening Theory/1. f3/1...e5/2. Kf2


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...g6/6. Be3/6...Bg7/7. f3/7...O-O/8. Qd2/8...Nc6/9. Bc4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Nf6/4. d4/4...exd4/5. O-O/5...Nxe4/6. Nc3


text: Talk:Chess Opening Theory/1. e4/1...d6/2. Nf3


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Bc5/4. b4/4...Bxb4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Bc5/4. d3/4...Nf6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...f5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...f5/4. d3


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...f5/4. exf5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bc4/3...Bc5/4. d4


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nc3


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nd2


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. e5


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...c5


text: Talk:Chess Opening Theory/1. e4/1...c6/2. d4/2...d5/3. Nd2


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...e6


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...e6/3. d4


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...e6/3. d4/3...cxd4/4. Nxd4


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...e6/3. d4/3...cxd4/4. Nxd4/4...a6/5. Nc3


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4/3...Nxe4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4/3...Nxe4/4. Qh5/4...Nd6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4/3...Nxe4/4. Qh5/4...Nd6/5. Bb3


text: Talk:Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nc3


text: Talk:Chess Opening Theory/1. d4/1...d5/2. c4/2...e6/3. Nf3


text: Talk:Chess Opening Theory/1. d4/1...d5/2. Nf3


text: Talk:Chess Opening Theory/1. d4/1...d5/2. c4/2...dxc4/3. Nf3


text: Talk:Chess Opening Theory/1. d4/1...d5/2. c4/2...dxc4/3. e4


text: Talk:Chess Opening Theory/1. d4/1...d5/2. Nc3


text: Talk:Chess Opening Theory/1. e4/1...d5/2. exd5/2...Qxd5/3. Nc3/3...Qd6


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...Nc6/3. d4/3...cxd4/4. Nxd4/4...Nf6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. d4/3...exd4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. d4/3...exd4/4. Nxd4


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d3


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nc3/3...Nf6


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nc3/3...Bb4


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Bg5/6...e6


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Bg5/6...e6/7. f4


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...g6/6. Be3


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...g6/6. Be3/6...Bg7


text: Talk:Chess Opening Theory/1. e4/1...Nc6/2. Nf3


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6/4. Nxf7/4...Kxf7


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6/4. Nf3


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...Nxe4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...b5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Ba4/4...b5/5. Bb3


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. Nf3


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4/2...b5


text: Talk:Chess Opening Theory/1. e4/1...e6/2. d4/2...d5/3. Nd2/3...c5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. f4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. f4/3...exf4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. f4/3...d5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. f4/3...d5/4. fxe5


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. f4/3...d5/4. fxe5/4...Nxe4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. c4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6/4. Nxf7/4...Kxf7/5. d4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. d4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. c4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. c4/4...Nb6


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. Bc4/2...Nxe4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. Bc4/2...Nxe4/3. Bxf7


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. Bc4/2...Nxe4/3. Bxf7/3...Kxf7


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. Bc4/2...Nxe4/3. Bxf7/3...Kxf7/4. Qh5


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. c4/4...Nb6/5. f4


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. c4/4...Nb6/5. f4/5...dxe5


text: Talk:Chess Opening Theory/1. e4/1...Nf6/2. e5/2...Nd5/3. d4/3...d6/4. c4/4...Nb6/5. exd6


text: Talk:Chess Opening Theory/1. e4/1...a6/2. Bc4


text: Talk:Chess Opening Theory/1. e4/1...a6/2. Bc4/2...b5


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4/2...b5/3. Nf3


text: Talk:Chess Opening Theory/1. e4/1...a6/2. Bc4/2...b5/3. Bxf7


text: Talk:Chess Opening Theory/1. e4/1...a6/2. Bc4/2...b5/3. Bxf7/3...Kxf7/4. Qh5


text: Talk:Chess Opening Theory/1. e4/1...a6/2. Bc4/2...b5/3. Bxf7/3...Kxf7/4. Qh5/4...g6


text: Talk:Chess Opening Theory/1. e4/1...a6/2. c4


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4/2...b5/3. Nf3/3...Bb7


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4/2...b5/3. Nf3/3...Bb7/4. Bd3


text: Talk:Chess Opening Theory/1. e4/1...a6/2. d4/2...b5/3. c4


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Bg5/6...e6/7. f4/7...Qb6/8. Qd2


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Nxe5/3...d6/4. Nxf7/4...Kxf7/5. Bc4


text: Talk:Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nc6/3. Bb5/3...a6/4. Bxc6/4...dxc6


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Bg5/6...e6/7. f4/7...b5/8. e5


text: Talk:Chess Opening Theory/1. e4/1...c5/2. Nf3/2...d6/3. d4/3...cxd4/4. Nxd4/4...Nf6/5. Nc3/5...a6/6. Bg5/6...e6/7. f4/7...b5/8. e5/8...dxe5