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

How make custom exp required?

Status
Not open for further replies.
Level 6
Joined
Apr 5, 2018
Messages
116
This is possible to make to not? Exp based on number of killing units. 2 Exp per unit, 2 players (1 EXP PER PLAYER) RPG map. if it's impossible, how to calculate the experience gained on the map so that the hero neither becomes too powerful too quickly, nor does he gain experience too slowly. Do you can suggest me better idea. My map will be longplay i can't test exp a lot of time.
 
Last edited:

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,537
You can adjust the Hero experience rate.

  • Actions
    • Set VariableSet tempPG = (All players matching (((Team number of (Matching player)) Equal to 1) and (((Matching player) slot status) Equal to Is playing)).)
    • Set VariableSet tempInt = (Number of players in tempPG)
    • Player Group - Pick every player in tempPG and do (Actions)
      • Loop - Actions
        • Hero - Make (Picked player) Heroes gain (100.00 / (Real(tempInt)))% experience from future kills
    • Custom script: call DestroyForce (udg_tempPG)
You'd probably want to run the above trigger again when someone leaves so that they don't count towards the experience penalty.
  • Player - Player 1 (Red) leaves the game
 

Uncle

Warcraft Moderator
Level 64
Joined
Aug 10, 2018
Messages
6,537
"Exp based on number of killing units. 2 Exp per unit, 2 players (1 EXP PER PLAYER) RPG map"

^ I showed you how to do this.

If you want a different idea then how about lowering the experience rate every time a player gets a kill (down to a minimum value). Then increase it back again after say 30 seconds. So like -1% exp rate per kill, down to a minimum of 20%, and then 30s after each kill you get +1% exp rate back.

This way if the player kills a lot of enemies in a short amount of time their experience rewards will be much worse than if they spread out their kills over a longer amount of time.

Or an ugly but easy method, have a bunch of Elapsed Time triggers that adjust the exp rate at different times.
Elapsed Time 600 seconds -> Set exp rate to 90%
Elapsed Time 1200 seconds -> Set exp rate to 80%
Elapsed Time 1800 seconds -> Set exp rate to 70%
etc...
 
Status
Not open for further replies.
Top