Staredit Network > Forums > SC1 UMS Theory and Ideas > Topic: Reward System idea
Reward System idea
May 25 2008, 6:43 am
By: Ateo  

May 25 2008, 6:43 am Ateo Post #1



The map I have is a 6 way free-for-all where each player chooses a hero and each hero can summon different minions. For killing a minion, a player gets cash that can be used to buy upgrades. For killing another player, a player gets points(custom). The hero respawns after it dies. The objective of the map is to be the first to reach 100 points.

But wait, isn't there a problem you ask. Won't upgrades tend to snowball after a while since a player who kills more minions would get more cash to upgrade and thus kill better etc.? Won't this lead to creep denying? Well my idea is that for every minion kill a player makes, that player gets a seperate score via a deathcount, let's call it a 'bounty'. And the larger the bounty, the more points an enemy player will receive for defeating that player. In short, there is an incentive for killing stronger players; it brings you much closer to winning the game than if you kill a weak player.

So ok, I will set up a trigger that detects a killscore and then subtract it, while adding the gold or point reward. But the problem is with rewarding for a player kill:

CONDITIONS
Current Player kill score is exactly X
Player Y has suffered at least 1 deaths of hero Z
Player Y has suffered at least 10 deaths of bountyDC
ACTIONS
Modify score for current player: subtract X kills
Modify score for current player: add 25 custom
Modify death counts for player Y: set to 0 for hero Z
Preserve trigger

Here's the problem: The large number of triggers needed to create such a system. 6 heroes x 5 other players x (Let's say 10)different possible bounty scores = 300 Triggers for 1 player, and this triggers can't be duplicated easily. :crazy: What should I do. Can anyone think of an efficient way to do this or suggest any alternatives?



None.

May 25 2008, 1:00 pm pneumatic Post #2



Here's how I would do it.

Have a computer player in control of 6 death counts, one for each human player, called PlayerXBounty where X is the player's number. Each death count corresponds to one player's kill count or score (depending on how you want to do it), minus the number of heroes he has killed (unless you want those to factor into the bounty too). Each player's kill count will be periodically loaded into the bounty. You'll also have a separate death count for the Computer, which I'll call the "Placeholder" DC.

When you've detected that one player has killed another, then send both players into a "transaction" mode. Prevent anyone else from accessing the computer's Placeholder DC at that moment. Transfer the bounty to Placeholder, then from Placeholder to the killing player's Reward death count. Here's the triggers I would use for all that:


Collapse Box


As for detecting a kill... there's really no failsafe way to detect WHOSE hero a player has killed. The best you can do is guess that when Player 1 kills a Templar and Player 2 loses a Templar at the same time, Player 1 killed Player 2's Templar... which is what you were doing in your trigger. The only problem with your trigger is that you subtracted a kill. That's impossible. You can subtract kill SCORE amounts, but you can't subtract the kill COUNT for a unit. One thing you COULD do, though, is something like this:


Collapse Box


Alright, let me know if you have any questions. I triple-checked all the triggers but I might have made a typo. It's late.

Color coding:
one of these per player. no changes required.
one of these per player. changes required for each player.
5 of these per player. changes required for each player.



None.

Jun 7 2008, 10:24 am Wormer Post #3



I would make it straightforward. For each pair of players Player X and Player Y in case Player X killed Player Y transfer Player's Y bounty (stored in dcBounty) to Player's X custom score using binary countoffs. The number of the player Y whose hero is killed by the Player X is stored in the Player's X deathcounter dcKilledPlayer. Here is a bunch of triggers which are doing this:

TRIGGERS


As I've said just have a copy of these triggers for each pair of players Player X and Player Y (X != Y of course).

Post has been edited 5 time(s), last time on Jun 7 2008, 11:54 am by Wormer.



Some.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:53 pm]
Oh_Man -- https://youtu.be/MHOZptE-_-c are yall seeing this map? it's insane
[2024-5-04. : 1:05 am]
Vrael -- I won't stand for people going around saying things like im not a total madman
[2024-5-04. : 1:05 am]
Vrael -- that's better
[2024-5-04. : 12:39 am]
NudeRaider -- can confirm, Vrael is a total madman
[2024-5-03. : 10:18 pm]
Vrael -- who says I'm not a total madman?
[2024-5-03. : 2:26 pm]
UndeadStar -- Vrael, since the ad messages get removed, you look like a total madman for someone that come late
[2024-5-02. : 1:19 pm]
Vrael -- IM GONNA MANUFACTURE SOME SPORTBALL EQUIPMENT WHERE THE SUN DONT SHINE BOY
[2024-5-02. : 1:35 am]
Ultraviolet -- Vrael
Vrael shouted: NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
Gonna put deez sportballs in your mouth
[2024-5-01. : 1:24 pm]
Vrael -- NEED SOME SPORTBALL> WE GOT YOUR SPORTBALL EQUIPMENT MANUFACTURING
[2024-4-30. : 5:08 pm]
Oh_Man -- https://youtu.be/lGxUOgfmUCQ
Please log in to shout.


Members Online: O)FaRTy1billion[MM], Roy