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

YDWE - Map Editor

This bundle is marked as pending. It has not been reviewed by a staff member yet.
What is this? The best chinese world editor, translated on english

Work with warcraft 3 up to 1.27 because requires war3.exe
But maps made in this editor work on all versions of warcraft if they don't use
JAPI and DZAPI functions.
YDWE will not launch you have previously run the reforged world editor. First you need to run Fix after reforged editor.reg in ydwe folder.


Features:
  • Supported languages: JASS, vJASS, Zinc
  • SLK - optimization before map test (can greatly reduce loading speed of large maps)
  • Allow warcraft 3 multi-launch
  • Additional multi-window map test mode
  • Best built-in text coloring plugin
  • Supports multi-opening (you can open several YDWE or YDWE + JNGP)
  • Includes latest pjass and TESH
  • Contains optimization for default GUI function like BJ and Swapped
  • Powerful custom GUI with lots of features from classic JASS and some useful systems.
    For example, there are local variables here that are automatically declared and cleared.
    There are also timers that automatically transfer objects through the hashtables, and convenient hash analogues on GUI
  • Allows easily add almost any systems in GUI interface and even auto create/edit objects in object editor
  • Boost Preprocessor
    You can use some directives like: #define #endif #else #if #ifdef #ifndef #include /etc
    #define is a macros, example of using: use this anywhere in code #define print(s) call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 10, s)
    Now you can use print("any text") for fast debug message to all players in 10 seconds, even without using "call"
    Green part will convert into red part after map saving.
    Some other examples for using:

    #define Skill_Invul 'Avul' skill id
    #define Order_Move 851986 order id
    #define Hash_Dmg_Taken 10 hashtable key

    Also you can make constructions like this:
    JASS:
    // This is just my defines
    #define Max_Players 9
    #define print(s) call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 10, s)
    
    function AfterStart takes nothing returns nothing
        local integer i = 0
        local integer count = 0
        #ifdef TestMode
            globals
                integer Control = 0
                integer GTU = 0
                integer FogTestInt = 0
                fogmodifier FogTest
                trigger TriggerSelectUnit = CreateTrigger()
                unit SelectedUnit = null
                group TestUnits = CreateGroup()
            endglobals
            call TriggerRegisterPlayerUnitEvent(TriggerSelectUnit, P[0], EVENT_PLAYER_UNIT_SELECTED, null)
            call TriggerAddAction(TriggerSelectUnit, function SelectUnitAct)
            set FogTest = CreateFogModifierRect(P[0], FOG_OF_WAR_VISIBLE, bj_mapInitialPlayableArea, true, false)
            call FogModifierStart(FogTest)
            set FogTestInt = 1
            call InitTrig_Select()
            call GroupEnumUnitsInRect(TestUnits, gg_rct_All_Heroes, function TestUnits_Filter)
            print("Test Mode")
        #else
            // Check solo game
            loop
                exitwhen i > Max_Players
                if GetPlayerSlotState(Player(i)) == PLAYER_SLOT_STATE_PLAYING and GetPlayerController(Player(i)) == MAP_CONTROL_USER then
                    set count = count + 1
                endif
                set i = i + 1
            endloop
            if count < 2 then
                set i = 0
                loop
                    exitwhen i > Max_Players
                    call CustomDefeatBJ(Player(i), "No solo game")
                    set i = i + 1
                endloop
            endif
        #endif
    endfunction
    If you have #define TestMode in your code, will created some test feathures, but if not, instead of test stuff will created classic condition for RPG - no solo game.
    For #if need red value, like "#define TestMode 1" but for #ifdef #ifndef - no.

    Also you can import your code from external files with using #include
    Exapmle: #include "C:\Users\user\Desktop\Jass for vs\Glory\Events\Chat Event.j"
    All directives will work for code inside YDWE and from import files
    Current best way to work with code outside of YDWE is vscode plugin
  • Slk-Editing
    You can create and change objects from object editor by using lua code.
    Start block: <?
    End block: ?>
    Example:
    JASS:
    <?
        local slk = require 'slk'
        local o = slk.ability.AIbk:new('PA00')
        o.DataA1 = 9999999.0
        o.DataB1 = 1.0
        o.Rng1 = 9999999.0
        o.Hotkey = "B"
        --o.Buttonpos_1 = 3
        --o.Buttonpos_2 = 1
        o.Cool1 = 0.0
        o.Name = 'YDWE - Test Blink'
    ?>
    This code will create skill based on 'AIbk' with new rawcode 'PA00'
    This is a blink with 9999999.0 range and 0.0 sec cd.
    All parameters taked from object editor fields with ctrl + D
    Changed parameters will updating/rewrite after map save.
    "ability" can be changed to unit/etc.
    This is a very good way to easy changing stats for balancing units/etc.
    Also, without lags with editing some fields/creating new objects in object editor.

    When you specify a new ravcode for units, depending on the register first case, will created hero or normal unit.
    local o = slk.unit.Hpal:new('pA06') = unit based on paladin
    local o = slk.unit.Hpal:new('PA06') = hero based on paladn
    This way you can quickly copy, for example, the appearance and voice of a unit in order to make it a hero.
    When converting a hero into a unit and vice versa, unnecessary fields from the object editor will be deleted, that is, you will not be able to make a hero without basic stats, etc.

    Here you can also use #define to make reading/writing more easier
    JASS:
    #define _Lua_Base local slk = require 'slk'
    #define _Lua_Unit_Damage o.dmgplus1
    #define _Lua_Unit_Name o.Name
    
    <?
        _Lua_Base
        local o = slk.unit.hfoo:new('PU00')
        _Lua_Unit_Damage = 999
        _Lua_Unit_Name = 'YDWE - Test Footman'
    ?>
  • Supports Lni map format (turns the map into a folder with individual files) One use example: Fast copy 200 abilities from "CSS" system to your map
    1) Open any map in YDWE
    2) Save map as ".w3x" Yes, just empty name. After that your map will be divided into folders, file ".w3x" will serve as a shortcut to open your map
    3) Use it how you want
    4) Save map with any name to convert map into normal map format
    This functionality has not yet been studied by me, so if something does not work for you, please report it here or in discord
  • This editor is open-source GitHub - actboy168/YDWE: A Tool to Help the Creation of Warcraft III Map

