• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Tooltip Tutorial

Level 7
Joined
Jun 4, 2006
Messages
127
This is a tutorial about tooltips and related subjects.

So you may ask these:


What are "TOOLTIPS"?
Tooltips are what you see and read when you try to learn an ability, try to buy a unit or item, try to use an item or ability and information of a certain item or ability, passive or active.



Why do we need to know anything about tooltips?
Tooltips are the essential parts of a skill of which it will identify both you, and the seer, know what this certain ability, item or other objects do. If you cannot understand the tooltip, then you wouldn't really know what it does unless it is your second or third time to do it.




Kinds of Tooltips

Abilities:

There are at least 3 types of tooltips. These are Learn tooltips, Normal tooltips, and Turn Off tooltips. All of these tooltips are found with Hero type of abilities.

attachment.php



LEARN = These tooltips are seen when you try to learn an ability.

attachment.php


NORMAL = These tooltips are seen when you look at the information of an already learned ability or a unit ability.

attachment.php


TURN OFF = This tooltip has 2 uses which has different effects on Activate/Deactivate Abilities (e.g. Immolation) and Auto-cast abilities (e.g. Cold Arrows).

@ Activate/Deactivate = This is quite simple. It is seen when you want to deactivate it from its effect such as immolation.

attachment.php


@ Auto-cast = There are 2 parts in Turn Off, one is simply just "Turn Off" and the other is "Turn Off - Extended". Now they are seen below your "Normal - Extended" tooltip (commonly shown in light blue). What you right in Turn Off alone is when your activate its auto-cast and Turn Off - Extended is the opposite, it is when you deactivate the auto-cast.

attachment.php



Units:

There are 3 or 4 types of tooltips. These are Revive, Extended and Basic. All these tooltips are found with Hero type of unit.

attachment.php



BASIC - These tooltips are seen when you try to Buy a unit (with hotkey).

EXTENDED - These tooltips are seen when you try to buy a unit as information.

attachment.php


REVIVE - This tooltip is seen when you try to revive a hero.

attachment.php



Items:

There are only 2 typre: Basic and Extended.

attachment.php



Codes

Codes are strings (information) to create a special effect to your tooltips such as colors and spacing. Very widely known codes in Warcraft III are |cffffcc00, |r, and |n


Simple Codes

