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

[Spell] Profession Trigger

Status
Not open for further replies.
Level 1
Joined
Dec 7, 2017
Messages
5
so.. im working in a map and it has profession, but im having some trouble with my first of them (alchemy), i put some restriction to make only the potion you can, but it doesn't work as it should be... plz help..

Alchemy
Events
Unit - A unit Begins casting an ability
Conditions
((Triggering unit) is in Professional) Equal to True
Actions
-------- Potion of healing --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Potion of healing
((Owner of (Casting unit)) Current lumber) Greater than or equal to 20
Then - Actions
Item - Create Potion of Healing at (Position of (Casting unit))
Player - Add -20 to (Owner of (Casting unit)) Current lumber
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Less than 2
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 20)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Less than 4
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 15)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
-------- Potion of Mana --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Potion of mana
((Owner of (Casting unit)) Current lumber) Greater than or equal to 40
ProfLVL[(Player number of (Owner of (Casting unit)))] Greater than or equal to 2
Then - Actions
Item - Create Potion of Mana at (Position of (Casting unit))
Player - Add -40 to (Owner of (Casting unit)) Current lumber
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Less than 4
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 15)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
-------- Potion of Speed --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
((Owner of (Casting unit)) Current lumber) Greater than or equal to 80
ProfLVL[(Player number of (Owner of (Casting unit)))] Greater than or equal to 3
(Ability being cast) Equal to Potion of speed
Then - Actions
Item - Create Potion of Speed at (Position of (Casting unit))
Player - Add -80 to (Owner of (Casting unit)) Current lumber
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Less than or equal to 4
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 20)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
-------- Potion of Rage --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
(Ability being cast) Equal to Potion of rage
((Owner of (Casting unit)) Current lumber) Greater than or equal to 120
ProfLVL[(Player number of (Owner of (Casting unit)))] Greater than or equal to 4
Then - Actions
Player - Add -120 to (Owner of (Casting unit)) Current lumber
Item - Create Potion of Berserk at (Position of (Casting unit))
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Casting unit)))] Less than or equal to 4
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 25)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
-------- Potion of Invisibility --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
((Owner of (Casting unit)) Current lumber) Greater than or equal to 200
ProfLVL[(Player number of (Owner of (Casting unit)))] Greater than or equal to 5
(Ability being cast) Equal to Potion of Invisibility
Then - Actions
Item - Create Potion of Speed at (Position of (Casting unit))
Player - Add -200 to (Owner of (Casting unit)) Current lumber
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Then - Actions
Set ProfXp[(Player number of (Owner of (Casting unit)))] = (ProfXp[(Player number of (Owner of (Casting unit)))] + 30)
Floating Text - Create floating text that reads ((Profession XP + (String(ProfXp[(Player number of (Owner of (Casting unit)))]))) + (Profession Level + (String(ProfLVL[(Player number of (Owner of (Casting unit)))])))) above Hero[(Player number of (Owner of (Casting unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
Else - Actions
-------- NONE --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
And - All (Conditions) are true
Conditions
((Owner of (Triggering unit)) Current lumber) Less than 15
Or - Any (Conditions) are true
Conditions
(Ability being cast) Equal to Potion of mana
(Ability being cast) Equal to Potion of Invisibility
(Ability being cast) Equal to Potion of rage
(Ability being cast) Equal to Potion of speed
(Ability being cast) Equal to Potion of healing
Then - Actions
Floating Text - Create floating text that reads You Don't Have Enou... above (Casting unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions

Gathering(of the resources)
Events
Unit - A unit Begins casting an ability
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Target item of ability being cast)) Equal to 999997
(Ability being cast) Equal to Gather Reagents (Alchemy)
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 1
Then - Actions
Item - Remove (Target item of ability being cast)
Player - Add 15 to (Owner of (Triggering unit)) Current lumber
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 2
Then - Actions
Player - Add 25 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 3
Then - Actions
Player - Add 40 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 4
Then - Actions
Player - Add 60 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 5
Then - Actions
Player - Add 85 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
And - All (Conditions) are true
Conditions
(Custom value of (Target item of ability being cast)) Equal to 0
Then - Actions
Floating Text - Create floating text that reads This Iten Is Not a ... above (Casting unit) with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Target item of ability being cast)) Equal to 999998
(Ability being cast) Equal to Gather Reagents (Engineering)
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 1
Then - Actions
Player - Add 15 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 2
Then - Actions
Player - Add 25 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 3
Then - Actions
Player - Add 40 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 4
Then - Actions
Player - Add 60 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 5
Then - Actions
Player - Add 85 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Custom value of (Target item of ability being cast)) Equal to 999999
(Ability being cast) Equal to Gather Reagents (Inscription)
Then - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 1
Then - Actions
Player - Add 15 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 2
Then - Actions
Player - Add 25 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 3
Then - Actions
Player - Add 40 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 4
Then - Actions
Player - Add 60 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 5
Then - Actions
Player - Add 85 to (Owner of (Triggering unit)) Current lumber
Item - Remove (Target item of ability being cast)
Else - Actions
Else - Actions

Well... the trouble in here is that when i cast potion of mana(for example): if i have not the professional level, it makes a healing potion, and warns that you dont have enough level or resources.. but when u have enough professional level, it stills do the same thing, except that it creates the mana potion too... i really dont get why...

Level trigger
Profession Level
Events
Time - Every 0.01 seconds of game time
Conditions
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfXp[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 100
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 1
Then - Actions
Set ProfLVL[(Player number of (Owner of (Triggering unit)))] = (ProfLVL[(Player number of (Owner of (Triggering unit)))] + 1)
Floating Text - Create floating text that reads (Level Up! + (Profession Level= + (String(ProfLVL[(Player number of (Owner of (Triggering unit)))])))) above Hero[(Player number of (Owner of (Triggering unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfXp[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 250
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 2
Then - Actions
Set ProfLVL[(Player number of (Owner of (Triggering unit)))] = (ProfLVL[(Player number of (Owner of (Triggering unit)))] + 1)
Floating Text - Create floating text that reads (Level Up! + (Profession Level= + (String(ProfLVL[(Player number of (Owner of (Triggering unit)))])))) above Hero[(Player number of (Owner of (Triggering unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfXp[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 450
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 3
Then - Actions
Set ProfLVL[(Player number of (Owner of (Triggering unit)))] = (ProfLVL[(Player number of (Owner of (Triggering unit)))] + 1)
Floating Text - Create floating text that reads (Level Up! + (Profession Level= + (String(ProfLVL[(Player number of (Owner of (Triggering unit)))])))) above Hero[(Player number of (Owner of (Triggering unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
ProfXp[(Player number of (Owner of (Triggering unit)))] Greater than or equal to 700
ProfLVL[(Player number of (Owner of (Triggering unit)))] Equal to 4
Then - Actions
Set ProfLVL[(Player number of (Owner of (Triggering unit)))] = (ProfLVL[(Player number of (Owner of (Triggering unit)))] + 1)
Floating Text - Create floating text that reads (Level Up! + (Profession Level= + (String(ProfLVL[(Player number of (Owner of (Triggering unit)))])))) above Hero[(Player number of (Owner of (Triggering unit)))] with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Else - Actions

Thanks for the help anyway...

i noticed that maybe this is the wrong place to post this
 
Last edited:
Level 21
Joined
Dec 4, 2007
Messages
1,478
Eeek please format your triggers with "[.Trigger]your trigger data[./Trigger]" <without the dots
 
Status
Not open for further replies.
Top