Latest version of jasshelper: 2012-03-10
Previous version was: 2012-02-10
Jass:
// while unit has some buff do some healing whileGetUnitAbilityLevel(whichUnit,'Bhea')>0 callSetWidgetLife(whichUnit,GetWidgetLife(whichUnit)+10.) callTriggerSleepAction(0.1) endwhile
// print out numbers from 1 to 10 with for loop for i =1 to 10 callBJDebugMsg(I2S(i)) endfor
// print only 1 2 3 for i =1 to 10 callBJDebugMsg(I2S(i)) if i ==3then
break endif endfor
// print out numbers from 10 downto 1 for i =10 downto 1 callBJDebugMsg(I2S(i)) endfor
// kill all units in a group for enumUnit in someGroup callKillUnit(enumUnit) endfor // WARNING: groups are empty after for loop
Changelog:
Quote:
//=====================================
// 2012-03-10
//=====================================
* Fixed a bug with //! external directive
* Fixed a bug with debug keyword
//=====================================
// 2012-02-10
//=====================================
* Fixed a small bug with //! import
* Changed program icon to make it clearly distinct from Vexorian's version
//=====================================
// 2012-02-09
//=====================================
* Fixed a problem with map not working when you have zero structs
//=====================================
// 2012-02-07
//=====================================
* Fixed library, scope, struct and module initialization orders.
* Fixed initialization order for structs not inside scope or library.
* InitTrig functions are no longer valid inside scopes and libraries.
//=====================================
// 2012-01-14
//=====================================
* fixed a bug that prevented new loops to be used with function interfaces
//=====================================
// 2012-01-07
//=====================================
* removed WEWarlock support (outdated)
* more speed improvements
* added full display of external tool calls (ObjectMerger)
//=====================================
// 2012-01-06
//=====================================
* removed FILEPP preprocessor (not enough public support for it)
* done some optimizations, jasshelper is now about 3x faster
* progress bar now shows global progres
//=====================================
// 2011-12-25
//=====================================
* included #bigdef and #foreach modules with FILEPP
//=====================================
// 2011-12-24
//=====================================
* added FILEPP preprocessor (executes before everything else in the map script)
* optimized for group loop as suggested by Troll-Brain.
//=====================================
// 2011-12-19
//=====================================
* added 3 for loops
* added while loop
* added break
Check out this section in jasshelpermanual:
Better looping: for, while, break
//=====================================
// 2011-12-17
//=====================================
* jasshelper now displays full textual progress when used from WE.
* jasshelper will now warn you to reopen your map if you used //! external command
I agree with all above changes. One of the biggest improvements which can be made to the parser is to avoid annoying module-initializer blocks, basically something like this:
@mckill:It is because they are not native to the normal jasshelper. Those are features that cohadar added so ofc they won't be bolded yet neither by the jass tags nor by the editor. ;)
Also, as far as I know, cohadar isn't working on optimization (yet) so the parser will probably be about the same speed.
@Mag: If someone repackages jass newgen as a new version, then everyone will update. (the new update would have the rtc bug removed, the updated jass helper, and it would have the latest grimext hotfix)
__________________
Last edited by PurgeandFire; 12-20-2011 at 06:00 AM.
I'm not even sure that 'UnitEvent___n!!!' is a valid integer.
Last time i check it has to be one or 4 characters.
And special characters counts to one, such as the line break :'/n'
No to mention that it won't be the same expected value and probably would overflow even if it's a valid syntax.
Now a valid fix would be to convert such integers in decimal value, but really pJass should be fixed, not add some new stuff for jasshelper preprocessor.
EDIT : Oh wait, i got it, meh i won't delete my post, if there is someone which is willing to update pJass, because this is allowed in jass, but not for pJass :
local integer i = '/n'
__________________
- There are bugs with wc3, but most of time, the bug is between the keyboard and the chair.
- Never believe some warcraft "fact" without a proof, even from an "experienced" user, that's how myths & legends born.
You spam "...", "lol", and smilies such as "; p", "^)^",">.>"? You think you're the best and all other ones are stupids or at least less clever than you ? You think your errors are funny, while the other ones are incredibly lame ?
Maybe you've too much ego,or worse, you're a douchebag
__________________
- There are bugs with wc3, but most of time, the bug is between the keyboard and the chair.
- Never believe some warcraft "fact" without a proof, even from an "experienced" user, that's how myths & legends born.
You spam "...", "lol", and smilies such as "; p", "^)^",">.>"? You think you're the best and all other ones are stupids or at least less clever than you ? You think your errors are funny, while the other ones are incredibly lame ?
Maybe you've too much ego,or worse, you're a douchebag
Well it's pretty much anything with a "\" character is not allowed with pJass inside those rawcodes. I don't think '\\\\\\\\' compiles with it last I checked.
@Cohadar, I think it's not useful to have a "break" keyword when "exitwhen true" works just fine. Sometimes having less keywords is a better option.
__________________
How to post your triggers on the Hive Workshop. JPAG - Bettering the cause of readable source code.
@Bribe
break is simply better than exitwhen true.
Besides I added it to be consistent,
every programming language that has for and while loops also has a break.
When I get someone to update TESH so new keywords are bolded properly there will be a new JNGP release, until than please download and test this.