Thank you for your reply. One of my map can be opened and run only in 1.24 environment, so I have to use 1.24 to make it work.No. Lua was only introduced for Wc3 in 1.30 (or 1.31, I don't remember exactly).
I don't understand why would you even be stuck on 1.24 either.
Your reply help me a lot. Thank you!If the map cannot be opened in newer editors it might be a good idea to seek help migrating it rather than trying to use features that did not exist in a legacy version.
If the map cannot be opened in the editor due to trigger data issues that is usually caused by custom GUI actions such as were added by WEU and JNGP. In that case you can use the "fixer" tool GhostWolf wrote which replaces such unsupported actions and functions with lines of supported custom script.
Once the map can be opened in the current version of World Editor, you can then port the code Lua using one of the third party converters. This is not required though as depending on what is incompatible you may be able to fix it in JASS so the map is playable once again.
The reason porting Lua to JASS is not really possible is due to the language feature differences between Lua and JASS. Lua is a lot more powerful of a language than JASS. Sure with a lot of hackery it might be able to emulate parts of Lua reasonably well, but there will always be unsupported features and chances are the emulated performance will be abysmal. Porting from JASS to Lua is supported due to Lua supporting most of what JASS can do and also Blizzard adding additional natives to support the features that Lua does not support directly.
An example of a feature that would be near impossible to implement is the dynamic compilation and execution of Lua source code. Not only would a JASS implementation of a complete Lua parser be required to emulate this, but since it is emulation rather than running native the performance will be abysmal. Even something like Lua tables would be very complicated and slow to simulate fully using JASS.