• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

How to: Create Professions easily

Level 4
Joined
Jun 1, 2008
Messages
46
Professions

Contents
Introduction
1.1
Mining
Creating Ore Veins
Creating Abilities
Creating Items
Creating Triggers (Part II)
Ending

1.2
Cooking
Creating Items
Creating Abilities
Creating Fire Pit
Creating Triggers (Part II)

1.3
Smelting
Introduction
Creating Custom Unit
Creating Custom Items
Creating a Custom Ability
Creating Triggers (Part II)
Ending

1.4
Fishing
Introduction
Creating Custom Items
Creating A Custom Ability
Creating Triggers (Part II)
Ending

1.5
Black Smithing
Introduction
Creating Custom Unit
Creating Custom Item's
Creating a Custom Ability
Triggers (Part II)
Ending

1.6
Alchemy
Introduction
Creating Custom Item's
Creating a Custom Ability
Triggers (Part II)
Ending

1.7
Beast Taming
Introduction
Creating Abilities
Creating Items
Creating Triggers (Part II)
Ending


Introduction
When I first started map making for Warcraft III I really wanted to make maps like Wow or LOAP. So I began making my own ideas, maybe I over complicated them. Half of them didn’t get finished and the ones that did are now forgotten some where in the internet. The thing I was really stuck on were professions. They bugged me always, I looked for tutorials about how to make them but I couldn’t find any. At last I’m now better at map making so I have decided to try again and I got success. So I’m now making a Tutorial to explain how to make basic professions. Please note that this is only one of many ways to do it. This Tutorial is supposed to inspire you to think of other ways to do it. I won’t go over all the Professions in Wow but only a few. Thanks for reading if you do

Mining (1.1)
Mining is about having a pickaxe and finding an Ore Vein then mining it, you then get an item out of the Ore like copper, iron, gold etc. These metals can be used to make weapons that I will try to explain later.

For this bit I will show you:
How to make Triggers for mining
Ideas for mining
Abilities for mining

Ok, for this you shall need a tiny experience with the Object editor.

First open up object editor
Click on Items
Scroll down and search for Gem Fragment
Once you find it then click on it. Gem fragment is under Campaign

Ok you will now have the Gem fragment page. We will be using this as the Metals that you mine out of the Ore Vein. It doesn’t matter what you use really but I find gem fragment the best to start off with. You can import your own Icons and Models but if you don’t know how then don’t bother.
You must now copy and paste Gem Fragment 4 Times.

Ok, find the bits where it says Text – Name. Double click on it then change it to Copper. You may also change the Text – Hotkey, Text – Display and Text – Tooltip Basic/Extended.

Ok now repeat what I’ve just told you with the Text data for the other 2 copies but change their name to Iron, Gold and Unidentified Ore.


Creating Ore Vein
Ok, we now have 3 metals; Copper, Iron and Gold. These are what you will find once you mine the Ore Vein.

Ok now we shall make the Ore Vein. This is a tiny bit harder because there’s more to edit.

Go to units on the Object Editor.
Go to Neutral Passive> Melee> Buildings> Gold Mine
I’m using a gold mine because it looks like a Vein if you shrink it down.
Make sure you C&P (Copy and paste) once.

Now to edit some of the fields.

At the top (Depending on what Warcraft III WE you have) you should see Abilities – Normal. Double click on it and remove gold mine ability so it’s only left with Invulnerable.

Find Art – Ground Texture and set it to none

Find Art – Scaling Value and set it to 0.50

Scroll down to find Pathing – Pathing Map and pick the one that says Arcane Tower, Cannon Tower, Guard Tower, Farm and so on

Scroll to the bottom and change the Text – Name field to Ore Vein.

Great that’s the Ore Vein done!!!

Now take a break for a bit if you’d like…


Creating Abilities

Ok now we only have 2 more things to edit in the object editor.

I am going to make it so that when you mine the Ore Vein it drops an Unidentified Ore so you have to prospect it to find out what it is.

First find storm bolt that’s under Human > Hero’s

C&P once

Ok now click on your C&P

Scroll down to Stats – Hero Ability and turn that to False then find Stats – Item Ability and turn that to true.

The fields will have changed a lot so scroll up and find Stats – Levels and set that to 1 then find Data – Damage Dealt and set that to 0.

Delete all the buffs in Stats – Buffs, Set Stats – Casting Range to 130.00, set Stats – Duration Hero/Normal to 0 and set Stats – Cool down to 1.00

This will have first made sure no stats appear, made sure that the caster can’t cast this ability far away, made sure that it doesn’t bug with duration and the cool down doesn’t take forever…

Also make sure that the Stats – Mana cost is 0

Find Stats – Target Allowed and un-tick everything then re-tick Item, Vulnerable.

Find Text – Name and name this prospect.

Now to save loads of time C&P Prospect. This will be mining.

All you have to do is change Text – Name and Stats – Targets Allowed to Debris, Ground, Invulnerable, Neutral, and Structure.

This will allow the mining ability to target Ore Veins.

Good now we have Abilities, Ore veins and the Ore.

Creating Items

Ok I lied there is two quick things we need. When I made this way of mining I used Items for abilities, it was a Pick Axe and a Prospector. You could add the two abilities into a Spell book but that’s not what I will show you. So you shall create a Pick Axe and a Prospector.

First for the Pick Axe

Go onto object editor and click on Items
Look for Killmaim
Edit the Abilities so that it only has the Mining Ability you made earlier and change all the Text Fields.
Also edit the Stats – Cool down group. Pick the ability mining that you created and change Stats – Actively Used to True.

Now look for Alleria’s flute of accuracy.
Edit the Abilities so you get prospect and change the Text Fields. Edit Cool down group and Stats – Actively Used to True.
ALSO edit the Stats – Classification so it is miscellaneous.

Great now we have finished the editing!!!!

Congrats ok now for a tiny bit of triggering then we shall be done.

Creating Triggers
Part II

