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

[Mapping] Important things that should be in an RPG.

Level 6
Joined
May 8, 2010
Messages
150
pRo.MAPMAKER
THE RPG TUTORIAL!


WHAT IS IN THIS TUTORIAL

-I will show you how to create abilities which deal damage and heal based on a heroes attributes.

-I will show you how to create realistic respawns.

-I will show you how to trigger a good RPG camera system(Arrow keys to control zooming in/out and rotation around a hero unit)

-How to create fading floating text. (Used when an ability is cast for example)

-Examples of all the above and how to create a mini-boss fight in a map.

USEFUL TOOLS!
Warcraft III Colourizer!
Really useful when announcing events in the game.


Floating Text


[Trigger=Floating Text]
Floating Text - Create floating text that reads (String((Intelligence of (Triggering unit) (Include bonuses)))) above (Triggering unit) with Z offset 0.00, using font size 8.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 2.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
[/trigger]



First off we need to create the floating text..
Floating Text - Create floating text that reads ------- above (Triggering unit) with Z offset 0.00, using font size 8.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency

To make this floating text show an ability that has been cast you will need to set it as "Create floating text that reads 'Game - Ability Name'


Floating Text - Create floating text that reads (Name of (Ability being cast)) above (Triggering unit) with Z offset 0.00, using font size 8.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency


How to edit the time it takes to fade the floating text

Which triggers we need..

Floating Text - Change the lifespan of (Last created floating text) to --- seconds

Floating Text - Change the fading age of (Last created floating text) to --- seconds


Trigger 1
Floating Text - Change the lifespan of (Last created floating text) to 4 seconds

The white text is where you enter the amount of time it takes for the floating text to die. You should have this between 3-5 seconds.

Trigger 2
Floating Text - Change the fading age of (Last created floating text) to 3 seconds

This trigger, the white text is the amount of time it takes for the floating text to fade out(this should be one second less than Trigger 1.

The last trigger needed in the Actions is a trigger which allows the floating text to fade out.

Floating Text - Change (Last created floating text): Disable permanence

This is a simple trigger to find, and is easy to set up.

Events

To make this trigger reveal ability names when they are cast.. you need the right event.

Unit - A unit Begins casting an ability

With this event, anytime an ability is cast.. it will rise from the position of the casting unit(or triggering unit)

Events
You can add conditions in if you want to customise the floating text by having an ability being shown with a specific colour.. but if you do this.. remember to add to the trigger that shows if any ability is casted.. conditions, that the casting ability isnt the other trigger which is done seperatly.

Floating Text Colours??
You can change the colour of the floating text by either using the Warcraft Colourizer and adding a code into the text displayed.. or edit the trigger by altering the colouring.

Floating Text - Create floating text that reads Hello above (Triggering unit) with Z offset 0.00, using font size 8.00, color (0.00%, 100.00%, 0.00%), and 0.00% transparency

The above trigger will show the word Hello with the colour green.
You can alter the colours by adjusting the percents highlighted.


Abilities powered by a heroes attributes.
I will show you how to make a simple single target spell that either damages or heals a target unit based on a units attributes.


[trigger=Firebolt]
Firebolt
Events
Unit - A unit Begins casting an ability
Conditions
(Ability being cast) Equal to Firebolt
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Firebolt
(Level of (Ability being cast) for (Triggering unit)) Equal to 1
Then - Actions
Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing (4.00 x (Real((Intelligence of (Triggering unit) (Include bonuses))))) damage of attack type Spells and damage type Normal
Floating Text - Create floating text that reads (String(Stun2[(Player number of (Triggering player))])) above (Target unit of ability being cast) with Z offset 0.00, using font size 8.00, color (0.00%, 0.00%, 100.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Wait 0.25 seconds
Floating Text - Create floating text that reads (String(((Integer((Real((Intelligence of (Triggering unit) (Include bonuses)))))) x 4))) above (Target unit of ability being cast) with Z offset 0.00, using font size 8.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Ability being cast) Equal to Firebolt
(Level of (Ability being cast) for (Triggering unit)) Equal to 2
Then - Actions
Unit - Cause (Triggering unit) to damage (Target unit of ability being cast), dealing (8.00 x (Real((Intelligence of (Triggering unit) (Include bonuses))))) damage of attack type Spells and damage type Normal
Set Stun2[(Player number of (Triggering player))] = (Random integer number between 3 and 8)
Floating Text - Create floating text that reads (String(Stun2[(Player number of (Triggering player))])) above (Target unit of ability being cast) with Z offset 0.00, using font size 8.00, color (0.00%, 0.00%, 100.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Floating Text - Create floating text that reads (String(((Integer((Real((Intelligence of (Triggering unit) (Include bonuses)))))) x 8))) above (Target unit of ability being cast) with Z offset 0.00, using font size 8.00, color (100.00%, 0.00%, 0.00%), and 0.00% transparency
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Else - Actions

[/trigger]


The above trigger is a spell with 2 levels, which deals at level 1 4x the amount of intelligence of a casting hero, and level 2 is 8x the amount of intelligence and displays the amount damaged above the targeted unit.


TUTORIAL WILL BE FINISHED SOON!

ATTACHED MAP CONTAINS ALL THE ABOVE.
ALSO HAS A BACKPACK SYSTEM WHICH ISNT WORKING PROPERLY YET.
 

Attachments

  • pRo.MAPMAKER. RPG TUTORIAL.w3x
    110.9 KB · Views: 88
Last edited:
Level 25
Joined
Dec 30, 2007
Messages
1,549
Important things that should be in an RPG.
Heroes
Spells
Quests
NPCs
Dungeons
Story
Music
Customization
and I can go on forever.

Let's just say, this is lacking and not even close to "Important things that should be in an RPG"
And floating text ain't the most important thing, by far, but it's useful.

You should improve this :)
 
Use some kind of system for this one:
  • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
  • Floating Text - Change (Last created floating text): Disable permanence
  • Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
  • Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Next time just create floating text and run this trigger above!

Also you can set default variables (color, z offset, size, duration, etc etc) that will run each time you call trigger above! Or you can change that in your ability and run trigger again!
 
Level 6
Joined
May 8, 2010
Messages
150
Important things that should be in an RPG.
Heroes
Spells
Quests
NPCs
Dungeons
Story
Music
Customization
and I can go on forever.

Let's just say, this is lacking and not even close to "Important things that should be in an RPG"
And floating text ain't the most important thing, by far, but it's useful.

You should improve this :)