Conditional features:
Using this functionality will cause the map to work only on the chinese-based platform (5211/NetEase/Unirpg) or using Warcraft III 1.27a (DzAPI compatitable)
  • Powerful JAPI and DZAPI functions who are also available in GUI form (Functions like reforged API)
  • Supported Lua (5.3.5)

In my opinion, this is the best editor for beginners, because it contains a fairly high-quality set of GUI - functions with which I was able to make my map Twilight's Eve Resurrection in about one month from zero.
It's also very comfort editor for classic JASS/VJASS/ZINC users who want their map to work on any versions of warcraft (1.26-reforged, maps like twrpg).

Undeclared version
- Added english config.
- Added demo-maps (example folder)

YDWE 1.32.13 En 0.1
- Fixed broken TESH.
- Improved translation for english config.
- Translated almost all demo-maps from "example" folder.
- Added a small amount of translation of some parameters in the object editor.

YDWE 1.32.13 En 0.2
- TESH - style changed to similar from JNGP
- GUI Triggers category [Anti-destiny] has been renamed to [Unbeliveble]
- Most GUI functions have been renamed and sorted as in JNGP.
- Renamed sever
al fields with wrong values (example: create Player 1 for Footman)

YDWE 1.32.15 En 0.3
- Fixed broken YDColorizer
- Now YDWE based on a newer version with some fixes

YDWE 1.32.15 En 0.4
- All GUI - functions that require JAPI/BZAPI supporting, now have been flagged
- Little translation improvements for GUI - function

YDWE 1.32.15 En 0.5
- Translated all (?) in object editor.
- Fixed bug when YDWE crashed with a critical error in object editor
- More translation improvements for GUI - function