We shall make 4 triggers:
Mine Variable Initi
Goldmine Drop
Mining
Prospect

Open up your trigger editor.
Press Ctrl + B to open up variables.
Create 4 Variables
Copper (Item-Type)
Iron (Item-Type)
Gold (Item-Type)
Mining_Level (Integer)

Now close the Variable page and create a new trigger, name it Mine Variable Initi.
Make it look like this:

  • Mine Variable Initi
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Melee Game - Use melee time of day (for all players)
      • Set Mining_Level = 0
      • Set Copper = Copper
      • Set Gold = Gold
      • Set Iron = Iron
Explanation:
Events – Map Initialization is when the game starts
Conditions – N/A
Actions – Sets all the variables and the Melee time of day. Easy to create!

Now we have our Mining Variable Initi Completed.

Let’s do Goldmine Drop!

Create a new trigger and make it look like this:

  • Goldmine Drop
    • Events
      • Unit - A unit Dies
    • Conditions
      • (Unit-type of (Triggering unit)) Equal to Ore Vein
    • Actions
      • Item - Create Unidentified Ore at (Position of (Dying unit))
Explanation:
Events: When ever a unit dies the event fires
Conditions: This makes sure that for the trigger to work the dying unit (triggering unit it is also known as) is equal to Ore Vein
Actions: This creates an Unidentified Ore at the position of the destroyed goldmine.

Ok so now the Ore drops from the gold mine. But the gold mine can’t be killed unless we make some more triggers.

Ok this is where it gets complicated for newbie’s. But don’t worry, just try to understand and if you don’t just C&P the trigger anyway ha-ha!

  • Mining
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Mine
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Target unit of ability being cast)) Equal to Ore Vein
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 0 and 10) Greater than or equal to 7
            • Then - Actions
              • Unit - Kill (Target unit of ability being cast)
              • Set Mining_Level = (Mining_Level + 1)
              • Game - Display to (All players) the text: ((String(Mining_Level)) + is your mining level...)
            • Else - Actions
              • Game - Display to (Player group((Owner of (Casting unit)))) the text: You failed to mine ...
        • Else - Actions
          • Do nothing
Explanation:
Events: When a unit starts casting ANY ability the event fires

Conditions: The ability that made the event fire must be equal to the mining ability we created earlier.

Actions: Complicated. Let’s start with the first If/Then/Else
1st If/Then/Else: If the unit that is being targeted is a unit type of Ore Vein then the Action continues, if not nothing happens.

2nd If/Then/Else: Rolls a random number between 0 and 10 and if that number is greater than or equal to 7 then it destroys the mine causing the Goldmine Drop trigger to activate this also increase your mining level by 1, if not the goldmine isn’t destroyed and it displays a message saying you failed to mine.

Please note that the mining_Level doesn’t play a part in this Tutorial, it was only for ideas like you must have a certain level to wield a strong pick axe or something like that.

And now for the last trigger. This trigger is more complicated than the last; this trigger is for prospecting the Ore to see what type of Ore it is.

So here is the final trigger:

  • Prospect
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Prospect
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Casting unit) has an item of type Unidentified Ore) Equal to True
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 1 and 10) Greater than or equal to 7
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random integer number between 1 and 10) Greater than or equal to 9
                • Then - Actions
                  • Item - Remove (Item carried by (Casting unit) of type Unidentified Ore)
                  • Item - Create Gold at (Position of (Casting unit))
                  • Set Mining_Level = (Mining_Level + 5)
                  • Game - Display to (All players) the text: ((String(Mining_Level)) + is your mining level...)
                • Else - Actions
                  • Item - Remove (Item carried by (Casting unit) of type Unidentified Ore)
                  • Item - Create Iron at (Position of (Casting unit))
                  • Set Mining_Level = (Mining_Level + 3)
                  • Game - Display to (All players) the text: ((String(Mining_Level)) + is your mining level...)
            • Else - Actions
              • Item - Remove (Item carried by (Casting unit) of type Unidentified Ore)
              • Item - Create Copper at (Position of (Casting unit))
              • Set Mining_Level = (Mining_Level + 1)
              • Game - Display to (All players) the text: ((String(Mining_Level)) + is your mining level...)
        • Else - Actions
          • Do nothing
Explanation:
Events: Like the last trigger this event fires when something casts an ability
Conditions: This is to make sure that the ability being cast is equal to Prospect that we made earlier.
Actions: Here we go with the If/Then/Else

1st If/Then/Else: This makes sure that the target of the ability is Unidentified Ore, if it is then the actions continue, if not then they stop.

2nd If/Then/Else: This rolls a number between 1 and 10. If the number is greater than or equal to 7 then the actions continue, if not then the casting unit of Prospect gets a Copper Ore.

3rd If/Then/Else: That same but it is greater than or equal to 9. If it is then you get gold, if not then you get Iron. If you get Copper you get +1 level for mining, Iron is +3 and Gold is +5.


Ending

That is it for the mining tutorial. Place down the 2 Custom made items and a couple of Ore Veins and 1 hero then try it out and see for your self. I will be making more Profession tots on this thread. Hope you enjoyed reading this and please give your comments

Cooking (1.2)

Cooking is a very easy to do Profession. So it will only take around 5 minutes to get together some triggers and custom units...

So i will go through quickly how to do this easy thing.

Creating Items
You will make 4 Custom things:
Uncooked meat
Cooked Meat
Fire Pit
Cook


Uncooked Meat

Look for Monster Lure on the Items bit in the Object Editior.

C&P it once

Go onto the copied one and get rid of all its abilities then change all the Text Fields so it's called Uncooked Meat.

C&P Uncooked meat and rename it Meat and add Item Healing (Greater) to the meats abilities so it can heal you

Simple wasn't it?

Thats 2 out of the 4 things done. Now for cook.

Creating Abilities

Let's use Stormbolt again. C&P Stormbolt then rename it to Cook.

You want to change these fields to make them look like this:

Data - Damage 0
Stats - Buffs None
Stats - Cast Range 130.00
Stats - Cool Down 0
Stats - Duration Hero 5.00
Stats - Hero Ability False
Stats - Levels 1
Stats - Mana Cost 0
Stats - Targets Allowed Debris, Ground, Invulnerable, Neutral, Organic
Text - Name Cook
Text - Tool Tip - Normal Cook

After that you have finished editing the 3rd thing :D

Now for the important fire pit. The fire pit will be a Unit so that it will be MUCH easier to trigger.

Creating Units

Ok so first go to Units in the Object Editor
C&P a Footman

go to the copy of it and delete all of it's abilities and add Invulnerable.

Edit these feilds to make them look like this:

Art - Model File Fire Pit (You find this under Doodads)
Combat - Attacks Enabled None
Text - Name Fire Pit

Now you have a unit that looks like a fire pit ;) so thats good. Now for one trigger. Yes you heard it one trigger!!!

Triggers (Part II)

This is the trigger
  • Cooking Meat
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Cook
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Target unit of ability being cast)) Equal to Fire Pit
          • ((Item carried by (Casting unit) of type Uncooked Meat) is owned) Equal to True
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 0 and 10) Greater than or equal to 7
            • Then - Actions
              • Game - Display to (All players) the text: You burnt your meat...
              • Item - Remove (Item carried by (Casting unit) of type Uncooked Meat)
            • Else - Actions
              • Item - Remove (Item carried by (Casting unit) of type Uncooked Meat)
              • Hero - Create Cooked Meat and give it to (Casting unit)
              • Game - Display to (All players) the text: You have cooked mea...
        • Else - Actions
          • Game - Display to (All players) the text: You must have Uncoo...
Explanation:
Events: Same as always, Event fires when somthing casts an ability.

Conditions: The Ability being cast must be equal to cook, the one you just made

Actions: This checks to see if you are targeting a Fire Pit (Unit) and have Uncooked meat. If you dont then a message says you must target a fire pit and/or have uncooked meat. If you do then it rolls a number between 0 and 10, if that number is 7, 8, 9 or 10 then the meat is burnt by it being taken away and cooked meat not replaced. If it isn't any of those numbers then it cooks and you have your Uncooked Meat replaced with cooked meat

Created by Duderock101

Smelting (1.3)

Introduction to Smelting

Smelting could be quite hard to do but i've managed to do it in 1 trigger. This way of smelting is one of millions of different ways. Also this way ties into the Mining.

Here we go :D :

For Custom Objects we shall be making:
Smelter
Smelt
Copper Bar
Iron Bar
Gold Bar


Custom Unit

Smelter

The smelter is used for smelting bars, easy quick and simple. You may also let it sell things for blacksmithing that i will go over later.

First open up OE (Object Editor)

Find Blacksmith under Melee > Humans > Buildings.

C&P it then find your copied one, open it up and change the following feilds so they look like this:

Abilities - Normal Invulnerable
Art - Ground Texture None
Text - Name Smelter



Thats it quite simple isn't it. Now remember when ever you place this down change it's team to Neutral Passive.

Ok now for...

Custom Items

Bars

C&P Copper and then rename it Copper bar
C&P Iron and then rename it Iron Bar
C&P Gold and then rename it Gold Bar.

Done, please not that this is a quick thing so keep in mind to change some more of the Texts fields and the Gold Cost ;) .

Ok now for the Ability

Custom Ability

Smelt

Find Storm Bolt and C&P it. You would of noticed i use Storm Bolt a lo because it's a good dummy ability that dosn't do anything.

Edit these fields to make them look like this:

Stats - Hero Ability False
Stats - Levels 1
Data - Damage Delt 0
Stats - Buffs None
Stats - Casting Range 130.00
Stats - Cooldown 1.00
Stats - Duration Hero/Normal 0
Stats - Hero Ability False
Stats - Mana Cost 0
Text - Name Smelt
Stats - Tagartes Allowed Allied, Ground, Invulnerable, Neutral, Structure


Phew thats it for Abilities. LEt me just rest my hands

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

Ok now im back. Lets do the one and only Smelting Trigger...

Trigger (Part II)

This is the trigger and it's a tiny bit complicated for a glance:

  • Smelting
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Smelt
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Unit-type of (Target unit of ability being cast)) Equal to Smelter
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Casting unit) has an item of type Copper) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random integer number between 0 and 10) Greater than or equal to 7
                • Then - Actions
                  • Item - Remove (Item carried by (Casting unit) of type Copper)
                  • Game - Display to (All players) the text: You failed to prope...
                • Else - Actions
                  • Item - Remove (Item carried by (Casting unit) of type Copper)
                  • Hero - Create Copper Bar and give it to (Casting unit)
                  • Game - Display to (All players) the text: You managed to prop...
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • ((Casting unit) has an item of type Iron) Equal to True
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Random integer number between 0 and 10) Greater than or equal to 8
                    • Then - Actions
                      • Item - Remove (Item carried by (Casting unit) of type Iron)
                      • Game - Display to (All players) the text: You failed to prope...
                    • Else - Actions
                      • Item - Remove (Item carried by (Casting unit) of type Iron Bar)
                      • Hero - Create Iron Bar and give it to (Casting unit)
                      • Game - Display to (All players) the text: You managed to prop...
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Casting unit) has an item of type Gold) Equal to True
                    • Then - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Random integer number between 0 and 10) Greater than or equal to 9
                        • Then - Actions
                          • Item - Remove (Item carried by (Casting unit) of type Gold)
                          • Game - Display to (All players) the text: You failed to prope...
                        • Else - Actions
                          • Item - Remove (Item carried by (Casting unit) of type Gold)
                          • Hero - Create Gold Bar and give it to (Casting unit)
                          • Game - Display to (All players) the text: You managed to prop...
                    • Else - Actions
                      • Game - Display to (Player group((Owner of (Casting unit)))) the text: You don't have any ...
        • Else - Actions
          • Do nothing
