win game from certain amount of kills

und34d-rul3

New Member
Reaction score
12
win game from amount of kills

How do i make it so that when a players kills is equal to 100 it will make them and all there allies win. I already have a Player_kils variable for my leaderboard
 
B

Bananskral

Guest
i've been wondering about that too, though as a reward checking throughout the game. I believe you could solve it like this:

Code:
Untitled Trigger 002
    Events
        Time - Every 1.00 seconds of game time
    Conditions
        Kill_Count[((Owner of (Killing unit)) Units Killed)] Equal to 100
    Actions
        Game - Victory (Player in position 1 of (Last created leaderboard)) (Show dialogs, Show scores)

Maybe you should change the part right after kill_Count(kill_count is your player_kills) by the way, thanks for the help. :D Just change the player winning to something with player group....
 
B

Bananskral

Guest
do quote if it works or doesnt, i want to know. To test it, just make a peon of an enemy and set the win value to 1
 

und34d-rul3

New Member
Reaction score
12
ok well i did that, but i edited it a little cause my map can have teams, but sometimes it wont, so i did this:

Code:
win
    Events
        Unit - A unit Dies
    Conditions
        Player_kills[(Player number of (Owner of (Killing unit)))] Equal to 100
    Actions
        Player Group - Add (Owner of (Killing unit)) to Winners
        Player Group - Pick every player in (All allies of (Owner of (Killing unit))) and do (Player Group - Add (Matching player) to Winners)
        Player Group - Pick every player in (All enemies of (Owner of (Killing unit))) and do (Game - Defeat (Matching player) with the message: You Lost)
        Player Group - Pick every player in Winners and do (Game - Victory (Matching player) (Show dialogs, Show scores))

btw did my trigger work for you?
 

Grurf

Ultra Cool Member
Reaction score
30
Edit:

Oh, we just posted at the same time :) nvm.

------------------------

You better us a "Unit - A unit Dies" event, with conditions that exclude the player that shouldn't be able to win, and put something like this in the trigger:

Code:
If
Kill_Amount[(Player Number of (Owner of (Killing Unit)))] is equal to 100
then 
(your victory actions here)
else
Set Kill_Amount[(Player Number of (Owner of (Killing Unit)))] to (Kill_Amount[(Player Number of (Owner of (Killing Unit)))] + 1)
 

und34d-rul3

New Member
Reaction score
12
Grurf said:
You better us a "Unit - A unit Dies" event, with conditions that exclude the player that shouldn't be able to win, and put something like this in the trigger:

Code:
If
Kill_Amount[(Player Number of (Owner of (Killing Unit)))] is equal to 100
then 
(your victory actions here)
else
Set Kill_Amount[(Player Number of (Owner of (Killing Unit)))] to (Kill_Amount[(Player Number of (Owner of (Killing Unit)))] + 1)

what do you mean???

my trigger will only work when a unit dies, and the players kills are equal to 100 so if a player is killed and there kills only eqaul 10 then they wont win and noone will lose
 
B

Bananskral

Guest
No, i didnt test it, i just figured, that it should be something like that. I wanted it to make, that every tíme somebody got a score of hundreds, he should have 1000 gold.
 

Grurf

Ultra Cool Member
Reaction score
30
What I did is keeping the kills variable and the winning stuff in one trigger. What happens:

If the player has 100 kills, the victory actions will be run.

If the player doesn't have 100 kills yet, the kill variable will be set +1

Warcraft doesn't keep a kill amount variable for every player by itself, so you will need the trigger to keep track of it. This trigger keeps track of the kills until one of the kill amount variables reaches 100.
 

und34d-rul3

New Member
Reaction score
12
well if i already had a tallying trigger for variable why would i get rid of that trigger to add urs
 

mase

____ ___ ____ __
Reaction score
154
Here this trigger works i use it for my ffa maps:
Code:
Events: Every .1 Seconds of the game
Conditions:
Actions: If (player 1 red) units killed = (#) Then Victory for Player 1 red.
You have to do that for all the players and # = the # of kills needed to win
The condition can be found under Player Properties > Units Killd
 
B

BlizzScripts

Guest
i think u guys better use >= beacuse if the hero does double kill?
so it will skip the condition and it will return false
How about that:
Code:
Event:
Unit - Unit Dies
Condition:

Actions:

if ( Kills >= 100 ) then
    //Do Actions
elseif ( Kills <= 99 ) then
   set Kills = Kills + 1
endif
 

mase

____ ___ ____ __
Reaction score
154
ya ....
 

xPheRe

New Member
Reaction score
43
Instead of checking it every 1/100 second it would be better to check every time the value changes, this is at every unit dies event
Code:
Event
    A Unit dies
Condition
    (Killing unit) not equal to (No unit)
    Owner of (Killing unit) not equal to Owner of (Dying unit)
Action
    Set PlayerNumber = Player Number of (Owner of (Killing Unit))
    Set Kill_Amount[PlayerNumber] = Kill_Amount[PlayerNumber] + 1
    If Kill_Amount[PlayerNumber] greater or equal than 100 then
        Game - Victory (Owner of (Killing unit)) (Show dialogs, Show scores)
 
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