• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Trigger] MultiBoard

Status
Not open for further replies.
Level 4
Joined
Sep 25, 2009
Messages
49
Heyy i have a raid group trigger(s) and i have 2 questions/issues on them

Create raid group 1 trigger:

  • Create Raid group 1
    • Events
      • Player - Player 1 (Red) types a chat message containing -createraidgroup as A substring
      • Player - Player 2 (Blue) types a chat message containing -createraidgroup as A substring
      • Player - Player 3 (Teal) types a chat message containing -createraidgroup as An exact match
      • Player - Player 4 (Purple) types a chat message containing -createraidgroup as A substring
      • Player - Player 5 (Yellow) types a chat message containing -createraidgroup as A substring
      • Player - Player 6 (Orange) types a chat message containing -createraidgroup as A substring
      • Player - Player 7 (Green) types a chat message containing -createraidgroup as A substring
      • Player - Player 8 (Pink) types a chat message containing -createraidgroup as A substring
    • Conditions
    • Actions
      • Set RaidGroup1Title = (Substring((Entered chat string), 16, 30))
      • Multiboard - Create a multiboard with 3 columns and 2 rows, titled (Raid Group: + RaidGroup1Title)
      • Multiboard - Set the text for RaidGroup1Board item in column 1, row 1 to Player name
      • Multiboard - Set the text for RaidGroup1Board item in column 1, row 2 to Hero
      • Multiboard - Set the text for RaidGroup1Board item in column 1, row 3 to Level
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 1 to (Name of (Triggering player))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 2 to (Proper name of (Triggering unit))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 3 to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
      • Player - Set name of (Triggering player) to ((|c00FF0000[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
Join Raid group 1 trigger:

  • Join Raid group 1
    • Events
      • Player - Player 1 (Red) types a chat message containing -joinraidgroup 1 as An exact match
    • Conditions
    • Actions
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 1 to (Name of (Triggering player))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 2 to (Proper name of (Triggering unit))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 3 to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
      • Player - Set name of (Triggering player) to ((|c00FF0000[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
1. when the game creates the multiboard for the first trigger, the only thing that happens is i see a bunch of eyes in the slots and no text...wtF?

2. on the second trigger, how do i make it fill in the next available rows/coloums instead of having to over write the existing one... or w/e hard to explain...

oh and any suggestions on how to make the trigger better is good xD
 
When you create the multiboards, add this too:
  • For each (Integer A) from 1 to 3, do (Actions)
  • Loop - Actions
    • Multiboard - Set the display style for (Last created multiboard) item in column (IntegerA), row (IntegerA) to Show text and Hide icons
    • Multiboard - Set the width for (Last created multiboard) item in column (IntegerA), row (IntegerA) to 13.00% of the total screen width
    • Multiboard - Maximize (Last created Multiboard)
Your hashtable is false loaded. The Hero Level must be loaded from a player, since the event has to do with a player. So, it should look like this:
The saved value should be stored on the player: Hashtable - Save (Hero Level of (your unit)) as (Key(1)) of (Key(Your player))
and the load part in those two triggers:
  • Multiboard - Set the text for RaidGroup1Board item in column 2, row 3 to (Load 0 of (Key(Triggering Player) from (Last created hashtable))
 
Level 8
Joined
May 31, 2009
Messages
439
Alright, I'm going to speak to you truthfully, your multiboard will not work if you work with those rows. The only thing that will happen is that all the players will hop on the same line, and everything is going to be confusing and your going to be mad...etc. etc.

First off, you did a small mistake on the rows and columns, you actually want to set it as follows :

  • Create Raid group 1
    • Events
    • Player - Player 1 (Red) types a chat message containing -createraidgroup as A substring
    • Player - Player 2 (Blue) types a chat message containing -createraidgroup as A substring
    • Player - Player 3 (Teal) types a chat message containing -createraidgroup as An exact match
    • Player - Player 4 (Purple) types a chat message containing -createraidgroup as A substring
    • Player - Player 5 (Yellow) types a chat message containing -createraidgroup as A substring
    • Player - Player 6 (Orange) types a chat message containing -createraidgroup as A substring
    • Player - Player 7 (Green) types a chat message containing -createraidgroup as A substring
    • Player - Player 8 (Pink) types a chat message containing -createraidgroup as A substring
    • Conditions
    • Actions
    • Set RaidGroup1Title = (Substring((Entered chat string), 16, 30))
    • Multiboard - Create a multiboard with 3 columns and 2 rows, titled (Raid Group: + RaidGroup1Title)
    • Multiboard - Set the text for RaidGroup1Board item in column 1, row 1 to Player name
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row 1 to Hero
    • Multiboard - Set the text for RaidGroup1Board item in column 3, row 1 to Level
    • Multiboard - Set the text for RaidGroup1Board item in column 1, row 2 to (Name of (Triggering player))
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row 2 to (Proper name of (Triggering unit))
    • Multiboard - Set the text for RaidGroup1Board item in column 3, row 2 to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
    • Player - Set name of (Triggering player) to ((|c00FF0000[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
Second of all need to create a system, for example RAID_GROUP_NUMBER. This will keep count of which row you are at. It is an integer (non-array). It is normally set to 2, because that is when you are starting the player rows. Copy/Paste this trigger when you do it for each of the players, because this will make sure each player has a row.

  • Join Raid group 1
    • Events
    • Player - Player 1 (Red) types a chat message containing -joinraidgroup 1 as An exact match
    • Conditions
    • Actions
    • Set RAID_GROUP_NUMBER = RAID_GROUP_NUMBER + 1
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Name of (Triggering player))
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Proper name of (Triggering unit))
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
    • Player - Set name of (Triggering player) to ((|c00FF0000[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
You want to show this in both of your triggers posted above, so you always have no icons to worry about.

  • For each (Integer A) from 1 to RAID_GROUP_NUMBER, do (Actions)
    • Loop - Actions
    • Multiboard - Set the display style for (Last created multiboard) item in column (Integer A), row (Integer A) to Show text and Hide icons
    • Multiboard - Set the width for (Last created multiboard) item in column (IntegerA), row (Integer A) to 13.00% of the total screen width
    • Multiboard - Maximize (Last created Multiboard)
 
Level 4
Joined
Sep 25, 2009
Messages
49
I did all of that, and its still showing up the exact same with icons and blank text...

  • Create Raid group 1
    • Events
      • Player - Player 1 (Red) types a chat message containing -createraidgroup as A substring
      • Player - Player 2 (Blue) types a chat message containing -createraidgroup as A substring
      • Player - Player 3 (Teal) types a chat message containing -createraidgroup as An exact match
      • Player - Player 4 (Purple) types a chat message containing -createraidgroup as A substring
      • Player - Player 5 (Yellow) types a chat message containing -createraidgroup as A substring
      • Player - Player 6 (Orange) types a chat message containing -createraidgroup as A substring
      • Player - Player 7 (Green) types a chat message containing -createraidgroup as A substring
      • Player - Player 8 (Pink) types a chat message containing -createraidgroup as A substring
    • Conditions
    • Actions
      • Set RaidGroup1Title = (Substring((Entered chat string), 18, 30))
      • Multiboard - Create a multiboard with 3 columns and 2 rows, titled (Raid Group: + RaidGroup1Title)
      • Multiboard - Set the text for RaidGroup1Board item in column 1, row 1 to Player name
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 1 to Hero
      • Multiboard - Set the text for RaidGroup1Board item in column 3, row 1 to Level
      • Multiboard - Set the text for RaidGroup1Board item in column 1, row 2 to (Name of (Triggering player))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row 2 to (Proper name of (Triggering unit))
      • Multiboard - Set the text for RaidGroup1Board item in column 3, row 2 to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
      • Player - Set name of (Triggering player) to ((|cff716f64[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
      • For each (Integer A) from 1 to RAID_GROUP_NUMBER, do (Actions)
        • Loop - Actions
          • Multiboard - Set the display style for RaidGroup1Board item in column (Integer A), row (Integer A) to Show text and Hide icons
          • Multiboard - Set the width for RaidGroup1Board item in column (Integer A), row (Integer A) to 13.00% of the total screen width
          • Multiboard - Maximize RaidGroup1Board

  • Join Raid group 1
    • Events
      • Player - Player 1 (Red) types a chat message containing -joinraidgroup 1 as An exact match
      • Player - Player 2 (Blue) types a chat message containing -joinraidgroup 1 as An exact match
      • Player - Player 3 (Teal) types a chat message containing -joinraidgroup 1 as An exact match
    • Conditions
    • Actions
      • Set RAID_GROUP_NUMBER = (RAID_GROUP_NUMBER + 1)
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Name of (Triggering player))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Proper name of (Triggering unit))
      • Multiboard - Set the text for RaidGroup1Board item in column 2, row RAID_GROUP_NUMBER to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
      • Player - Set name of (Triggering player) to ((|c00FF0000[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
      • For each (Integer A) from 1 to RAID_GROUP_NUMBER, do (Actions)
        • Loop - Actions
          • Multiboard - Set the display style for RaidGroup1Board item in column (Integer A), row (Integer A) to Show text and Hide icons
          • Multiboard - Set the width for RaidGroup1Board item in column (Integer A), row (Integer A) to 13.00% of the total screen width
          • Multiboard - Maximize RaidGroup1Board
 
Level 8
Joined
May 31, 2009
Messages
439
Oh haha, change these :

  • For each (Integer A) from 1 to RAID_GROUP_NUMBER, do (Actions)
    • Loop - Actions
    • Multiboard - Set the display style for RaidGroup1Board item in column 1, row (Integer A) to Show text and Hide icons
    • Multiboard - Set the width for RaidGroup1Board item in column 2, row (Integer A) to 13.00% of the total screen width
    • Multiboard - Maximize RaidGroup1Board
And place these BEFORE the rest of the multiboard stuff, like here :

  • Create Raid group 1
    • Events
    • Player - Player 1 (Red) types a chat message containing -createraidgroup as A substring
    • Player - Player 2 (Blue) types a chat message containing -createraidgroup as A substring
    • Player - Player 3 (Teal) types a chat message containing -createraidgroup as An exact match
    • Player - Player 4 (Purple) types a chat message containing -createraidgroup as A substring
    • Player - Player 5 (Yellow) types a chat message containing -createraidgroup as A substring
    • Player - Player 6 (Orange) types a chat message containing -createraidgroup as A substring
    • Player - Player 7 (Green) types a chat message containing -createraidgroup as A substring
    • Player - Player 8 (Pink) types a chat message containing -createraidgroup as A substring
    • Conditions
    • Actions
    • Set RaidGroup1Title = (Substring((Entered chat string), 18, 30))
    • Multiboard - Create a multiboard with 3 columns and 2 rows, titled (Raid Group: + RaidGroup1Title)
    • For each (Integer A) from 1 to RAID_GROUP_NUMBER, do (Actions)
    • Loop - Actions
    • Multiboard - Set the display style for RaidGroup1Board item in column 1, row (Integer A) to Show text and Hide icons
    • Multiboard - Set the width for RaidGroup1Board item in column 2, row (Integer A) to 13.00% of the total screen width
    • Multiboard - Maximize RaidGroup1Board
    • Multiboard - Set the text for RaidGroup1Board item in column 1, row 1 to Player name
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row 1 to Hero
    • Multiboard - Set the text for RaidGroup1Board item in column 3, row 1 to Level
    • Multiboard - Set the text for RaidGroup1Board item in column 1, row 2 to (Name of (Triggering player))
    • Multiboard - Set the text for RaidGroup1Board item in column 2, row 2 to (Proper name of (Triggering unit))
    • Multiboard - Set the text for RaidGroup1Board item in column 3, row 2 to (Load (Hero level of (Triggering unit)) of (Hero level of (Triggering unit)) from (Last created hashtable))
    • Player - Set name of (Triggering player) to ((|cff716f64[ + RaidGroup1Title) + (]|r + (Name of (Triggering player))))
I know my triggers screwed up, but look carefully at the coding, if you place it before everything else it should be good.
 
Status
Not open for further replies.
Top