The goal of this hack is to filter the chat ; either for discarding unwanted messages (announcements, gold sellers etc...), or for highlighting some messages by redirecting them to another channel (a special item you want to buy, or world boss announcements on trade chat).
All this is done through a redirection function that will parse every message you receive on your chat and will then decide if the message will be redirected to another channel or not given a configuration file you will set.
Here is the syntaxe of the config file used :
Code:
**************************************************************************************************************************************************
******************************************* Enable/disable the logs (will log every chat redirection done) ************************************************
**************************************************************************************************************************************************
[Logs = OFF]
[/Logs]
**************************************************************************************************************************************************
**************************************************************************************************************************************************
**************************************************************************************************************************************************
*************************************************** Enable/disable the chat filters **************************************************************
**************************************************************************************************************************************************
[ChatFilter = ON]
***** To add a new redirection group : [Redirection = {SOURCE}:{DEST}] {content} [/Redirection]. ******
***** Tokens available for {SOURCE}and {DEST} are : ANY (for source only), NONE (for dest only), ******
***** GENERAL, WHISPER, PARTY, GUILD, REGION, WORLD, BATTLEFIELD, TRADING, STORY, SYSTEM, ******
***** RECRUITMENT, EXP, MONEY, LOOTS, DMGDEALT, DMGTAKEN, OTHERS, ANNOUNCEMENT, GM, ******
***** and can be mixed for the source with '|' as a separator (ex: REGION|WORLD). ******
***** You can use ANY:NONE to discard any message containing the filters in the group. ******
***** To add a filter in a group : [Filter]something to be filtered (non case sensitive)[/Filter]. Use '*' as a wildcard/separator ******
***** Messages to discard ******
[Redirection = ANY:NONE]
[Filter]www[/Filter]
[Filter]vv w vv[/Filter]
[Filter]w vv w[/Filter]
[Filter]vv vv vv[/Filter]
[Filter].com[/Filter]
[Filter].c0m[/Filter]
[Filter],com[/Filter]
[Filter],c0m[/Filter]
[/Redirection]
***** Important messages to highlight ******
[Redirection = TRADING:ANNOUNCEMENT]
[Filter]c1[/Filter]
[Filter]c2[/Filter]
[Filter]c3[/Filter]
[Filter]c4[/Filter]
[Filter]c5[/Filter]
[Filter]c6[/Filter]
[/Redirection]
***** Items I would like to buy when someone asks for selling them ******
[Redirection = ALL:ANNOUNCEMENT]
[Filter]noirmarais[/Filter]
[/Redirection]
[/ChatFilter]
**************************************************************************************************************************************************
**************************************************************************************************************************************************
- You can add as many redirection groups as you want, depending your need.
- You can add as many filters as you want in each redirection group.
- When you want to filter a list of words supposed to be all contained in a message but in an unknown order, you can use the wildcard '*' to separate each word inside the filter content.
Any change of the config file will require a restart of the programm (and the game if it does not support dll injection/ejection while running like it is the case for the internationnal version of the client).
The redirection is performed in your client only, meaning that a message redirected from the TRADE channel to the ANNOUNCEMENT channel will only be visible on your client as is. The message is not resent to the destination channel but simply redirected on the fly when received.
Be aware that any discard messages will be lost forever : so don't discard words supposed to be used commonly.
Enabling the logs will log any message successfully redirected in a log file.
How to install :
- unrar the .rar file whereever you want (no need to unzip in the game folder).
- eventually modify config.txt to fit with you needs
- start Injection.exe programm before reaching the main screen of the game for the international client or at any time for other clients. (The simpliest thing to do is starting it before launching the game). If the console opened display Injection successful, the hack is installed. if failed is displayed you will have to close the programm and launch it as administrator.
- enjoy the hack
- to stop the hack, either close the programm (Injection.exe) or the game of course.
The package contains 2 dlls :
- a multiaccount enabler (AntiMutex.dll) (disclaimer : this dll is not mine. I unfortunatly don't know to who i should give credits for this...)
- the chat filter hack (ChatFilter.dll)
Injection.exe is a simple game injector that will inject the dlls listed in dlls.txt automatically in any instance of the game started if not already injected. You can add other dlls to the dlls.txt file if you have other hacks in dll to use at the same time, or use any other dll injector to inject ChatFilter.dll in the game client
Closing Injection.exe will (if possible) eject all the dlls injected in all the game clients still started.
Hope I didn't forgot anything
Normally this hack should work for any client but let me know if you find a client where this hack is not working. I'll do my best to fix it.
edit : Ah yes ! I forgot to mention that ChatFilter.dll bypass the crash handling of the game if any crash occurs and prevent the send report window to pop. This trick allow you to be able to launch the game from the launcher faster after a crash, skipping the file checking from the launcher usally performed after a crash.






