| 02-12-2007, 09:15 AM | #1 |
Heres my scripts.. To Show the First Multiboard: Code:
function Trig_MultiboardShow_Actions takes nothing returns nothing
local integer i = 1
local multiboarditem mbi
local multiboard array mb
local multiboarditem mbi2
local multiboard array mb2
local integer j = 0
call TriggerSleepAction( 0.00 )
loop
exitwhen i > 10
//============== MULTIBOARD 1 ==================
set mb[i] = CreateMultiboard()
call MultiboardSetTitleText(mb[i],"Character Sheet")
call MultiboardSetRowCount(mb[i],12)
call MultiboardSetColumnCount(mb[i],2)
//----------------------------------------------
set mbi = MultiboardGetItem(mb[i],0,0)
call MultiboardSetItemValue(mbi,"Player")
set mbi = MultiboardGetItem(mb[i],1,0)
call MultiboardSetItemValue(mbi,"Race")
set mbi = MultiboardGetItem(mb[i],2,0)
call MultiboardSetItemValue(mbi,"Class")
set mbi = MultiboardGetItem(mb[i],3,0)
call MultiboardSetItemValue(mbi,"Level")
set mbi = MultiboardGetItem(mb[i],4,0)
call MultiboardSetItemValue(mbi,"Gold")
set mbi = MultiboardGetItem(mb[i],5,0)
call MultiboardSetItemValue(mbi,"Exp.")
set mbi = MultiboardGetItem(mb[i],7,0)
call MultiboardSetItemValue(mbi,"Move. Spd")
set mbi = MultiboardGetItem(mb[i],8,0)
call MultiboardSetItemValue(mbi,"X Pos.")
set mbi = MultiboardGetItem(mb[i],9,0)
call MultiboardSetItemValue(mbi,"Y Pos.")
set mbi = MultiboardGetItem(mb[i],0,1)
call MultiboardSetItemValue(mbi,udg_data_PlayerColors[i] + GetPlayerName(Player(i)) + "|r" )
set j = 0
loop
exitwhen j > 11
set mbi = MultiboardGetItem(mb[i],j,0)
call MultiboardSetItemWidth(mbi,0.08)
call MultiboardSetItemStyle(mbi,true,false)
set mbi = MultiboardGetItem(mb[i],j,1)
call MultiboardSetItemWidth(mbi,0.10)
call MultiboardSetItemStyle(mbi,true,false)
set j = j + 1
endloop
set mbi = MultiboardGetItem(mb[i],11,0)
call MultiboardSetItemValue(mbi,"Press |cffffcc00ESC|r to change sheet.")
call MultiboardSetItemWidth(mbi,0.18)
set mbi = MultiboardGetItem(mb[i],11,1)
call MultiboardSetItemWidth(mbi,0)
set udg_multiboard_1[i] = mb[i]
//============== MULTIBOARD 2 ==================
set mb[i] = CreateMultiboard()
call MultiboardSetTitleText(mb[i],"Party Sheet")
call MultiboardSetRowCount(mb[i],8)
call MultiboardSetColumnCount(mb[i],3)
//----------------------------------------------
set mbi = MultiboardGetItem(mb[i],0,1)
call MultiboardSetItemValue(mbi,"|cffffcc00Player|r")
set mbi = MultiboardGetItem(mb[i],0,2)
call MultiboardSetItemValue(mbi,"|cffffcc00Level|r")
set mbi = MultiboardGetItem(mb[i],1,0)
call MultiboardSetItemValue(mbi,"|cffffcc00Leader:|r")
set mbi = MultiboardGetItem(mb[i],3,0)
call MultiboardSetItemValue(mbi,"|cffffcc00Party Members:|r")
set mbi = MultiboardGetItem(mb[i],7,0)
call MultiboardSetItemValue(mbi,"Press |cffffcc00ESC|r to change sheet.")
call MultiboardSetItemWidth(mbi,0.26)
set j = 0
loop
exitwhen j > 8
set mbi = MultiboardGetItem(mb[i],j,0)
call MultiboardSetItemWidth(mbi,0.10)
call MultiboardSetItemStyle(mbi,true,false)
set j = j + 1
set mbi = MultiboardGetItem(mb[i],j,1)
call MultiboardSetItemWidth(mbi,0.08)
call MultiboardSetItemStyle(mbi,true,false)
set mbi = MultiboardGetItem(mb[i],j,2)
call MultiboardSetItemWidth(mbi,0.08)
call MultiboardSetItemStyle(mbi,true,false)
endloop
set udg_multiboard_2[i] = mb[i]
call MultiboardDisplay( udg_multiboard_2[i],false )
call MultiboardDisplay( udg_multiboard_1[i],false )
set i = i + 1
endloop
set i = 1
loop
exitwhen i > 10
if ConvertedPlayer(i) == GetLocalPlayer() then
call MultiboardDisplay( udg_multiboard_1[i],true )
endif
set i = i + 1
endloop
endfunction
//===========================================================================
function InitTrig_MultiboardShow takes nothing returns nothing
set gg_trg_MultiboardShow = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_MultiboardShow, 0.01 )
call TriggerAddAction( gg_trg_MultiboardShow, function Trig_MultiboardShow_Actions )
endfunction
To Swap to the Second Multiboard: Code:
function Trig_MultiboardChange_Actions takes nothing returns nothing
local integer z = GetConvertedPlayerId(GetTriggerPlayer())
if (udg_plyr_boardstat[z] == 2) then
set udg_plyr_boardstat[z] = 0
else
set udg_plyr_boardstat[z] = udg_plyr_boardstat[z] + 1
endif
loop
exitwhen z > 10
if ConvertedPlayer(z) == GetLocalPlayer() then
call MultiboardDisplay( udg_multiboard_1[z],false )
endif
set z = z + 1
endloop
loop
exitwhen z > 10
if ConvertedPlayer(z) == GetLocalPlayer() then
call MultiboardDisplay( udg_multiboard_2[z],true )
endif
set z = z + 1
endloop
endfunction
//===========================================================================
function InitTrig_MultiboardChange takes nothing returns nothing
set gg_trg_MultiboardChange = CreateTrigger( )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(0) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(1) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(2) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(3) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(4) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(5) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(6) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(7) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(8) )
call TriggerRegisterPlayerEventEndCinematic( gg_trg_MultiboardChange, Player(9) )
call TriggerAddAction( gg_trg_MultiboardChange, function Trig_MultiboardChange_Actions )
endfunctionI am just trying to make it so you can swap between two Multiboards with a single button. Is this not possible through the Warcraft engine? Making two multiboards and then just hiding one and showing another? PLEASE help. I have been working on this for a few days now without any success trying lots of different methods like using different variables and stuff. Sorry if my code is messy, this is actually my first JASS try after reading lots of tutorials! Thanks in advance to anyone who can help :) |
| 02-13-2007, 02:34 AM | #2 |
Sorry about bumping, but I would just like to mention I am using this account now as unyx was a previously owned account. Thanks. Edit: I figured it out :S My code wasn't wrong in the end. Any comments on my code are still welcome. (This is the third time I've posted something needing help and then figuring it out after hours of work later, sigh, so sorry.) |
