• 🏆 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 PK Edition

This bundle is marked as pending. It has not been reviewed by a staff member yet.
I present to you the best map editor for WC3

Requires WC3 1.26-1.27
Compatibility of maps created in YDWE PK: 1.26 - Reforged same as JNGP
Supported languages: JASS, vJASS, Zinc (no cJass)
YDWE PK
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:
  • SLK - optimization before map test (can greatly reduce loading speed of large maps) comparison of speed on the old version of my RPG
  • Supports multi-opening (you can open several YDWE or YDWE + JNGP)
  • Allow warcraft 3 multi-launch
  • Additional multi-window map test mode
  • Best built-in text coloring plugin
    268810-b51dc1e3d78a1ee019ad9c773642306c.png
  • Includes latest pjass and TESH



  • Optimization and anti-leaks for default GUI function like BJ and Swapped
    Before

    After

    Before

    After
  • Parsing unknown GUI functions, thanks to which you can open maps with unknown for YDWE functions.
  • Powerful custom GUI with lots of features from classic JASS and some useful systems.





  • Built-in systems are as friendly as possible, all objects are created automatically and do not clog up your map with triggers/global variables. Demo
  • Unlocked hidden constants
    268809-d2dfffcfcd5ee50923e821845694b5e7.png
  • Allows easily add almost any systems in GUI interface.
  • 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
  • Pseudo-Lua
    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'
    ?>
  • Can use functions from Reforged
    You can not:
    - Use any reforged objects from object editor.
    - Use reforged lua.
    - Edit map with hd models mode.
    - Run map in test mode from YDWE and use any options related to map testing (slk-optimization/widescreen/etc)
    What are you getting:
    - Taking advantage of all the other benefits of YDWE (GUI/preprocessor/pseudo lua/etc)
    - Map remains in compatibility mode based on version 1.26 but can use functions from reforged.
    This means that you can transfer map to any editor without problems. Unlike reforged editor, which binds the map to new (reforged) versions.
[About PK edition]
This is more smoothest version compared to the classic YDWE.
PK edition aims to optimize and reveal full, or atleast more YDWE potential.
I tried to reduce gap between GUI and JASS users, by adding new GUI functions/capabilities, as well by optimization of final code and remove leaks.
JASS is still the best method for create map, however situation now looks like this: [JASS] > [YDWE PK GUI] > [YDWE GUI] > [GUI]
Even just re-save map in YDWE PK edition will make your map more optimized than after JNGP or other editor with default GUI

Discord server

[Difference between YDWE 1.32.15 En 1.1 and YDWE PK Edition 1.0]
- YDWE now insert into the map only those additional functions/variables/other stuff, that you use.
- Removed DZAPI and JAPI functions
- Improved GUI translation
- Returned and translated additional game constants (like Critical Strike tag text duration/color/etc)
- Fixed missing we strings
- Removed all languages exept English
- Removed/changed a lot of functions and systems from classic YDWE.
Some functions will return in future.
- Some functions has been marked as [Not Recomended]
- Added preprocessor keywords for TESH: #define,#ifdef,#ifndef,#elif,#include
- Fixed bj optimization and bj anti-leak optimization bugs
- Removed all old and added new [Demo Maps] to demonstrate GUI functions, and preprocessor commands/pseudo lua
- Added option to supporting reforged functions, what does it mean:
You can save a map that uses functions from reforged.
However, you cannot test map using YDWE, you will have to do it manually via wc3 reforged.
Also, at the moment in YDWE no reforged GUI functions and JASS highlighted functions in TESH.
Also, map will be saved as classic 1.26, this means that objects from object editor will be from version 1.26.
But you get the opportunity to make a map using reforged functions as well as YDWE functionality such as its own functions and systems, as well as preprocessor and pseudo-lua commands, which is very important if you can understand this.