Explaination:
Events: Same as always, Trigger fires when ever somthing casts an ability
Conditions: The ability must be equal to the ability Smelt that we just made.
Actions: Loads of If/Then/Else:

1st If/Then/Else: Sees if you are targeting a Smelter that we just made, if not then the action stops, if it is then it continues.

2nd If/Then/Else: Checks if the unit using Smelt has Copper if it dose then it continues, if not then it tries Iron

3rd If/Then/Else: It rolls a number between 0 and 10. If the number is greater than or equal to 7 the Copper wont turn into a copper bar and you shall lose your copper.

You then smelt again until you have no copper left and it then dose Iron. IT is the same thing so i won't need to explain all of it. If you want it to work 100% of the time just remove the I/T/E (If/Then/Else) that contain Interger Random Number. And replace them with Remove Copper (example) and Give Copper Bar.


Thats it for Smelting.

Made by Duderock101


Fishing (1.4)

Introduction

Ahh the wonderful Profession of fishing. If you thought about it you would think of many hard ways to do it. It would be extremly difficult to make, you could do reigons that would take a lot of triggering or you could do it this way that requires 1 yes 1 trigger. Enjoy reading and i hope you make your own fishing profession ;)

Custom Items

Ok we will be making 4 custom Items.

They are:
Fish Small
Fish Large
Fish Medium
Fishing Rod


Fish Small, Medium and Large

Open up OE and search for ClockWork Penguin.

C&P it once.

Edit these fields for the ClockWork Penguin you just C&Ped

Abilities - None
Stats - Actively Used False
Text - Name Fish (Small)
(Also note you may change the other text fields to go around a Small Fish, mabey also Gold Cost)


Now C&P The Fish (Small) you created 2 times. This will be Fish (Small, Med and Large)

Rename the two with Fish (Medium) and Fish (Large) also change any other fields you want to like Text and Gold Cost.

Fishing Rod

Most important tool of the Profession. You may create different poles for the different chances for catching fish but only do that once you have read this Tut because the trigger only works for one level Fishing Rod.

Find in the Item section of OE Alleria's Flute of Accuracy

C&P it then change the following fields to look like this:

Abilities - Abilities None (We shall come back to this and add an ability once we create it)
Stats - Actively Used True
Stats - Level 0
Text - Name Fishing Rod
(Again you may change Gold Cost and any of the other Text fields.)



Custom Abilities

Just one Custom Ability and that will be Fishing.

Open up you OE and click on the Ability Section.

Find Breathe of Fire (Chin) and C&P it once.

Find your C&P version of it and edit these fields so they look like this:

Stats - Hero Ability False
Stats - Levels 1
Stats - Item Ability True
Stats - Mana cost 0
Text - Name Fishing
Text - Editor Suffix Nothing Here
Stats - Duroation Hero/Normal 0
Stats - Cooldown 1.00
Stats - Casting time 5.00 (Important, makes sure that somebody dosn't spam fishing and that the trigger perfectly works)
Stats - Casting Range 600.00
Stats - Buffs none
Stats - Area of Effect (AoE) 0
Data - Change all the Data fields to 0


That will be it for abilitys now quickly go back to your Fishing Rod Item and change the Abilities to your new ability Fishing and Stats - Cooldown Group to Fishing as well.

Now there are no Custom Units so the last thing is Triggers :thup:

Triggers (Part II)

Now please could you give me credits if you use this Tut, you don't have to but it took me around 4 hours just to do one trigger... all for you guys hehe so here it is and don't worry just relax and read through it

  • Fishing
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Fishing
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Terrain pathing at (Target point of ability being cast) of type Amphibious Pathing is off) Equal to False
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 0 and 100) Greater than or equal to 70
            • Then - Actions
              • Hero - Create Fish (Small) and give it to (Casting unit)
              • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You caught a Small ...
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Random integer number between 0 and 100) Greater than or equal to 80
                • Then - Actions
                  • Hero - Create Fish (Medium) and give it to (Casting unit)
                  • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You caught a Medium...
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Random integer number between 0 and 100) Greater than or equal to 90
                    • Then - Actions
                      • Hero - Create Fish (Large) and give it to (Casting unit)
                      • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You caught a Large ...
                    • Else - Actions
                      • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You failed to catch...
        • Else - Actions
          • Game - Display to (Player group((Owner of (Triggering unit)))) the text: You must target the...
Explanation:
Events: This is different, it must be like this because our Custom Ability Fishing has a Casting Time

Conditions: Makes sure the Ability is fishing.

Actions: Ok i will do the If/Then/Else again

1st If/then/else

This took me a fiar bit of time to work out, i needed a thing that would allow me to target the water ONLY for the rest of the trigger to work. As there was no porper condition through the Terrain bit for water i needed somthing else. You would of seen one of my threads asking for help as well. All this dose is checks if the targeted location of the ability is water.

2nd If/Then/Else

Rolls a number between 0 and 100. If it's greater than or equal to 70 then you get a small fish if not the action continues

3rd If/Then/Else

Rolls the same amount again and if its greater than or equal to 80 then you get a medium fish

4rd If/then/Else

Rolls the same AGAIN and if its Greater than or equal to 90 you get a Large fish. If it isn't then you get nothing.
That is it for the Fishing tut. I really hope it helped you

Black Smithing (1.5)

Introduction

