• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

Slayers gaining xp/sec when time of day becomes 18 o'clock

Status
Not open for further replies.
Level 6
Joined
Sep 24, 2015
Messages
174
Hello,

I really dont know how to do this trigger : time of day becomes 18 o'clock , slayer(unit) in region "Slayer pool" get 20 xp per seconds...

if someone could help it would be awesome !

thanks
 
The trigger below only works at night.
  • Night n Day
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (In-game time of day) Less than or equal to 6.00
          • (In-game time of day) Greater than or equal to 18.00
    • Actions
 
thank you for this "start trigger" it helped me

if someone could send the "actions" it would be cool too ;)
 
But to activated this trigger for only one type of specified hero unit? because I tried and it's not working...
 
I did like this:

  • Slayers xp at night
    • Event
      • Temps - Every 1.00 seconds of game time
    • Conditions
      • (In-game time of day) Less or Equal to 6.00
      • (In-game time of day) Greater or Equal to 18.00
    • Actions
      • Unit group - Pick every unit in (Units in SlayerXpZone <gen>) and do (Actions)
        • Loop - Actions
          • Hero - Add 20 experience to (Picked unit), Show level-up graphics
also it's in french version :S I tried to replace the french words in Eng (translate)

sorry
 
So the problem is the you want the exp exclusively for the "Slayers".
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • (Unit-type of (Picked unit)) Equal to Slayer
    • Then - Actions
      • Hero - Add 20 experience to (Picked unit), Show level-up graphics
    • Else - Actions
or you can do it like this.
  • Unit Group - Pick every unit in (Units in (SlayerXpZone) matching ((Unit-type of (Matching unit)) Equal to Slayer)) and do (Actions)
    • Loop - Actions
 
It's not working...

  • Slayers xp at night
    • Event
      • Temps - Every 1.00 seconds of game time
    • Conditions
      • (In-game time of day) Less or Equal to* 6.00
      • (In-game time of day) Greater or Equal to* 18.00
    • Actions
      • Unit group - Pick every unit in (Units in SlayerXpZone <gen> matching ((Unit-type of (Matching unit)) Equal to* Slayer)) and do (Actions)
        • Loop - Actions
          • Hero - Add 20 experience to (Matching unit), Show level-up graphics
 
it's still not working ...

  • Slayers xp at night
    • Evénements
      • Temps - Every 1.00 seconds of game time
    • Conditions
      • (In-game time of day) Inférieur ou égal Ã* 6.00
      • (In-game time of day) Supérieur ou égal Ã* 18.00
    • Actions
      • Groupe unité - Pick every unit in (Units in SlayerXpZone <gen> matching ((Unit-type of (Matching unit)) Egal Ã* Slayer)) and do (Actions)
        • Boucle - Actions
          • Héros - Add 20 experience to (Picked unit), Montrer level-up graphics
What did I wrong?
 
I would put it in an if then else function.


  • Actions
  • If
    • And Multiple Conditions
      • Time of Day is Less than or Equal to 6.00
      • Time of Day is Greater than or equal to 18.00
  • Then
    • Unit group - Pick every unit in (Units in SlayerXpZone <gen> matching ((Unit-type of (Matching unit)) Equal to* Slayer)) and do (Actions)
    • Loop - Actions
      • Hero - Add 20 experience to (picked unit), Show level-up graphics
  • Else
    • Do Nothing
 
You forgot the Or - Any, if you can't manage to copy this final trigger over, I can't help you.
  • Night n Day
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (In-game time of day) Less than or equal to 6.00
          • (In-game time of day) Greater than or equal to 18.00
    • Actions
      • Unit Group - Pick every unit in (Units in (SlayerXpZone) matching ((Unit-type of (Matching unit)) Equal to Slayer)) and do (Actions)
        • Loop - Actions
          • Hero - Add 20 experience to (picked unit), Show level-up graphics
 
oh...i don't know what i have to say to that mistake xD

sorry to wasting your time and thanks :D
 
I think of two ways.
1- Use the item ability of "Ring of Mana" that regenerates Mana , and remove "Item Ability" , configure it as 20 mana/sec or whatever, then add it to your hero using one single one-shot trigger everytime 18PM of time reaches. (Remove the icon so it won't be shown).

2- Do that by simple triggering like this :

Xp/Second
  • Mana Regenerating
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
      • (In-game time of day) Less than or equal to 6.00
      • (In-game time of day) Greater than or equal to 18.00
    • Actions
      • -------- You should remove all leaks for better performance. --------
      • Custom script: set bj_wantDestroyGroup = true
      • Unit Group - Pick every unit in (Units in (SlayersXpReg) matching (Unit-type of (Picked Unit) Equal to "Slayer")) and do (Actions)
        • Loop - Actions
          • Unit - Set mana of (Picked unit) to ((Mana of (Picked unit)) + 20.00)
EDIT : Ops, I seem to have mistaken here, replace the Mana trigger with an Xperience trigger. xD
 
Last edited:
  • XP
    • Events
      • Time - Every 10.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Heroes and do (Actions)
        • Loop - Actions
          • Hero - Add 15 experience to (Picked unit), Hide level-up graphics
  • Untitled Trigger 001
    • Events
      • Unit - A unit enters (Playable map area)
    • Conditions
      • ((Triggering unit) is A Hero) Equal to True
      • ((Owner of (Triggering unit)) controller) Equal to Computer
    • Actions
      • Unit Group - Add (Triggering unit) to Heroes
Just add the conditions and instead of group, use region
 
how to give 2% of max current xp every seconds?

I did like this but it's not working again...:goblin_boom:

Hero - Add (10 + ((Integer((Real((Hero experience of (Picked unit)))))) x (Integer(0.02)))) experience to (Picked unit), Montrer level-up graphics
 
If you're using default XP needed formula (200/500/900... total or 200/300/400... next-level xp), then just use "(Hero Level of (Picked Unit)+1)*2", otherwise you should use your own formula.
 
Status
Not open for further replies.
Back
Top