New GUI functions:
  • Create Special Effect (XY) [R]
  • Create Spell Effect By Id (XY) [R]
  • Create Spell Effect By Id (Location)
  • Create Spell Effect By Id (Unit) [R]
  • Hashtable save and load by code/integer/string
  • Get Distance Between (units/items/destructables/locations/rects/coordinates)
  • Get Angle Between (units/items/destructables/locations/rects/coordinates)
New systems:
  • Debuff Duration System (by Enemy1PK)
  • Activate Test Commands (by Enemy1PK)
  • Damage Engine (by Bribe)
[YDWE PK Edition 1.1]
  • DDS:
    Fixed bug with UnitAlive function.
    Added abilities for immunity to debuffs.
    Added test ability with clear all debuffs effect
  • Minor changes config description about map saving as 1.26/1.36
[YDWE PK Edition 1.2]
  • Added missing text of some YDWE trigger errors
[YDWE PK Edition 1.3]
  • Fixed a bug when some object parameters in the object editor were not displayed (like skill tech/sounds/text/stats)
  • Added some missing text (like description when open map with unknown GUI for YDWE
[YDWE PK Edition 1.4]
  • Added preprocessor keywords for TESH: #undef
  • Deleted old TESH functions and added new
  • Changed visual color for GUI categories [Not Recomended] / [Unknown UI] / Custom Code
  • Added new GUI category [Has Better Analogues]
  • GUI categories [Not Recommended] and [Has Better Analogues] is sorted to the bottom
  • Added "Null" GUI presets for (Timer/Region/Location/Fogmodifier/Ubersplat/Group/Trigger/Quest/Player Group/Player/Leaderboard/Image/Hashtable/Multiboard/Unit Pool/Item Pool/Dialog/Text Tag/Lightning/Effect/Timer Dialog/Multiboard Item/Trackable/Quest Item/Terrain Deformation/Weather Effect/Button)
  • GUI Function Get Angle Between [PK] added to degree category same as real
  • Fixed bugs in [Systems] - Custom Stats System
  • Fixed bugs in [Systems] - Test Commands Activate
  • New Demo Map - How avoid dialog problem
  • New System: Additional Item Slots (By Enemy1PK)

Added defines as default:
  • #define print(s) call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, 10, s)
  • #define prints(s, t) call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, t, s)
  • #define break exitwhen true
Also added in TESH

Added new multi-functional functions:
  • Unit Add/Remove Ability
  • Unit Add/Remove Category
  • Set Unit X/Y
These functions do not require additional functions like bj
They use native functions depending on your choice
Old functions marked as [Has Better Analogues]

Added new GUI functions which now set varriables like "last created unit" for replace this functions:
  • Create Special Effect (XY) [R]
  • Create Unit (Location)
  • Create Unit (XY)
  • Create Item (XY)
Old functions marked as [Has Better Analogues]

New GUI functions:
Actions
  • Timer Remove (unit/effect/text tag/lighting/destructable/item)
  • End Game
  • Create Lightning Effect (XY)
  • Create Lightning Effect (XYZ)
  • Create Destructible (XY)
  • Create Dead Destructible (XY)
  • Create Text Tag (XY)
Calls
  • Create Lightning Effect (Location)
  • Create Item (Location)
  • Create Destructable (XY)
  • Create Destructable (Location)
  • Create DeadDestructable (XY)
  • Create DeadDestructable (Location)
  • Have Saved Integer By Code
  • Have Saved Real By Code
  • Have Saved String By Code
  • Have Saved Boolean By Code
  • Have Saved Handle By Code
  • Get Destructable Type Id
  • Get Player By Player Id



  1. Items created in JNGP have "EditorSuffix" parameter, which is not in YDWE and Reforged editor.
    Therefore, when using pseudo lua to create objects, an error will be thrown until you delete the object and recreate it in YDWE.
  2. Sometimes some icons stop displaying until YDWE is restarted.
  3. Under some conditions the built-in slk-optimization may not work.
  4. Under some conditions, a message about creating/modifying/deleting objects via pseudo lua may appear every time the map is saved.
Contents

YDWE PK Edition (Binary)

Level 6
Joined
Jan 26, 2019
Messages
30
Why a separate upload?
Why not simply update this: YDWE - Map Editor
These versions are too different.
If compatibility with maps from previous patches is severely lost, it’s difficult to call it just the next patch.
In addition, this editor is designed to create maps without using the Chinese api and other functionality that we will never get.
A lot of unnecessary stuff has been cut out here and new things have been added in place, the percentage difference between the versions is too large, at least in my opinion.
I can rename it to PKWE if you think it would be better, I did not do this out of respect for the original authors.
 
Level 6
Joined
Jan 26, 2019
Messages
30
Will the previous one still be updated?
No, only bug fixes if someone reports them.
Maintaining two different versions is difficult, and the methods of previous authors are outdated and much inferior to mine.
Nobody will use the old version because it is much worse for the average user, and obviously we will never have a platform with support for DZAPI and JAPI.
Okay, maybe it will be used by those who made the map on YDWE GUI and are experiencing difficulties with the transition to the new version, but I don’t think there are many such people, because I periodically check new maps and find no traces of YDWE, people continue to make maps using JNGP/Reforged GUI crutches.
However, let’s not forget that during all this time there was not a single proposal or bug report (as far as I remember)
I can also say that this version will not be updated without feedback.
I have already seen how community treats people who want to help them and also my remote Debuff Duration System, which some people gave a low rating only because it did not have default GUI crutches and therefore the system was less friendly to beginners (and now it is added to YDWE PK)
The original author has received thousands of support messages in China, but I'm seeing people showing more interest in the Community Edition or Better Triggers than in YDWE, even though the vast majority of users are still making GUI maps.
Based on this, you probably understand how I feel, so this is my last attempt.
I provided you with a new, clean Excalibur, if you cannot remove it from the stone, that is your problem.
 
Level 2
Joined
May 21, 2010
Messages
2
I mostly use WE mods to increase tile space.
JNGP did that admirably, if clunkily.
This editor mod here lets you shoot yourself in the foot with that, because replacing cliff tiles is not something either the editor nor WC3 like.
I would argue that's actually a good thing, because you can force some different model walls.
There should still be a 16 entry limit on tiles though, because that appears to be the maximum limit both in the editor and in the game.

That newly generated maps are by default not able to start is a problem.

The improved loading time is great.
 
Level 23
Joined
Jul 26, 2008
Messages
1,321
I have already seen how community treats people who want to help them and also my remote Debuff Duration System, which some people gave a low rating only because it did not have default GUI crutches and therefore the system was less friendly to beginners (and now it is added to YDWE PK)
The original author has received thousands of support messages in China, but I'm seeing people showing more interest in the Community Edition or Better Triggers than in YDWE, even though the vast majority of users are still making GUI maps.
Most people will assume this editor will be incompatible with latest wc3 patch, because custom editors normally have this issue of having serious bugs when played in more recent versions of wc3. I know you said in the description that this new version of YDWE is compatible with reforged, but that is a serious risk for anyone who makes a map with your tool, and then maybe finds out later that newest versions of wc3 cant play their map, since blizzard has no obligation to make new versions compatible with 3rd party world editors.

Also some of your comments come across in a small way as looking down on people who choose to use GUI, even though outside of that group of people who specialize in code, GUI is most accessible for the vast majority of map makers.
 
Level 6
Joined
Jan 26, 2019
Messages
30
Hmm. Then consider if it's not pointless to have two separate ones. Maybe the threads should be fused and the most recent version kept?
Okay, will rebranding to PKWE/other name suit you? Or delete old?
in any case, differences with old YDWE will become greater over time.
YDWE is compatible with reforged
Partially compatible, you can use the reforged api, but you lose the opportunity for convenient testing (and everything connected with it, for example, slk optimization before map test)
but that is a serious risk for anyone who makes a map with your tool
It looks like you don't really understand how everything works.
1) I was told about possibility of using YDWE + Reforged by the person who made the Dance of the dragons map, which means that at least one user has already tested it, and then I checked it too.
2) YDWE uses only standard JASS 1.26 and even leaves objects from version 1.26, no problems can arise.
You can migrate your map to Reforged Editor at any time, since your map is based on the oldest version.
Once again, enabling Reforged support option allows you to save a map with functions from Reforged in YDWE without errors like "unknown function" What compatibility issues would you expect to see? this is literally the same as saving the map in Reforged itself.
Also some of your comments come across in a small way as looking down on people who choose to use GUI, even though outside of that group of people who specialize in code, GUI is most accessible for the vast majority of map makers.
In your opinion, person who does more for GUI users than anyone else despises them?
If you haven’t read, I have repeatedly said that I started with the GUI myself, in which YDWE helped me a lot.
I don't like the default GUI, I don't want to see or make hundreds of unreadable crutches like global udg_variables in the Damage Engine, a bunch of unnecessary triggers in the trigger editor and manual copying of abilities.
Everyone hated me on XGM because their community laughs at GUI users and offers to learn JASS, while I looked at the Chinese community and their YDWE and then began to say that they were wrong, we should help beginners like they did in China, and not laugh above them.
Your message looks like trolling, you can’t even imagine how many crutches I had to do so that GUI users wouldn’t do them.
 
