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

ElectricSaiyan's Tutorials - Random Tutorials

Level 9
Joined
Jul 20, 2005
Messages
414
Well these tutorials will cover a few things such as skinning, triggering, and such.

Systems are below all of the tutorials...

Tutorials (CTRL+F to find a section)

I. Part I. Basic Crappy Skinning Tutorial
I. Part II. Importing Your Skin
II. Icon Tutorial
III. Triggering Tutorial
IV. "Changing" Tutorial

I. Basic Skinning Tutorial Part I
Here is my quote from the old Tribute website, and it has EVERYTHING that I typed there. Amazing.... Note: Exact wordings but I removed the quote function because it made the text harder to read...
Waah waah waah...Everyone wants to make skins don't they?

I will teach you just a very nooby way to make skins, but you'll get better eventually. Ok...let's start. Btw, this is how to make a crummy Vegeta skin.
get the warcraft III Viewer - http://www.wc3sear.ch/files/downloads.php?ID=11&l=6
It may be the older version, but it will do. Ok now go to open MPQ, then your local drive, program files, Warcraft III, and war3.mpq.

Edit: NEW VERSION - http://dbz-ap.cankoo.com/warcraft%20III%20viewer%20v2.3c.zip
(May lag while it loads the DL)
Okay...Whenever I click that link, it opens a new window to this thread. Just copy the url and paste it in your browser and the DL should pop up.
Edit: I changed the server from my old website to this website, so you should only have to click on it. Also, it will be a billion times faster :wink:

Now since that is open, hit the treeview button. It kind of looks like some sort of math tree thingy...if you know what I am talking about...Or I will get a screen. Note: Ignore the circle going to the MPQ folder open thing...I was...um...on ..crack then? I don't know what I was thinking, or trying to say...
skintutpartone5iz.png

Ok now that we've got the skin, it's time to skin.
open up the skin in paint and select blue, like shown in this screenshot..
skintutparttwo7sm.png

Now just easily fill in all the body of him EXCEPT for the neck, legs, and hands. Make sure it is SIMILAR to this picture.
vegetacraptastic4uf.png

Make the boots, the ankle part to the boots, and the arms white, and you're BASICALLY done. This is all the time I have for this so...
Peace
and good luck : P

-ES-

I. Basic Skinning Tutorial Part II - Importing Your Model/Skin
Ok, first off, you're gonna need to find the model (MDX and all the textures (.blp's)) You also need Yogubul's file converter - http://www.wc3sear.ch/index.php?p=Tools&ID...a1584365b3eaa7b -

When the download finishes, just unzip ALL the files into one NEW folder. Add the crap necessary to run it (storm.dll and war3.exe as well as game.dll) Now open the converter and hit open. Go find your file. I will be using a footman for now. Now hit the to MDL tool and bam, you have your mdl. Now open Notepad or any other word editing program like that. It should look something like this,
pathwaytutorial1hg.png



now scroll down until you find the pathway
pathwaytootorial8sr.png


Now that circled path that you find in the MDL is what you have to type for the custom path in the World Editor. (by the way, I was too lazy to redo the same thing on the footy mdl because I found that picture)
say the path was "aura.blp"
it should look like this
untitled6qi.png

If you don't understand, gimme a message and I'll be glad to help..
The DH pathway is Textures\HeroDemonHunter.blp


II. Icon Tutorial
Quote from my site...Note: I unquoted it because the text gets smaller...It's the exact same text though..
[Ok first of all, SPITFIRE STOP ANNOYING THE HELL OUT OF ME!!!!!!!!! ^^
Alrighty, after that's all said and done, go get the Warcraft III Viewer.
WarCraft3 Viewer - http://dbz-ap.cankoo.com/warcraft III viewer v2.3c.zip
Once again...let the download load..
Okay...Whenever I click that link, it opens a new window to this thread. Just copy the url and paste it in your browser and the DL should pop up.

Okie dokie. Now ...go..find your icon and hit the CONVERT button (you can also just use this one for a base. If you DO use the base then you don't need to convert from blp to bmp/tga)
Base -
btniconbaseicon9ma.png


icontutorial4up.png

It should look something like BLP to ??? or BLP to TGA (skip this step if you used the template icon thingy). Now once you convert the icon from BLP to JPEG or BMP, open it in paint (Microsoft Paint that is...). Fiddle around with it until you like it (Damn I was dumb back then. Take your icon and put it inbetween those lines. Basically you take your image, resize it to fit inside that border INSIDE the box). Yell at Spitfire, Convert the JPEG or BMP back to BLP by hitting the ??? to BLP button or the TGA to BLP button. Once you have converted, you can now import the icon into your map and load'er up!

Crummy tutorial by ElectricSaiyan

Hint: TGAs work in Warcraft, too


III. Triggering Tutorial
There are 3 things in a trigger:
An event, conditions, and the actions. The event is what the game will be using to call, or whenever this happens, do;
So then it reads the conditions. If the conditions all pass (Meaning the conditions are met) then it will go on to actions. You can do a lot with the conditions, like compare units (actual units which means they use variables) and unit types. You can also compare integers, which is really nice because almost any type of thing (string, unit, player, health, a bunch of crap) can be converted into an integer. Now the actions. You can guess already (probably..lol), the action is what all the commands are. With actions, you can create things like unit spawns, save and load codes, health loss, timers, leaderboards, multiboards, and a bunch of things. If you have any questions on how to do any of this stuff, or need help on a trigger, you can always pm me. The form, Events, conditions, actions, in three columns or rows or whatever, where you can select it is called GUI. Basically everything I just changed is GUI. There are two forms of triggers, GUI and JASS. JASS is just text form of GUI. You can do much more with JASS than you can GUI though; mostly prevent a bunch of lag.

Let's say at the first 10 seconds of the game, you want to spawn a footman for red at a certain area (A region). For GUI it would look like this:
Code:
Create 1 Footman
    Events
        Time - Elapsed game time is 10.00 seconds
    Conditions
    Actions
        Unit - Create 1 Footman for Player 1 (Red) at (Center of Region 000 <gen>) facing Default building facing degrees

JASS would look like this:
Code:
function Trig_Create_1_Footman_Actions takes nothing returns nothing
    call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), GetRectCenter(gg_rct_Region_000), bj_UNIT_FACING )