Black Smithing is a tough one, It requires a lot of triggering as you might need to have lots of different things to make. So i have thought hard about how to do this and i have finally come up with the sollution. So read on if you want to know how to make a profession for Black Smithing (Please note that this ties into the Mining and Smelting Tut's.)

Custom Unit

There is only one custom Unit and thats Black Smith's.

Open up OE then go to the units section.

Find Workshop and C&P it.

Go to your copied one and Edit these fields to make them look like this:

Abilities - Normal Invulnerable (Neutral)
Art - Ground Texture None
Text - Name Black Smith's


(Note - When you place this unit down change it's Owner to Neutral Passive or it will bug)

Custom Items

There are a lot of items we shall need to make as this is smithing. For this tut i will be making 3 possible things to make, i will also expalin how to add your own.

These are what we shall be making:

Copper Sword
Iron Sword
Gold Sword
Copper Sword Plans
Iron Sword Plans
gold Sword Plans
Hammer


Copper, Iron and Gold Swords

Create a new custom Item and pick and sword you like and name it Copper Sword. I will be using Kelen's Dagger of Escape

Change these fields and make them look like this:

Abilities - Abilities None
Text - Name Copper Sword
(Note - You may also change Gold cost and any of the other Text fields, this counts for all of the swords and Plans you shall be making.


C&P the Copper sword two times then rename them Iron Sword and Gold Sword. See what i'm doing, we have Copper, Iron and Gold bars ;).

Now for the plans

Copper, Iron and Gold Sword Plans

Find Morgrin's Report and C&P it once

Find your C&P version and edit the fields so they look like this:

Text - Name Copper Sword Plans

Theres only one lol ok so C&P Copper Sword Plans 2 times then rename them Iron sword Plans and Gold Sword Plans. You will need these plans to create the weapon...

Hammer

The tool Needed for Black Smithing.

Find Maul of Strenght and C&P it once

Find the C&P Version and edit these fields to make them look like this:

Abilities - Abilities (We will be putting Smith here once we created it so leave it as none for now)
Stats - Actively Used True
Text - Name Hammer


Ok thats it for the moment with Hammer. Now Custom Ability

Custom Ability

We will be making one and that will be called Smith so find Storm Hammer and C&P it.

Find the C&P one and edit these fields to make them look like this:

Stats - Hero Ability False
Stats - Item Ability True
Stats - Levels 1
Stats - Mana cost 1
Data - Damage 0.00
Stats - buffs None
Stats - Cooldown 1.00
Stats - Duration Hero/Normal 0
Stats - Cast Range 130.00
Stats - Targets Allowed Allied, Ground, Neutral, Structure, Invulnerable


Ok now go back to the Hammer Item you made and change these two fields:

Stats - CoolDown Group Smith
Abilities - Abilities Smith


Thats it for the Custom Units hehe...

Ok time for the triggers. I will also explain how to add your own Items.

Triggers (Part II)

Ok for this trigger you shall need these vairables:

Smithing - Dialog
Smithing_Copper_Sword - Dialog Button
Smithing_Iron_Sword - Dialog button
Smithing_Gold_Sword - Dialog Button
Smithing_Unit (Array 1) - Unit


Don't question anything about the variables cos they work lol of and Smithing_Unit (Array 1) has 1 Array just incase you didnt understand ok heres the first main trigger and this works for multiplayer.

  • Smithing
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Smith
      • ((Casting unit) has an item of type Hammer) Equal to True
    • Actions
      • Set Smithing_Unit[(Player number of (Owner of (Casting unit)))] = (Casting unit)
      • Dialog - Clear Smithing
      • Dialog - Change the title of Smithing to What do you want to...
      • Dialog - Create a dialog button for Smithing labelled Copper Sword
      • Set Smithing_Copper_Sword = (Last created dialog Button)
      • Dialog - Create a dialog button for Smithing labelled Iron Sword
      • Set Smithing_Iron_Sword = (Last created dialog Button)
      • Dialog - Create a dialog button for Smithing labelled Gold Sword
      • Set Smithing_Gold_Sword = (Last created dialog Button)
      • Dialog - Show Smithing for (Owner of (Casting unit))
Expalination:
Events - A unit casts an Ability
Conditions - the ability being cast is equal to smith and the unit casting the ability has the Item Hammer.

Actions - Sets the unit casting as Simithing_Unit (Array Player number of the casting unit) We used this so that for the next set of triggers it selects a unit.

It then creates a dialog for the Items that can be created. To add your items all you must do is create a Dialog Button and have a vairable for it.


Next trigger...


This is for creating a Copper Sword

  • Copper Sword
    • Events
      • Dialog - A dialog button is clicked for Smithing
    • Conditions
      • (Clicked dialog button) Equal to Smithing_Copper_Sword
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type [U]Copper Sword Plans[/U]) Equal to True
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type [U]Copper Bar[/U]) Equal to True
        • Then - Actions
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type [U]Copper Sword Plans[/U])
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type [U]Copper Bar[/U])
          • Hero - Create [U]Copper Sword [/U]and give it to Smithing_Unit[(Player number of (Triggering player))]
          • Game - Display to (All players) the text: [U]Copper Sword [/U]Create...
        • Else - Actions
          • Game - Display to (All players) the text: You must have 1 Cop...
Explaination:
Events - A player clicks a Dialog Button

Conditions - Diolog Buttons eqaul to Copper Sword

Actions - Checks if the unit has 1 copper bar and 1 copper Plans if it dose then it continues if not then it tells them what they need.
If they have the right items it removes the Copper Bar and the Copper Plans and adds the Copper Sword. To make your own Item just change the things underlined to your item ;)


These are the other triggers for Iron and Gold just so you can see, i wont explain them or udnerline because they just have their items changed.



  • Iron Sword
    • Events
      • Dialog - A dialog button is clicked for Smithing
    • Conditions
      • (Clicked dialog button) Equal to Smithing_Iron_Sword
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type Iron Sword Plans) Equal to True
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type Iron Bar) Equal to True
        • Then - Actions
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type Iron Sword Plans)
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type Iron Sword Plans)
          • Hero - Create Iron Sword and give it to Smithing_Unit[(Player number of (Triggering player))]
          • Game - Display to (All players) the text: ((Name of (Last created item)) + Created)
        • Else - Actions
          • Game - Display to (All players) the text: You must have 1 Iro...



  • Gold Sword
    • Events
      • Dialog - A dialog button is clicked for Smithing
    • Conditions
      • (Clicked dialog button) Equal to Smithing_Gold_Sword
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type Gold Sword Plans) Equal to True
          • (Smithing_Unit[(Player number of (Triggering player))] has an item of type Gold Bar) Equal to True
        • Then - Actions
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type Gold Sword Plans)
          • Item - Remove (Item carried by Smithing_Unit[(Player number of (Triggering player))] of type Gold Bar)
          • Hero - Create Gold Sword and give it to Smithing_Unit[(Player number of (Triggering player))]
          • Game - Display to (All players) the text: ((Name of (Last created item)) + Created)
        • Else - Actions
          • Game - Display to (All players) the text: You must have 1 Gol...