Level 23
Joined
Jul 26, 2008
Messages
1,321
It looks like you don't really understand how everything works.
1) I was told about possibility of using YDWE + Reforged by the person who made the Dance of the dragons map, which means that at least one user has already tested it, and then I checked it too.
1 guy told you that it is compatible, so you are assuming it is compatible. Every map I have seen with YDWE cannot be opened on 1.32+. W.E gets error and auto closes when trying to open. I think it is fair to say that most people will be scared to use any YDWE in their maps if they want their map to be playable on Blizzards Bnet platform. Even if you have modified YDWE to be open-able in 1.32+, all it needs if for a new wc3 patch to cause a bug with maps made using your tool, and then they won't be able to play their map on Bnet.
In your opinion, person who does more for GUI users than anyone else despises them?
Okay maybe I misread your comments regarding your view on GUI users. But the vibe your comments gave was you are upset people are not using your tool even though you had done so much by making these tools. 3rd party editors will never take off in popularity because there is no way to know if they will still be compatible with future versions of Wc3 being released. Community edition of wc3 is only getting attention because people who are angry with Reforged think it might bring back Wc3 to its roots--- which won't happen, but they are free to feel that way. Putting effort into making 3rd party editor probably is not worth it if you want lots of people to use the tool, since the direction of hiveworkhop community is moving towards using the latest patches of Wc3, and not the older ones.
 