YDWE 1.32.15 En 0.6
- A lot of work has been done to improve the translation of GUI - functions.
- Many GUI function names have been made JASS compatible in order for YDWE to help beginners transition gradually from GUI to JASS/Lua.
- Many "red" GUI - functions have been marked as BJ
- Changed some strings that caused confusion example: rect/region/point/location
- Item Ability System - Add Skills To Items [YDWE] - Now, when dropping an item, the ability will not be deleted if the unit still has
items of the same type.
- Multiple Inventory - Now dummy-bags are created for the owner of the unit that the bag is added to, and not for the neutral, which makes it easier to "hook"
for specific bags through actions. Example: set a variable to a random unit from the dummy-bag unit type owned by Player 1.

YDWE 1.32.15 En 0.7
- Updated and fixed the example map "Save - Load Without Code by Enemy1PK"
- Item Ability System - Add Skills To Items [YDWE] Now, when dropping an item, abilities are not removed if the unit still has items with the same purpose. (even if multiple abilities have been added to the item) This only applies to abilities that were added to items with this help function.
- Attack Wave Timer - Removed all location/point leaks

YDWE 1.32.15 En 0.8
- TESH and pjass has been updated to the last version
- Some base YDWE functions have been added to TESH (exept some useless and JAPI/BZAPI)
- Translated additional skills tooltips WESTRING_AEVAL_YTIP in object editor

YDWE 1.32.15 En 0.9
- BZAPI has been renamed to DZAPI
- YDWE functions in TESH were transferred from the "incudes" file to the database
- Added changelog.txt and Fix after reforged editor.reg in YDWE folder

YDWE 1.32.15 En 1.0
- Added Custom Stats System in GUI interface with auto creation all required skills

YDWE 1.32.15 En 1.1
- Improved config translation /we will miss the "Sys Ass"/
- Chinese language changed to Russian.
- Changing language now do not roll back English GUI translation to the old version.
- Improved translation of some YDWE core functions, also added Russian translation for these functions.
- Slk-optimization no longer changes translation to Chinese during map test.
- Enabled previously disabled optimization of bj functions.
Contents

YDWE - Map Editor (Binary)

Level 6
Joined
Jan 26, 2019
Messages
29
I want you to show me where he wrote that, please.
I won't do it. Are you suggesting that I spend a lot of time looking for a post I saw about 8 months ago? In addition, this requires opening a lot of Chinese sites, and since I live in Russia, I have difficulties with many foreign sites.
Pay attention to the link that I provided you, there is a "LICENSE" file there, it is very clearly indicated that the project is open source and you can do literally anything with it.
This editor has long been taken by people from the "NetEase Official Battle Platform" and now the guys from Unirpg have taken it in the same way, they would not do this if they did not have the right to do so, in China they take such things very seriously.
 
Level 6
Joined
Jan 26, 2019
Messages
29
Безымянный.png
It is possible that that post no longer exists because a lot of time has passed.
If you need more proof, you can write to the author and ask him personally.
You also can not to publish this material, it is your right. This will not affect my actions or the actions of unirpg team in any way.
I just suggested that people use the editor that I worked on a lot, it's up to you to use this or not.
 

deepstrasz

Map Reviewer
Level 68
Joined
Jun 4, 2009
Messages
18,706
I won't do it. Are you suggesting that I spend a lot of time looking for a post I saw about 8 months ago? In addition, this requires opening a lot of Chinese sites, and since I live in Russia, I have difficulties with many foreign sites.
It is not the staff's business to prove if stuff uploaded here is legit or not but the uploader's. If the uploader cannot prove the ownership of the uploaded material, then it can be considered illegal and will be taken down.
You must put the license details in the thread/resource description as proof. Also, the license states these things:
  • The work must carry prominent notices stating that you modified it, and giving a relevant date.
  • The work must carry prominent notices stating that it is released under this License and any conditions added under section 7.

If you need more proof, you can write to the author and ask him personally.
No. I will kindly ask you to do it because the uploading of this and proving that you are allowed to do so is your concern.

That image you posted should be in the thread description along with a link to the github page.
That and accepting the license publicly in the description as well as linking to it, would suffice for me.