Alchemy (1.6)

Introduction

Yes I am starting to add more Professions. This one is a real must for those people wanting to add a bit of spice to your RPG maps. This will allow the player with low money to go out and search for plants to make their own potions. It’s up to you what item you base the custom items that we shall be making. Just make sure that they aren’t activated when picked up and have no abilities unless you want the ingredients by them self to have an ability.

Creating Items

The Profession Alchemy is all about Custom Items so for this tutorial we shall be making 2 potions. They will be the foundation for your potions. We shall be making a Health and a Mana Potion. No need to custom make these potions but you can if you want to.

Ok so the list of the Items we shall be making are:

Empty Vial
Mortar and Pestle
Healing Herb
Healing Spices
Mana Bloom
Mana Crystals


Ok so you should make those. As I said they can be based off anything as long as they are not actively used. You can add an ability if you would like to. After you have made those then you should continue the Tutorial.

Creating a Custom Ability

Note: Do remember not to base a two custom spells off one ability and give the two custom abilities to one unit. It will bug things up.

Only one ability and it can be based off and self casting ability. I have chosen Beserk. Do the following to the following fields.

The following you must do!

All 3 Data fields must be set to 0.00
Stats – buffs (none)
Stats – Cooldown (anything above 5)
Stats – Duration (Hero and normal) set to 0.01.
Text – Order string –Use/Turn on set to None


The following you can do but are not required.

Art - Icon – Normal – Shimerweed
Text – Hotkey – Normal – A
Text – Name – Alchemy


You can edit the rest of the Texts to your choice or the two above as well.

Now for the Triggers

Triggers

You will need 1 main trigger to start the alchemy process and 1 trigger per potion you make. First we shall need 3 variables.

(Var type) Variable Name
(Unit_Var) Alchemy_Casting_Unit
(Dialog) Dialog
(Dialog_Button) Dialog Button


You can name the Var’s what ever you want but for the triggers they will be named that.

Ok so we shall now start with the main trigger

  • Creating Potions
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to Alchemy
    • Actions
      • Set Alchemy_Casting_Unit = (Casting unit)
      • Wait 0.01 seconds
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Alchemy_Casting_Unit has an item of type Empty Vial) Equal to True
          • (Alchemy_Casting_Unit has an item of type Mortar and Pestle) Equal to True
        • Then - Actions
          • Dialog - Clear Dialog
          • Dialog - Change the title of Dialog to Potions
          • Dialog - Create a dialog button for Dialog labelled Health Potion
          • Set Dialog_Buttons[1] = (Last created dialog Button)
          • Dialog - Create a dialog button for Dialog labelled Mana Potion
          • Set Dialog_Buttons[2] = (Last created dialog Button)
          • Dialog - Show Dialog for Player 1 (Red)
        • Else - Actions
          • Game - Display to (Player group((Owner of Alchemy_Casting_Unit))) the text: You must have a Mor...
Description
First it activates when an ability is being casted, then it continues if the ability is equal to our custom made one.
It then sets the unit that casted the ability to out Unit Var.
It Waits so the rest of the trigger knows now what the Unit Var is.
Then it checks to see if the Unit has the items or not. If it doesn’t then the Game text tells the owner of the casting unit to get a mortar and pestle plus 1 empty vial.
If they do have the required items then it will activate a dialog box containing the Potions that can be made, once clicked it will activate the next triggers.
As you see the dialog buttons are set to their var as the must be for the next triggers.

Heres both of the two potion triggers.

  • Health Potion
    • Events
      • Dialog - A dialog button is clicked for Dialog
    • Conditions
      • (Clicked dialog button) Equal to Dialog_Buttons[1]
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Alchemy_Casting_Unit has an item of type Healing Herb) Equal to True
          • (Alchemy_Casting_Unit has an item of type Healing Spices) Equal to True
        • Then - Actions
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Healing Herb)
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Healing Spices)
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Empty Vial)
          • Hero - Create Potion of Healing and give it to Alchemy_Casting_Unit
          • Set Alchemy_Casting_Unit = No unit
        • Else - Actions
          • Game - Display to (Player group((Owner of Alchemy_Casting_Unit))) the text: You must have 1 Hea...
          • Set Alchemy_Casting_Unit = No unit
  • Mana Potion
    • Events
      • Dialog - A dialog button is clicked for Dialog
    • Conditions
      • (Clicked dialog button) Equal to Dialog_Buttons[2]
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Alchemy_Casting_Unit has an item of type Mana Bloom) Equal to True
          • (Alchemy_Casting_Unit has an item of type Mana Crystals) Equal to True
        • Then - Actions
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Mana Bloom)
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Mana Crystals)
          • Item - Remove (Item carried by Alchemy_Casting_Unit of type Empty Vial)
          • Hero - Create Potion of Mana and give it to Alchemy_Casting_Unit
          • Set Alchemy_Casting_Unit = No unit
        • Else - Actions
          • Game - Display to (Player group((Owner of Alchemy_Casting_Unit))) the text: You must have 1 Man...
          • Set Alchemy_Casting_Unit = No unit
Description

Simple trigger really. Once the button is clicked it finds out wich one has been clicked.Both triggers are the same expect the items have been changed. If you have the required items for the potion it removes them plus the empty vial and gives the unit the Potion that he wanted. At the end it sets the unit var back to no unit. Just to be safe. If the person doesn’t have the required items then a message is sent like in the first trigger to the owned of the casting unit and tells them what they must have.

