Hi Hive.
I've been using the GUI to edit my global variables until recently when I began using globals/endglobals blocks.
I concatenated my globals into one init trigger which is run by another trigger at map start to ensure proper order of execution.
The problem is that since I've concatenated these globals into the one block, some of my triggers have become broken and do not run.
For example, this trigger is supposed to run but doesn't...
Also the links to the preplaced unit globals (gg_unit_n002_0036 e.t.c.) are no longer working therefore the initCam trigger doesn't function properly.
...which is strange because the playerColours string array has initiated fine and works perfectly.
Please note: all the triggers have been tested previously and work in and of themselves. It's just when I concatenated the globals that I had some problems occuring.
Is there some rule for global declarations that I don't know of?
I've been using the GUI to edit my global variables until recently when I began using globals/endglobals blocks.
I concatenated my globals into one init trigger which is run by another trigger at map start to ensure proper order of execution.
The problem is that since I've concatenated these globals into the one block, some of my triggers have become broken and do not run.
JASS:
function Trig_initTriggers_Actions takes nothing returns nothing
local integer i
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Setting variables...")
set i = i+1
endloop
call TriggerExecute(gg_trg_initVars)
call TriggerSleepAction(1)
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Applying camera settings...")
set i = i+1
endloop
call TriggerExecute(gg_trg_initCam)
call TriggerSleepAction(1)
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Creating quests...")
set i = i+1
endloop
call TriggerExecute(gg_trg_createQuests)
call TriggerSleepAction(1)
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Checking team states...")
set i = i+1
endloop
call TriggerExecute(gg_trg_vsCPUCheck)
call TriggerSleepAction(1)
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Creating dialog...")
set i = i+1
endloop
call TriggerExecute(gg_trg_createDialog)
call TriggerSleepAction(1)
set i = 0
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0,"Opening dialog...")
set i = i+1
endloop
call TriggerExecute(gg_trg_diagShow)
endfunction
//===========================================================================
function InitTrig_initTriggers takes nothing returns nothing
set gg_trg_initTriggers = CreateTrigger( )
call TriggerRegisterTimerEvent( gg_trg_initTriggers, 0.5, false)
call TriggerAddAction( gg_trg_initTriggers, function Trig_initTriggers_Actions )
endfunction
JASS:
globals
integer array playerKills
unit array catasAll
boolean array cataCam
boolean array IsCannonFiring
boolean array shotCallback
integer array playerRow
string array playerColours
integer array playerAimAccuracy
integer array playerAimSpeed
button buttonAss
button buttonCTF
button buttonDom
dialog dialogMode
quest questMode
multiboard mboard
endglobals
function Trig_initVars_Actions takes nothing returns nothing
local integer i
set i = 0
loop
exitwhen i == 10
set cataCam[i] = false
set playerKills[i] = 0
set playerRow[i] = 0
set playerAimAccuracy[i] = 1
set playerAimSpeed[i] = 1
set shotCallback[i] = false
set IsCannonFiring[i] = false
set i = i+1
endloop
set playerKills[10] = 0
set playerKills[11] = 0
set playerRow[10] = 0
set playerRow[11] = 0
set playerColours[0] = "|CFFFF0303"
set playerColours[1] = "|CFF0042FF"
set playerColours[2] = "|CFF1BE6D8"
set playerColours[3] = "|CFF540081"
set playerColours[4] = "|CFFFFFF01"
set playerColours[5] = "|CFFFE8A0E"
set playerColours[6] = "|CFF20C000"
set playerColours[7] = "|CFFE55BB0"
set playerColours[8] = "|CFF959697"
set playerColours[9] = "|CFF7EBFF1"
set playerColours[10] = "|CFF106246"
set playerColours[11] = "|CFF4E2A04"
set catasAll[0] = gg_unit_n002_0036
set catasAll[1] = gg_unit_n002_0037
set catasAll[2] = gg_unit_n002_0039
set catasAll[3] = gg_unit_n002_0038
set catasAll[4] = gg_unit_n002_0040
set catasAll[5] = gg_unit_n002_0043
set catasAll[6] = gg_unit_n002_0044
set catasAll[7] = gg_unit_n002_0042
set catasAll[8] = gg_unit_n002_0045
set catasAll[9] = gg_unit_n002_0041
endfunction
//===========================================================================
function InitTrig_initVars takes nothing returns nothing
set gg_trg_initVars = CreateTrigger( )
call TriggerAddAction( gg_trg_initVars, function Trig_initVars_Actions )
endfunction
For example, this trigger is supposed to run but doesn't...
JASS:
function Trig_IsVsCPU_Actions takes nothing returns nothing
local boolean hasPlayer = false
local integer i = 5
loop
if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING then
set hasPlayer = true
endif
set i = i+1
exitwhen i == 10
endloop
set i = 0
if hasPlayer == false then
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0, "No players have been detected on team 2.")
call DisplayTextToPlayer(Player(i), 0, 0, "Initiating Player Vs CPU game.")
set i = i+1
endloop
else
loop
exitwhen i == 10
call DisplayTextToPlayer(Player(i), 0, 0, "Initiating Player Vs Player game.")
set i = i+1
endloop
endif
endfunction
//===========================================================================
function InitTrig_vsCPUCheck takes nothing returns nothing
set gg_trg_vsCPUCheck = CreateTrigger( )
call TriggerAddAction( gg_trg_vsCPUCheck, function Trig_IsVsCPU_Actions )
endfunction
Also the links to the preplaced unit globals (gg_unit_n002_0036 e.t.c.) are no longer working therefore the initCam trigger doesn't function properly.
JASS:
function Trig_initCam_Actions takes nothing returns nothing
call SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK, 300, 1)
call SetCameraField(CAMERA_FIELD_TARGET_DISTANCE, 3000, 1)
call SetCameraPosition(GetUnitX(catasAll[GetPlayerId(GetLocalPlayer())]), GetUnitY(catasAll[GetPlayerId(GetLocalPlayer())]))
endfunction
//===========================================================================
function InitTrig_initCam takes nothing returns nothing
set gg_trg_initCam = CreateTrigger( )
call TriggerAddAction( gg_trg_initCam, function Trig_initCam_Actions )
endfunction
...which is strange because the playerColours string array has initiated fine and works perfectly.
Please note: all the triggers have been tested previously and work in and of themselves. It's just when I concatenated the globals that I had some problems occuring.
Is there some rule for global declarations that I don't know of?