|c-colorcode- ~ This is a code which would give the text color than just white (or plainly #FFFFFF). |cffffcc00 is usually used in hotkeys, Level emphasis (see above) and other things.
Want more colors? Go to this link:
http://www.virtuelle-identitaet.ch/index.php?option=com_content&task=view&id=19&Itemid=32
PS: |cff must be the suffix and also remove the # sign to make the color code properly work.


|r ~ This code ends the color codes or is a full stop of a color code. Typing Hel|cffffcc00l|ro will only "yellow" the l, but if you type Hel|cffffcc00lo, it will "yellow" o as well or even until the end of the tooltip (or messages in the trigger editor).


|n ~ Rather simple. It doesn't relate anything to color but it is helpful in spacing and acts as a line breaker in the World Editor, both tooltips and Trigger Editor. See below for an example:

attachment.php



Very Uncommon!
%d = This gets the integer level of a current skill + 1, which is used in Tooltip - Learn such as "Learn |cffffcc00R|ressurection" - [|cffffcc00Level %d|r]". If, for example, the current level is 3, so it would look like this = "Learn Ressurection - [Level 4]



Raw Codes

Raw Codes are codes seen in raw detail rather than the real and simple name itself (such as Water Elemental = Simple).

When you see some tooltips, you'll see gibberish somewhat like this which, when you look for that data, you don't know where to get it.

We will use "Bash" as our skill:

attachment.php


Now, go the View Menu of the Trigger Editor and check "Display Values as Raw Data" or simple Ctrl + D

attachment.php


Now you'll see more gibberish. The left side is not seen in reality, but edited by yours truly.

attachment.php


If you have the understood above, let us see again the "Normal - Extended" tooltip for Bash and let us identify the gibberish (let's call it Raw Codes now).

attachment.php



PS: To make your custom spells work, you have to change the left (before the comma) raw code to the raw code of the custom spell.



Now let's go to summon spells. Summon spells have different raw codes than the other skills because their raw data doesn't come from the skill, but a unit (specifically, the unit being summoned)

Let's have "Summon Water Elemental" based.

attachment.php


Now, the boxed raw codes do not exist in the skill. So you have to look for it. You will find it in the unit section. Since we are basing the skill to "Summon Water Elemental", then we get the Water Elemental unit

attachment.php


As you see above, the raw code in the tooltip has the raw code of water elemental. The only problem is, how do we get mindmg1, maxdmg1 and realHP? Well, they do not exist in the unit (in my knowledge) and maxdmg1 and mindmg1 cannot be obtained or changed but these are only in the based unit. Only realHP can get the real hp of a unit, not the base.

mindmg1 = Minimum Damage of the based unit
maxdmg1 = Maximum Damage of the based unit
realHP = Total Base Hit Points (HP) of a unit


Extra: Auto-Fill

Auto-Fill is used to automatically fill all the tooltips or values at one time depending on the desired increment (otherwise, tooltips are consecutives, 1, 2, 3 etc..)

This is an image to where you'll find Auto-Fill, we are using an edited "Avatar" skill which has 5 levels.

attachment.php


When you press the one highlighted blue, a window will open (image is below).
"Start from level" states what number will start first
"Replace with level" is the number or text (CASE SENSITIVE) that it will be replaced with numbers. Example is changing it to Capital A. All capital As will be replaced with the number, raw coded or not.

attachment.php


After doing so, you'll have this result:

attachment.php



~

Well, the tutorial is done! Very simple isn't it? Well, good luck at your future mapping!

-

This has been brought by yours truly,

Thy FuKiN n0oB

------------

Thanks to ~GaLs and Terrabull for their help.
ORIGINAL LINK: http://www.thehelper.net/forums/showthread.php?p=658073#post658073
 

Attachments

  • herotooltipsem2.jpg
    herotooltipsem2.jpg
    17.2 KB · Views: 9,761
  • learntooltipym8.png
    learntooltipym8.png
    56.4 KB · Views: 9,722
  • normaltooltipds4.jpg
    normaltooltipds4.jpg
    13.7 KB · Views: 9,536
  • turnoffimmozx3.jpg
    turnoffimmozx3.jpg
    10 KB · Views: 9,650
  • turnoffcaha4.jpg
    turnoffcaha4.jpg
    33.5 KB · Views: 9,545
  • unittooltipspi2.jpg
    unittooltipspi2.jpg
    12.2 KB · Views: 9,234
  • unitbandebr2.jpg
    unitbandebr2.jpg
    19 KB · Views: 9,479
  • unitreviverg6.jpg
    unitreviverg6.jpg
    7.4 KB · Views: 9,407
  • 13216403wc9.jpg
    13216403wc9.jpg
    60.6 KB · Views: 9,656
  • itemtooltipszs0.jpg
    itemtooltipszs0.jpg
    10.1 KB · Views: 9,511
  • gibberishcodesgf7.jpg
    gibberishcodesgf7.jpg
    17.3 KB · Views: 9,265
  • displayvaluesasrawdatackm3.jpg
    displayvaluesasrawdatackm3.jpg
    16.2 KB · Views: 9,316
  • moregibberisheo7.jpg
    moregibberisheo7.jpg
    81.2 KB · Views: 9,639
  • identifysm1.jpg
    identifysm1.jpg
    20.7 KB · Views: 9,341
  • waterelementalbq1.jpg
    waterelementalbq1.jpg
    6.5 KB · Views: 9,201
  • unitgibberishkj1.jpg
    unitgibberishkj1.jpg
    19.7 KB · Views: 9,228
  • autofill1lg1.jpg
    autofill1lg1.jpg
    29.3 KB · Views: 9,321
  • autofill2kk6.jpg
    autofill2kk6.jpg
    19.8 KB · Views: 9,259
  • autofill3xt7.jpg
    autofill3xt7.jpg
    37.7 KB · Views: 9,244
Last edited by a moderator:
Level 1
Joined
Aug 24, 2007
Messages
2
Another good tip is for when your ability code happens to end in a 1. Rare, but eventually it'll happen. What happens when you try to autofill this, for example...?

Does <A001,DataA1> damage.

Well, it'll look something like this...

Does <A001,DataA1> damage.
Does <A002,DataA2> damage.
Does <A003,DataA3> damage.

...which we don't want.

So to FIX that problem, do THIS for your base text:

Does <A001,DataA1>> damage.

And THIS for your replace:

1>

That way it'll only replace the 1>'s with the new numbers, giving us the proper...

Does <A001,DataA1> damage.
Does <A001,DataA2> damage.
Does <A001,DataA3> damage.

So yeah, admittedly it only happens once every blue moon when your ability code HAPPENS to end in a 1. But still!

:)

Take care.
 
Level 2
Joined
May 21, 2009
Messages
12
This tutorial is for WE newbies and those that doesn't have knowledge with color, unit, upgrade, doodad, ability and buff/effect codes. I have mastered making tootips for units and abilities used in my map. Also, no math, even arithmetic, is allowed in tooltips.
 
Well, for tooltips, they are static (opposed to dynamic). Once you enter a tooltip, it is saved in a file and it uses that tooltip throughout. The numbers, text, etc. won't change. So when you do the Data<ACl3, ...> stuff, it'll just read that field and put whatever is in there. As such, when you ask for a unit's attribute, it'll just read off whatever is the initial value. It won't update with the attribute. So if you have a tooltip that says "22 intelligence", and the hero gets a +2 intelligence tome, the tooltip will stay as "22 intelligence". Sadly, tooltips aren't actually that dynamic. :\

tldr; The Data<####, ####> stuff is just a shortcut (useful if you need to autofill or if you change the values a lot, e.g. for balancing). Apart from that, they don't offer any "extra" features, they just save you some typing.
 
Well, for tooltips, they are static (opposed to dynamic). Once you enter a tooltip, it is saved in a file and it uses that tooltip throughout. The numbers, text, etc. won't change. So when you do the Data<ACl3, ...> stuff, it'll just read that field and put whatever is in there. As such, when you ask for a unit's attribute, it'll just read off whatever is the initial value. It won't update with the attribute. So if you have a tooltip that says "22 intelligence", and the hero gets a +2 intelligence tome, the tooltip will stay as "22 intelligence". Sadly, tooltips aren't actually that dynamic. :\

tldr; The Data<####, ####> stuff is just a shortcut (useful if you need to autofill or if you change the values a lot, e.g. for balancing). Apart from that, they don't offer any "extra" features, they just save you some typing.

Thanks for the info... what about the file that the data is saved? Is it accessible?
 
Level 5
Joined
Feb 18, 2016
Messages
96
Hello
I am not able to make my tooltips show correctly.
I am trying to use the <o006,dmgplus1> (Attack damage base) and <o006,rangeN1> (Unit´s range) but it keeps loading as "0" in the map
The o006 is a custom unit based on Serpent Ward <osp1>
Did i miss something in the code?
 
Level 12
Joined
Nov 3, 2013
Messages
989
One thing I don't get is, in hero abilities there's only one field for 'Learn', but you can use %d to get the integer of the next level (the one you'd learn), this seems like it's dynamic isn't it?

If so, I wonder if there's some way to use %d instead of a number for the <AbilCode,DataA1> Cool1, Dur1, etc. and have say DataA%d or Cool%d instead. Basically, when you have 0 levels of the ability and want to learn it for the first time, it would use the data for level 1, at level 1 it would show the data for level 2, etc.


I already tried doing it like that DataA%d and the like, but it didn't work. But since %d works on it's own, I wonder if there's some way. For a bit of a scrappy solution you could actually do something like "base value + %d * level increase value", or if you're lucky the value could be the same as the level...
 
One thing I don't get is, in hero abilities there's only one field for 'Learn', but you can use %d to get the integer of the next level (the one you'd learn), this seems like it's dynamic isn't it?

If so, I wonder if there's some way to use %d instead of a number for the <AbilCode,DataA1> Cool1, Dur1, etc. and have say DataA%d or Cool%d instead. Basically, when you have 0 levels of the ability and want to learn it for the first time, it would use the data for level 1, at level 1 it would show the data for level 2, etc.


I already tried doing it like that DataA%d and the like, but it didn't work. But since %d works on it's own, I wonder if there's some way. For a bit of a scrappy solution you could actually do something like "base value + %d * level increase value", or if you're lucky the value could be the same as the level...

That's neat! I didn't know about that. What happens if you do <'A000',Data%d1>? What does the tooltip end up looking like in game?

Maybe it's parsed in one-pass, so while it does end up translating %d, it might still try to process <'A000',Data%d1> directly (without replacing %d) and fail.
 
Top