That’s the Alchemy Profession done, do check back to see if I update this post again. Thanks for reading and please do give rep if you think it’s deserved and rate this thread on how good it is please. Thanks very much again. And I hope you do use it.

Beast Taming (1.7)

Introduction
This is not really a profession, it's more of a request that got me thinking so when I got bored i decided to fiddle with the WE to see if i could get this working. Only 4 hours later did I realise how far I was into the project and that I would have to finish it or admit defeat.

What this does is gives a unit the ability to 'tame' a beast. You cast a spell on it, it removes the current unit and creates an item thats given to the tamer. When the item is used the monster appears on your side. If you drop the item the monster is removed completely allowing you to tame another one. This took many attempts to complete and it works for multiplayer. The bad thing though is that i am not sure if it is leakless but after testing it i havn't found any buggs or problems.

Creating the abilities

There are only two abilities, the first is the actual taming spell and the second is the spell for the item.

Summoning Monster (Item) - Base ability Summon Ice Relevant

Data summon unit 1 amount - 1
Cooldown - 10
Duration - 0.01
Name - Summoning Monster (Item)

Beast Capture - Base ability Storm Bolt

This spell has 3 different levels, on the stats they are all the same. You can only see the difference in the trigger. So apply all the changes to the all 3 of the cells

Data - Damage - 0
Cooldown - 10
Duration - 1
Mana Cost - 50

Note: Remeber to change the text fields and the icons.

Custom Item(s)

Monster Summon

Abilities - Summon Monster (item)
Gold Cost - 0
Number of Charges - 0

Part II - Triggers & Variables

There are 4 different triggers that we will use and a number of different Variables. First I will go through the Variables.

NOTE (MUST READ): All Variables are Arrays, the number dosn't really matter but set it to 12 anyway

MonsterUnit - Unit
Player - Player
Summon - Boolean
Target - Unit
Target_Type - Unit Type
Unit - Unit

Now onto the triggers. First I will start with the longest trigger for the main taming spell. There are a number of IF/THEN/ELSE in it to seperate the different levels of the ability. Try to keep reading. (Of course I will explain below the trigger.

  • Spell
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to (==) Beast Capture
    • Actions
      • Set Unit[(Player number of (Owner of (Casting unit)))] = (Casting unit)
      • Set Target[(Player number of (Owner of (Casting unit)))] = (Target unit of ability being cast)
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • (Unit[(Player number of (Owner of (Casting unit)))] has an item of type Monster Summon) Equal to (==) True
          • Then - Actions
            • Game - Display to (All players) for 5.00 seconds the text: You already have a ...
          • Else - Actions
            • Set Unit[(Player number of (Owner of (Casting unit)))] = (Casting unit)
            • Set Target[(Player number of (Owner of (Casting unit)))] = (Target unit of ability being cast)
              • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Level of Beast Capture for Unit[(Player number of (Owner of (Casting unit)))]) Equal to (==) 1
                • Then - Actions
                  • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • Multiple ConditionsAnd - All (Conditions) are true
                        • Conditions
                          • ((Level of Target[(Player number of (Owner of (Casting unit)))]) Greater than or equal to (>=) 1) and ((Level of Target[(Player number of (Owner of (Casting unit)))]) Less than or equal to (<=) 3)
                          • (Owner of Target[(Player number of (Owner of (Casting unit)))]) Equal to (==) Player 12 (Brown)
                    • Then - Actions
                      • Set Target_Type[(Player number of (Owner of (Casting unit)))] = (Unit-type of Target[(Player number of (Owner of (Casting unit)))])
                      • Unit - Remove Target[(Player number of (Owner of (Casting unit)))] from the game
                      • Game - Display to (Player group((Owner of Unit[(Player number of (Owner of (Casting unit)))]))) for 10.00 seconds the text: (You captured a + (String(Target_Type[(Player number of (Owner of (Casting unit)))])))
                      • Hero - Create Monster Summon and give it to Unit[(Player number of (Owner of (Casting unit)))]
                    • Else - Actions
                      • Game - Display to (All players) for 5.00 seconds the text: Either the unit is ...
                • Else - Actions
                  • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Level of Beast Capture for Unit[(Player number of (Owner of (Casting unit)))]) Equal to (==) 2
                    • Then - Actions
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • Multiple ConditionsAnd - All (Conditions) are true
                            • Conditions
                              • ((Level of Target[(Player number of (Owner of (Casting unit)))]) Greater than or equal to (>=) 1) and ((Level of Target[(Player number of (Owner of (Casting unit)))]) Less than or equal to (<=) 6)
                              • (Owner of Target[(Player number of (Owner of (Casting unit)))]) Equal to (==) Player 12 (Brown)
                        • Then - Actions
                          • Set Target_Type[(Player number of (Owner of (Casting unit)))] = (Unit-type of Target[(Player number of (Owner of (Casting unit)))])
                          • Unit - Remove Target[(Player number of (Owner of (Casting unit)))] from the game
                          • Game - Display to (Player group((Owner of Unit[(Player number of (Owner of (Casting unit)))]))) for 10.00 seconds the text: (You captured a + (String(Target_Type[(Player number of (Owner of (Casting unit)))])))
                          • Hero - Create Monster Summon and give it to Unit[(Player number of (Owner of (Casting unit)))]
                        • Else - Actions
                          • Game - Display to (All players) for 5.00 seconds the text: Either the unit is ...
                    • Else - Actions
                      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • (Level of Beast Capture for Unit[(Player number of (Owner of (Casting unit)))]) Equal to (==) 3
                        • Then - Actions
                          • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Multiple ConditionsAnd - All (Conditions) are true
                                • Conditions
                                  • (Owner of Target[(Player number of (Owner of (Casting unit)))]) Equal to (==) Player 12 (Brown)
                            • Then - Actions
                              • Set Target_Type[(Player number of (Owner of (Casting unit)))] = (Unit-type of Target[(Player number of (Owner of (Casting unit)))])
                              • Unit - Remove Target[(Player number of (Owner of (Casting unit)))] from the game
                              • Game - Display to (Player group((Owner of Unit[(Player number of (Owner of (Casting unit)))]))) for 10.00 seconds the text: (You captured a + (String(Target_Type[(Player number of (Owner of (Casting unit)))])))
                              • Hero - Create Monster Summon and give it to Unit[(Player number of (Owner of (Casting unit)))]
                            • Else - Actions
                              • Game - Display to (All players) for 5.00 seconds the text: Either the unit is ...
                        • Else - Actions
