This mod is based on Jooky's Chat Alias mod. It appears that Chat Alias has been abandoned and has not functioned since WoW 2.0. Chat Alias Lite does not implement all the functions of the original Chat Alias, but it does do the most important thing. It will replace strings in messages.
For users of the original Chat Alias, Chat Alias Lite does not implement the count down and repeat functions. Also, the format of the alias file has changed. If you created your own alias (either via the non-supported in-game changes or directly updating the alias.lua file), you will need to update the ChatAliasLiteAliases.lua file using the new format.
In addition to all the original aliases, I have copied all the target referencing aliases and created similiar aliases that reference your focus.
Guild and ImpInaBall aliases courtesy of Alfuin.
Compatibility with Wow Instant Messenger courtesy of Stewart of WIM's site.
Mouseover and mouseovertarget alias added at the suggesion of Alfuin.
While I have relied heavily on other's for this Addon, any issues with it are with my interpretation of the code and not the original code. Thus, any issues you have with this, should be blamed on me and not others.
For those of you who have never seen Jooky's original mod, here is what this does:
Chat Alias Lite takes an assortment of "$" prefixed keywords in the things you say (in any channel) and converts them to much more role-play appropriate values. It will replace the values in both what you say and in the target field of a "/t" command
For player, target, and focus there are keywords for:
. Name - $name, $targetname, $focusname
. Level - $level, $targetlevel, $focuslevel
. Class - $class, $targetclass, $focusclass
. Race - $race, $targetrace, $focusrace
. Faction (Horde or Alliance) - $faction, $targetfaction, $focusfaction
. Sex (male or female) - $sex, $targetsex, $focussex
In addition for the player there are keywords for:
. Health - $health, $healthmax, $healthpct, $healthpctcode (same as $healthpct with % sign)
. Mana - $mana, $manamax, $manapct, $manapctcode
. XP - $xp, $xpmax, $xppct, $xppctcode
. Location - $location (x,y coordinates), $subzone, $zone
For the target and focus various pronouns are keyworded:
In addition to the variable substitutions, it contains a few static substitutions:
$omw - "On my way..."
$pst - "Please send tell."
And to make matters a little fun it also has:
. $randomsentence - Returns a random sentence.
. $eightball - Returns a random form the classic "magic eight ball"
Several of the longer keywords also have shorter versions. Check ChatAliasAlais.lua for a complete list of all the keywords and what they are translated into. If you're unsure of what a keyword returns, you can also just say the keyword in chat and see what shows up.
Some examples:
. Resurrect macro:
/cast Ressurect (or whatever your class calls it)
/say I call upon the gods to bless the body of this $targetrace and return life to my friend, $target.
And if you're targeting a dwarf named Freddy, you'll get:
. "I call upon the gods to bless the body of this dwarf and return life to my friend, Freddy."
To send a tell to your current target simply type:
/t $t Hiya
Change Log - Chat Alias Lite
05.03.09 - Changed string detection code to allow non-alpha-numeric characters to tokens to
be replaced.
04.25.09 - Updated TOC, no changes to code
02.09.09 - Fixed duplicated mouseovername to be mouseoverclass
Fixed 2nd duplicate mouseovername to be mouseovertargetclass
Add several more shortened versions of various aliases.
01.05.09 - Added Mouseover and mouseovertarget alias for name, guild, level,
class, race, faction, sex, adjective, and pronoun
- Modified code to use optional period (".") to denote end of alias
embedded in a word, thus allowing you to "pluralize" an alias.
However, if you want to immediately follow an alias with a period,
you need to code two periods.
12.13.08 - Compatibility with Wow Instant Messenger
Fixed $sex to return male/female and not a number
New aliases: $guild, $impinaball
10.22.08 - Updated ToC for WoW 3.0 release. No code changes
08.27.08 - Updated description. No code changes
04.02.08 - Updated TOC with new WoW release. No code changes
Optional Files - Chat Alias Lite
Sorry, there are currently no optional files available.
I think I have the problem corrected. However, I don't have a non-English client so I really can not be sure. Once the next release is approved, give it a try and let me know if it corrects the problem.
Be sure to backup your ''ChatAliasLiteAliases.lua" file or don't unzip this file from the archive.
Originally posted by nania09 adding Keywords to 'ChatAliasLiteAliases.lua'
-> ["%만"]="%me가 %t님의 엉덩이를 만집니다.",
and I do the InGame input command '%만'.
but, Is not working.
Please Support Korean(Unicode) Language.
Thank you so much. Have a nice day.
Well, I've duplicated the problem. And I know why it's not working. But the fix is going to take a little bit of effort. Hopefully, I'll have something up this weekend.
While doing a quick test of the fixed $mouseoverclass, I noticed another typo. I had a $mouseoverclass that was pointing at the UnitName("mouseovertarget") function. If you haven't found that one in your copy and fixed it yet, you'll need to find and fix yourself, or download the updates (when they get approved).
Originally posted by Alfuin Nice, but you have forgotten to add these three lines in the AliasVal...
That's odd, they are in my copy and the one I just re-downloaded. And, once I re-enabled this addon for my test character, the aliases work for me. Not sure what's going on with your copy. My only suggestion is to redownload and try extracting the file again....
Quote:
Originally posted by Alfuin Also, is there a way to fix the bug I mentioned (before your quoted reply) about %target bugging?
Sorry, I thought this was just a reminder to use proper syntax. However on looking again, I see the issue and could recreate what you are seeing. This is the result of two things. The first is that "%names" is not an alias for CAL, thus the Addon isn't changing it at all. However, "%n" is a WoW built in alias for your target's name, similar to "%t". Another difference is that WoW will replace it's list of aliases wherever they appear in the message. CAL, on the other hand, requires it's aliases to be a word in the message, i.e, the alias must be surronded by non-alphanumeric characters (spaces and punctuation). This is allows CAL to automatically fix the word " teh" to be " the", but not change " Whitehouse " to "Whitheouse ".
Originally I didn't see this as a problem, but I now realize that some of the aliases could be plural (as in "Kill all $traces" should be changed to "Kill all humans"). To do this with minimal disruption to existing users, I will borrow a technique from my JCL and Assembler background. I will enable the use of an optional period to signify the end of a alias to be replaced. This means your example would need to be written as:
"/say %name likes %target.. Will %target be %name.s friend?"
To produce:
"(name) likes (target). Will (target) be (name)s friend?"
Note the period after the 1st %target and the 2nd %name is not copied to the output message. Since you actually want a period after the 1st %target, you need to have the two periods here.
This said, it's going to take me a couple of days to re-familarize myself with the internals to CAL, make the necessary changes, and debug the new code. But since I'm on vacation this week, I'm hoping it'll be done before New Year's. When I do post the udpated code, I'll also add your mouseover aliases to the aliases.
Originally posted by Jiral Sorry, but I haven't checked this in awhile. I'm glad you like the addon, even if you did find a few issues with it.
I've added you guild and Imp-in-a-Ball replacements into the alias tables. And I fixed $sex to be consistent.
I didn't remove the $gender or $eightball. But since you didn't actually use the original alias, the presence of these shouldn't affect you. Assuming that is you even update you copy, since this update is just bringing your changes into the base.
Thanks.
Nice, but you have forgotten to add these three lines in the AliasVal...
Sorry, but I haven't checked this in awhile. I'm glad you like the addon, even if you did find a few issues with it.
I've added you guild and Imp-in-a-Ball replacements into the alias tables. And I fixed $sex to be consistent.
I didn't remove the $gender or $eightball. But since you didn't actually use the original alias, the presence of these shouldn't affect you. Assuming that is you even update you copy, since this update is just bringing your changes into the base.
I noticed that when I use WoW Instant Messenger (WIM) it didn't let the aliases be handled by CAL before sending, so I contacted the guys at WIM's official site about it, and in reply one of the developers, Stewart, made a small hack of CAL. It works 100% like before, only that now it uses the right handles for sending whispers, so with this update, CAL and WIM works fine together. The file is located at http://www.stewartatkins.org/wim/ChatAliasLite.lua - but if it is taken down before you can copy it, send me a note here on WoWInt.
I noticed a small bug in the ChatAliasLiteAlias.lua file, where it would list my $sex as a number, instead of male or female as $targetsex or $focussex would. I changed it slightly (just search and replace the line starting with ["$sex"] with this):
Code:
["$sex"]='ALIASVAL = function() if (UnitSex("player")==2) then return
"male"; elseif (UnitSex("player")==3) then return "female"; end end',
Only thing I didn't like was the Eightball... it's not WoW... now, Imp in a Ball, that is WoW! Here's a few changes I made to ChatAliasLiteAliases.lua, first to the aliases for eightball:
Furthermore, I changed the Aliasval function call of eightball to:
Code:
["$impinaball"]='ALIASVAL = function() local implist = {"Hey! You try arranging furniture with some jerk shaking your house!","Hey! You try telling the future when someone'.."'"..'s shaking up your house!","Yes, now stop pestering me!","I see that happening sometime between tomorrow and the next decade. Definitely.","Be quiet '.."'"..'bout what you hear and see around here, $class.","I would bet your soul on it.","Indeeeeed!","The outlook is very bad - for YOU that is! Haha, take it!","I'.."'"..'m gonna have to give this one the big N-O.","I suppose.","Sure, but you'.."'"..'re not going to like it.","That'.."'"..'s about as likely as me getting out of this ball.","When Blackrock freezes over!","I'.."'"..'ve consulted my fellow imps, and we think YES, except for that one imp.","I can make that happen. Just sign below the dotted line...","Are you my pal, $name?","Not unless you'.."'"..'re some kind of super-person. And don'.."'"..'t kid yourself, you'.."'"..'re not.","Yes, yes, a thousand times, yes already!","My sources say '.."'".."'"..'no'.."'".."'"..'. Before the torture, that is.","Yes, but if anyone asks... It wasn'.."'"..'t me who told you.","It'.."'"..'s as sure as the warts on my backside!","Didn'.."'"..'t you already ask that once? Yes already!","Ask me again later - I'.."'"..'m trying to scratch my nose and it'.."'"..'s hard to concentrate.","Unfortunately... yes.","The odds are 32.33 (repeating of course) chance of success.","I ask myself that question every day...","Yes, but I hoped I would never have to answer that.","Please insert 25 silver pieces and try again.","What happens in the twisting nether, stays in the twisting nether.","Yes, but not in the way you imagine.","The answer is yes in here, and I don'.."'"..'t see why it would be any different out here.","Hahahahahah, you'.."'"..'re kidding right?","Yes, No, Maybe so.","4 8 15 16 23 42","It won'.."'"..'t matter, you'.."'"..'ll be dead by tomorrow.","Jump three times and dance for ten minutes and it will definitely happen!","The outlook is positive, but I'.."'"..'m still negative.","Looks good for you... and bad for me.","Three words - '.."'".."'"..'ab - so - lutely'.."'".."'"..'!", "Concentrate (on releasing me from this infernal prison) and try again later.","Yes is my answer...","It pain me to say this, but '.."'"..'Yes'.."'".."'"..'.","I don'.."'"..'t think so, boss.","Yes, unless I have anything to do with it.","I can'.."'"..'t see why not, although, I can'.."'"..'t see a lot of things right now.","Definitely.","Yes, it will rain. That'.."'"..'s not what you asked? Too bad!","Imp in a ball is ignoring you.","My fortune telling powers are immeasureable - your chances are though: NO CHANCE!","Avoid taking unnecessary gambles. Your lucky numbers are two, two and a half, and eleven-teen.","Survey says: BZZZZT!","When dwarves fly. Oh they do? Then yes.","Yes! I mean no! I mean... which answer will get me out of here?","I don'.."'"..'t have to be a fortune-telling imp to know the answer to that one - No!","Want to trade places?","You remember that time you tried to drill that hole in your head?","NO - and don'.."'"..'t try shaking me again for a better answer!","Word on the peninsula is YES!","Oh, that'.."'"..'s one for sure.","Do you ask this question to everything that'.."'"..'s trapped in a ball?","I ask myself that question everyday.","Da King! Chort ready to serve.","Are you making fun of me?","It'.."'"..'s like my mother always said: '.."'".."'"..'Razxx khaj jhashxx xashjx.'.."'".."'"..'","This was NOT in my contract!","It'.."'"..'s times like these that I wish I had a cooldown.","Wouldn'.."'"..'t you like to know?","That'.."'"..'s about as likely as me getting a date with a succubuss.","Please... is Kil'.."'"..'jaeden red?","You should be asking '.."'".."'"..'Is that rogue behind me going to kill me?'.."'".."'"..'","Yes, is my answer... NOT!","Yeah, sure. You just keep thinking that.","XRA RAHKI MAZIZRA!","What kind of imp do you think I am?","You need Arcane Intellect, because that answer is obvious! NO!","Ruk!","Inconceivable!"}; local i = table.getn(implist); return "Imp in a Ball: "..implist[random(i)]; end'
-or, in a more viewable form (don't copy this, copy the one above):
Code:
["$impinaball"]='ALIASVAL = function() local implist = {"Hey! You try
arranging furniture with some jerk shaking your house!","Hey! You try telling
the future when someone'.."'"..'s shaking up your house!","Yes, now stop
pestering me!","I see that happening sometime between tomorrow and the next
decade. Definitely.","Be quiet '.."'"..'bout what you hear and see around
here, $class.","I would bet your soul on it.","Indeeeeed!","The outlook is
very bad - for YOU that is! Haha, take it!","I'.."'"..'m gonna have to give
this one the big N-O.","I suppose.","Sure, but you'.."'"..'re not going to
like it.","That'.."'"..'s about as likely as me getting out of this
ball.","When Blackrock freezes over!","I'.."'"..'ve consulted my fellow imps,
and we think YES, except for that one imp.","I can make that happen. Just
sign below the dotted line...","Are you my pal, $name?","Not unless
you'.."'"..'re some kind of super-person. And don'.."'"..'t kid yourself,
you'.."'"..'re not.","Yes, yes, a thousand times, yes already!","My sources
say '.."'".."'"..'no'.."'".."'"..'. Before the torture, that is.","Yes, but
if anyone asks... It wasn'.."'"..'t me who told you.","It'.."'"..'s as sure
as the warts on my backside!","Didn'.."'"..'t you already ask that once? Yes
already!","Ask me again later - I'.."'"..'m trying to scratch my nose and
it'.."'"..'s hard to concentrate.","Unfortunately... yes.","The odds are
32.33 (repeating of course) chance of success.","I ask myself that question
every day...","Yes, but I hoped I would never have to answer that.","Please
insert 25 silver pieces and try again.","What happens in the twisting nether,
stays in the twisting nether.","Yes, but not in the way you imagine.","The
answer is yes in here, and I don'.."'"..'t see why it would be any different
out here.","Hahahahahah, you'.."'"..'re kidding right?","Yes, No, Maybe
so.","4 8 15 16 23 42","It won'.."'"..'t matter, you'.."'"..'ll be dead by
tomorrow.","Jump three times and dance for ten minutes and it will definitely
happen!","The outlook is positive, but I'.."'"..'m still negative.","Looks
good for you... and bad for me.","Three words - '.."'".."'"..'ab - so -
lutely'.."'".."'"..'!","Concentrate (on releasing me from this infernal
prison) and try again later.","Yes is my answer...","It pain me to say this,
but '.."'"..'Yes'.."'".."'"..'.","I don'.."'"..'t think so, boss.","Yes,
unless I have anything to do with it.","I can'.."'"..'t see why not,
although, I can'.."'"..'t see a lot of things right now.","Definitely.","Yes,
it will rain. That'.."'"..'s not what you asked? Too bad!","Imp in a ball is
ignoring you.","My fortune telling powers are immeasureable - your chances
are though: NO CHANCE!","Avoid taking unnecessary gambles. Your lucky numbers
are two, two and a half, and eleven-teen.","Survey says: BZZZZT!","When
dwarves fly. Oh they do? Then yes.","Yes! I mean no! I mean... which answer
will get me out of here?","I don'.."'"..'t have to be a fortune-telling imp
to know the answer to that one - No!","Want to trade places?","You remember
that time you tried to drill that hole in your head?","NO - and don'.."'"..'t
try shaking me again for a better answer!","Word on the peninsula is
YES!","Oh, that'.."'"..'s one for sure.","Do you ask this question to
everything that'.."'"..'s trapped in a ball?","I ask myself that question
everyday.","Da King! Chort ready to serve.","Are you making fun of
me?","It'.."'"..'s like my mother always said: '.."'".."'"..'Razxx khaj
jhashxx xashjx.'.."'".."'"..'","This was NOT in my contract!","It'.."'"..'s
times like these that I wish I had a cooldown.","Wouldn'.."'"..'t you like to
know?","That'.."'"..'s about as likely as me getting a date with a
succubuss.","Please... is Kil'.."'"..'jaeden red?","You should be asking
'.."'".."'"..'Is that rogue behind me going to kill me?'.."'".."'"..'","Yes,
is my answer... NOT!","Yeah, sure. You just keep thinking that.","XRA RAHKI
MAZIZRA!","What kind of imp do you think I am?","You need Arcane Intellect,
because that answer is obvious! NO!","Ruk!","Inconceivable!"}; local i =
table.getn(implist); return "Imp in a Ball: "..implist[random(i)]; end'
I think all this code segment must be on one line, if it fails, try deleting all the line breaks...
Inspired by the examples of the original code, each quote must be in quotation marks. Apostrophes must be written as
Code:
'.."'"..'
and in-quote quotation marks must be written as
Code:
'.."'".."'"..'
- and if you did all right, it works wonders!
These are all the quotes of the Trading Card novelty item, well I think I got most of them... No need to wait till you find the card! You got you own, invisible Imp in a Ball!