Jump to content
Eternal Lands Official Forums
Torg

Emote codes for the client

Recommended Posts

I'd like to see gestures used like *nod* as this is already common practice in usenet and irc. *g*

 

The emote parsing could scan local text and PMs for *[a-z_]* and play the emote if there is a match to the configured list of emotes. If there is no match like for *rollingonthefloorlaughingscaringthecat* it would just do nothing.

 

If the emote however should be treated as a command on a single line I'd suggest #nod or #bow to keep them in sync with the normal commands.

 

my 2c

Share this post


Link to post
Share on other sites
The emote parsing could scan local text and PMs for *[a-z_]* and play the emote if there is a match to the configured list of emotes. If there is no match like for *rollingonthefloorlaughingscaringthecat* it would just do nothing.

What is the point to play emotions sent in PM? Usually person you PM is not near, and will not see your smiling, nodding, waving

and whatever else. And you would look really weird playing these emotions without saying anything in local :P

Share this post


Link to post
Share on other sites

emotes are client based. Only clients that A receive the message and B are in visible range of the sender will see the emote.

Share this post


Link to post
Share on other sites
emotes are client based. Only clients that A receive the message and B are in visible range of the sender will see the emote.

 

That makes me kind of sad. Only one other person at a time can see me? Could there be a command placed in front where everyone in local can see you? Something like #local %dance?

Share this post


Link to post
Share on other sites
emotes are client based. Only clients that A receive the message and B are in visible range of the sender will see the emote.
That makes me kind of sad. Only one other person at a time can see me? Could there be a command placed in front where everyone in local can see you? Something like #local %dance?
Wouldn't a dance command (whatever the format) said in local be "seen" by the clients of everyone in the area? Why would you need a special command to send it to local?

Share this post


Link to post
Share on other sites

First up, general questions about the implementation.

 

 

The emote parsing could scan local text and PMs for *[a-z_]* and play the emote if there is a match to the configured list of emotes. If there is no match like for *rollingonthefloorlaughingscaringthecat* it would just do nothing.

This is _exactly_ how it is currently done.

 

First, can these commands be embedded in other text or must they be on a line by themselves? For example:

In the current implementation they can be embedded in text, so you can string multiples together.

 

Second, whatever the command is should be short. [shake_head] is bad, [nod] is good.

Agreed. Which is why I had the suggestion of "short-cuts" similar to the MSN (etc) clients.

 

On a different note, the server must process them first, in order to prevent someone from emote spam people.

Not necessarily. There is a que for these emote animations, similar to the actors que, which contains a maximum of 10. After that, the emotes are ignored (and an error printed to the log).

Given that it simply triggers an animation in a character I don't really see how it could translate to "emote spam".

 

Any symbols are fine by me tbh, but I think they would be easier to remember if the emote keywords were not based on a description of the emote but on a word themselves.

The actual words used are configurable in the XML file so that would be up to Roja (and could be changed locally if you wished). It is also be possible link multiple different words to the same emote if desired.

 