Please do not multipost.
 
Level 6
Joined
Jan 26, 2019
Messages
29
No. I will kindly ask you to do it because the uploading of this and proving that you are allowed to do so is your concern.

That image you posted should be in the thread description along with a link to the github page.
That and accepting the license publicly in the description as well as linking to it, would suffice for me.
I added information to the topic, this is a complete proof that I do not need the rights to any use of this editor.
if you think otherwise, I can only smile ironically "Harold meme"

I just decided to share with people what helped me when I was a beginner and what still helps me make maps comfortably, nothing more.
so please keep phrases to yourself that I have to prove something to someone, because I absolutely do not care if you add my project or not, I have no benefit from this, I do not need your online or advertising, I already use this editor and no one in this world can interfere with this.
it's just a friendly gesture, community support and nothing more.
With love, your Enemy1PK
 

deepstrasz

Map Reviewer
Level 68
Joined
Jun 4, 2009
Messages
18,706
so please keep phrases to yourself that I have to prove something to someone, because I absolutely do not care if you add my project or not, I have no benefit from this, I do not need your online or advertising, I already use this editor and no one in this world can interfere with this.
There are rules that needs to be followed on the site. That's all, nothing personal.

Good that you added the necessary stuff in the description, thanks.
 
Level 6
Joined
Jan 26, 2019
Messages
29
I think you could add actboy168 as a co-author.
He is not the only author, besides, you can see the list of authors every time you start ydwe editor.
Authors are not listed in the post because it is absolutely useless, no one will write to them in Chinese, in addition, they abandoned development a long time ago, at the moment the only one who can do anything with english version ydwe is me.
Best way to show respect for an author is to bring his work to people. I guess I've done more than just a useless author name tag on the site (especially since he doesn't care if his editor is used outside of china or not)
 
I don't quite understand your goal.
Do you just want to upload a English version of YDWE?
or want to start over updating YDWE?
or want to start a new WE based on YDWE?
He is not the only author
The main developers of YDWE are actboy168 and sumneko
Authors are not listed in the post because it is absolutely useless
Useless but polite.
no one will write to them in Chinese,
I'm not sure what you mean by that, are you trying to avoid contacting them? I don't think it's necessary, apparently they can read English and may be able to help you.
in addition, they abandoned development a long time ago, at the moment the only one who can do anything with english version ydwe is me.
I'm pretty sure they're still active in the Chinese community and they'll be interested in what's going on. Do you want me to help you contact them?
 
Last edited:
Level 6
Joined
Jan 26, 2019
Messages
29
I don't quite understand your goal.
No goal, i update ydwe because i use it myself. I spent a lot of time learning this editor, so I decided to share it with everyone, because if I leave wc3, my knowledge will disappear.
Do you just want to upload a English version of YDWE?
or want to start over updating YDWE?
This is already English version and over updating i think. However, I don't change the classic version numbering, instead I made my own patch line.
or want to start a new WE based on YDWE?
For what? It would be a waste of time even just for the sake of contributing to the community, because it is now in a very deplorable state.
Most people choose reforged despite its horrendous list of flaws and stable bad patches (e.g. recent patch)
I might be able to eventually add reforged supporting for ydwe (but it's not easy) however, I'm extremely dissatisfied with reforged and I'm well aware that each new patch can destroy all my work, not to mention the fact that no one not will pay me for my time spent anyway.
At the moment I see not a very high number of downloads and activity, which says that people do not understand ydwe.
When I first started making teve res, I was a beginner and tested map about 30 times a day.
download speed was 2.5 minutes, but together with slk-optimization, the speed increased to 1 minute.
this means that thanks to the built-in slk-optimization, I saved about 40 minutes every day (and sometimes more)
Besides, I tried for many years to make a good working orpg map, but I couldn’t do it without jass, and with it I had huge problems, I practically didn’t understand anything.
What do i have now? I made a nice map with ydwe gui and after that I was even able to learn jass quite well. all thanks to the ydwe editor.
So I think that if people are not now expressing much joy about what a useful tool they have received, there is no point in working in this direction. I used to think that it would be cool to make a perfect custom gui, but at the moment I see that it's just not needed by anyone.
In addition, at the moment ydwe is in very good condition, no updates are required. Maybe soon I will add english translation for slk and lni, but it will take a lot of time, so I can't guarantee.
I'm pretty sure they're still active in the Chinese community and they'll be interested in what's going on. Do you want me to help you contact them?
if I wanted to, I would have contacted the authors myself a long time ago, but for me it does not make any sense.
Reasons:
1) I am very grateful to the author so I don't want to waste his time, in fact I wish both of us to stop doing something for the sake of others and take care of our own lives.
2) The most innovative in this editor is powerful api and lua supporting, for this we need a platform, if there is a platform, I will ask the author how to make ydwe support. right now we can only hope for unirpg platform.
3) As I said above, no one needs this, which means that both me and the author also.

