Trigger gold awarded?

merlin

New Member
Reaction score
0
Hello, this is my first post here. I am working on a custom map and I am not satisfied with the in-game score screen, so I would like to print out some statistics at the end of the game of my own, including gold and XP obtained from killing creeps. I have looked in the GUI and JASS triggers and I do not see any way to obtain the exact gold awarded when a player kills a creep. Please tell me there's a way to do this without making 3 giant arrays of all creep gold dice values and then awarding the gold myself...
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
If killing creeps is the only way of earning gold, you could compare the player's gold values before and after they kill a unit.
 

merlin

New Member
Reaction score
0
When I tried this with the event 'Generic Unit Event - Unit Dies' it printed the gold value after it had already been awarded. Are you saying something like use a trigger that runs every .05 seconds (or whatever the minimum is) and then compare the current gold with that?
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
I dont know of any way to get the bounty of a unit.

But what you could do is misuse some other value. For example the units point value, supply used, supply provided, mana, etc.
Just set it to a value equal to its bounty and then use that in a trigger.

Of course, this does not work for random bounty for obvious reasons.
 

afisakov

You can change this now in User CP.
Reaction score
37
I agree with Accname's solution. and while it may not work perfectly for random bounty, once the sample size is large enough the outcome will be close to the mean. Therefore you can set enemy point value or food cost, etc. to the averge gold bounty (e.g bounty 1-5 gives average 3) and at the score screen the totals will be pretty close to what was actually awarded.
 

Solu9

You can change this now in User CP.
Reaction score
216
As long as you have one constant to calculate the bounty from you can randomize the actual bounty awarded.
If you use a unit's point value fx.
Just create a trigger that checks this value and fx. multiply it by (random number between 0.5 and 1.5) or whatever fits your needs.

Edit:
Then save the outcome in a variable:
Set iBounty = (point value of dying unit) x (random number between 0.5 and 1.5)
Set iCollectedBounty = iCollectedBounty + iBounty
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
613
When I tried this with the event 'Generic Unit Event - Unit Dies' it printed the gold value after it had already been awarded. Are you saying something like use a trigger that runs every .05 seconds (or whatever the minimum is) and then compare the current gold with that?

Not periodically, but you keep a variable that saves a player's current gold. When a unit dies and the bounty is awarded, the player's gold amount changes, but the variable doesn't. So the difference between the variable and the player's current gold is the amount of bounty earned.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top