• 🏆 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!

Raw Data Tutorial

Level 4
Joined
Oct 26, 2006
Messages
47
Raw Data TutorialWritten By: Oninuva

Raw Data is used in Tool tips and Jass (AbilityID). Raw Data pulls information from a specific object and puts it into writing for Jass(AbiID) coding and tooltips. This tutorial will teach you how to use Raw Data in tool tips and also explain what they are. It will not teach you how to use Jass or use them in Jass. Raw Data is useful for Tooltips because; 1. You can change values without going back to change tooltips, 2. It’s clean and easy to make multi-level tooltips quickly and 3. It is precisely the value of the data.

Raw Data is displayed like this:
<Obj#;ObjType,ObjData>

Obj# is the number of the object if it is a custom one. (copy paste, new object, etc)
ObjType is the type of object if it is the original, or if it is a copy; what object it was based on.
ObjData is the field to take Data from. (Most abilities DataA1 = Damage)

A Mountain King’s storm bolt ability tool tip would be:
<A000:AHtb,dataA1> In a tool tip it would look like: 100

The Blizzard version of this skill would be:

<AHtb:dataA1>

Notice it does not have A000 because it is the original version of the skill.

Note: All custom skills will have an Obj #

Now to actually view the Raw Data you will need to open up World Editor and hit Ctrl + D or go to View > Display Values as Raw Data (Ctrl+D). This will change all your object names and data to values that might look confusing to you.

rawdata001ej4.jpg

Take a closer look at them and you will notice this:

rawdata002pz6.jpg

The original Blizzard skills only have the ObjType but no Obj#. The Raw Data can be used in a tooltip and is global, meaning you can have data from other skills show up on another.

There are a few data fields that require only the Obj# which are buffs, effects, and related fields.

Tips n’ Tricks
- When creating tool tips with multiple ranks use the Auto Fill Level feature. If you are using Raw Data in the tool tip it will auto change them to the specific level of the object. Ex: <AHtb:dataA1> will change to <AHtb:dataA2> on the second level of the object using auto fill level feature.
- Often times when tooltips may seem bugged or not working it is because you need a space in front and behind the <>.
- Letters that are often missed when looking at Object# and ObjectType are L and I lower cased and also 1, I, and l.
- Use Raw Data in tooltips often.
- If your feeling happy then post a comment.

Notes:
- Raw Data does not count toward the tooltip letter limit.
- Raw Data cannot be used in trigger functions such as: "Display to Players" and "Create Floating Text"[/FONT]
 
Last edited by a moderator:
Level 11
Joined
Jul 20, 2004
Messages
2,760
This tutorial has a pretty nice layout, but too scarce information. Be more specific about what rawdata is. It is not just "used in Tool tips and Jass (AbilityID). Raw Data pulls information from a specific object and puts it into writing for Jass(AbiID) coding and tooltips.". It is actually an unique identification number for each object in the game. You don't "pull" information simply knowing the rawcode. You can just access the class (or template in coloquial speech) of an object.

It is very important to point the difference between a distinct unit, and its type. All units in warcraft 3 are based on a template. For example, all footmen share multiple common characteristics (such as maximum life, movement speed, appearance, attack type, damage amount, etc.). All individuals share these characteristics. To specify the type of the unit, we refer to it through the rawcode (identification code). There are also fluctuating properties, such as current life/mana, abilities, owning player, active upgrades and current buffs affecting the unit.

Moreover, it is very important to understand (for certain functions) the interpretation of the rawcode as a number in base 256. I once made a flawless application in C which proved this theory. Based on the rawcode, I could determine its equivalent in base 256. There are functions which can use only this number.

And maybe show us some functionality in JASS coding. Because rarely (or never) is the rawcode required in GUI.

~Daelin
 
Level 32
Joined
Oct 23, 2006
Messages
5,291
Tutorial Approved!

I believe that Raw Data Tutorial is helpful enough to be included in our archives, Oninuva.

As Daelin has outlined his qualifications fully, users interested in this subject should be able to understand them easily enough.

~ Tutorial approved, thread moved to General Mapping Tutorials.
 
Top