Detecting the highest / strongest player?

thevoden

New Member
Reaction score
5
Lets say I have the following variables:

-Zones Controlled
- Most towers built
- Most hero kills
- Most artifacts held on a hero

How do I detect who owns or controls the "most" through a trigger?
 

foodflare

You can change this now in User CP.
Reaction score
32
when they control zone/build tower/kill hero/get an artifact
add 1 to an integer variable for that player, then ur condition would be comparing the integer variables
 

thevoden

New Member
Reaction score
5
what trigger is it that compares the integers and stuff? Specially the highest and such ? I can't find it specifically what your mentioning.
 

Burningicce9

Cool Member
Reaction score
1
Okay, this isn't the most efficent way to do it, but it is the easiest to understand/modify (I hope)


Basically, you detect when a player does something that would add to their score (kills a hero, gets an artifact, ect), and add it to a global array. Then you calculate hte mvp by adding up the values, and comparing them until you find the greatest power.

Here is how you detect the player with the most hero kills:

Code:
Hero Detect
    Events
        Unit - A unit Dies
    Conditions
        ((Triggering unit) is A Hero) Equal to True
    Actions
        Set HeroKills[(Player number of (Owner of (Triggering unit)))] = (HeroKills[(Player number of (Owner of (Triggering unit)))] + 1)




And here is how you would detect whenever they get an artifact.
Code:
 Artifact
    Events
        Unit - A unit Acquires an item
    Conditions
        (Item being manipulated) Equal to [COLOR="Red"](One type of artifact)[/COLOR]
        (Item being manipulated) Equal to[COLOR="Red"] (Another artifact)[/COLOR]
    Actions
        Set Artifact[(Player number of (Owner of (Triggering unit)))] = (Artifact[(Player number of (Owner of (Triggering unit)))] + 1)

If you wanted Artifact to represent the current number of artifacts they own, you just copy the trigger, but change it to
Code:
 Set Artifact[(Player number of (Owner of (Triggering unit)))] = (Artifact[(Player number of (Owner of (Triggering unit)))] - 1)
Also, you change the event to
Code:
Unit - A unit Acquires an item




And for towers:
Code:
 Towers
    Events
        Unit - A unit Finishes construction
    Conditions
        (Unit-type of (Triggering unit)) Equal to [COLOR="Red"]Your Unit[/COLOR]
    Actions
        Set TowersBuilt[(Player number of (Owner of (Triggering unit)))] = (TowersBuilt[(Player number of (Owner of (Triggering unit)))] + 1)

If you want to make it the current number of towers a player owns, all you have to do is do what you did for the artifact trigger, and make it subtract one when a tower type unit dies.



I dont know how you are calculating zones, but you would use a similar method to detect how many they own (maybe if you have a trigger that gives the players control of a particular zone, you can set their global array there)



So now we need to calculate the mvp. All you need to do is make a trigger like this, and run it when you want to calculate the MVP

Code:
Calculate
    Events
    Conditions
    Actions
        For each (Integer A) from 1 to 12, do (Actions)
            Loop - Actions
                Set MVP_Check[(Integer A)] = (Artifact[(Integer A)] + (HeroKills[(Integer A)] + TowersBuilt[(Integer A)])) +ZonesControlled[(IntegerA)]
        Set MVP = Player 1 (Red)
        For each (Integer A) from 2 to 12, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        MVP_Check[(Integer A)] Greater than MVP_Check[((Integer A) - 1)]
                    Then - Actions
                        Set MVP = (Player((Integer A)))
                    Else - Actions
        Game - Display to (All players) the text: ((Name of MVP) + is the best!)
And any other actions you want go here

Basically i set a value for each of the players, then looped through them to find the one with the highest value.

Hope that helped
 

Sooda

Diversity enchants
Reaction score
318
It' s under integer comparison. Make your own variables. Use events or other triggers when someone captures region, acquires item then add +1 to player score integer.
 

thevoden

New Member
Reaction score
5
It' s under integer comparison. Make your own variables. Use events or other triggers when someone captures region, acquires item then add +1 to player score integer.

Can you be more specific? Which one of that trigger does the integer comparison. I went into that section and I cannot see how it can detect who has the highest and such. Do you mind posting a sample trigger?

Thanks
 

Burningicce9

Cool Member
Reaction score
1
Can you be more specific? Which one of that trigger does the integer comparison. I went into that section and I cannot see how it can detect who has the highest and such. Do you mind posting a sample trigger?

Thanks

Integer comparision is a condition....under conditions. And you need to decide how you're doing zones before we can help you.
 
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