• 🏆 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!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

Multi board

Status
Not open for further replies.

Uncle

Warcraft Moderator
Level 67
Joined
Aug 10, 2018
Messages
6,953
The multiboard is like the leaderboard, but better!
 
Level 4
Joined
Oct 24, 2021
Messages
61
The multiboard is like the leaderboard, but better!
I need in jass not GUI, I know the basic in GUI but I want to know the basic in jass
 

Uncle

Warcraft Moderator
Level 67
Joined
Aug 10, 2018
Messages
6,953
Convert your GUI multiboard trigger to Custom Text (Jass) and you'll be able to see all of the Jass code.
Note that some of the functions may be inefficient since there's often two ways of doing something, the GUI way, and the Jass way. The GUI way is almost always easier to use but also almost always less efficient. That being said, you should first focus on getting the code working.
 

Attachments

  • conversion.png
    conversion.png
    186.4 KB · Views: 13
Last edited:
Level 4
Joined
Oct 24, 2021
Messages
61
Convert your GUI multiboard trigger to Custom Text (Jass) and you'll be able to see all of the Jass code.
Note that some of the functions may be inefficient since there's often two ways of doing something, the GUI way, and the Jass way. The GUI way is almost always easier to use but also almost always less efficient. That being said, you should first focus on getting the code working.
What I want to know is how to modify the position of the table and interact with it
 

Uncle

Warcraft Moderator
Level 67
Joined
Aug 10, 2018
Messages
6,953
Level 41
Joined
Feb 27, 2007
Messages
5,191
It's really worth your time to understand how to (on principle) convert one language into another, especially when those two share function names (for the most part) as Lua and JASS do. Look at the lua, try to understand what it's doing, imagine how it would be in jass, try it, get confused, learn, get confused again, ask here for help with a specific question, learn some more, improve.
 

Uncle

Warcraft Moderator
Level 67
Joined
Aug 10, 2018
Messages
6,953
What Pyrogasm said. That code is extremely close to being Jass code, all you have to do is add the word "call" in front of each function or "set" if you're messing with a variable, and if that's confusing then you're entering territory that you NEED to understand first before you can progress in either language.

Once you understand the rules of Jass then Lua will come naturally. And if you struggle at first don't worry because there is plenty of information on this site to help you out. Trust me on that, I was the biggest GUI noob until I started asking questions on here, and now I can write the best damn spaghetti code you've ever seen.
 
Last edited:
Level 4
Joined
Oct 24, 2021
Messages
61
What Pyrogasm said. That code is extremely close to being Jass code, all you have to do is add the word "call" in front of each function or "set" if you're messing with a variable, and if that's confusing then you're entering territory that you NEED to understand first before you can progress in either language.

Once you understand the rules of Jass then Lua will come naturally. And if you struggle at first don't worry because there is plenty of information on this site to help you out. Trust me on that, I was the biggest GUI noob until I started asking questions on here, and now I can write the best damn spaghetti code you've ever seen.
The problem is that I do not know what are the programming lines in jass to modify the position, they could tell me what they are
 

Uncle

Warcraft Moderator
Level 67
Joined
Aug 10, 2018
Messages
6,953
Looking at Tasyen's code in the Showing 3 Multiboards thread, you can see the functions for modifying it (I converted it to Jass):
vJASS:
globals
framehandle multi1
framehandle multi2
framehandle multi3
framehandle multi1Container
framehandle multi2Container
framehandle multi3Container
endglobals

function CreateMultiboards takes nothing returns nothing
   call CreateMultiboardBJ( 4, 2, "Board1" )
   set multi1 = BlzGetFrameByName("Multiboard",0)
   set multi1Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call CreateMultiboardBJ( 3, 3, "Board2" )
   set multi2 = BlzGetFrameByName("Multiboard",0)
   set multi2Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call CreateMultiboardBJ( 3, 1, "Board3" )
   set multi3 = BlzGetFrameByName("Multiboard",0)
   set multi3Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call BlzFrameClearAllPoints(multi1)
   call BlzFrameSetPoint(multi1, FRAMEPOINT_TOPRIGHT, multi2, FRAMEPOINT_BOTTOMRIGHT,0,0)
   call BlzFrameClearAllPoints(multi2)
   call BlzFrameSetPoint(multi2, FRAMEPOINT_TOPRIGHT, multi3, FRAMEPOINT_BOTTOMRIGHT,0,0)
   call BlzFrameClearAllPoints(multi3)
   call BlzFrameSetAbsPoint(multi3, FRAMEPOINT_TOPRIGHT, 0.5,0.55)
 
   call BlzFrameSetVisible(multi1, true)
   call BlzFrameSetVisible(multi2, true)
   call BlzFrameSetVisible(multi3, true)
endfunction
I've never actually done this which is why I can't give you an exact answer but this appears to be the line you're looking for:
vJASS:
call BlzFrameSetPoint(multi1, FRAMEPOINT_TOPRIGHT, multi2, FRAMEPOINT_BOTTOMRIGHT,0,0)
 
Last edited:
Level 4
Joined
Oct 24, 2021
Messages
61
Looking at Tasyen's code in the Showing 3 Multiboards thread, you can see the functions for modifying it (I converted it to Jass):
vJASS:
globals
framehandle multi1
framehandle multi2
framehandle multi3
framehandle multi1Container
framehandle multi2Container
framehandle multi3Container
endglobals

function CreateMultiboards takes nothing returns nothing
   call CreateMultiboardBJ( 4, 2, "Board1" )
   call multi1 = BlzGetFrameByName("Multiboard",0)
   call multi1Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call CreateMultiboardBJ( 3, 3, "Board2" )
   call multi2 = BlzGetFrameByName("Multiboard",0)
   call multi2Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call CreateMultiboardBJ( 3, 1, "Board3" )
   call multi3 = BlzGetFrameByName("Multiboard",0)
   call multi3Container = BlzGetFrameByName("MultiboardListContainer",0)
 
   call BlzFrameClearAllPoints(multi1)
   call BlzFrameSetPoint(multi1, FRAMEPOINT_TOPRIGHT, multi2, FRAMEPOINT_BOTTOMRIGHT,0,0)
   call BlzFrameClearAllPoints(multi2)
   call BlzFrameSetPoint(multi2, FRAMEPOINT_TOPRIGHT, multi3, FRAMEPOINT_BOTTOMRIGHT,0,0)
   call BlzFrameClearAllPoints(multi3)
   call BlzFrameSetAbsPoint(multi3, FRAMEPOINT_TOPRIGHT, 0.5,0.55)
 
   call BlzFrameSetVisible(multi1, true)
   call BlzFrameSetVisible(multi2, true)
   call BlzFrameSetVisible(multi3, true)
endfunction
I've never actually done this which is why I can't give you an exact answer but this appears to be the line you're looking for:
vJASS:
call BlzFrameSetPoint(multi1, FRAMEPOINT_TOPRIGHT, multi2, FRAMEPOINT_BOTTOMRIGHT,0,0)
I tried it and it doesn't work for me
 
Status
Not open for further replies.
Top