• 🏆 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!

New scripting and map making features after 1.26

Status
Not open for further replies.
Level 1
Joined
Feb 28, 2021
Messages
2
Hello!

Background:
I've had a long break from warcraft 3 (nearly 10 years). Lately I've become interested in map making again. My goal is not to make public maps, but I enjoy making triggered spells, heroes and races for personal enjoyment. I'm wondering what new features and other changes there have been during my break that I should be aware of.

Questions:
- Are there any new features in vJass that make scripting more convenient?
- What tools do people use nowadays for map making? I Used NewGen when I made maps.
- Is it still possible to get event when an attack hits the target, and also to detect target point of attack? (e.g. attack ground)
- What version should I target for? I have 1.27b, and I'm unable to upgrade past that. I could consider buying a newer version if it's worth it. What are the implications on map compatibility? I want to be able to play newest custom campaigns.
- Is there anything else new and interesting, e.g. in object editor or other areas of map making? :)
 

AGD

AGD

Level 16
Joined
Mar 29, 2016
Messages
688
Since 1.30, jasshelper has been integrated into the WE by blizzard so you don't need tools like JNGP anymore. The problem is that it doesn't have syntax highlighting by default, but for this you can use the latest version of TESH which integrates with the default WE.

Starting 1.31, you can use Lua for scripting but since WE has no syntax highlighting for Lua, a lot of people now use external text editors and IDEs then cnp the codes back to WE when the code is ready for testing/deployment. Others also utilize tools like Ceres to build maps externally (useful when scripting outside WE) .

A lot of native functions has also been added since 1.29, but more significantly at 1.31 when editing object data fields and creating custom UI using Frames became a possibility.

There's nothing particularly new to vJass introduced by blizzard but plenty of vJass resources have been created and are available since your absence, I' sure.

There have also been numerous language transpilers that transpiles languages to Lua, so that you can now code in Python, C#, Typescript, and maybe others. I wont link them but you can find most of them in The Lab subforum.

If you're mostly interested in modding I suggest you update to at least patch 1.31 where ~98% of the new natives are available. The Warcraft III updater would upgrade your version to the latest patch, which is Reforged, so if you want patch 1.31, look here.

What version should I target for? I have 1.27b, and I'm unable to upgrade past that. I could consider buying a newer version if it's worth it. What are the implications on map compatibility? I want to be able to play newest custom campaigns.
I haven't upgraded to reforged so I won't say much about it.
 
Last edited:
Level 1
Joined
Feb 28, 2021
Messages
2
Thanks! That's good info. Maybe I'll aim for getting 1.31.

Wurst script also seems interesting, maybe a bit more programmer friendly compared to vJass. Though I'm a bit concerned how well it works with maps, where most things are already written in vJass.
 
Level 18
Joined
Oct 17, 2012
Messages
820
Well, you got a few options for developed maps.

1. You could translate vJASS code to Jurst, a dialect of Wurst. Jurst can access Wurst code.

2. Refer to this tutorial by @Bannar for combining Wurst and vJASS in one map.

if you use the WurstScript extension for Visual Studio Code, you will not have to do anything, since the .j file of your map will be automatically extracted and compiled to JASS at compile time. You will be able to use Wurst straight away.

In this case, however, there will be no interactions between the two languages on the user side.
 
Status
Not open for further replies.
Top