endfunction

//===========================================================================
function InitTrig_Create_1_Footman takes nothing returns nothing
    set gg_trg_Create_1_Footman = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Create_1_Footman, 10.00 )
    call TriggerAddAction( gg_trg_Create_1_Footman, function Trig_Create_1_Footman_Actions )
endfunction
JASS Explaination
Well, this is an update...I recently learned JASS so I can explain some of it..Basically what that trigger above does is first, it runs the function below the "//=======" at the map initialization since it has the prefix of "Init". What it does it creates the trigger and adds the event to the created trigger..Then it adds the actions (in this trigger, the actions are above the Init function..) to the trigger. The trigger takes nothing and returns nothing. This means that it is taking no data from the map and it is not returning any data.
Code:
call CreateNUnitsAtLoc( 1, 'hfoo', Player(0),
(In GUI, Red is known as Player 1)
This bit of code is basically creating the 1 unit of Footman type (hfoo is just the RAW ID for the unit...) for Red.
It then calls a function (under the create unit function) to identify which region the unit is supposed to be created in..This about sums it up...

Hope this helps....
Electric


IV. "Changing" Tutorial
Requested by SlayA-. Exact quote... His question was...
SlayA- said:
How do i change the life/armor/hitpoints of a hero/unit? And how do i change what a spell does? if the spell 1 is to advanced for a rookie dont post it.
They only way I can think of doing that is changing the agility, intelligence, and strength. That gives extra damage, as well as armor. If you don't like the outcome of that, then you can use the Unit - Replace Unit function. What this does is picks a unit, and removes it, while replacing it in the exact same spot of the old unit, with either the old unit's default or current (when it changed), or the new unit's default or max. You just have to change the base damage, armor, and health for the unit that is replacing the old one. Here's the code for it.

Unit - Replace (Triggering unit) with a Footman using The new unit's max life and mana
There's only one problem with this. If you use it on a unit that had a variable set, then you have to reset it. This can get very annoying and become quite hard to understand. If you are going to use this, add this little code right after the replace code. What it'll do is instead of everytime having to select your unit whenever you gain stats without the strength, agility, or intelligence. Basically, it automatically selects the unit for you. I'll look into readding the abilities. Or you can create your abilities, but don't give them to the units. Use triggers like this:
Untitled Trigger 001
Events
Unit - A unit Gains a level
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Hero level of (Triggering unit)) Greater than or equal to 5
Integer1 Equal to 0
Then - Actions
Unit - Add Blink(Lvl 1) to (Triggering unit)
Set Integer1 = (Integer1 + 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Hero level of (Triggering unit)) Greater than or equal to 10
Integer1 Equal to 1
Then - Actions
Unit - Remove Blink(Lvl 1) from (Triggering unit)
Unit - Add Blink(Lvl 2) to (Triggering unit)
Set Integer1 = (Integer1 + 1)
Else - Actions
The variable "Integer1" is just a variable to keep track of what abilities you've gained, so you don't keep regaining that ability everytime you gain a level greater than 5. This function:
Unit - Add Blink(Lvl 2) to (Triggering unit)
Just updates the ability whenever it gets to level 10. You have to create the level 2 blink. I just typed in (Lvl 1/2) in there for show. When you create it in the Object Editor (F6), just go to the ability tab, and find Blink. Now hit Create New Ability, and name it whatever you want (Blink would work..:lol:). Now set up what you want (this is level 1). Whatever you want, meaning the mana used, cooldown, distance teleported, etc. Now copy and paste that exact ability. It'll take time. Now DON'T select anything else just yet. First thing you do once you paste is go down to the very bottom and rename it "Name (Lvl 2)". This is just incase you've already triggered most of the trigger. You don't want it to be adding Level 2 at level 5, and then Level 1 at level 10. Now go through your stats and just add more to the same stuff you altered (Distance, mana cost, cooldown, etc...again...). You might also want to go back to the Level 1 Blink and rename it "Name (Lvl 1)". Now you're all good to go. You only need ONE of these triggers to add ALL of the abilities to your units. About the spell thing, just tell me what kind of spell you want (Depending on what effect it is that you're wanting, you might have to trigger it). I'll either give you a tutorial, or just make it so you can look at it.




Systems (CTRL+F to find a section)
I. Creep Revival System


I. Creep Revival System
Okay, I don't really care if I get credit or not...BUT it would be nice ^^
Code:
Respawn Trigger
    Events
        Unit - A unit Dies
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Triggering unit)) Equal to (<creep type>)
    Actions
        Wait 20.00 seconds
        Unit - Replace (Triggering unit) with a (Unit-type of (Triggering unit)) using The new unit's max life and mana
Orange colors should be changed...
Electric
 
Top