• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Help on creating custom HUDS

Status
Not open for further replies.
Level 1
Joined
Feb 7, 2020
Messages
2
Hi everyone,

I made some research on the site but can't find what I'm looking for. I would like to find a tutorial on how to create a custom UI for Warcraft Reforged. And I don't mean by that updating a skin, but creating something custom like you would see on backtowarcraft streamings (ie: see opponent win/lose stats, etc.).

I'm a game visual artist but I got basic very knowledge in programming. Is it something that requires to be an expert in coding?

Thanks!
 
Level 39
Joined
Feb 27, 2007
Messages
5,031
A familiarity with programming will make it easier but you can do what’s necessary with a little knowledge and strong intuition. @Tasyen can confirm and point you in the right direction. I would recommend skipping over JASS to learn Lua directly.
 
The question is quite abstract.
You don't need any complex algorithm or other advanced coding techniques, still knowing how to code and to create UIs will help. One can create dynamic Frames which benefit from advanced coding techniques but it is not required. Warcraft 3 uses something called Frame for its UI. The ingame UI-Frames of warcraft 3 are defined mostly with fdfs (Frame Definition Files), (pre Reforged also the main menu used this files).
Much can be done without knowing fdf by only using the FrameNatives, many also say the frame natives are quite low Level. FDF is quite static, in some points quite inconsistent but it has more features then the natives.
As the name of that fdf says one can defines Frames with it. One still needs to create them with code during the game. And if they have to show something that changes during game one also needs to use the natives for that. If one Frame shows different things for each player the right usage of GetLocalPlayer() will help.

Warcraft 3 has 2 groups of Frames, SimpleFrames and Frames. Both have options to do the basic things like showing images, displaying Text or create clickable Buttons on the screen. SimpleFrames are less interactive only their SIMPLEBUTTON can throw events or have Tooltips (the normaly ingame UI is managed mostly by them). Combining both in one isn't easy. Frames in the other hand have a huge amount of Events.

The ingame fdfs Blizzard created can be found with cascview in war3.w3mod:ui\framedef\ui

The UI-Api is still misses direct access to some UI elements: DayTime-Clock, Selected-Group, idle worker, Help/Warning Message for the current User-Action, the bars over units and the unit hover info.

A hindrance is also that there is no easy way to know in groupselection which unit is currently the main selected Unit.

I published some tutorials in hive's tutorial section most can be found with that tag ui-fdf | HIVE

[JASS/AI] - UI: Create a TextButton
https://www.hiveworkshop.com/threads/ui-toc-files.315854/
 
Level 1
Joined
Feb 7, 2020
Messages
2
Thanks a lot for your answers guys. Sorry if my question abstract. Basically, I would like to work on custom UI overlays for custom games (like you would see on Grubby or Back2warcraft streams). @Tasyen I will take some time later to look at the information you gave me and come back if I got any more questions.

Cheers
 
Status
Not open for further replies.
Top