Hello, in this map I'm making a player uses custom resources(entirely trough triggers) there are 5 of them, there is a multiboard that is updated every 10 seconds wich tells howmuch lumber,stone,iron,clay,food each player has. They get lumber by the formula 50 * (number of lumbercollect structures) and others for others. The problem is that it wont update my multiboard i think its a problem in one of the triggers. This are the triggers:
Code:
multi
Events
Map initialization
Conditions
Actions
Set Playercount = (All players matching ((((Matching player) controller) Equal to User) and (((Matching player) slot status) Equal to Is playing)))
Set playernames[0] = |cffffcc00
Set playernames[1] = |c00ff0303
Set playernames[2] = |c000042ff
Set playernames[3] = |c001ce6b9
Set playernames[4] = |c00540081
Set playernames[5] = |c00fffc01
Set playernames[6] = |c00feba0e
Set playernames[7] = |c0020c000
Set playernames[8] = |c00e55bb0
Set playernames[9] = |c00696969
Set playernames[10] = |c004882b4
Set playernames[11] = |c00006400
Set playernames[12] = |c008b4726
Set endtag = |r
JASS:
function Trig_setupmultistart_Actions takes nothing returns nothing
call CreateMultiboardBJ( 6, ( 1 + CountPlayersInForceBJ(udg_Playercount) ), "TRIGSTR_089" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 1, 1, "TRIGSTR_090" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, 1, "TRIGSTR_091" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 3, 1, "TRIGSTR_092" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 4, 1, "TRIGSTR_093" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 5, 1, "TRIGSTR_094" )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 6, 1, "TRIGSTR_095" )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = ( 1 + CountPlayersInForceBJ(udg_Playercount) )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 1, GetForLoopIndexA(), true, false )
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 2, GetForLoopIndexA(), true, false )
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 3, GetForLoopIndexA(), true, false )
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 4, GetForLoopIndexA(), true, false )
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 5, GetForLoopIndexA(), true, false )
call MultiboardSetItemStyleBJ( GetLastCreatedMultiboard(), 6, GetForLoopIndexA(), true, false )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 1, GetForLoopIndexA(), 7.00 )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 2, GetForLoopIndexA(), 4.50 )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 3, GetForLoopIndexA(), 4.50 )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 4, GetForLoopIndexA(), 4.50 )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 5, GetForLoopIndexA(), 4.50 )
call MultiboardSetItemWidthBJ( GetLastCreatedMultiboard(), 6, GetForLoopIndexA(), 4.50 )
set udg_player_row = ( udg_player_row + 1 )
set udg_player_color = ( udg_player_color + 1 )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 1, udg_player_row, ( udg_playernames[udg_player_color] + ( GetPlayerName(ConvertedPlayer(udg_player_color)) + udg_endtag ) ) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, udg_player_row, I2S(udg_lumber[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 3, udg_player_row, I2S(udg_stone[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 4, udg_player_row, I2S(udg_iron[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 5, udg_player_row, I2S(udg_clay[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 6, udg_player_row, I2S(udg_food[udg_player_color]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call MultiboardDisplay( GetLastCreatedMultiboard(), true )
endfunction
//===========================================================================
function InitTrig_setupmultistart takes nothing returns nothing
set gg_trg_setupmultistart = CreateTrigger( )
call TriggerRegisterTimerEvent( gg_trg_setupmultistart, 0.00, false )
call TriggerAddAction( gg_trg_setupmultistart, function Trig_setupmultistart_Actions )
endfunction
JASS:
function Trig_updaterec_Actions takes nothing returns nothing
set udg_lumber[udg_player_color] = ( 50 * CountLivingPlayerUnitsOfTypeId(039;h001039;, ConvertedPlayer(udg_player_color)) )
set udg_stone[udg_player_color] = ( 50 * CountLivingPlayerUnitsOfTypeId(039;h003039;, ConvertedPlayer(udg_player_color)) )
set udg_iron[udg_player_color] = ( 60 * CountLivingPlayerUnitsOfTypeId(039;n002039;, ConvertedPlayer(udg_player_color)) )
set udg_clay[udg_player_color] = ( 40 * CountLivingPlayerUnitsOfTypeId(039;n001039;, ConvertedPlayer(udg_player_color)) )
set udg_food[udg_player_color] = ( 20 * CountLivingPlayerUnitsOfTypeId(039;h002039;, ConvertedPlayer(udg_player_color)) )
endfunction
//===========================================================================
function InitTrig_updaterec takes nothing returns nothing
set gg_trg_updaterec = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_updaterec, 9.80 )
call TriggerAddAction( gg_trg_updaterec, function Trig_updaterec_Actions )
endfunction
JASS:
function Trig_setupmultiperiodic_Actions takes nothing returns nothing
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = ( 1 + CountPlayersInForceBJ(udg_Playercount) )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 1, udg_player_row, ( udg_playernames[udg_player_color] + ( GetPlayerName(ConvertedPlayer(udg_player_color)) + udg_endtag ) ) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, udg_player_row, I2S(udg_lumber[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 3, udg_player_row, I2S(udg_stone[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 4, udg_player_row, I2S(udg_iron[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 5, udg_player_row, I2S(udg_clay[udg_player_color]) )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 6, udg_player_row, I2S(udg_food[udg_player_color]) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_setupmultiperiodic takes nothing returns nothing
set gg_trg_setupmultiperiodic = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_setupmultiperiodic, 10.00 )
call TriggerAddAction( gg_trg_setupmultiperiodic, function Trig_setupmultiperiodic_Actions )
endfunction