would its inclusion in :-) and :-( cause problems or would these be smile and frown emotes anyway

The emotes are animating the characters, not faces (at this stage). Emoting the faces would require changing the texture of actors, rather than bone positions, which is something that Labrat is looking at. It could of course be tied into this processing at a later stage if desired, but isn't exactly relevant right now.

 

Question, why is it that we can't use #?

Is it simply to prevent confusion with (regular) commands?

Yes, it is to prevent confusion with current commands, mostly from a server point of view. The idea of this was to avoid the necessity for any server modifications.

 

BTW, will emotes work while sitting with/without sitlock, standing and/or walking??

At this stage, we are trying to allow certain ones to work (like wave) to work at any time, with others (like jump) to require you to be standing. However, there isn't any processing to restrict any of these yet.

I'm waiting to see how the "wave" animation merges with standing and sitting to see if it will work.

Share this post


Link to post
Share on other sites

Secondly, the various ideas for command format

 

 

*nod

I like this, but...

I don't think that * is a good idea, because it is often used for typo correction, such as:

Which I agree with completely. So *nod is out.

 

Or, maybe we can use something similar to html/xml, such as:

Hi <bow>. How are you?

Which is more or less my suggestion [bow], but without the shift key.

 

What about the \ character:

\nod

Actually, I really like this idea. Similar to the /me format of IRC... which brings me to...

On the EL website, under the manual link, it says to emote something just add a colon (:(, is this not something we can use

This is the EL format for IRC style /me's. Basically :says hi prints Torg says hi.

 

This could be extended for emote animations, but my intention was to be able to embed them in normal local text, and to be able to string them together in a single line.

 

As for little used signs, I could suggest '¤', rarely used for anything :(

:-D

 

I'd like to see gestures used like *nod* as this is already common practice in usenet and irc. *g*

I also like this idea. It is slightly harder to process given there isn't a unique ending character, but that will just increase the number of loops for every * in every line of local text. Probably not _that_ big an issue really, but any extra looping slows down the client so I was trying to avoid it.

 

Why not simply use a dot '.' like .nod .kicks .blushes and such. Should be easy to access on every keyboard layout, or is there a keyboard layout where you need to press a modifier key to type the dot?

As mentioned, it would get mixed into normal punctuation, and I was trying to reduce amount of processing the client would do when receiving local text.

 

Or, just make it configurable, so everybody can choose his most preferred key :)

Hmmmm... interesting idea. This would be possible, but possibly a little excessive. I think people would quite easily get used to whatever was implmented given a week or two to play with it.

 

(and no, i wont suggest something like <nod>, that just causes typos IMO)

How so? I don't really get why it would cause any more typo's than normal typing... o.O

 

 

At this stage I think my preferences based on the suggestions are:

[nod] - square brackets don't require the shift key for most people, and have a closing tag which is easy and faster for processing

/nod - similar to IRC format and not easily confused with what people would ordinarily type. This would be slightly slower to process, but I guess that isn't a massive concern as it wouldn't happen too frequently (not like processing every actor multiple times a second).

Share this post


Link to post
Share on other sites

What the piping guy might mean is that on a German and possibly on other keyboards as well <>| are on the same key to the right of SHIFT-LEFT.

With [sHIFT - <] = > you could end up with typos such as <nod< >nod> >nod<.

Share this post


Link to post
Share on other sites

make a small bar with icons in the style of the quickspells so ppl can click on it, you can use a 0xff or whatever for the protocol code than.

Share this post


Link to post
Share on other sites

seen this pretty late here so dunno if its really outta time, but i dont get much why wont we just use the # for the emotes,

its easy to remember hence its beeing used allready for all the other commands we use ingame, no matter if its #jc 1, #list_guild or

whatever command we use at a moment.

 

I dont really think there is a need using one of the other kinky signs we have on our keyboard just for the emotions,

might be confusing for newcomers to remember ever sign for every action you are able to do ^^

Share this post


Link to post
Share on other sites

I personally would like something like *nod* as it looks for me good :confused: The two * also separates it from other text as well as from corrections - and if the command is one word long only it is simple to spot it in the line client is processing (and if it is not removed, it is not so much CPU cycles anyway - especially when compared to animation of anything)

 

Anyway i would like, it those emotes WILL NOT be cleaned from the text, even if client recognize and animates them as many times i (and many others) sits with console open while mixing and chatting, so i cannot actually see what other avatars are animating ...

Share this post


Link to post
Share on other sites
I'd definetly go with / then...easy to press, don't have to look at the keyboard and delay typing ;)

If "/smile" is what you type to smile and "/nod" is what you do to nod......anyone with that name or those letters as a start of their name will require more typing to send a message to and the autocomplete may get in the way to send them a message in the first place.

 

If you check against ":" starting a message from the player, you must check the whole message and not just part of it. If you check the whole message and find a match for an emote, you can do the emote. Otherwise, you will need to have it handled by the server's other functions that process messages starting with ":".

 

This is just my understanding of the situation. I hope this feedback helps.

Share this post


Link to post
Share on other sites
If "/smile" is what you type to smile and "/nod" is what you do to nod......anyone with that name or those letters as a start of their name will require more typing to send a message to and the autocomplete may get in the way to send them a message in the first place.

Oops. I completely forgot PM's. Yeah /???? is out.

 

If you check against ":" starting a message from the player, you must check the whole message and not just part of it. If you check the whole message and find a match for an emote, you can do the emote. Otherwise, you will need to have it handled by the server's other functions that process messages starting with ":".

I guess it doesn't really make a huge amount of difference the way : at the start of local text is processed differently.

 

I personally would like something like *nod* as it looks for me good :icon13: The two * also separates it from other text as well as from corrections - and if the command is one word long only it is simple to spot it in the line client is processing (and if it is not removed, it is not so much CPU cycles anyway - especially when compared to animation of anything)

I'm still a fan of starting and ending characters, it just makes parsing text much easier. Maybe this is the way to go.

 

Anyway i would like, it those emotes WILL NOT be cleaned from the text, even if client recognize and animates them as many times i (and many others) sits with console open while mixing and chatting, so i cannot actually see what other avatars are animating ...

Yeah, the emotes are not cleaned from the text for that exact reason.

Share this post


Link to post
Share on other sites
I'm still a fan of starting and ending characters, it just makes parsing text much easier. Maybe this is the way to go.

 

After re-reading this thread with brain switched on and thinking how i myself use to express emotions and actions, i would follow torg's idea with starting and ending characters.

 

So i suggest something like *kick*, *bows*, *blushes*.

 

For me, with a german qwertz keyboard, i still have to press SHIFT and + to type the *, but thats not that hard, at least, for me :icon13:

 

Are there any other keyboard layouts, where its a big problem to type a *?

 

@scorpius

# is a bad idea IMO, since # is used to identify commands in EL. So it's better not to mix up emoticons with commands.

 

And the advantage not to use emoticons just as a command, starting with # is, you can have now emoticons in a text message.

 

Like: :hails the king of dung *bows*

 

which would lead to a text message "The_Piper hails the king of dung" and the animation that the char bows.

 

If emoticons are commands, you would have to type:

 

:hails the king of dung

#bows

 

to get the same effect.

 

Somehow i think, its smarter to have it in one line, than to separate it into a text message and a command.

 

 

Piper

Edited by The_Piper

Share this post


Link to post
Share on other sites
Like: :hails the king of dung *bows*

That sounds right.

Flavor text starting with : and then *emote*.

Yes, that does indeed sound right to me.

:*nods* Good planning.

:*laughs*

Share this post


Link to post
Share on other sites

One easy way to get around this is to make it a double keystroke, like the PM reply. Then the client is ready to receive an emote command.

 

Then it is just a matter of picking a key that is easy on both azerty and qwerty type keyboards, like --, ==, or **.

 

Then you get ==yes for a nod, ==no for a head shake and ==plxfreest00f for an explosion.

Share this post


Link to post
Share on other sites

I think there should be a # command to do emotes but you can is it at the tail of the current : emote command.

 

Example:

 

#emote flip

(char does a back flip)

 

:does a back flip. #emote flip

("Nintenduh does a back flip." is posted into local chat and the char does a back flip :) )

Share this post


Link to post
Share on other sites
:does a back flip. #emote flip

("Nintenduh does a back flip." is posted into local chat and the char does a back flip :) )

 

Whats the advantage of that instead just

 

:does a back flip *flip*

 

Just more typing IMO.

 

Piper

Share this post


Link to post
Share on other sites

Also remember that I'm trying to avoid any interaction from the server, simply using the existing local chat. Any characters currently processed by the server (#, /, @, etc) would require the server to parse the message to check if it is a command or otherwise.

 

This system can (and does) work perfectly happily without any changes to the server, and can even be updated independently of the server simply by auto-updating the xml files and animations.

Share this post


Link to post
Share on other sites
What about the \ character:

\nod

\dance

\strip_naked_and_sing_drunkenly

\macarena

\breakdance

 

There is no player with the name of nod (dance/strip_naked_and_sing_drunkenly/macarena/breakdance).

 

I'd rather see $ or %. I'm don't think that any htmlish formatting is a good idea.

 

Side note. I hope there will be an option of disabling graphical emoticons. I sincerely can't stand them (not even in IMs).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×