Events
Begins casting - easy

Conditions
Checking what ability they are casting

Actions

First it starts to define the Vars.
Each IF/THEN/ELSE (Not the first one) is exactly the same except for
  • (Level of Beast Capture for Unit[(Player number of (Owner of (Casting unit)))]) Equal to (==) 1
This tells us what level the monster has to be between. The first IF/THEN/ELSE is to see if the player already has a monster

If you read through slowly you should be able to get it pretty easily, it just looks menacing but deep down it's a little puppy... WITH BIG TEETH!!!

The next 3 triggers are about the items, they are pretty small and straight forward. One is for dorpping the item, the other is for summoning your monster and the last is to see if the monster is dead (you don't want to be summoning an infinate amount of monsters now do you?)

  • Drop Item
    • Events
      • Unit - A unit Loses an item
    • Conditions
      • (Item-type of (Item being manipulated)) Equal to (==) Monster Summon
    • Actions
      • Wait 0.10 seconds
      • Item - Remove (Item being manipulated)
      • Game - Display to (Player group((Owner of (Hero manipulating item)))) for 5.00 seconds the text: You have lost your ...
      • Set Target_Type[(Player number of (Owner of (Hero manipulating item)))] = No unit-type
        • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • Summon[(Player number of (Owner of (Casting unit)))] Equal to (==) True
          • Then - Actions
            • Unit - Remove MonsterUnit[(Player number of (Owner of (Hero manipulating item)))] from the game
            • Set MonsterUnit[(Player number of (Owner of (Hero manipulating item)))] = No unit
            • Set Summon[(Player number of (Owner of (Hero manipulating item)))] = False
          • Else - Actions
  • Summon Monster
    • Events
      • Unit - A unit Finishes casting an ability
    • Conditions
      • (Ability being cast) Equal to (==) Summon Monster (Item)
    • Actions
      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Summon[(Player number of (Owner of (Casting unit)))] Equal to (==) False
        • Then - Actions
          • Set Player[(Player number of (Owner of (Casting unit)))] = (Owner of (Casting unit))
          • Set Summon[(Player number of (Owner of (Casting unit)))] = True
          • Unit - Create 1 Target_Type[(Player number of (Owner of (Casting unit)))] for Player[(Player number of (Owner of (Casting unit)))] at (Position of (Casting unit)) facing Default building facing (270.0) degrees
          • Set MonsterUnit[(Player number of (Owner of (Casting unit)))] = (Last created unit)
        • Else - Actions
          • Game - Display to (All players) for 5.00 seconds the text: Your monster is alr...
  • Monster Killed
    • Events
      • Unit - A unit Dies
    • Conditions
    • Actions
      • Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Dying unit) Equal to (==) MonsterUnit[(Player number of (Owner of (Dying unit)))]
        • Then - Actions
          • Set MonsterUnit[(Player number of (Owner of (Casting unit)))] = No unit
          • Set Summon[(Player number of (Owner of (Dying unit)))] = False
        • Else - Actions
The End
 
Level 11
Joined
Feb 22, 2006
Messages
752
Is this a tutorial or a step by step guide/manual on how to use your system?

This is extremely specific, which isn't necessarily a bad thing but in this case its very narrow focus is something that isn't even widely applicable. Even if somebody did want to make a professions system, it'd be very likely that they would not want to follow the specifications you lay out here, in which case this tutorial is near useless to them.

And yes, you do have a lot of leaks and other efficiency errors. For one thing, you keep using Casting Unit instead of Triggering Unit. And you leak just about every location you use.

I'm pretty certain this is headed to the graveyard. Just giving you fair warning.
 
Level 31
Joined
May 3, 2008
Messages
3,155
you going to point them out or are u just going to flame?

Saying your tutorial leak is not flaming. Go read the rules to define what is consider as flaming.

Do Nothing action was a useless action. This action called another function that particalled does nothing and it only be use for a if/then/else singular call action. Apart from that, it isn't recommend to be use.

Also, change casting unit to triggering unit. They are both generally the same, but trigger unit are much faster.

Next, it contain inefficient setup. Namely the wait action, wait action are inaccurate as their min wait are 0.27 seconds and they could overwrite a trigger current action if there is 2 ability being cast at same time.

I notice you have a trigger where unit cast a ability with 0.01 seconds of wait. If there is 2 unit cast the same ability at the same time, it would bug right away. Wait action kill the capability of a ability to be MUI.

At your copper sword trigger, you make the game text appear not only to the user who trigger the action; but to appear for all player. That's mean if Player 1 trigger the action, player 2-12 would receive the message as well.

The dialog trigger was way inefficient as well. You create multiple trigger for the same action while they can all be merge into 1 trigger to reduce the call.

As azrine said, the trigger contain leaks. Leaks could cause player to disconnect during the gameplay or being too laggy to play. To make it simple for you to understand what is leak, let me gives you a visual of it.

Assume that your stomach capacity could be filled with 5 hotdogs and you consume more than that. What could possibly happen to you? You could possibly have stomachache or vomit due to execessive eating.

The same goes to leak; that is why we have to remove leak which your trigger certainly does not contain any custom script that remove it.

I suggest you to learn more about leak and how to make your trigger more efficient. We have plenty of tutorial regarding about leak and efficiency of triggering at tutorial section.

As for now, I do not see this tutorial have any chances of being approve or neither being use by anybody.
 
Top