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

Enhancing your RoC map with FT Features

Status
Not open for further replies.
Level 8
Joined
Feb 4, 2007
Messages
389
This process will let people with the limited RoC editor create maps that are TFT-editor quality. The nicest thing about this is, your map won't convert to TFT, even if you use TFT-labelled things. You can even make your map that has been converted to TFT a RoC map by labelling the TFT things as RoC things :)

Download Winmpq Here (Official WinMPQ site)


IMPORTING MODELS:

Download your model. Extract said model from its ZIP file.

I will use This Grim Reaper model as my example. Some great sources for models include wc3sear.ch, The Hive Workshop and wc3campaigns.net

Step 1: Open WinMPQ

Step 2: Open your map with WinMPQ.

Step 3: Click the “Add” button at the top, and select the .BLP file.
For me, this will be in the path Heroes / Grim / Grim.BLP

WinMPQ_Ex_1.jpg

Step 4: When you select the file, it will ask for a path. For this you will need the folders that it comes in.
For the Grim Model, I will type in “Heroes\Grim\”

WinMPQ_Ex_2.jpg

Step 5: Now you must import the .mdx file. Click the “Add” button at the top of WinMPQ, and select the .MDX file. If your model did not come with one, then the model will not work. If your model came with two, import both.
For my model, I will import Grim.mdx

Step 6: Again, you will be asked for a file path. For the .MDX file, this path does not matter. It is best to leave it blank.

WinMPQ_Ex_3.jpg

Step 7: Open your Warcraft 3 World Editor. Select the unit you want to use the model on, and in the Model field, type in the path of the main .MDX file. *Not your .BLP file
For me, this will be Grim.mdx

Step 8: Save your map, then re-import all the files using the same paths as last time. This must be done because every time you save your map, the files get deleted.

Congrats! You now know how to import models into your map :)

WinMPQ_Ex_4.jpg

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

EDITING .SLK's: (There will be visual aids below each step in the procedure.)
Note: For some reason, WinMPQ sometimes has an error in which it will not display any files. If this happens you will need to close and re-open WinMPQ.

Step 1: Download Winmpq Here

Step 2: Open WinMPQ. Click the “Open” button at the top of WinMPQ. Find your Warcraft 3 directory and open War3.mpq.

untitled.jpg

Step 3: Find the (listfile) inside the War3.mpq file (Type (listfile) in the text box at the top of WinMPQ) and extract it from the file. It does not matter where you extract to.
ex2.jpg

Step 4: Click Options > [Add File List] and add the (listfile) (The one you just extracted)

Step 5: Click the “Open” button at the top and select War3patch.mpq. It is inside your Warcraft 3 directory.

Step 6: Type *.SLK in the text box at the top of WinMPQ

Step 7: Highlight all the files and extract them to your Warcraft 3 directory

Now you have several new folders in your Warcraft 3 directory. These contain all the .SLK files that you can edit your map with.

Files that you just exported-

SPLATS >
LightningData:
Contains all Lightning effects. (Chain Lightning etc.)

SpawnData:
Contains Spawn effects. This includes Footprints, Blood, etc.

SplatData:
Contains Textures for effects / Terrain

UberSplatData:
Contains more Textures for effects / Terrain


DOODADS >
Doodads: Contains all Doodad information.
To create a custom doodad with a custom model, import your model into your map, assign it to a new doodad, and save. Then re-import your model.


TERRAINART >

CliffTypes:
Contains the Cliff textures for the Terrain Editor

Terrain:
Contains all the textures for the Ground tiles

Water:
Contains all the Water textures for the Terrain Editor

Weather:
Contains all the textures for the Weather effects


UI / SOUNDINFO >

AbilitySounds:

AmbienceSounds:

AnimLookUps:

AnimSounds:

DialogSounds:

EAXDefs:

EnvironmentSounds:

MIDISounds:

PortraitAnims:

UISounds:

UnitAckSounds:

UnitCombatSounds:


UNITS >

AbilityData:

DestructableData:

ItemData:

UnitAbilities:

UnitBalance:

UnitData:
UnitID:
The raw-data name for a unit.
Press CTRL-D in WE to see raw data

Sort:
What kind of unit; Hero, Building, or unit.
Letter = Race
# = Type of unit (Hero, building, unit)
a – Human
b – Orc
c – NightElf
d – Undead
n – Neutral
o – Critters
p – Neutral Buildings
z – Campaign ?

1 – Hero
2 – Unit
3 – Building
9 – Custom

Comment:
Used for reference as to which unit it is. This is just a tag, and bears no significance.

Race:
The race of the unit. Human, Orc, Undead, Night Elf, Critter, etc.

Prio:
Priority value

Threat:
Stats - Priority - Order which AI attacks it. (??)

Valid:
??

DeathType:
Death animation played when unit is killed. These animations are part of the unit.

Death:
Time (seconds) it takes them to play their animation.

CanSleep:
Does this unit sleep?
0 = No
1 = Yes

CargoSize:
Space taken up in a cargo transport

movetp:
Movement type
Fly: Flying Unit
Foot: Ground unit
Float: Water Unit
Hover: Hovering Unit

moveHeight:
Movement Height

MoveFloor:
If you change the height in triggers, it can't go less than this.

TurnRate:
The amount of space it takes for a unit to turn.

Propwin:
Prop Window; Different for each move type

OrientInterp:
Art - Orientation Interprolation - ?

formation:
When moving units in a group what position it falls in.

TargType:
Targeted as...

Pathtex:
Pathing Map (Buildings only)

fatLOS:
Art - Use Extended Line of Sight - ?

Points:
Hitpoints % (??)

buffType:
AI Placement Type - Whats the function of the building (Where should the AI put it?).

buffRadius:
AI Placement Radius - How far apart the AI should place this building.

nameCount:
Number of Proper Names for (Hero) unit.

canFlee:
Will the unit run away if it is attacked?
0 = No - (Example: Footman)
1 = Yes - (Example: Peasant)

RequireWaterRadius:
For Boat Docks. Determines how much space in the water it needs.

isBuildon: - Building Only
Stats - Whether its' built on a goldmine or not.

canBuildOn:
Can it be built on?
0 = No
1 = Yes

inbeta:
Is it in Reign of Chaos?
0 = No
1 = Yes

Version:
0 = RoC
1 = TFT
Note that just changing the Version status will not make it available in-game. This will make it so that you can select it in RoC WE. To make it available in-game, you must import a model and assign it an icon.


UnitMetaData:

UnitUI:

UnitWeapons:

UpgradeData:


Spell Editing

Requirements

1. WinMPQ
2. Excel (either this, notepad, or both)
3. Notepad (either this, excel, or both)

Step 1; Getting Started – Since you should already have the wc3 'listfile' extracted, I'll skip the part explaining how to do that. If you still need to know how, I explained it further up in this post.

Step 3; Editing – Now here comes the fun part. For those of you who have no patience be warned – the process of spell editing is extremely tedious and takes a very long time to do in the beginning. Much like anything else, practice makes perfect and you will surely see yourself improving in speed and ability the more you edit.

Here’s the first thing you have to know – there is absolutely no way to actually create your very own spell without JASS. I’m not going to go into JASS in this tutorial (or any in the future most likely) so for those of you who want highly advanced spells you’re going to have to find a more in-detail tutorial or figure it out yourself (like me !)

There are three things you have to do in order to edit or create a spell. Change the values and variables in the AbilityData.slk, edit or create new graphics and the like in the RaceAbilityFunc.txt, and edit or create new descriptions in the RaceAbilityStrings.txt.

AbilityData.slk –

This file contains all the data (obviously) for every spell and item in the game. What I’m going to take you through is how to create a new spell because in order to create a new spell you have to modify an already existing spell. Basically, if you can create a new spell you can edit old spells.

