I have made a hero and now I have the following problem: He only gains experience when he kills enemy units himself. He gets none when an allied unit kills the enemy! I haven't found a way to solve. Has anyone an idea?
I had much trouble with this myself, i can help you,
to accomplish this you need TWO behaviors, both of type, Veterancy, The First behavior will be somthing like
1- Hero Veterancy: set the alignment to positive, the categories to permanent, the Veterancy Levels+ to whatever you hero levels need to be, and the shared radius to 0l0l500 (gives a sharing radius for experience to 500)...
From what i am hearing, you already have this part set up right, Sooooo, what you need is a SECOND behavior like
2- Unit Veterancy: 1-Under Share Filters, The "Kills" part, Set everything to allowed except, set Heroic (If all of the heros you want to get this exp are all considered herroic and the other units in the game are not) to Required, and set Enemy to Excluded, in the "Kills" part under Target Filters, set that to Exclude Allys (this prevents a player from killing their own units for experience), Set the Flags Field to "Hidden" and change the Shared Fraction to 0l0l1, and the shared radius to 0l0l500.
Now you must Give your First behavior to your heros (Hero Veterancy) just find the behaviors field on your hero then choose that behavior and hit okay (like i mentioned earlier i think you have accomplished this already) next for the annoying part, You must add your second behavior (Unit Veterancy) too every unit in the game that will be fighting along side the hero. its a pain but thats the way you have got to do it for now. hope this helps, let me know if you run in to any problems with this
I need your help once again. I can't get the filters to work. No matter what I do, the hero gains either no exp or he gets exp when allied units get killed by enemies or he gets exp when allied units get by other allied units.
My filters for the unit veterancy behaviours are at the moment:
I did the following: created a behavior (buff) that's on the unit that gives the xp on death. then I set the effect that happens on death to be a search area effect. that gives all nearby units a certain effect. and that effect is an increase in experience of 5. (this behavior can be applied up to 1000 times on 1 unit which results in 5k experience for nearby units. Yes adding it a 1000 times is annoying, but you can always redo this for more then 5 exp per buff.)
In my case I wanted the killing unit to gain more experience then the rest, so the killing unit gets the standard kill experience as well.
You should actually be able to use search filters instead of creating a validator if you're using Search Area to achieve this effect. Just uncheck ally, player and neutral leaving only enemy. Thus it will only search for and apply to enemies.
I did as you said, but I don't know why I'm getting experience when my allied units are dying too.
My map is a dota-like map. Here is how the behaviors are set:
Hero Veterancy: (Only the heroes in this map have this behavior)
Target Filters - Excluded: Allies, Allucination
Share Filter - Ally, Neutral, Enemy, Allucination
Experience Fraction - 0/0/0
Share Fraction - 0/0/0
Unit Veterancy: (Every unit in the map, including the heroes, use this behavior)
This last behavior (unit veterancy) is the one that gives the xp on kill and share it to nearby allies, at least, it was supposed to do it, but, for some reason idk why, my heroes are gaining experience when their allied units are dying too. Can anyone help me?
I had trouble getting the behavior method to work but I got it to work for me by setting the experience fraction on my hero's veterancy to 0 and setting the experience fraction on the share veterancy to 1. It even split the experience among the heros!
Another thought on this, if anyone can help. I have it all working great as post 2 mentioned the setup. I don't want my hero to gain 100% exp of every kill from other units so I set it to .2 However, now his EXP bar reads like, "17.9998/200"
Anyway to make this into an integer value or double? I don't want all the decimal places.
Hallo
I have made a hero and now I have the following problem: He only gains experience when he kills enemy units himself. He gets none when an allied unit kills the enemy! I haven't found a way to solve. Has anyone an idea?
I had much trouble with this myself, i can help you, to accomplish this you need TWO behaviors, both of type, Veterancy, The First behavior will be somthing like 1- Hero Veterancy: set the alignment to positive, the categories to permanent, the Veterancy Levels+ to whatever you hero levels need to be, and the shared radius to 0l0l500 (gives a sharing radius for experience to 500)... From what i am hearing, you already have this part set up right, Sooooo, what you need is a SECOND behavior like 2- Unit Veterancy: 1-Under Share Filters, The "Kills" part, Set everything to allowed except, set Heroic (If all of the heros you want to get this exp are all considered herroic and the other units in the game are not) to Required, and set Enemy to Excluded, in the "Kills" part under Target Filters, set that to Exclude Allys (this prevents a player from killing their own units for experience), Set the Flags Field to "Hidden" and change the Shared Fraction to 0l0l1, and the shared radius to 0l0l500.
Now you must Give your First behavior to your heros (Hero Veterancy) just find the behaviors field on your hero then choose that behavior and hit okay (like i mentioned earlier i think you have accomplished this already) next for the annoying part, You must add your second behavior (Unit Veterancy) too every unit in the game that will be fighting along side the hero. its a pain but thats the way you have got to do it for now. hope this helps, let me know if you run in to any problems with this
This works fine, however, every unit with the second behaviour has an experience bar now. Is there a way to remove it?
oh yes, Under the Field
Stats - Flags make sure that you have Hidden checked
I need your help once again. I can't get the filters to work. No matter what I do, the hero gains either no exp or he gets exp when allied units get killed by enemies or he gets exp when allied units get by other allied units.
My filters for the unit veterancy behaviours are at the moment:
Share Filters - Kills - Required: Heroic; Excluded: Enemy Target Filters - Kills - Excluded: Ally
Maybe this is usefull for some people as well.
I did this entirely different... ;p
I did the following: created a behavior (buff) that's on the unit that gives the xp on death. then I set the effect that happens on death to be a search area effect. that gives all nearby units a certain effect. and that effect is an increase in experience of 5. (this behavior can be applied up to 1000 times on 1 unit which results in 5k experience for nearby units. Yes adding it a 1000 times is annoying, but you can always redo this for more then 5 exp per buff.)
In my case I wanted the killing unit to gain more experience then the rest, so the killing unit gets the standard kill experience as well.
Now in a format that's more readable.
Behavior - Buff : ExperienceOnDeath
Effect - Search Area: Apply Experience
Effect - Modify Unit: Experience (5)
@Helral: Go
Now the hard question. Is there any way to add a formula to the amount of experience granted. Such as (unitlevel*x)/y or something along those lines.
@7MM3: Go
My answer will be simple for now: I don't know. never tried adding in a formula there.
@Helral: Go
Same problem as above: The hero gains exp no matter whether an enemy or an allied unit dies.
@madmaxII: Go
Should be restrictable using validators or filters. Target unit is Hostile/Enemy.
Effect - Search Area: Apply Experience
You should actually be able to use search filters instead of creating a validator if you're using Search Area to achieve this effect. Just uncheck ally, player and neutral leaving only enemy. Thus it will only search for and apply to enemies.
@Antimatterthunder: Go
@ProzaicMuze: Go
I did as you said, but I don't know why I'm getting experience when my allied units are dying too. My map is a dota-like map. Here is how the behaviors are set:
Hero Veterancy: (Only the heroes in this map have this behavior)
Target Filters - Excluded: Allies, Allucination
Share Filter - Ally, Neutral, Enemy, Allucination
Experience Fraction - 0/0/0
Share Fraction - 0/0/0
Unit Veterancy: (Every unit in the map, including the heroes, use this behavior)
Target Filters - Excluded: Player, Ally, Neutral, Allucination
Share Filters - Required: Heroic, Excluded: Enemy, Allucination
Experience Fraction - 0/0/1
Share Fraction - 0/0/1
Share Radius - 0/0/12
This last behavior (unit veterancy) is the one that gives the xp on kill and share it to nearby allies, at least, it was supposed to do it, but, for some reason idk why, my heroes are gaining experience when their allied units are dying too. Can anyone help me?
@Aztron: Go
bump
someone help me plz
I still need the answer to it. Actually this is the only thing I need to finish my map and I really can't figure out how to solve this.
Someone help me plz :(
I wasn't able to make the unit veterancy working, too. But Helrals solution works great. I suggest that you try it instead.
I had trouble getting the behavior method to work but I got it to work for me by setting the experience fraction on my hero's veterancy to 0 and setting the experience fraction on the share veterancy to 1. It even split the experience among the heros!
@Greymechanic: Go
my behaviors are set as you said It is "working", except for it is sharing the experience with enemy heroes too, even with the fields as I said above:
Hero Veterancy: (Only the heroes in this map have this behavior)
Target Filters - Excluded: Allies, Allucination
Share Filter - Ally, Neutral, Enemy, Allucination
Experience Fraction - 0/0/0
Share Fraction - 0/0/0
Unit Veterancy: (Every unit in the map, including the heroes, use this behavior)
Target Filters - Excluded: Player, Ally, Neutral, Allucination
Share Filters - Required: Heroic, Excluded: Enemy, Allucination
Experience Fraction - 0/0/1
Share Fraction - 0/0/1
Share Radius - 0/0/12
I still didn't fix this, maybe i'll try the other way
Another thought on this, if anyone can help. I have it all working great as post 2 mentioned the setup. I don't want my hero to gain 100% exp of every kill from other units so I set it to .2 However, now his EXP bar reads like, "17.9998/200"
Anyway to make this into an integer value or double? I don't want all the decimal places.
Sorry to bump, any thoughts on how to make the EXP not a decimal number when using fractional exp gain from shared exp?