How to: Hide Entered Chat Messages

Tutorial By Cilla

I have been asked to write a Tutorial / step by step guide on how to hide all original chat entered.
So here I am and i'll give it a go. ;)

For TFT only...

This Tutorial is divided into 3 Parts:




[INDENT]Part 1) Hiding chatmessages from the display
[/INDENT]
[INDENT][INDENT]Part 2) Hiding chatmessages from the Chatlog F12
[/INDENT][/INDENT]
[INDENT][INDENT]Part 3) Inventing your own Chat System and more
[/INDENT][/INDENT]



Part 2 and Part 3 are independent from each other, both need [COLOR=Blue]Part 1 (except The Locust Part in Part 2)[/COLOR]




Foreword:
This Tutorial is based on other Tutorials and your help.
Credits to all of you who helped.
This is a very useful tool in Rpgs / ORpgs or whatever else to make your own Chat System.
You can easily filter out all commands and whatever you do not like to be displayed.





[LEFT]Part 1[/LEFT]--= Hiding chatmessages from the display =--


This Part is based on shadow1500s Hiding Player Chat Messages Tutorial, but will be more detailed.
At the bottom of Part 1 you will find several links dealing with this topic.



Here is an example, I already invented a chat System which filters all commads (-):
(Image)


1.) First of all: Download the Gameinterface101 file,
as .zip at the bottom of this page, or
as .rar you can get it here: Gameinterface101.rar (Credits to PitzerMike)
2.) Extract the content into your Warcraft III Directory
(Use Winrar or whatever and just put both folders, Units and UI, into your Warcraft III Folder)
3.) Then:Run your WE or WEU, open your map, and go to Advanced -> Game Interface...
4.) Enable Use Custom Game Interface if it is not yet (!!!)
5.) Find the 5 Fields with:
[INDENT]Chat Reciepient All-----------------[All][/INDENT]
[INDENT]Chat Reciepient Allies--------.------[Allies][/INDENT]
[INDENT]Chat Reciepient Observers----------[Observers][/INDENT]
[INDENT]Chat Reciepient Private-------------[Private][/INDENT]
[INDENT]Chat Reciepient Referees-------.----[Referees][/INDENT]
6.)
Right click on each of these fields -> Edit Value
6.2) Open the extracted Folder UI (1) -> open the textdocument war3mapSkin (2)
6.2.2) Copy all the spaces after each of these = (3) and insert them to each field in Game Interface... (4)
Make use of the legend
(Image)

Notice:
These are the maximum spaces allowed, otherwise your game crashes.

Optional:
If you want no sound played when someone enters a chat, then use the following:

7.) Create an empty .wav file or empty textdocument
8.) Open the Import Manager F12 and import Ctrl+I this empty file
9.) Change the path of the file to Sound\Interface\InGameChatWhat1.wav
(Right Click on the File -> Modify File Properties... -> enable Use custom path)


Start your map and see that it works. ;)


Now the original chat is no more displayed on the screen.

Notice:
You can still look up the original chat in the Chatlog F12, if u play no singelplayergame.

Notice:
There is no easy way to disable / hide the original chat in the Chatlog F12 (Part 2)

Notice:
Yo can use the following Event to detect all entered chat:
Events Player - (<Your Player>) types a chat message containing <Empty String> as A substring
Now you can modify the (Entered Chat String).
More about the modifiing of the Entered Chat string etc in Part 3

Notice:
People ask wheter this is B-Net-able or not. Due to the fact that these are Game Interface changes, yes it IS!

Notice:
It is not possible to switch back to the normal displaying of the chat

Notice:
There is no (easy) way to change the textsize or to move the text when you use: Send Transmission / Text message

Notice:
Extracting GameInterface101 into your Warcraft III directory allows you to modify a few more Game Interface settings

Links:
wc3campaigns.net: Hiding Player Chat Messages by shadow1500


--= The End of Part 1 =--





[LEFT]Part 2[/LEFT]--= Hiding chatmessages from the Chatlog F12 =--


This part will show you how you can change and manipulate specific 'settings'.
It will show you different ways and their 'positive and negative' reasons.
This will be more an example than a step by step guide.
It is your decision in which way you will use this.

I will show you 2 examples, each having their own preferences.



Here are both examples, I already invented a chat System:

Example Number 1 on the left side:.................................................................Example Number 2 on the right side:

The ChatLog F12:
(Image)
[RIGHT]This looks better for sure[/RIGHT]

The Allies F11:
(Image)
[LEFT]I prefer this[/LEFT]

End of Game:
(Image)
This is better too.....................................