Those are the obvious things that should be in a RPG.
Just giving people triggering and good examples of systems that could be used.. Plus the tutorial isn't finished yet.. i will finish it in the next day or 2.


Use some kind of system for this one:
  • Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
  • Floating Text - Change (Last created floating text): Disable permanence
  • Floating Text - Change the lifespan of (Last created floating text) to 6.00 seconds
  • Floating Text - Change the fading age of (Last created floating text) to 5.00 seconds
Next time just create floating text and run this trigger above!

Also you can set default variables (color, z offset, size, duration, etc etc) that will run each time you call trigger above! Or you can change that in your ability and run trigger again!

I have used that system lol?
 
Level 8
Joined
Jun 30, 2010
Messages
259
"Tutorial will be finished soon"
I don't think you should submit unfinished tutorials.
Use triggers for the "triggers" in your tutorial instead of just texting it, you lack this in the hidden "the trigger" and "triggers".
Also, every NORMAL attack should display the damage dealt in floating text, if you don't know how to do this, then I can show you an easy system.
Good terrain in test map thought.
 
Level 6
Joined
May 6, 2009
Messages
89
Uhm, dude, I've made a tutorial on how to make an ORPG. Iv'e covered most of the stuff that is important in both an ORPG, and an RPG. Take a look at it, and work from ther mabye? What I would reccomend you do is just show how to make spells and items, as well as a few sysetms like item, pick, and spell systems.

Anyways, god luck with your tut :grin:

Take a look at my sig for the link to my ORPG tut ^_^
 
Level 8
Joined
Jun 30, 2010
Messages
259
Well, ok then, I will give my review:
I don't think this is a good tutorial for 3 reasons:
1. Tt does NOT include the things you are saying it should include! Even thought it is not finished you should not say that "This is in this tutorial", when it is not. Write "This WILL be in the tutorial when it is finished" instead
2. The floating text leaks. You must disable permanentality.
3. The spell leaks. It won't work properly with waits, use hashtables instead. I have wrote MANY such comments in the spell section, check them out.
Also, it does not contain a wait in the level 2 trigger... That is very strange.
 
Top