Tutorial Links

Status
Not open for further replies.

IceDevil9

BattleForums Senior Member
Joined
Feb 19, 2003
Messages
3,418
Reaction score
3
Location
CA
Website
www.rcthaven.com
SlayMaximus
Damage Tutorial

IceDevil9

Arrays and Dialogs

Ultimate TD Tutorial

Darimus

Ability Finding
World Editor FAQ

l33t 0n3

Skinning Guide (NOTE: It is about 5-8 posts long (In a row), so keep reading.)

Random Authors

A Plethora of Tutorials - All Gathered and posted by Darimus. Great work man!
Custom Icons/Skins/Spells - A 3-page thread full of icons, loading screens, skins, and custom abilities. Good job guys, these look great. I especially love Kaldaris'

Submitted by Aragorn7 - A great site with tons of tutorials. Thanks for the link Aragorn!

Actual Tutorials

IceDevil9 said:
Quote:
Originally posted by speaker
How do i make it so when a timer window runs out, it sends all units in a specific region, to a desired region? and also, how can i make it so when only 4 units enter a region they will be tranported to a different region? so when 1 unit enters it will not be transported but when 4 do the trigger will work and they will be transported??? Ty



When a timer runs out, use this trigger. You must first create a variable, a timer. For our example, we'll name it TimerOne

Events

Countdown Timer- Timer Expires- TimerOne expires.

Conditions

None

Actions

Countdown Timer-Timer Window- Destroy last created timer window.
Countdown Timer-Pause Timer- Pause TimerOne
Unit-Issue order to Units In Region- Issue order to all units in RegionOne to Move to RegionTwo

And for the 2nd one, where 4 units enter a region.

Events

Region-Unit Enters Region- A unit owned by Player 1(Red) enters RegionOne

Conditions

Not entirely sure on this, look for something in Units or maybe Regions. It should be something similar to '# of units in region is equal to __'

Actions

Unit-Move Units- Move all units in RegionOne to RegionTwo.

-Frank :cool:
Darimus said:
Question: How do I create a chat function in an RP Map?

Answer:
use this instead (it checks if = is in the front not just anywhere in the chat)

RP Chat
Events
Player - Player 1 (Red) types a chat message containing = as A substring
Player - Player 2 (Blue) types a chat message containing = as A substring
Player - Player 3 (Teal) types a chat message containing = as A substring
Player - Player 4 (Purple) types a chat message containing = as A substring
Player - Player 5 (Yellow) types a chat message containing = as A substring
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Substring((Entered chat string), 1, 1)) Equal to =
Then - Actions
Unit Group - Pick every unit in (Units currently selected by (Triggering player)) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Picked unit)) Equal to (Triggering player)
Then - Actions
Game - Display to (All players) for 30.00 seconds the text: ((|c009A0000 + (Name of (Picked unit))) + :)|r + ( + (Substring((Entered chat string), 2, 200)))))
Else - Actions
Do nothing
Else - Actions
Do nothing
Darimus said:
RP Spawn
Events
Player - Player 1 (Red) types a chat message containing Spawn as A substring
Player - Player 2 (Blue) types a chat message containing Spawn as A substring
Player - Player 3 (Teal) types a chat message containing Spawn as A substring
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Integer((Substring((Entered chat string), 7, 8)))) Less than or equal to 15
Then - Actions
Unit Group - Pick every unit in (Units owned by (Triggering player) of type Spawner) and do (Actions)
Loop - Actions
Unit - Create (Integer((Substring((Entered chat string), 7, 8)))) (Unit-type((Substring((Entered chat string), 10, 99)))) for (Triggering player) at (Position of (Picked unit)) facing Default building facing degrees
Else - Actions
Game - Display to (Player group((Triggering player))) for 10.00 seconds the text: You must spawn 15 units or less
IceDevil9 said:
Quote:
Originally posted by tassadar920
Ok listen up someone plz , i really need help with this. In my current rpg map I have a LOT of areas taht need units to spawn periodically, so I decided that, why not make a trigger that could automatically spawn the units.

So I made this:

Events (none)
Conditions (none)
Actions -
For each (Integer A) from 1 to *spawnamount*, do (Unit - Create 1 *spawnunit* for *spawnforplayer* at (Center of *spawnzone*) facing default building facing degrees)