Level 6
Joined
Jan 26, 2019
Messages
30
1 guy told you that it is compatible, so you are assuming it is compatible. Every map I have seen with YDWE cannot be opened on 1.32+. W.E gets error and auto closes when trying to open. I think it is fair to say that most people will be scared to use any YDWE in their maps if they want their map to be playable on Blizzards Bnet platform. Even if you have modified YDWE to be open-able in 1.32+, all it needs if for a new wc3 patch to cause a bug with maps made using your tool, and then they won't be able to play their map on Bnet.
Problems?
Never try to argue with people who know more than you.
I already said that there will be no problems because it is impossible.
Do you know why YDWE maps don't open in the Reforged editor? because it does not have the GUI functions that YDWE has, and no editor other than YDWE can parse unknown functions.
If you made a map on YDWE and then for some reason decided to leave it, of course you will have to abandon all the GUI functions that YDWE gave you, you will have to remove them / convert them to JASS, and the pseudo functions and systems will have to be replaced with real ones .
However, this is all logical and is not a problem, because there are no other options, no one will give you better conditions than YDWE, because after the Reforged editor it is almost impossible to switch to older versions, because it affects the object editor and so on, at the same time YDWE it just forces you to give up its functions.
And yes, words of any map author are more important than the words of a commentator on the forum, because he tested it, and then I did too.

