• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Multiboard Question

Status
Not open for further replies.
Level 6
Joined
Apr 29, 2007
Messages
140
For my map I want all players to have their own multiboard, but I can't find a specific action that is "show/hide multiboard for specific player". It seems that You can only have one multiboard open at a time. I know that there is a way, but I'm not sure where it is.

I know you can create Leaderboards for a specific player, but I can't seem to find a way to do this for multiboards. Here's what I was wanting to do with the multiboard for 8 specific units:

Status Board Template
------------------------------------------------
Health | Survivivor's Current Health/MaxHealth |
-----------------------------------------------|
Energy | Survivor's Current Mana/Max Mana |
-----------------------------------------------|
Hunger | Survivors Hunger 0%-500% | (500% = Death)
-----------------------------------------------|
Fatigue | Survivors Fatigue 0-100% |
-----------------------------------------------|
Currency| Survivor's Currency/Trade Items |
-----------------------------------------------|
Skill Pts | Survivor's available skillpoints |
------------------------------------------------


Like I said Each player would have their own status board. Would I have to use the Leaderboard instead?
 
It is done like this.......

JASS:
if GetLocalPlayer() == YOUR_PLAYER then
//CREATE YOUR MULTIBOARD HERE
endif


Definitely not. You will create a desync.

The good way is:

JASS:
if GetLocalPlayer() == YOUR_PLAYER then
//DISPLAY YOUR MULTIBOARD HERE
endif

In other words: you have X players. You need to create 10 multiboards.

Then, you display/hide the boards for the players.

On multiboards, only the display can be changed depending on the player. Not the creation/modification.
 
Ok, I haven't ever used jass, but I can kind of understand it's concept, not saying I know how to use it though. So lets say I make a multiboard and make it a variable, each variable array represents a player (1-8)

Would the code look like this?

JASS:
if GetLocalPlayer(1) == YOUR_PLAYER then
//DISPLAY Multiboard(1)
endif

or maybe:

JASS:
if GetLocalPlayer() == player 1 then
//DISPLAY Multiboard(1)
endif

I haven't ever attempted to learn jass so I wouldn't be surprised if this is fail or not.
 
In GUI, it would be like this....


  • Trigger
    • Events
    • Conditions
    • Actions
      • Custom script: if GetLocalPlayer() == YOUR_PLAYER then
      • Display your multiboard here
      • Custom script: endif
 
You can replace the "YOUR_PLAYER" by :
JASS:
if GetLocalPlayer() == ConvertedPlayer(1) then
if GetLocalPlayer() == Player(0) then // Same as above but you subtract 1.
if GetLocalPlayer() == ConvertedPlayer(bj_forLoopAIndex) then // For loops.
if GetLocalPlayer() == GetTriggerPlayer() then // For event response.

You can actually put a lot of things. You just need to know the functions' name which are listed in Common.j and Blizzard.j files or here for instance.
 
Status
Not open for further replies.
Back
Top