But I encountered a problem, how do I make the value of 'spawnzone' (which isn't a variable yet) change from one region to another?



Quite simply, you cannot. You need to copy and paste that trigger for the various regions you have, and edit it accordingly.

EDIT- If you're thinking of making it so if they're at a certain spot and you only want the monsters of that area to respawn, then do something like this.


Events

Unit- Unit Enters Region- A unit enters Re-Spawn 1

Conditions

Unit Comparison- Owner of Entering Unit equal to Player 1 (Red).

Actions

Trigger - Turn On - Turn on Re-Spawn Trig 1

I forgot to mention you must turn the trigger off by default. Player 1 (Red) can be changed if in your RPG there is a plyer who must stay alive for them to win (Like Illidian in the 7 DHs), then change it to that player.

-Frank :cool:
tassadar920 said:
Question: How do I create a new race?

Answer: You'll have to make custom units to create the new race. Here are a few easy steps.

1. Ok you need to pick if your going to make the race from SCRATCH, or if your going to copy one of the 4 races that came with the game and CHAGE it to fit your needs.

From Scratch:

Create a new .txt file somewhere and lay it out like this:

-Buildings
/t-Tier1
/t/t-Tier2
/t/t/t-Tier3
-Units
/t-Tier1
/t/t-Tier2
/t/t/t-Tier3
So on and so forth with, "Buildings" "Units" "Spells/Abilities" "Upgrades"

Now under each heading, add the name of the unit/building/spell/upg and next to it put all the required buildings etc for the race.

At this point you should have a race that is basically fully planned out, now you'll need "skins" If you don't know how to skin, your screwed at this point, otherwise make the skins/clicky thingy that you click on to activate spells and stuff, and have those ready in a folder off to the side.

Now the fun part, you get to put together your race, it's totally unnesseccary to have a name at this point, normally names for races (orgiinal ones anyways) come from an outside inspiritation later on, just wait if you have no ideas. Now if your not experienced in custom building, your screwed here. IF you are, replace the units models/textures, import all of the files from the folder, and put together all untis and buildings. These are the importatn parts for now, then interconnect the buildings/units by setting the different things they can build/be upgraded into, again if you have no expereince in custom units your screwed.

Now repeat the last step but doing spells/abilities. Some spells may require you to use triggers off to the side to activate them, this is totally unnessecsary, but can make cool effects sometimes.

You have your race, all thats left to do is balancing the different parts, i wont go into details because if you dont understand this, again your screwed.

If you need inspiration for a new race, just look around... a cool idea i once had for a race is a 'nomad' race, that dont have any permanent buildings. Much like the night elves that can pick up and move, but the nomads would be able to move faster, and they would have weak 'mercenary' units mainly, that would have short life spans before turning into normal peasants.
Another Idea is a race where you can get units like normal, but the untis are very powerful, and can stand in battle relitively alone. But over time like the phoenix fromt he humans, they lose their strength, though unlike the phoenix they wouldn't ONLY lose health, but also some armor, and some attack dmg. Sooner or later they would topple over and die, their souls though, would come back to your base, invisible except to detecting towers etc, and you would get part of your money back.

Yeah... the other way:

From CHANGES:

Start with 1 of the 4 prebuilt races, like from scratch plan out your race in a seperate file not just in your head. Once you have a basic idea formed, right it all down, but make sure that you can edit the units already in the prebuilt race so they fit your needs. In english:

You can only change names, dmg, spells etc to fit what you need, but with this system (unless you have experience doing custom units/spells etc) you won't want to change anything drastic. You can obviously change models etc to fit your needs. Importing models is relatively easy (import manager > import file > find your file > copy the path > use it for the model, under 'custom path - ___') then change spells etc, or copy other spells to fit your needs according to your plan.

ez enough no?
-Frank :cool:
 

IceDevil9

BattleForums Senior Member
Joined
Feb 19, 2003
Messages
3,418
Reaction score
3
Location
CA
Website
www.rcthaven.com
More:

daorc said:
I found this tutorial and i thought i'd share it with you guy's.

Files you need:
MilkShape 3D - http://www.milkshape3d.com
LithUnwrap - http://files.seriouszone.com/download.php?fileid=198
WC3 Map Utilities - http://www.wc3campaigns.com/files.p...;file=33&s=
YobGuls File Converter - http://www.wc3campaigns.com/files.p...;file=32&s=
Any Paint Program


We are going to be making a pyramid with a floating ball on top unwrapping it, skinning it, and animating it.

First off, open up MilkShape.
Now, make a box, and make sure it's on the ground.
Now in the right toolbox, goto select, and goto near the bottom of the right toolbar, and select "vertex".
Now you should have dots in the 4 corners of your box.
On the top right screen, select the top right dot, and drag it half way to the left, now do the same to the top left dot, but drag it over top of the dot you just moved. Now do the same on the top left screen.
There you go, you got a pyramid!
Now select sphere and make a ball over the pyramid.
Now, select joint, and make a joint in the middle of the ball.
Now goto groups on the right toolbar, the sub-section one, highlight sphere 01, then goto joints and press assign. Now we got a ball that can move!

Animating
Now we will have to animate the ball. This is pretty hard. goto the bottm right of the screen, and click on "Anim". Now select the joint. Press Ctrl + K ( I will refer to that and keyframing). Now there should be 2 numbers to the left of the Anim button. Set the one on the right to 10. Set the one on the left to 5. Now take the joint, and move it up about 3 cm up the moniter. Now keyframe this frame. Make the number on the left to 10. Make the ball a little lower than where you keyframed it first, and keyframe the frame. Now make the number on the left to 1, and click to ">" button above Anim. The ball should move up and down. Now for unwrapping.

Unwrapping with LithUnwrap
Save your pyramid ball combo. Make sure you dont export it, but save as. Now save it anywhere with any name. Now open LithUnwrap. Goto 'File > Model > Open' and open your model. There should be many triangles. Thats ok, so dont worry. Now on the right toolbar, press the + beside groups. the select box 01. All the triangles should disappear, and there should be a box with a "/" through it. Now right click on box 01 under groups, and press select. Now right click on the box to the left and press "Scale > Arbitrary...". Click on X0.5 and press the close button. now move your small square to the top right of the grid. Now to the same with sphere 01, but move it to the bottom right. Now save the file as '<name>.3ds'. Then goto 'File > UV Map > Save...' and save it as 'pyraball.bmp' ( you need to save it as this, or you cant use your skin. Make it "Color" And check off "fill" There, now you are done unwrapping.

Conversion Junk and Skinning
Now open your UV map you just saved it your paint program. Now make colours or some kind of pattern (the square is the box, and the pointed box is the sphere). Save it again. Now open up WC3 Map Utilities. Goto "Plug-ins" and open "(3DS/OBJ) -> MDX Convertor". Now find you "<name>.3ds" file and put it in the first field. Then Goto a folder and save it as "pyraball.mdx". WARNING!!! Don't convert it yet!!!! This is where most people will go "I'm a genius, so I'll just press CONVERT now!" Well, DON'T. Well, you can if you want your model to have a messed up skin. So now goto "Textures > Texture Pathname..." and type in "Textures\pyraball.blp".
NOW you can press convert. And then close it. Now in plug-ins, goto "WarCraft III Viewer". Then click on the button that says "? - .blp" right below the top toolbar. Now find your "pyraball.bmp" you made, and convert it to "pyraball.blp". You are very close to done... Now open YobGuls File Converter and convert "pyraball.mdx" to "pyraball.mdl". Then find "pyraball.mdl" and use it with notepad. There should be a place near the top that says...
Sequences 1 {
Anim "Stand" {
Interval { 0,3333 },
Change it to...
Sequences 1 {
Anim "Stand" {
Interval { 0, 10 },
Now it you haven't already, close YobGuls, and reopen it. Now convert the file back to "pyraball.mdx"

Importing it!!!
Ok, you are done the model!!! Now open a WE and goto "Import Manager". Import "pyraball.mdx" and "pyraball.blp". Change the pathname of the .mdx to "Unit\Other\PyramidBall\pyraball.mdx" and the .blp to "Textures\pyraball.blp". Now goto "Object Editor" and make a custom unit with the model file we imported. Now place it on the map and you should see it... just joking... Save the map and close it, reopen it and it should be there!
-Frank :cool:
 
Status
Not open for further replies.
Top