• 🏆 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!
  • ✅ The POLL for Hive's Texturing Contest #33 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!

YDWE PK (World Editor)

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

Allows make map in 1.26 or Reforged mode.
Regardless of whether you make a map with features from Reforged or not, you must have Warcraft 1.26 or 1.27. This is required for YDWE to work.
You can use my pure Warcraft 3 1.26 from Eurobattle

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. Note: Many standard bj functions have built-in leaks that you cannot fix if you simply use these GUI/JASS functions in other editors.
    Before

    After

    Before

    After
  • Parsing unknown GUI functions, thanks to which you can open maps with unknown for YDWE functions.
  • Powerful custom GUI.
    • Core YDWE GUI (Unbelievable section)
      - Local variables that do not need to be declared at the top of the code and cleared at the end of the function
      - Local timers: Which do not force you to specify another trigger, and also automatically transfer [Unbelievable] Local Variables through a hash table.
      - Local triggers: Same capabilities as local triggers.
      - Comfortable Hashtable analogue "Custom Value" which does not require an integer id, you can specify the object itself, and allows you to specify a string as a key, which is then automatically converted to an integer, but unlike StringHash there will never be collisions.

      - Selection units in AoE without new function (Unit loop from jass)
    • Additional functions from Jass. (Ability to create objects in X/Y coordinates and much more)
    • Advanced custom GUI
      - Ability to insert Jass code anywhere in the GUI function. You don't need to break the function's GUI wrapper if you need to use Jass code.

      - Comment box (for ease of sorting)
      - Functions to delete objects after some time without having to create a timer manually.
      - Creating objects in "Сalls" Which allows you to immediately set variables and place objects in them. It also allows you to do handy things like this:

      - "Multi-functions" that allow you to do some actions faster. Allows you to quickly copy and paste a function to change 1 parameter and not re-specify all the others
      - "Hashtable By Code" Which have functions for save/load/checking if there is saved data/remove, for each data type. In addition, these functions allow you to specify any keys (integer/hashstring/jass code/use #defines)
      - Custom script code is highlighted in a separate color.

      - Rect/Region/Location types are properly named (no more Points)
    • Complete systems with automatic creation of objects and removal if you no longer use this functions. Additionally, these systems don't put their many global variables into your GUI global variables section, creating unnecessary clutter there.
      - Damage Engine
      - Custom Stats Systems
      - Test Commands Activate
      - Debuff Duration System
      - Additional Item Slots
  • Unlocked 76 hidden game constants
    268809-d2dfffcfcd5ee50923e821845694b5e7.png

    List:
    Color of Lava Spawn
    Point Order Indicator Color(Attack)
    Point Order Indicator Color(Common)
    Info Panel - Attack Speed - Very Slow
    Info Panel - Attack Speed - Fast
    Info Panel - Attack Speed - Medium
    Info Panel - Attack Speed - Slow
    Info Panel - Buff Icon Fade Point
    Info Panel - Buff Icon Fade Alpha Minimum
    Info Panel - Buff Icon Fade Alpha Maximum
    Info Panel - Max Melee Attack Range
    Info Panel - Quest Indicator Duration
    Info Panel - Move Speed - Fast
    Info Panel - Move Speed - Medium
    Info Panel - Move Speed - Slow
    Info Panel - Move Speed - Very Slow
    Item - Item Shadow
    Item - Item Shadow Offset
    Item - Item Shadow Size
    Selection Circle Z Offset When Passing Destructable
    Floating Text - Bonus - Text Color
    Floating Text - Bonus - Fade Point
    Floating Text - Bonus - Font Size
    Floating Text - Bonus - Life Span
    Floating Text - Bonus - Move Speed
    Floating Text - Critical Strike - Text Color
    Floating Text - Critical Strike - Fade Point
    Floating Text - Critical Strike - Font Size
    Floating Text - Critical Strike - Life Span
    Floating Text - Critical Strike - Move Speed
    Floating Text - Gold - Text Color
    Floating Text - Gold - Fade Point
    Floating Text - Gold - Font Size
    Floating Text - Gold - Life Span
    Floating Text - Gold - Velocity
    Floating Text - Lumber - Text Color
    Floating Text - Lumber - Fade Point
    Floating Text - Lumber - Font Size
    Floating Text - Lumber - Life Span
    Floating Text - Lumber - Velocity
    Floating Text - Mana Burn - Text Color
    Floating Text - Mana Burn - Fade Point
    Floating Text - Mana Burn - Font Size
    Floating Text - Mana Burn - Life Span
    Floating Text - Mana Burn - Velocity
    Floating Text - Attack Miss - Text Color
    Floating Text - Attack Miss - Fade Point
    Floating Text - Attack Miss - Font Size
    Floating Text - Attack Miss - Life Span
    Floating Text - Attack Miss - Velocity
    Floating Text - Shadow Strike - Text Color
    Floating Text - Shadow Strike - Fade Point
    Floating Text - Shadow Strike - Font Size
    Floating Text - Shadow Strike - Life Span
    Floating Text - Shadow Strike - Velocity
    Minimap Signal - Attacked Signal Color
    Minimap Signal - Completed Signal Color
    Minimap Signal - Waypoint Signal Color
    Minimap Signal - Suggested Signal Color
    Font Size - Inventory Title
    Font Size - Icon Corner Number
    Font Size - Chat Input Font Size
    Font Size - Leaderboard And Multiboard
    Font Size - Life And Mana
    Font Size - Score Screen - Large Font
    Font Size - Score Screen - Normal Font
    Font Size - Score Screen - Player Name
    Font Size - Toolbar - Cost
    Font Size - Toolbar - Description
    Font Size - Toolbar - Name
    Font Size - Floating Window - Description
    Font Size - Floating Window - Name
    Font Size - Chat Message
    Font Size - Game Message
    Font Size - Upkeep Message
    Font Size - Trigger Message
  • 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
    Think of it as a Lua preprocessor.
    You can not only create objects but also perform various operations with future jass-code, but this does not work in game runtime, only before map save.


    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 (new abilities/etc).
    - Use reforged Lua as main programming language, only Jass.
    - Edit map with hd models mode.
    - Add more player slots than 12. But you can use additional slots from Reforged through functions, for example to give a unit to computer player.
    What are you getting:
    - Taking advantage of all the other benefits of YDWE:
    • Advanced GUI
      • Additional functions from jass.
      • Core-YDWE functions like (local variables, hashtable analugues, automatic local timers/triggers, etc.
      • Advanced GUI features (you can insert Jass code anywhere in gui function/etc).
      • Embedded systems with automatic creation of the necessary objects (Damage engine/Custom Stats System/etc)
      • Literally all functions from Reforged, even those that were not added to reforged as gui (frames/etc).
    • Bullit-in slk-optimization.
    • BJ functions optimization.
    • Anti leak optimization.
    • Boost preprocessor.
    • Pseudo lua.
    • All Jass functions are highlighted by TESH.
    - 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.
    You can also use any old programs without problems, for example w3x2lni or other slk optimizers.
[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
[YDWE PK Edition 1.5]
  • Fixed conflicts between core YDWE systems and Reforged mode.
  • Literally all functions from Reforged added to GUI, even those that are not in the Reforged world editor in GUI form.
    • All new types for variables and other related things have also been added.
    • If you don’t see functions for creating objects (for example CreateFrame), then they are located not in “Actions” but in “Calls”
    • To use you need to create a variable and then set it as "CreateFrame/etc"
    • This is done specifically because some native functions have no bj analogues which can set global varriables like "last created unit".
    • Also note that new types currently cannot be used for core YDWE functions like [Unbelievable Local Variable].
  • The [R] mark has been removed from all old functions/constants.
    • Now the [R] mark means functions that are only available for Reforged.
  • YDWE PK config option "Allow Reforged Functions" Now adds Reforged GUI Functions, adds all Reforged functions in TESH (Jass syntax highlighting) and allows you to run the map for testing through Warcraft 3 reforged. Requires restarting YDWE PK.
    • Because some names are too long, the following constants are placed in TESH under abbreviated names.
    • You can use both short and long versions in your code, however TESH will only highlight the short versions.
    • List:
    • Short Name [ABILITY_RLF_MANA_REGEN_BONUS_AS_FRACTION_OFNORMAL] Original Name [ABILITY_RLF_MANA_REGENERATION_BONUS_AS_FRACTION_OF_NORMAL]
    • Short Name [UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_MEDIUM_DAMAG] Original Name [UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_MEDIUM_DAMAGE]
  • Launching Warcraft 3 from the config menu via the "Lauch Warcraft 3" button will now launch the Reforged version if the appropriate mode is selected
  • Added file "ReforgedPath.txt"
    • If you are going to test the map in Reforged mode, you need to specify the path to Warcraft III.exe in it.
    • In the future I plan to add the path to Warcraft 3 Reforged to the config menu.
  • Added "null" GUI preset for String (because "empty string" and "null" are not the same thing)
  • Added GUI preset JASS_MAX_ARRAY_SIZE for integer.
  • Fixed leak in reforged function "CreateBuildCommandButtonEffectBJ"
  • 3 Reforged bj functions has been optimized.
  • Added hidden extra icons and models. 112 icons/130 models. In fact, this is a fix for an error that was made during translation; this stuff was originally supposed to be in YDWE
  • Changed GUI functions:
    • [Unbelievable] Local Timer - Clear. Added "PauseTimer" before "DestroyTimer"
    • As some people have noticed, if you don't pause the timer before destroying, sometimes bugs can happen.
    • [Systems] Activate Test Commads - Added commands:
    • -ci Create item by rawcode
    • -cu Create unit by rawcode
    • -aa Add ability by rawcode
    • -ra Remove ability by rawcode
  • Added Saves counter on World Editor screen. Explanation:
    • All editors created on the basis of World Editor crash after several saves, which is why you lose the progress of the last save.
    • The number of possible saves differs from map to map and depends on its "size" (objects, triggers, etc)
    • This counter will help you understand when it is time to restart YDWE PK.



  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 8
Joined
Jan 26, 2019
Messages
64
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 8
Joined
Jan 26, 2019
Messages
64
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 25
Joined
Jul 26, 2008
Messages
1,370
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 8
Joined
Jan 26, 2019
Messages
64
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 25
Joined
Jul 26, 2008
Messages
1,370
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 8
Joined
Jan 26, 2019
Messages
64
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 8
Joined
Jan 26, 2019
Messages
64
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: 36
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 8
Joined
Jan 26, 2019
Messages
64
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 8
Joined
Jan 26, 2019
Messages
64
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
 
Level 8
Joined
Jan 26, 2019
Messages
64
Today I will tell about one important advantage of YDWE that I have known about for a long time, but have not mentioned before.
Is: Advanced Debugging

Whenever you run wc3 1.26 through YDWE, it will catch some code errors in the running maps, regardless of whether the map is open for editor or slk-optimized.
It is important to note that these are errors that allow you to save the map without an error message, so until you notice that any function is not working correctly, you will not even know that you made a mistake.

I know for sure 2 types of errors that are caught this way:
1) An attempt to get a value from a variable that has not yet received a value (it was null)
2) Infinity loop.
I also know that there are others, but at the moment I do not have accurate information about this because I cannot compile YDWE and translate these errors (yes, no one is helping me)
Example: Launch wc3 1.26 via YDWE and start map "DotA_Allstars_7.04c7"
In the first seconds after the start, we see a pop-up window with two errors.
The same error can be caused several times, but how did I understand that these are 2 different errors? it's all about numbers, it's something like a line number, if they are different, then it's not the same error.

error.png

The "GKJ" function attempts to get a value from local variable "OIO", which was initially null.
error3.png

error1.jpg

error2.jpg

Thus, we see that anyone can make a mistake and you won’t know about it until you notice that something is not working correctly.
This is another reason to use YDWE, and not blindly trust the opinions of people who are not trying to learn something new and are simply using old familiar tools.

Upd: work will 1.26-1.27 and also work while watching replays
 
Last edited:
Level 6
Joined
May 29, 2013
Messages
137
Does this mean that custom maps saved from the current latest version reforged will open in this editor?
 
Last edited:
Level 8
Joined
Jan 26, 2019
Messages
64
A large patch to provide full support for Warcraft 3 Reforged.

Ahead of stupid questions:
Maps created in YDWE PK can use almost all the functionality from Reforged and at the same time remain compatible with old patches like 1.26.
Editor uses old data but can still use new functions, so you give up things like the ability to make 24 slots for players, but remain in the best compatibility mode (1.26).
People making maps in YDWE PK in Reforged mode can at any time abandon all this and switch to any other editor, of course, to do this they will have to remove the unique functions of YDWE PK GUI and things like boost preprocessor commands.
If you are already making a map on the Reforged Editor, you will not be able to switch to YDWE PK or any other editor, all you can do is transfer triggers in the form of Jass code.



[YDWE PK Edition 1.5]
  • Fixed conflicts between core YDWE systems and Reforged mode.
  • Literally all functions from Reforged added to GUI, even those that are not in the Reforged world editor in GUI form.
    • All new types for variables and other related things have also been added.
    • If you don’t see functions for creating objects (for example CreateFrame), then they are located not in “Actions” but in “Calls”
    • To use you need to create a variable and then set it as "CreateFrame/etc"
    • This is done specifically because some native functions have no bj analogues which can set global varriables like "last created unit".
    • Also note that new types currently cannot be used for core YDWE functions like [Unbelievable Local Variable].
  • The [R] mark has been removed from all old functions/constants.
    • Now the [R] mark means functions that are only available for Reforged.
  • YDWE PK config option "Allow Reforged Functions" Now adds Reforged GUI Functions, adds all Reforged functions in TESH (Jass syntax highlighting) and allows you to run the map for testing through Warcraft 3 reforged. Requires restarting YDWE PK.
    • Because some names are too long, the following constants are placed in TESH under abbreviated names.
    • You can use both short and long versions in your code, however TESH will only highlight the short versions.
    • List:
    • Short Name [ABILITY_RLF_MANA_REGEN_BONUS_AS_FRACTION_OFNORMAL] Original Name [ABILITY_RLF_MANA_REGENERATION_BONUS_AS_FRACTION_OF_NORMAL]
    • Short Name [UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_MEDIUM_DAMAG] Original Name [UNIT_WEAPON_RF_ATTACK_AREA_OF_EFFECT_MEDIUM_DAMAGE]
  • Launching Warcraft 3 from the config menu via the "Lauch Warcraft 3" button will now launch the Reforged version if the appropriate mode is selected
  • Added file "ReforgedPath.txt"
    • If you are going to test the map in Reforged mode, you need to specify the path to Warcraft III.exe in it.
    • In the future I plan to add the path to Warcraft 3 Reforged to the config menu.
  • Added "null" GUI preset for String (because "empty string" and "null" are not the same thing)
  • Added GUI preset JASS_MAX_ARRAY_SIZE for integer.
  • Fixed leak in reforged function "CreateBuildCommandButtonEffectBJ"
  • 3 Reforged bj functions has been optimized.
  • Added hidden extra icons and models. 112 icons/130 models. In fact, this is a fix for an error that was made during translation; this stuff was originally supposed to be in YDWE
  • Changed GUI functions:
    • [Unbelievable] Local Timer - Clear. Added "PauseTimer" before "DestroyTimer"
    • As some people have noticed, if you don't pause the timer before destroying, sometimes bugs can happen.
    • [Systems] Activate Test Commads - Added commands:
    • -ci Create item by rawcode
    • -cu Create unit by rawcode
    • -aa Add ability by rawcode
    • -ra Remove ability by rawcode
  • Added Saves counter on World Editor screen. Explanation:
    • All editors created on the basis of World Editor crash after several saves, which is why you lose the progress of the last save.
    • The number of possible saves differs from map to map and depends on its "size" (objects, triggers, etc)
    • This counter will help you understand when it is time to restart YDWE PK.
 
Last edited:
Level 8
Joined
Jan 26, 2019
Messages
64
@Enemy1PK Would you say that this editor is strictly better than YDWE or are there functional differences that might make you prefer YDWE over YDWE PK?
Of course WE PK is much better than classic YDWE because it was in the PK version that more serious changes began than improving the text translation.
At a minimum, there is: more gui optimization/many bug fixes/support for the unique Reforged map creating mode. More information can be found in the patch notes.
Perhaps some changes dont look cool being a line in a patch note, but behind each of them there is a lot of effort and creativity.

For example, the final code of the saved map after you have used one of any built-in system in YDWE PK and Classic YDWE.
 

Attachments

  • YDWE PK.j
    21 KB · Views: 2
  • Classic YDWE.j
    45.7 KB · Views: 0
Top