I'm really interested in developing ydwe, but the facts are not in my favor, if you can financially support the development that would be great, but most likely it is not.
 
Level 6
Joined
Jan 26, 2019
Messages
29
Some notes about the difference between YDWE and JNGP that i noticed:
  1. Almost same speeds for: Load editor, load map, save map (but JNGP faster when map save by ~6%)
  2. If you use built-in YDWE functions, such additional materials as: Hashtables and calls for them, global variables, functions, will be added to the map code, and will prevent map to open in other editors, until you opt out of all such functions.
    What does it mean?
    If you are newbie and cant create map without GUI or ready-made systems, just use YDWE and don't worry, because YDWE provides more options than any system and crutches for the GUI, and besides, it's done well.
    Yes, this way you will have a less optimized map, but this problem is specific to the GUI, so you still have no choice, anyway, my map is "twilight's eve resurrection" (before version 9) almost full made on YDWE GUI and has no problems even considering that many things I could do better (even with YDWE GUI, now I understand this)
    What about JASS users?
    Nothing extra will be added to your code if you do not use the built-in YDWE functions, map remains open to all editors.
  3. Almost all comments, spaces, newlines are also added to war3map.j.
    This makes the code much more readable than in JNGP, which is especially noticeable when you get a syntax error message.
    This also increases size of "war3map.j" but after slk-optimization, map size will be the same, regardless of which editor map was created.
  4. YDWE dont supports cJass, because of which there is no access to his "define"
    But YDWE has its own powerful preprocessor, which is used for most built-in functions and optimizations (eg bj-functions optimization), thanks to the preprocessor, almost any system can be added to YDWE GUI (css/damage engine/dds/save-load/etc)
    One of its features is its own #define, useful thing for map development.
    It
    1.png2.png
    will turn into this after saving the map
    3.png
    YDNL means YD New Line
    As i said, there is no reason to use any other map editors for classic wc3 versions.
 
Last edited:
Level 6
Joined
Jan 26, 2019
Messages
29
YDWE 1.32.15 En 1.0
- Added Custom Stats System in GUI interface with auto creation all required skills

Yes, you can add these abilities for other editors, using that function in ydwe, rawcodes same with edited css version when limit is 2.097.152
But don't count on any help from me.
Step 1) Add function and save
Step 2) Remove function and save

Version demonstrating benefits of YDWE
I can add almost any system/function to GUI, even if it doesn't exist (can make).
But it is still work that takes time, and as experience with the "Debuffs Duration System" has shown, people do not appreciate what they get easily.
Therefore, if you need any system or other help, you can contact me in discord: enemy1pk
 
Last edited:
Level 6
Joined
Jan 26, 2019
Messages
29
YDWE 1.32.15 En 1.1
  • Improved config translation /we will miss the Sys Ass/
  • Chinese language changed to Russian.
  • Changing language now do not roll back English gui translation to the old version.
  • Improved translation of some ydwe core functions, also added Russian translation for these functions.
  • Slk-optimization no longer changes translation to Chinese during map test.
  • Enabled previously disabled optimization of bj functions.
// I think this is the last step for classic YDWE

Reuploaded for fix slk and some missing ydwe strings and gameplay constants
 
Last edited:
Top