Let's begin, since your AbilityData.slk is already extracted (right?) you have to find it and open it with excel (you can use notepad but excel is so much more clean and easy to use).

Note* On a slight tangent, you can use spell editing programs but in my humble opinion THEY SUCK!

After opening the AbilityData.slk with excel you’ll see, probably to you, a lot of confusing numbers and letters. I’ll first start by briefly explaining what they all are.

(group 1) Columns A, B, and C are one of the three groups of columns that are the most important to you. These mixtures of numbers and letters are the ‘names’ of the codes within the hardcode. Under any and all circumstances you can NOT edit column B (named "code") – never, ever, ever edit this unless you want a lot of problems.

Column D is unimportant. The name of the column explains it all – it’s only for comments, basically for you to name the spell for confusion purposes.

(group 2) Columns E through K is the second group of important columns you need to deal with.

-For immediate purposes column E should always have the number 1 in it.

-Column F tells the game whether or not the ability / spell is used by a hero or by a regular unit (1 for Hero – 0 for Unit).

-G is to tell the game whether or not the ability is an item ability (1 for Item Ability – 0 For not an Item Ability).

-H is used to also tell the game what kind ability the ability is. You can use Hero, Item, or Unit.

-I actually have no clue what I is for – all I have deduced is that if the ability is an item ability I is 0, if it’s a hero ability it’s 1.

-If your ability is a hero ability it’ll most likely have levels. J tells the game how many levels the spell has. 3 is the limit.

-K is used to tell the game at what level the hero can learn the ability.

(group 3) Columns L and on are in the third group. These are the last things you have to edit in order to make a spell.

-L is used to tell the game what targets the spell can cast on.

-M is how long it takes to cast the spell at the abilities first level.

-N and O kind of work together. They’re how long the duration of the spell’s affect lasts for its first level – but that varies among the spells. In excel there are sometimes comments to help you on what each column does for each spell.

-P is how long it takes to recast the spell at its first level.

-Q is the amount of mana it costs at its first level.

-R is the area of effect at its first level (again it can vary, read the comments).

-S is the range of the spell at its first level (and again it can vary, read the comments).

-T through W are the data the game uses for the spell. Like damage, regeneration rates, hp for summoned units, what type of unit is summoned, etc., all for the ability’s first level. Much like the other spells the data columns can vary in what they do, just read the comments.

The rest of the columns after that do the same thing as group 3’s columns, the only difference is that they are for the next levels of the spell. (It’s easy to tell which columns are for which levels – at the top it’ll say cast1 and dur1, or cast2 and dur2, or cast3 and dur3. 1 is for the first level, 2 is for the second level, and three is for the third level)

Now that that’s all explained, we can finally start our spell. I’m going to show you how to make a spell I made in my map (5/30/03 the day this tutorial was written my map isn’t finished so you may not have heard of it yet). This spell is called Waterblade and it is used by the Outcast Samurai. I’m going to use this spell because it’s pretty basic and easy to understand.

Go all the way up top and find the ability used by the BladeMaster named "critical strike". Highlight this entire row and copy it, then scroll all the way down and it paste it in a new row.

Change column A and C to Aswb (always capitalize the first letter, just to be safe).

Change column D to Samurai – Waterblade.

No need to change the rest of the columns until we get to the data part, because E through K are already what we want them to be.

Skip all the way to T. This is the first thing we have to change – it will give us the percent chance the Samurai will use the Waterblade ability in battle at level 1. Change it to 10.

The next column is the damage multiplier. Since we don’t want to multiply his damage by anything just make it 1, because anything x 1 is always itself (yay for math).

The next column is the amount of damage added to the Samurai’s attack if he hits. Change that number to 100.

