Dameon
"All the power in the world resides in the eyes"
- Reaction score
- 127
How do you find out if you have trigger leaks or if your trigger will crash or freeze the game?
Pay Day Timer
Events
Time - Every 1.00 seconds of game time
Conditions
PayDayTimer Greater than 0
Actions
Set PayDayTimer = (PayDayTimer - 1)
Leaderboard - Change the value for Neutral Passive in (Last created leaderboard) to PayDayTimer
Pay Day 30
Events
Time - Every 30.00 seconds of game time
Conditions
Actions
Player Group - Pick every player in (All players) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
IncomeGold[(Player number of (Picked player))] Greater than 200000
Then - Actions
Set IncomeGold[(Player number of (Picked player))] = (IncomeGold[(Player number of (Picked player))] - 100000)
Set IncomeWood[(Player number of (Picked player))] = (IncomeWood[(Player number of (Picked player))] + 1)
Else - Actions
Do nothing
For each (Integer A) from 1 to 10, do (Player - Add IncomeGold[(Integer A)] to (Player((Integer A))) Current gold)
For each (Integer A) from 1 to 10, do (Player - Add IncomeWood[(Integer A)] to (Player((Integer A))) Current lumber)
For each (Integer A) from 1 to 10, do (Multiboard - Set the text for (Last created multiboard) item in column 2, row (Integer A) to (String(IncomeGold[(Integer A)])))
For each (Integer A) from 1 to 10, do (Multiboard - Set the text for (Last created multiboard) item in column 3, row (Integer A) to (String(IncomeWood[(Integer A)])))
Set PayDayTimer = 30
Hero Revive TImer
Events
Time - Every 1.00 seconds of game time
Conditions
Actions
Player Group - Pick every player in (All players controlled by a User player) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PlayerRevive[(Player number of (Picked player))] Equal to 30
Then - Actions
Leaderboard - Add (Picked player) to (Last created leaderboard) with label (Name of (Picked player)) and value 30
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PlayerRevive[(Player number of (Picked player))] Greater than 0
Then - Actions
Set PlayerRevive[(Player number of (Picked player))] = (PlayerRevive[(Player number of (Picked player))] - 1)
Leaderboard - Change the value for (Picked player) in (Last created leaderboard) to PlayerRevive[(Player number of (Picked player))]
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
PlayerRevive[(Player number of (Picked player))] Equal to 0
Then - Actions
Set PlayerRevive[(Player number of (Picked player))] = (PlayerRevive[(Player number of (Picked player))] - 1)
Leaderboard - Remove (Picked player) from (Last created leaderboard)
Else - Actions
Do nothing
Hero Revive
Events
Unit - A unit Dies
Conditions
((Triggering unit) is A Hero) Equal to True
(Owner of (Triggering unit)) Not equal to Player 11 (Dark Green)
(Owner of (Triggering unit)) Not equal to Player 12 (Brown)
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Not equal to Player 2 (Blue)
(Owner of (Triggering unit)) Not equal to Player 4 (Purple)
(Owner of (Triggering unit)) Not equal to Player 6 (Orange)
(Owner of (Triggering unit)) Not equal to Player 8 (Pink)
(Owner of (Triggering unit)) Not equal to Player 10 (Light Blue)
Then - Actions
Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + has died and given the East team another life.)
Set ETLifes = (ETLifes + 1)
Leaderboard - Change the value for Player 12 (Brown) in (Last created leaderboard) to ETLifes
Set PlayerRevive[(Player number of (Owner of (Triggering unit)))] = 30
Wait 30.00 seconds
Hero - Instantly revive (Triggering unit) at (Center of West Team CP <gen>), Hide revival graphics
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of West Team CP <gen>) over 3.00 seconds
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Not equal to Player 1 (Red)
(Owner of (Triggering unit)) Not equal to Player 3 (Teal)
(Owner of (Triggering unit)) Not equal to Player 5 (Yellow)
(Owner of (Triggering unit)) Not equal to Player 7 (Green)
(Owner of (Triggering unit)) Not equal to Player 9 (Gray)
Then - Actions
Game - Display to (All players) the text: ((Name of (Owner of (Triggering unit))) + has died and given the West team another life.)
Set WTLifes = (WTLifes + 1)
Leaderboard - Change the value for Player 11 (Dark Green) in (Last created leaderboard) to WTLifes
Set PlayerRevive[(Player number of (Owner of (Triggering unit)))] = 30
Wait 30.00 seconds
Hero - Instantly revive (Triggering unit) at (Center of East Team CP <gen>), Hide revival graphics
Camera - Pan camera for (Owner of (Triggering unit)) to (Center of East Team CP <gen>) over 3.00 seconds
Else - Actions
Do nothing
Sorry; I didn't see that second spoiler>>I don't see anything that could cause a leak in those triggers.
Search after a leak tutorial, that goes for both of you.
Player Group - Pick every player in (All players controlled by a User player) and do (Actions)
call DestroyForce (udg_YourPlayerGroupName)
Player Group - Pick every player in (All players) and do (Actions)
(Center of East Team CP <gen>)
call RemoveLocation(udg_YOUR_VARIABLE_NAME_GOES_HERE)
function GetPlayersByMapControl takes mapcontrol whichControl returns force
local force f = CreateForce()
local integer playerIndex
local player indexPlayer
set playerIndex = 0
loop
set indexPlayer = Player(playerIndex)
if GetPlayerController(indexPlayer) == whichControl then
call ForceAddPlayer(f, indexPlayer)
endif
set playerIndex = playerIndex + 1
exitwhen playerIndex == bj_MAX_PLAYER_SLOTS
endloop
return f
endfunction