| 05-19-2007, 10:39 PM | #1 |
I tried making a multiboard without any bjs, and the script gives me a fatal error. Can someone find whats wrong with it? JASS:function MultiboardName takes nothing returns nothing local player p = GetEnumPlayer() local integer i = GetPlayerId(p)+1 local integer ic = 1 local integer maxc = MultiboardGetColumnCount(udg_Multiboard) local multiboarditem mb = null loop set mb = MultiboardGetItem( udg_Multiboard, 1, ic ) call MultiboardSetItemWidth( mb, 0.09 ) call MultiboardSetItemValue(mb, udg_PlayerNames[i]) call MultiboardReleaseItem(mb) set ic = ic + 1 exitwhen ic > maxc endloop set mb = null endfunction function Setup2_Actions takes timer t returns nothing local integer ir = 1 local integer ic = 1 local integer maxr local integer maxc local multiboarditem mbitem = null local multiboarditem mbitem2 = null local multiboarditem mbitem3 = null local multiboarditem mbitem4 = null call MultiboardMinimize( udg_Multiboard, true ) call MultiboardDisplay( udg_Multiboard, true ) call MultiboardSetTitleText( udg_Multiboard, "Botr" ) call MultiboardSetColumnCount( udg_Multiboard, 5 ) call MultiboardSetRowCount( udg_Multiboard, 15 ) call ForForce( udg_All_Users, function MultiboardName ) set maxr = MultiboardGetRowCount(udg_Multiboard) set maxc = MultiboardGetColumnCount(udg_Multiboard) loop set mbitem = MultiboardGetItem(udg_Multiboard, ir, 2) set mbitem2 = MultiboardGetItem(udg_Multiboard, ir, 3) set mbitem3 = MultiboardGetItem(udg_Multiboard, ir, 4) loop set mbitem4 = MultiboardGetItem(udg_Multiboard, ir, ic) call MultiboardSetItemStyle( mbitem4, true, false ) call MultiboardReleaseItem(mbitem4) set ic = ic + 1 exitwhen ic > maxc endloop call MultiboardSetItemWidth( mbitem, 0.03 ) call MultiboardSetItemWidth( mbitem2, 0.03 ) call MultiboardSetItemWidth( mbitem3, 0.01 ) call MultiboardSetItemValue( mbitem, "0" ) call MultiboardSetItemValue( mbitem2, "0" ) call MultiboardSetItemValue( mbitem3, "0" ) call MultiboardSetItemValueColor( mbitem, 225, 30, 45, 0 ) call MultiboardSetItemValueColor( mbitem2, 60, 60, 60, 0 ) call MultiboardSetItemValueColor( mbitem3, 255, 204, 51, 0 ) call MultiboardReleaseItem(mbitem) call MultiboardReleaseItem(mbitem2) call MultiboardReleaseItem(mbitem3) set ir = ir + 1 exitwhen ir > maxr endloop set mbitem = null set mbitem2 = null set mbitem3 = null set mbitem4 = null endfunction //=========================================================================== function InitTrig_Setup2 takes nothing returns nothing set gg_trg_Setup2 = CreateTrigger( ) call TriggerRegisterTimerEvent( gg_trg_Setup2, 1.00, false ) call TriggerAddAction( gg_trg_Setup2, function Setup2_Actions ) endfunction |
| 05-20-2007, 05:27 AM | #2 |
I think it might have to do with the fact that your Setup2_Actions takes an argument: JASS:function Setup2_Actions takes timer t returns nothing JASS:local multiboarditem mbitem = null local multiboarditem mbitem2 = null local multiboarditem mbitem3 = null local multiboarditem mbitem4 = null |
| 05-20-2007, 01:09 PM | #3 |
Multiboards probably use 0-based indexing so you might be trying to get a multiboard item that doesn't exist (if you have 5 items, they will be at indices 0-4 and trying to get an item at 5 might crash). Never bothered to work with natives for multiboards so I might be wrong. |
| 05-20-2007, 10:54 PM | #4 |
Thx pyro, that was the problem. Im not sure what your saying blu...Now theres another problem. :( The multiboard doesnt even show. |