Go to the columns that correspond with the spells second level (starts at AF). Lets see if you can figure this out (because if you can’t then you should just stop right now ;-) ) – For level 2 make the percent chance still 10, the multiplied damage still 1, and the added damage 150. For level 3 still keep a 10% chance with no multiplied damage but an added 200 bonus damage.

When you’re done, save the file, remember that the Alias and Uberalias is Aswb, and close excel (if you want).

Congratulations, you just created the code for a new spell.

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

AbilityFunc.txt-

Now we move on to the AbilityFunc.txt. Since the spell we created was based off of an Orc ability you have to open the OrcAbilityFunc.txt. In my opinion I would open the file with notepad. After you’ve got that file opened you need to scroll through all the abilities and find where the BladeMaster’s Critical Strike ability is. When you do that, copy everything that has to do with Critical Strike (from the // comment line to the end of the spell) and paste it at the bottom of the document. If your ability has a [Bxxx] or [Xxxx] stop RIGHT before it, do not copy any further.

The AbilityFunc.txt is used to define all the graphics for everything to do with the spell and where the buttons are placed on the unit that uses the ability. (because I’m started to get tired I’m just going to copy exactly what I have in the notepad document)

This is what the final copy (with notes) of what Func.txt should look like for our spell –

// Waterblade (commented name, just for organization)

[Aswb] (the alias you used in excel, you must change this to the alias you used)

Art=ReplaceableTextures\CommandButtons\BTNThoriumMelee.blp (what the button looks like)

Researchart=ReplaceableTextures\CommandButtons\BTNThoriumMelee.blp (what the research button looks like)

Buttonpos=0,2 (where the button is in the matrix)

Researchbuttonpos=0,0 (where the research button is in the matrix)

For those of you who have no programming knowledge or don’t know what a matrix here’s a brief definition – a matrix is a grid with a user determined amount of boxes. In WC3’s case Blizzard made a 3 x 4 matrix for buttons. These are all the coordinates:

| 0,0 | 1,0 | 2,0 | 3,0 |

| 0,1 | 1,1 | 2,1 | 3,1 |

| 0,2 | 1,2 | 2,2 | 3,2 |

You can change other things as well, like the targetart, or casterart and the like. For some spells that don’t have these other subjects (like targetart or casterart) you may have to add them yourself to get the desired effect, or remove them.

Here’s a definition of each term and what you should or shouldn’t do:

Art= (this is the button graphic of your new ability - .blp file)
Researchart= (this is the button graphic when researching - .blp file)
Buttonpos= (this is your button position or the ability slot)
Researchbuttonpos= (position of the research slot)
Casterart= (what art is associated with the caster - .mdl file)
Areaeffectart= (AOE art displayed at the target AOE - .mdl file)
Effectart= (effect art associated with the spell - .mdl file)
Specialart= (special effect art associated with the target - .mdl file)
Requires= (what this spell requires)
Requiresamount= (i.e. 1 = Adept, 2=Master, can be left out if 1)
Missileart= (the projectile art, if needed - .mdl file)
Missilespeed= (the speed of the above projectile art)
Missilearc= (the visual arc of the projectile art)
Effectsound= (plays a sound)

(through personal experience and help of others, DO NOT CHANGE THE FOLLOWING VARIABLES)

Code:
Order=
Unorder=
OrderOn=
OrderOff=

Congratulations, you just finished editing the AbilityFunc.txt.

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

AbilityStrings.txt-

Now for the final step, the AbilityStrings.txt. This is the file that makes all the descriptions for the spells. The research description, the name of the spell in the editor and in the game, and the description after you’ve researched the spell.

Do the same as AbilityFunc.txt, open the OrcAbilityStrings.txt and find Critical Strike. Copy and paste the whole thing down at the bottom of the document (again, if your ability has [Bxxx] or [Xxxx] stop before those). This is what the final copy should look like.

// Waterblade (again, the commented name for organization)

[Aswb] (alias, must be what you named it in excel)

Name=Waterblade (the name that shows up in the editor)

Tip=Waterblade - [|cffffcc00Level 1|r],Waterblade - [|cffffcc00Level 2|r],Waterblade - [|cffffcc00Level 3|r] (after being researched this displays at the top when you hover your mouse over the icon, I suggest just using what I have and changing the name and / or colors)

Ubertip="When faced against his adversaries, the Samurai moves his blade with the calm of a stream and the power of the ocean. Using this technique the Samurai can inflict great pain upon his enemy.","When faced against his adversaries, the Samurai moves his blade with the calm of a stream and the power of the ocean. Using this technique the Samurai can inflict great pain upon his enemy.","When faced against his adversaries, the Samurai moves his blade with the calm of a stream and the power of the ocean. Using this technique the Samurai can inflict great pain upon his enemy." (same thing as the tip, except this is the actually description you want to give the spell)

Researchtip="Learn |cffffcc00W|raterblade - [|cffffcc00Level %d|r]" (same thing as tip but when you want to research it)

Researchubertip="When faced against his adversaries, the Samurai moves his blade with the calm of a stream and the power of the ocean. Using this technique the Samurai can inflict great pain upon his enemy. |n|n|cffffcc00Level 1|r - 10% chance, 100 damage. |n|cffffcc00Level 2|r - 10% chance, 150 damage. |n|cffffcc00Level 3|r - 10% chance, 200 damage." (same thing as the ubertip, except in the research screen)

Researchhotkey=W (what the person can hit on the keyboard to research it without clicking the icon)

Other variables:

Untip= (tip displayed to activate, i.e. right-click to autocast)
UnUbertip= (tip displayed end activation, i.e. right-click to end autocast)

Hotkey= (hotkey to turn ability on)
UnHotkey= (hotkey to turn ability off)

Congratulations, you just finished every step necessary to create a spell…

But there’s one more thing you have to do to make the spell playable.


Step 4; Implementation –

That’s right, you need to put the ability into the game. Considering everything was done perfectly (or at least for the most part) you can now put your ability into the game. First thing’s first, you have to open the editor and give a hero your ability. If you did everything I told you to do there should be no problem with this – you can give the hero the ability just as easily as any other ability.

After that’s done, save your map and close it. Then re-open WinMPQ (if you haven’t closed it, close it and re-open it). Now you have to hit the "open" button again and find your map and….open…it…

After that’s done you then have to hit "add". A browser window should appear – once that happens you have to find your WarCraft III directory again and open the "Units" folder I told you to create. Highlight every file in the "Units" folder and hit open. Another window will pop up, simply just type "Units\" and hit ‘ok’.

Congratulations, your map now has your new ability. Lastly, to be on the safe side don’t use a custom loading screen – use the default.


This is all I have for the tutorial right now. I fully intend to explain every file, but that will, of course, take some time.
Please comment on what I have so far. If I put a "??", I didn't understand what that path meant. If you know what it means, please tell me. If I put a "(??)" next to it, I thought I knew what it meant, but I wasn't sure.


Credit to: Pacify for the Spell Editing section of this tutorial. That part was taken from Here and edited a bit. (DEAD LINK, Credit to Pacify remains)

Tutorial: Enhancing your RoC Map.
Convert your TFT maps to RoC using a simple method!
Clan Tky (Azeroth); Visit us or join at ClanTky.dl.am!
Created: Murder at the Mansion, CTF: Kodo Time.
Working on: Ultimate Dodgeball (Alternate Link)
Side Project: Turtle Tag
 
Last edited by a moderator:
Level 8
Joined
Feb 4, 2007
Messages
389
Converting TFT Maps into RoC Maps

Note: This is not for people that are creating roc maps that auto-converted to TFT. This is for TFT mappers that want their map to be available on RoC.

Follow each step below exactly as it is stated to convert your map.

Step 1: Download Winmpq Here (Official WinMPQ site).

Step 2: Open your TFT Map with WinMPQ.

Step 3: Highlight ALL of the files inside the map and extract them to an empty folder.

Step 4: Open a blank Reign of Chaos map with WinMPQ.

Step 5: Delete all files inside the map.

Step 6: "Add" all of the files that you extracted from your TFT map into the now-blank RoC map. Do this by highlighting all of the files.

Step 7: Custom import all TFT files into your map; these include Models and animations. If you do not import them, they will not show up. If you do not want to import the models into your map*, then I would suggest that you use RoC models as substitutes for the TFT models. Also Note: You need to change all Armor and Attack classes to RoC - Compatible ones. (List)

*You may not want to do this because it increases your map size significantly.

Now you're done! Your map can now be played on RoC!


Be aware that this method increases file size dramatically; even in some cases doubling file size. My advice would be to use Vexorian's Map Optimizer to lower your file size. Try not to use too many imported items when doing this process.


I did this guide fairly quickly, but I plan to clean it up a bit and add some screenshots soon.

Hope this helps! (I know it helped me)
 
Level 32
Joined
Oct 23, 2006
Messages
5,291
Tutorial: Enhancing your RoC map with FT Features

I don't believe that Tutorial: Enhancing your RoC map with FT Features is likely to be approved in its present form. While there's a lot data that ROC editors are sure to find useful, this tutorial could be improved quit a bit.
  • As indicated by Archian, please review the submission rules, especially in regards to the images.
    Images must be attached to the tutorial itself using the "Manage Attachments" feature of the PHP editor:
    attach.gif


  • The image http://i96.photobucket.com/albums/l178/TimmyTonks/ex2.jpg is far too wide, causing the tutorial's text to span 939 pixels. This image should be cropped to 500 pixels or less.


    OTHER SUGGESTED IMPROVEMENTS:


  • Tutorial: Enhancing your RoC map with FT Features
    We know that this is a tutorial. It should be renamed Enhancing your RoC map with FT Features

  • You may also use MPQEditer - though I don't support it and I don't know anything about it. If you use this, you're on your own. MPQEditor
    If you don't know about it, you might as well remove the reference to it; the link is dead anyway.

  • Download Winmpq Here (Wc3sear.ch link) or Here (Official WinMPQ site)
    Only the "Official" link is necessary.

  • A great source for models is wc3sear.ch and wc3campaigns.net
    Everyone is aware of the existence of these fine sites, there's no need to advertise them in your tutorial.

  • This is all I have for the tutorial right now. I fully intend to explain every file, but that will, of course, take some time.
    The tutorial should be complete before it receives approval.

  • Credit to: Pacify for the Spell Editing section of this tutorial. That part was taken from Here and edited a bit.
    The link that you have cited as a reference is unavailable.

  • 90% of teenagers today listen to rap. If you are part of the 10% that still listens to real music, copy this to your signature.

    Created: Murder at the Mansion, CTF: Kodo Time.
    Working on: Bandit Brawl (a New generation of Footman Wars)

    While some reference to your other work might be acceptable, your signature file should be streamlined or removed altogether.
 
Last edited:
Level 32
Joined
Oct 23, 2006
Messages
5,291
Well done Tonks, your tutorial is much improved since the last time that I viewed it.

Contrary to that, there is a large number of mappers who are not aware of these sites. I don't mean to advertise them, but I meant to give some good examples of model sources.

In regards to thehelper.net, I understand your point of view completely. If you wish to keep those excellent model references intact, why not also add The Hive Workshop ?

I guess I was mistaken, but I thought I could post this here as a work in progress? Get suggestions as I work.
Rather, you were entirely correct. Our administration created this forum for exactly that reason.

As to the tutorial's final approval, the moderators for this forum and our site director will make that decision based on its accuracy, usefulness and originality. I don't believe that there are any time limits imposed on this process, so you are free to tweak and improve Enhancing your RoC map with FT Features as you see fit.
 
Status
Not open for further replies.
Top