In addition, support for Reforged is not a priority since I am a supporter of old patches that allow maps to gather the largest audience.I just added the ability for those who want and can use such important things as preprocessor directives and which you will never get in Reforged editor.
Although I have no problem adding all the Reforged features to the GUI and enabling them along with this option.In theory, you can even launch a Reforged map for a test from YDWE and even do slk optimization.
But these are just theories, because if there is no demand, there will be no supply.
Okay maybe I misread your comments regarding your view on GUI users. But the vibe your comments gave was you are upset people are not using your tool even though you had done so much by making these tools. 3rd party editors will never take off in popularity because there is no way to know if they will still be compatible with future versions of Wc3 being released. Community edition of wc3 is only getting attention because people who are angry with Reforged think it might bring back Wc3 to its roots--- which won't happen, but they are free to feel that way. Putting effort into making 3rd party editor probably is not worth it if you want lots of people to use the tool, since the direction of hiveworkhop community is moving towards using the latest patches of Wc3, and not the older ones.
I'm not offended that people don't use YDWE, I'm just disgusted that people continue to do
123.png
when they were literally given the best tool in their hands.
You say that someone is afraid, this is the absolute norm, while some are afraid, others just do.
I made my map back when YDWE was very poorly translated and had quite a few bugs and questionable systems, and if someone is still afraid with good and clean version, I don’t forbid them, let them never fulfill their desire to make a good map without leaks.

The problem with a community is that you want someone to convince you to do something, to prove that everything is fine.
When I made the map, I was glad to discover a tool that gives me the necessary capabilities, I couldn’t even dream that they would make some convenient systems for me and was glad for any help, at the same time, right now I’m not seeing feedback, but assumptions that support Reforged can be problematic.
Perhaps you all shouldn't try to create maps and go to this section?
This is not like the attitude of people who are confident in themselves and have a desire to develop in something.
 
Last edited:
Level 6
Joined
Jan 26, 2019
Messages
30
Syntax error when trying to test Demo map "Debuff Duration System"

[YDWE PK Edition 1.1]
  • DDS:
    Fixed bug with UnitAlive function.
    Added abilities for immunity to debuffs.
    Added test ability with clear all debuffs effect
  • Minor changes config description about map saving as 1.26/1.36
Btw, reforged users can get all reforged api (frames/etc) in GUI.
Demonstrate your desire, if you have one, your fate is in your hands.
 

Attachments

  • refgui.png
    refgui.png
    19.7 KB · Views: 26
Last edited:
Level 2
Joined
Nov 5, 2023
Messages
3
Another Syntax Error i got when use this function its fine to display for player 1,2 etc except for all Player


Screenshot_29.png


Screenshot_30.png
 
Level 6
Joined
Jan 26, 2019
Messages
30
Another Syntax Error i got when use this function its fine to display for player 1,2 etc except for all Player
Okay, I missed translation of some errors, which is why you didn’t see notification that you can’t use “All Players” in actions, only in events.
If you want to send a message to all players, the best way is "GetLocalPlayer" which will select all real players who have the map running.

[YDWE PK Edition 1.2]
  • Added missing text of some YDWE trigger errors
 
Level 6
Joined
Jan 26, 2019
Messages
30
Reuploaded for some fixes.

Bj optimization:
before
#define SetUnitManaBJ(unit, value) SetUnitState(unit, UNIT_STATE_LIFE, RMaxBJ(0, value))
after
#define SetUnitManaBJ(unit, value) SetUnitState(unit, UNIT_STATE_MANA, RMaxBJ(0, value))

Custom stats system: wrong rawcodes for attack speed abilities
 
Top