cleeezzz
The Undead Ranger.
- Reaction score
- 268
SOLVED
this trigger just makes players 1-6 on team 1 and players 7-12 on team 2. supposed to change colors and ally the players but when i call it using "call GMI_6TEAMSTART()" it does nothing.
edit: added comments in code for clarifying
Array Teams is a Force global variable
also clarification, Nothing happens.
JASS:
library GMI requires CSSafety
globals
private playercolor pc
endglobals
private function Change takes nothing returns nothing
call SetUnitColor(GetEnumUnit(), pc)
endfunction
private function Color takes nothing returns nothing // changes player color, then picks all units and changes unit color as well
local group g = NewGroup()
call SetPlayerColor(GetEnumPlayer(), pc)
call GroupEnumUnitsOfPlayer(g,GetEnumPlayer(),null)
call ForGroup(g, function Change)
call ReleaseGroup(g)
set g = null
endfunction
public function 6TEAMSTART takes nothing returns nothing
local integer i = 0
local integer a = 0
local integer b = 0
set Mode = 5
loop
exitwhen i > 5 //add player 1 - 6
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING then
call ForceAddPlayer(Teams[1], Player(i))
endif
set i = i + 1
endloop
loop
exitwhen i > 11 // add player 7 - 12
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING then
call ForceAddPlayer(Teams[2], Player(i))
endif
set i = i + 1
endloop
set b = 1
loop //this loop to loop through the each Team
exitwhen b > 2
set i = 0
loop //this loop to go through each player in the force and ally each other
if IsPlayerInForce(Player(i), Teams<b>) then
set a = 0
loop
if IsPlayerInForce(Player(a), Teams<b>) then //allies players within the force
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_PASSIVE, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_HELP_REQUEST, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_HELP_RESPONSE, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_SHARED_XP, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_SHARED_SPELLS, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_SHARED_CONTROL, false)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_SHARED_VISION, true)
call SetPlayerAlliance(Player(i), Player(a), ALLIANCE_SHARED_ADVANCED_CONTROL, false)
endif
set a = a + 1
exitwhen a == bj_MAX_PLAYER_SLOTS
endloop
endif
set i = i + 1
exitwhen i == bj_MAX_PLAYER_SLOTS
endloop
set b = b + 1
endloop
set pc = PLAYER_COLOR_RED //changes player colors and units
call ForForce(Teams[1], function Color)
set pc = PLAYER_COLOR_BLUE
call ForForce(Teams[2], function Color)
endfunction
endlibrary</b></b>
this trigger just makes players 1-6 on team 1 and players 7-12 on team 2. supposed to change colors and ally the players but when i call it using "call GMI_6TEAMSTART()" it does nothing.
edit: added comments in code for clarifying
Array Teams is a Force global variable
also clarification, Nothing happens.