Now choose one of both examples and implement the following code for the example you want.
In both examples I just changed the playernames as the following shows:

Example Number 1 on the left side:
Events Map initialization Conditions ... Actions ... Player Group - Pick every player in (All players controlled by a User player) and do (Actions) Loop - Actions Player - Set name of (Picked player) to ((|cffDEC618 + (Name of (Picked player))) + : ) ...
Notice:


This example Number 1
-Looks good in Allies
-Looks bad in the Chatlog F12
-Looks average on end of game(, long names will be cutted as you can see in the image)



Example Number 2 on the right side:
Events Map initialization Conditions ... Actions ... Player Group - Pick every player in (All players controlled by a User player) and do (Actions) Loop - Actions Player - Set name of (Picked player) to ( ) ...
Notice:


This example Number 2
-Looks quiet bad in Allies F11
-Chatlog F12 looks awesome now^^
-Looks bad on end of game(, anyway not so important)



Basically very easy.
Adding lots of spaces at the end of the string, which becomes the new playername.

Notice:
You can use an array of the original names if you use cinematics where you need the playernames.
An array will also be required in Part 3

Notice:
You can do a lot of other stuff at this point, like just giving your players new names,
but that would become off - topic in here.


You now will have the original chat completely hided. ;)
Continue with The Locust Part



When I came to this point, I was very happy until I saw the followig:
(Image)

Notice:
Using |c00xxxxxx on the playername to make it 100% transparent will not affect the Tooltip.
Using |n on the playername to insert some linebreaks is even worse.^^


There is a way to hide the tooltip above a unit called Locust( / Heuschrecken), 'Aloc'.



--= The Locust Part =--

If you use Locust in a specific way u can achieve the following result:
(Image)

Notice:
In the game on this screenshot I pressed ALT, that is the reason why you can see the Hp - Bars.
Holding your mouse cursor above a unit modified in the way that I will now explain will,
there will be showed nothing at all.

Your Locust affected unit will be affected in the following way:

-hidden tooltip (no playername and unit description)
-hidden healthbar (when you move your mouse over that unit)
-healthbar can be shown by pressing ALT
-unselectable by mouse
-targetable (by mouse)
-obeys pathing rules
-no longer obeys formation-commands
-no own pathing (2 of these units can stand in each other)


1.) First of all:
Go to the Object Editor F6 -> Units

2.)
Add to every Unit, which you want to have this Ability, the Locust ability(select your unit in the list -> search Abilites -Normal -> modifiy this field -> Add Locust)

3.)
Implement the following code at the Map Initialization,
use it on every unit, which u gave Locust before (using a loop for a unit group or so):


Gui:
Unit - Hide (<your unit>) Custom script: call UnitRemoveAbility( <your unit>, 'Aloc' ) Unit - Unhide (<your unit>)

JASS:
call ShowUnitHide( <your unit> ) call UnitRemoveAbility( <your unit>, 'Aloc' ) call ShowUnitShow( <your unit> )


You now will have the chat completely hidden and a kind of normal unit zooltip. ;)


Notice:
This may be the only way possible,
if there is another, plz let me know it, i will rep you.

Notice:
As I wrote before, your affected units will not have an own pathing,
if you find a way to give them their pathing back, plz let me know it, i will rep you.^^

Notice:
I took me a while to get to this point, and I tried out a lot of things.
It would be good that you test your brainwaves, before posting instructions. Thanks.

Notice:
Again a notice / warning on the (side) effects of your Locust affected units

Links:
wc3campaigns.net: The Warcraft III Ability Guide by PitzerMike (more detailed for this topic)
thehelper.net: Abilities Guide by Chocobo
thehelper.net: Unselectable by mouse (thread) by me
thehelper.net: Game Interface (Playername) (thread) by me
thehelper.net: Chat Log F12 Hide (thread) by me


--= The End of Part 2 =--





[LEFT]Part 3[/LEFT]--= Inventing your own Chat System and more =--


I will finish this tomorrow. Got the screenshots... gn8 @ all


Links:
thehelper.net: Chat over Unit Tutorial by ban-lord


--= The End of Part 3=--



Credits to:
Presswuerstchen, aquadox (images)
PitzerMike (Game Interface slk)
shadow1500 (Tutorial)
All who helped me ;)


All constructive comments are very welcome!
Same for all questions.
Same for all reputation ;)

Click here to comment on this tutorial.
 
 
Blizzard Entertainment, Inc.
Silkroad Online Forums
Team Griffonrawl Trains Muay Thai and MMA fighters in Ohio.
Apex Steel Pipe - Buys and sells Steel Pipe.