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, but only if you have never saved your map in the Reforged Editor before.
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:
  • Dark Mode
    378956-108397106511c42d96a6422c9f454c54.webp


    [*]
  • SLK - optimization before map test (can greatly reduce loading speed of large maps) comparison of speed on the old version of my RPG
  • Map Save Accelerator
  • 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 (newer than in JNGP but older than the latest TESH for Reforged Editor)



  • 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.
    • [Jass Category]
      Allows you use:
      • True jass local and global variables
      • Arrays and 2d arrays
      • Create own functions with/without arguments
      • Run any functions (Any jass natives, even if they are not in the YDWE PK GUI/any own functions) with/without arguments
      Here you can forget about any crutches with run triggers instead of calling functions, etc.
      You can import any Jass system and then conveniently call functions through the gui.
      • Use functions like "Timer Start" with specify function
      • Custom jass loop with own condition
      • Totally custom if/then/else with "else if" and without "else" if you need it
    • [Unbelievable category]
      - 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/StringHash/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
      - Movement System
      - Save System
  • 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.
  • Jass Runtime Debug
    Every time you launch wc3 1.26-1.27 via YDWE in any way, the game will report some errors that are usually not detected when saving the map.
    For example:
    [Operation Limit]

    [An attempt to use a variable that does not yet have any (even null) value]

    You will find not only bugs of your map during testing, but also bugs from other maps that you decide to play by launching wc3 through the YDWE (Launch Warcraft 3) config menu. This also works when watching replays, or if the map was slk optimized.
    When a bug is found, a windows window will be created with a description of the error and a pointer to the name of the function in which the error occurred.
    If you close this window, your wc3 will also close, be careful.
    As a rule, the discovery of such bugs means that all subsequent actions in this function, starting from the place where the bug is located, simply will not work, the function will end here.
  • Boost Preprocessor
    More information here
    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
  • Lua Preprocessor
    More information here
    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.
[YDWE PK Edition 1.5.1]
  • Fixed bug with map testing in Reforged mode.
  • YDWE PK on startup now will create empty map.
  • Define changed name: break > breakJassLoop
  • Fixed some gui functions not from "Reforged" which still used the [R] flag.
  • Gui Function "get frame handle id" now available only in Reforged mode.
  • Changed GUI functions:
- [Systems] Custom stats system:
- Added boolean call "Custom Stat System - Last Stat Change Was Successful"
- Added integer call "Custom Stat System - Get Bonus Limit"
- System has been rewritten.
- For "clear" functions has been added boolean parameter "removeAbilities" which determines whether abilities need to be removed from unit or just cleared the hash table.
(If you remove a unit from the game, it will lose all abilities in any case, for this you do not need to force the cleanup function to recalculate the parameters once again)
- Fixed bug when stats were calculated incorrectly when using negative values. At the moment this is the only existing version of CSS that correctly counts negative and positive stats.
- No longer creates abilities that are greater than the limit.
- New stats limits:
Attack speed: -8.192 +8.191
Sight Range: -8.192 +8.191
Attack: -1.073.741.824 +1.073.741.823
Armor: -8.388.608 +8.388.607
Str: -524.288 +8.388.607
Int: -524.288 +8.388.607
Agi: -524.288 +8.388.607
Mana regen: -4.194.304 +4.194.303
Health regen: -8.388.608 +33.554.431
Health max: -8.388.608 +67.108.863
Mana max: -8.388.608 +67.108.863
This is the maximum limit for wc3 to avoid bugs with stats.

[YDWE PK Edition 1.6]

  • Fixes:
    • Fixed another bug with map test from YDWE PK while Reforged mode. (was specified Incorrect path to YDWE PK directory)
    • Gui function [Activate Test Commands] Added crit-safe mechanism for cases when the specified player id is lower than 1
    • Tesh: Fixed wrong parameters with Custom Stats System functions
  • System "Additional Item Slots" max bags amount 10 > 100
  • For GUI call "Triggered Event Is [YDWE]" added missing Reforged events.
  • For GUI functions with coordinates like "Distance Between" "Angle Between" added new presets:
    • Spell Target
    • Order Point
    • Portal Destination
    • Camera Target
    • Camera Eye
It's more convenient and faster than specify XY coordinates each time.
  • Added new GUI Systems:
    • Movement System
      • Designed for smooth movement of units (Like Mirana's jump from Dota)
      • This is not just a set of presets like functions from the old YDWE, this system is more like a set of tools to implement as many different user needs as possible.
    • Save System
      • This is a save/load system that uses a loading code which is created in the game folder and that must be entered into the chat.
      • Works on any version of warcraft 3
      • Parameters:
        • Can save only integer values
        • Requires manually adding each item and unit to the save list
        • Up to 8192 different items and 8192 units can be added to the save list
        • If length of the code is greater than the limit for entering into the chat, creates additional codes
        • Supports up to 5 total sub-systems
          • For example, u can use system #1 to save hero/gold/wood/whatever else. And use an additional system #2 for saving the player achievements/unlocked heroes/rank/etc.
          • You'll essentially be using the same system, but you can give them different alphabets, which will make them different and the code from system #1 won't work on system #2.
        • Max length of saved value is 9 (example: 999999999)
        • Max saved values for each sub-system: 999
        • Up to 30 additional codes
        • Adding new parameters to save does not invalidate old codes
          • You must use the same order when saving and loading values
          • You can load new codes into old versions of map and vice versa
  • Added new GUI functions:
    • Presets:
      • [Systems] Move System - Move Unit Reached Final Point
      • [Systems] Move System - Get Last Unit Ended Movement
      • [Systems] Move System - Get Last Detected Unit
      • [Systems] Move System - Get Last Unit Which Detect
      • [Systems] Move System - Get Last Unit Proc Timer Period
      • [Systems] Save System - Event System Number
      • [Systems] Save System - Total Save Codes Count
      • [Systems] Save System - Event Player
    • Actions:
      • [Game] Preload Gen Clear
      • [Game] Preload Gen Start
      • [Game] Preload Gen End
      • [Game] Preload Refresh
      • [Game] Preload Start
      • [Game] Preload End Ex
      • [Item] Add Ability To Item
      • [Unit] Fly Enable
      • [Systems] Additional Item Slots - Get Current Bag Number
      • [Systems] Move System - Range
      • [Systems] Move System - Target
      • [Systems] Move System - Homing
      • [Systems] Move System - Stop
      • [Systems] Move System - Set Unit Homing Target
      • [Systems] Move System - Set Unit Start X
      • [Systems] Move System - Set Unit Start Y
      • [Systems] Move System - Set Unit Final X
      • [Systems] Move System - Set Unit Final Y
      • [Systems] Move System - Set Unit Move Speed
      • [Systems] Move System - Set Unit Timer Period
      • [Systems] Save System - Init System
      • [Systems] Save System - Add Unit Type To Save List
      • [Systems] Save System - Add Item Type To Save List
      • [Systems] Save System - Add Ability Type To Save List
      • [Systems] Save System - Save Type of Unit
      • [Systems] Save System - Save Type of Item
      • [Systems] Save System - Save Type of Ability
      • [Systems] Save System - Save Value
      • [Systems] Save System - Set Errors Text
      • [Systems] Save System - Start Saving
      • [Systems] Save System - Start Loading
    • Calls:
      • Remove Color Codes
      • [Systems] Is XY Walkable
      • [Systems] Move System - Is Unit In Movement
      • [Systems] Move System - Get Unit Homing Target
      • [Systems] Move System - Get Move Type From Unit
      • [Systems] Move System - Get Unit Start X
      • [Systems] Move System - Get Unit Start Y
      • [Systems] Move System - Get Unit Final X
      • [Systems] Move System - Get Unit Final Y
      • [Systems] Move System - Get Unit Move Speed
      • [Systems] Move System - Get Unit Timer Period
      • [Systems] Save System - Load Unit Type
      • [Systems] Save System - Load Item Type
      • [Systems] Save System - Load Ability Type
      • [Systems] Save System - Load Value
      • [Systems] Save System - Get Save Code
    • Events:
      • [Systems] Move System - Any Unit End Movement
      • [Systems] Move System - Moving Unit Detect Unit
      • [Systems] Move System - Timer Period Proc
      • [Systems] Save System - Save 1
      • [Systems] Save System - Save 2
      • [Systems] Save System - Save 3
      • [Systems] Save System - Save 4
      • [Systems] Save System - Save 5
      • [Systems] Save System - Load 1
      • [Systems] Save System - Load 2
      • [Systems] Save System - Load 3
      • [Systems] Save System - Load 4
      • [Systems] Save System - Load 5
      • [Systems] Save System - Successful Save 1
      • [Systems] Save System - Successful Save 2
      • [Systems] Save System - Successful Save 3
      • [Systems] Save System - Successful Save 4
      • [Systems] Save System - Successful Save 5
  • Added new GUI demo maps:
    • Add Ability To Item
    • Movement System
    • Save System
  • Added new GUI lessons:
    • Get Local Player
[YDWE PK Edition 1.7]
  • Plugin [Jass Runtime Debug] error text translated into English
  • Fixed memory leak of reading and writing objects
  • Fixed compatibility with wrust
  • Fixed Blizzard functions "TriggerRegisterEnterRectSimple" and "TriggerRegisterLeaveRectSimple" Which incorrectly affected coordinate checking such functions as: RectContainsUnit / -RectContainsCoords / etc
    • It looks like this: Event "unit enters Rect" If you enter from the left or from below, the functions that determine that the unit is inside the Rect assume that you are already inside, but if you enter from above or from the right, they assume that you are not yet inside.
      In fact, the problem is in native function "RegionAddRect" which Makes the Region larger than the initially specified Rect, to the right and top sides (Max X, Max Y)
      To these two problematic functions, added solution where Region becomes the same size as Rect.
  • [Unbelievable] "Local Varriables" and "Custom Values" now supports setting the value to "null"
  • GUI function "Pick Every Unit In Unit Group And Do Multiple Actions" no longer creates special YDWE local variables that are not needed for this function
  • GUI function "Exit From Loop" no longer inserts the stub function "DoNothing" before itself
  • Added GUI triggers category [Will Be Removed]
    • Which will contain old YDWE functions for which analogues have appeared. These functions will be removed in the following patches, so if you use them, you should replace them before switching to new versions of YDWE so that the map opens and save without errors.
      Added file "Will Be Removed.txt" in main ydwe folder, it contains the names of jass functions that will be removed in next patches.
  • Now almost all GUI functions which create objects like "Create Unit" do not use bj functions for set bj variables like "bj_lastCreatedUnit"
    • Instead, they immediately set the variable like this: set bj_lastCreatedUnit = CreateUnit()
      Old functions marked as [Will Be Removed]
  • System [Damage Engine] changes:
    • Function "Damage Engine - Damage Target" boolean parameter "anti-recursion" has been changed.
      Recursion is when you decide to deal new damage in a damage event, resulting in an infinite loop (unit takes damage - deal damage - unit takes damage)
      Classic Damage Engine allowed only disable damage event for the next damage dealt.
      Now damage event is not disabled for the next damage, but next damage cant launch another next damage in damage event, and despite the fact that next damage will work before old damage completely completes its actions, old damage parameters (damage type/damage) are now saved.
      Which allows for correct damage calculations and damage types for the first and second damage dealt.
  • Some names of GUI functions that were the same or similar have been slightly changed
  • Added new GUI functions:
    • Events
      • [Unit] Unit Enters or Leaves Rect
        Each time you use the "Enters/Leaves. Rect" event, you create a new Region for which the specified Rect will be used
        So if you need both events for the same Rect, you can use this function and save on creating one Region. It is also faster than specifying the same region twice
      • [Unit] Any Unit Moves Item In Inventory
    • Actions:
      • [Unbelievable] Select All Units In Rect
    • Calls:
      • Create Sound
      • Create Sound Filename With Label
      • Create Sound From Label
    • Presets:
      • [Integer] Item Moved In Inventory - Start Slot Number
      • [Integer] Item Moved In Inventory - Target Slot Number
      • [Item] Last Item Moved In The Inventory
  • Added new GUI lessons:
    • Stack & Unstack Items
  • Demo map "Damage Engine" has been updated
  • Added null gui presets:
    • No Fog State
  • Added categories for conditions
    • Sound
    • Item Pool
    • Unit Pool
    • Player Group
    • Special Effect
    • Timer Dialog
    • Unit Group
    • Leaderboard
    • Multiboard
    • Text Tag
    • Lightning
    • Image
    • Fog State
    • For Modifier
    • Quest
    • Quest Item
I think it's cringe if you can't even determine "group == null" or not


[YDWE PK Edition 1.8+ versions]

I'm tired of this ridiculous design on the site, so you can find all the other changelogs in the file "Changelog.txt" or here in the comments



  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)

[YDWE PK Edition 1.8.4]
- Added new plugin "Dark Mode" Which enables the dark visual theme inside ydwe if you have the dark theme enabled in win 10 or higher.
darkmode.png
  • Running non-Reforged wc3 via YDWE no longer changes the player local name.
  • Launch a map test in Reforged mode no longer locks the editor while the game is running.
  • Using functions from the GUI [Jass] category no longer adds a trigger to the exception for "Fast Map Save Plugin"
  • Added new GUI function "Ignore "Fast Save Plugin" which is used to prevent the current trigger from participating in accelerated map saving.
  • Reduced comment spam for the "Fast Map Save" plugin.
  • Options for the "Fast Map Save Plugin" have been shifted slightly to the right.
  • Added tooltips for object/game constant fields. Windows currently too small, i know.
  • GUI categories [Unbelievable] and [Jass] sorted a little lower.

Password: YDWE

Eng
Ru
 
I am operating on 1.27b and i am going to try this editor right now I wonder if its going to open my map. So first what i got after l tried to load the map was:This map has been saved by a more recent version of the editor. It may contain data which are not supported in this version. Continue loading map? Yes

It works and it works very good it looks like updated version of normal Warcraft 3 Editor that is even able to adjust to the Windows theme (I use dark theme so the editor is dark too). It does not supports my Polish language(that the game is installed) but English is ok too.. Where is the link to the source code of it?
 
Last edited:
I am operating on 1.27b and i am going to try this editor right now I wonder if its going to open my map. So first what i got after l tried to load the map was:This map has been saved by a more recent version of the editor. It may contain data which are not supported in this version. Continue loading map? Yes
That error message seems to be normal because you're trying to open the map that was saved with higher patches.

As long as you don't try to open the map that was made with 1.32+ (there's even a disclaimer in Map Description, stating that you can only use YDWE on a map if it was accidentally saved with the normal Reforged World Editor), you should be fine.

Also, if you attempt to open a map that was originally made with the Reforged World Editor (or 1.31), but was adapted to be compatible with older patches (1.26-1.27) by using the Drake53's tool, one may experience a small bug where neutral units' owner becomes messed up due to the expansion of player slots (12 vs 24).
 
I make Altered Melee project. But you don't have AI editor. You said the editor have more possibilities. Can you post a framework or sample with at least one full working melee AI on gui/jass? Like standard or better.
Any custom AI is a huge system that requires a lot of thought.
I believe wc3 exists for custom maps, not for the melee mode, so naturally I have no desire to get involved in that.
But I'm sure that if someone really wants to, they can create an AI system using triggers, and it could even potentially be better than the AI editor.
Evidence of this is provided by old Dota maps with AI bots and some other maps.
I would recommend you try other genres, for example, ORPGs, there the enemies don't have AI, but bosses can have strong abilities and phases, which makes fighting them very interesting.
Also, you have to be realistic: if you need an AI editor, there's no reason to use YDWE, where most of the benefits are related to GUI triggers and Jass. For melee, you don't even need map save/load accelerators.

So first what i got after l tried to load the map was:This map has been saved by a more recent version of the editor. It may contain data which are not supported in this version. Continue loading map? Yes
This notification doesn't mean much, if the map opened successfully and the editor didn't crash, then everything is fine.

Where is the link to the source code of it?
I don't use github so I can only provide the original source code without my changes.
 
But thats the Chinese version not the one that you have posted here. So if you dont use github where can i find the link to source code of your version and the tools to upgrade it? Can you please post it here? I also noticed that my standard Word Editor has changed the text on light green color after i started to use your tool so i think its some kind of a small bug to fix.
 
So if you dont use github where can i find the link to source code of your version and the tools to upgrade it? Can you please post it here?
I wouldn't mind if someone taught me how to use git, I'm definitely not going to update the archive on Google Drive after every change.

I also noticed that my standard Word Editor has changed the text on light green color after i started to use your tool so i think its some kind of a small bug to fix.
This is not a bug, just editors use the same Registry Keys.
YDWE changes the colors to look correct when using Dark Mode, but if you disable Dark Mode and restart YDWE, the colors should return to the classic ones, except the Custom Code will remain purple.
But ok, now the colors will reset when YDWE closes. I've reuploaded all versions.
Nobody even thought about it because YDWE is the only correct World Editor in China.
 
This editor has an unlocked doodad limit or something right (like JNGP had). At least I can't open my old map with the regular reforged editor at all and with this one it works fine. Is it possible to use reforged terrain tiles with the grass embedded into it while using this editor? Maybe a stupid question but it saves a lot when doing terrain that you don't have to spam grass objects everywhere, it is one of the features I actually really like in reforged. Or is this supposed to not include anything from reforged at all?
I became sort of fed up with the reforged editor crashing a lot more for me than the previous game/editor versions.
 
I am asking and i think not only me
Trust me, no one needs this except you. This is the same original but with a few more crutches.
YDWE

This editor has an unlocked doodad limit or something right (like JNGP had). At least I can't open my old map with the regular reforged editor at all and with this one it works fine. Is it possible to use reforged terrain tiles with the grass embedded into it while using this editor? Maybe a stupid question but it saves a lot when doing terrain that you don't have to spam grass objects everywhere, it is one of the features I actually really like in reforged. Or is this supposed to not include anything from reforged at all?
I became sort of fed up with the reforged editor crashing a lot more for me than the previous game/editor versions.
I don't know anything about this thing, but I'm sure you can only use Jass functions from Reforged here.
It's a classic editor and it uses older versions of wc3 with an older data format.
Providing full support for Reforged will require experienced developers. And if need to make a 64-bit version, it will be even more difficult.
 
I am already using the new version (1.8.4). Everything is working properly for me.

Something I would like to see in a future version is the possibility of using "null" as an argument for functions in the "jass" category.

It is currently possible, but only if I type it manually and there is a valid previous argument. for example, "0.50, null". Which is impractical in some situations.
 
I cand find the way to debug the code. Can u help me out a little?
I don't know how to debug anything, if it compiles successfully then everything is fine.

It is currently possible, but only if I type it manually and there is a valid previous argument. for example, "0.50, null". Which is impractical in some situations.
Just use (null) instead of null
Technical limitations
 
So, we've got an new incredible plugin, but there's a catch.
Currently, there's no way to translate it from Chinese, and there's a good chance it never will.
There is not much text here at all and I think you can get used to it in a couple of days.
So I'm asking if you want to receive it now in its current form?
 
My anti-virus (Webroot) marks the file YDWE 1.8.4\compiler\jasshelper\clijasshelper.exe as a trojan (W32.Trojan.Gen) :/
13/62 security vendors flagged this file as malicious
Popular threat label trojan.misc Threat categories trojan
AhnLab-V3 Malware/Win.Generic.C5803180
Antiy-AVL Trojan/Win32.Yomal
Avast Win32:MalwareX-gen [Misc]
AVG Win32:MalwareX-gen [Misc]
Cynet Malicious (score: 99)
Fortinet W32/PossibleThreat
Google Detected
Malwarebytes Malware.AI.3976464374
MaxSecure Trojan.Malware.300983.susgen
Sangfor Engine Zero Virus.Win32.Save.a
Sophos Generic ML PUA (PUA)
Varist W32/ABTrojan.XOCX-3332
VBA32 Trojan.Wacatac

hopefully it's a False Positive?
Should be the already known false positive, because Newgen modifies executables of wc3.
 
Last edited:
Last edited:
so whats the solution after downloaded its say malware and stops download is that normal ?
I frequently run online scans on my PC with various AV.

None of them detected anything critical with YDWE PK. The most I had to do was remove YDWE.exe from quarantine, just as I've had to do with JNGP and SharpCraft.

The same criticisms made in the comments above were also made many years ago with other tools. To this day, no one has proven that these tools were malicious.

People only know how to complain. No one offers to help develop these tools to overcome these limitations.
 
None of them detected anything critical with YDWE PK
Are you saying you don't believe that my antivirus reported that file as a trojan...? Do you want a screenshot? Different AV programs will have different detection rules, and are constantly being updated.
People only know how to complain. No one offers to help develop these tools to overcome these limitations.
I mean, I'm just looking for information here. Is it safe or not? Or do you not know with 100% certainty?

As a noob user, how would I offer to help with a tool when I'm not even sure if I should run it? That'd be like if a company said that people only complain about their product and don't offer to develop it for them. It's the developer's responsibility to develop the product...

Reading through the comments in this thread, apparently Enemy1PK hasn't even provided the source code to their edited version...so how is anyone supposed to contribute?

(P.S., in the original YDWE, clijasshelper.exe is also marked as a trojan (same hash too, so it's the same file) - so Enemy1PK might not be able to confirm it's safe either, and we just have to trust that the original release was not malicious...)
 
Are you saying you don't believe that my antivirus reported that file as a trojan...? Do you want a screenshot? Different AV programs will have different detection rules, and are constantly being updated.
No. 14 years ago I used Panda Dome antivirus. At the time it detected the JNGP executable as a trojan. From then on I ran JNGP in a sandbox for several years and it never showed any malicious behavior. Something similar happened when I migrated to Sharpcraft and used Kaspersky Total Security. No malicious activity was detected either.
To date I have also had no problem with YDWE PK. If I had, I would have already commented here.

As a noob user, how would I offer to help with a tool when I'm not even sure if I should run it? That'd be like if a company said that people only complain about their product and don't offer to develop it for them. It's the developer's responsibility to develop the product...
We're not talking about companies, but about people who are voluntarily trying to help keep an old game community alive.

Reading through the comments in this thread, apparently Enemy1PK hasn't even provided the source code to their edited version...so how is anyone supposed to contribute?
Enemy1PK is developing a modified version of YDWE, a Chinese software, to make it accessible to users who don't speak Chinese. He has repeatedly asked for help developing this software, as well as custom maps he has created, but no one has been willing to assist him.

(P.S., in the original YDWE, clijasshelper.exe is also marked as a trojan (same hash too, so it's the same file) - so Enemy1PK might not be able to confirm it's safe either, and we just have to trust that the original release was not malicious...)
Yes. As with any program we use that isn't open source or we don't know how it works.
 
He has repeatedly asked for help developing this software, as well as custom maps he has created, but no one has been willing to assist him.
Maybe it's time Enemy1PK learn git and put the source on github...heck, you don't even really need to know git to upload it as-is

Here, I'll make it easy:
 
I just wanted to say—

I’m really happy to have an additional editor to work with. Once I discovered I could run two map editors at the same time, it honestly made things much easier compared to the old workflow I was using.

@Enemy1PK, thank you again for your effort and dedication—please keep it up.

As for the antivirus warnings, it’s unfortunate that some tools get flagged as false positives. Hopefully that gets resolved over time, but I appreciate the work regardless.
 
If you think I have enough knowledge to create viruses, then you are clearly overestimating me.
I only know Jass well, and I don’t plan to develop as a programmer, it was just necessary for what I was interested in - creating maps.
I'm also an exceptionally good person and therefore see no point in harming anyone.
I view the world as a gamer; if you use cheats, what's the point? I want to achieve everything myself.
Besides, considering how much I tried to contribute to the wc3 community, and how upset I was people were idiots who didn't understand obvious things, don't you think it's quite naive to think that after so much effort I'm capable of any betrayal?
And yes, my YDWE PK source files were provided here in the comments, I don't think I've changed anything since then.

What about the original authors?
I've been using YDWE since around the beginning of 2022 and have never encountered any problems with it.
I can say that I completely trust them, including the author of the last two cool plugins, because he already has a large audience in QQ, and people don’t just appear out of thin air.
I'll even tell you more: in all my time in the wc3 community, I don't remember anyone creating viruses, so I think you can trust people here, of course, if the person has been here for a long time and didn't create an account a week ago.

Personally, I've already gone through this path as a beginner, and thanks to classic YDWE, I created a good map entirely using GUI.
You can't do anything while you're shaking in fear, success always comes to those who take risks.
Although in this case it is unfair to talk about any risks, because I have already taken the risk for you, I was the first and only one who tried this editor.
Therefore, if you are afraid, you can trust your fear, this is also an option.
 
If you think I have enough knowledge to create viruses, then you are clearly overestimating me.
I only know Jass well, and I don’t plan to develop as a programmer, it was just necessary for what I was interested in - creating maps.
I'm also an exceptionally good person and therefore see no point in harming anyone.
I view the world as a gamer; if you use cheats, what's the point? I want to achieve everything myself.
Besides, considering how much I tried to contribute to the wc3 community, and how upset I was people were idiots who didn't understand obvious things, don't you think it's quite naive to think that after so much effort I'm capable of any betrayal?
And yes, my YDWE PK source files were provided here in the comments, I don't think I've changed anything since then.

What about the original authors?
I've been using YDWE since around the beginning of 2022 and have never encountered any problems with it.
I can say that I completely trust them, including the author of the last two cool plugins, because he already has a large audience in QQ, and people don’t just appear out of thin air.
I'll even tell you more: in all my time in the wc3 community, I don't remember anyone creating viruses, so I think you can trust people here, of course, if the person has been here for a long time and didn't create an account a week ago.

Personally, I've already gone through this path as a beginner, and thanks to classic YDWE, I created a good map entirely using GUI.
You can't do anything while you're shaking in fear, success always comes to those who take risks.
Although in this case it is unfair to talk about any risks, because I have already taken the risk for you, I was the first and only one who tried this editor.
Therefore, if you are afraid, you can trust your fear, this is also an option.
Please keep doing what your doing, thank you for bringing this Editor to us!
 
Glad to see you're still around. Since you're here, I have 2 questions:

If I disable JassHelper and enable Reforged Functions so that I can write in Lua, will the maps I save in YDWE PK still be openable by older World Editor versions? In particular, I'd like for others to still be able to open my maps in 1.27b's.

Let's say that, after all you've said, I am still afraid - will the editor still work fine if I delete clijasshelper.exe?

And yes, my YDWE PK source files were provided here in the comments, I don't think I've changed anything since then.
Took a while to locate, but I finally found the Google Drive link with your modified source. That's okay, but still not particularly useful for collaboration. The stuff I said about you releasing the source code was so that people could help you improve the project/keep it alive.

I wouldn't mind if someone taught me how to use git, I'm definitely not going to update the archive on Google Drive after every change.
I still really, really recommend uploading to github unless you don't want anyone to help develop it. You can upload via drag-and-drop without even knowing anything about git. I also posted that 5 hour git tutorial not in jest - it's actually what I used to learn git myself to a point where I didn't have to look up commands anymore, and is the best tutorial for it that I know of (it was initially recommended to me by others).

What about the original authors?
Since the hash value of clijasshelper.exe matches the one from the original developers, I was more concerned about whether I can trust them, not so much you.

in all my time in the wc3 community, I don't remember anyone creating viruses

Although I can't remember getting any malware per se related to Warcraft 3 off the top of my head, I do remember someone on battle.net stealing my CD key once in a scam involving I guess a bot they were using or something (I had to write a letter to Blizzard to get them to mail me a new CD key); and outside of that, let's just say I was burned one too many times by malware as a kid.



Since nobody here seems particularly concerned about this or other mod tools like JNGP being marked as malware, I'd still like to try running this (maybe in a sandbox for a while), because I do want to be able to write things in Lua and yet still have my maps be openable by an old editor (and this seems to be a promising avenue for that), in addition to utilizing other features it has like opening multiple editors at once.
 
Glad to see you're still around. Since you're here, I have 2 questions:

If I disable JassHelper and enable Reforged Functions so that I can write in Lua, will the maps I save in YDWE PK still be openable by older World Editor versions? In particular, I'd like for others to still be able to open my maps in 1.27b's.

Let's say that, after all you've said, I am still afraid - will the editor still work fine if I delete clijasshelper.exe?


Took a while to locate, but I finally found the Google Drive link with your modified source. That's okay, but still not particularly useful for collaboration. The stuff I said about you releasing the source code was so that people could help you improve the project/keep it alive.


I still really, really recommend uploading to github unless you don't want anyone to help develop it. You can upload via drag-and-drop without even knowing anything about git. I also posted that 5 hour git tutorial not in jest - it's actually what I used to learn git myself to a point where I didn't have to look up commands anymore, and is the best tutorial for it that I know of (it was initially recommended to me by others).


Since the hash value of clijasshelper.exe matches the one from the original developers, I was more concerned about whether I can trust them, not so much you.



Although I can't remember getting any malware per se related to Warcraft 3 off the top of my head, I do remember someone on battle.net stealing my CD key once in a scam involving I guess a bot they were using or something (I had to write a letter to Blizzard to get them to mail me a new CD key); and outside of that, let's just say I was burned one too many times by malware as a kid.



Since nobody here seems particularly concerned about this or other mod tools like JNGP being marked as malware, I'd still like to try running this (maybe in a sandbox for a while), because I do want to be able to write things in Lua and yet still have my maps be openable by an old editor (and this seems to be a promising avenue for that), in addition to utilizing other features it has like opening multiple editors at once.


So, I checked the copy of clijasshelper.exe that's included in https://www.hiveworkshop.com/threads/jass-newgen-pack-official.290525/ *, and its hash is the same as the one in YDWE/YDWE PK; so, assuming that jasshelper/JNGP stuff came before these editors, that means the malware flag is on them and (at least in that thread) has already been said by a number of people to be a false alarm. So, that gives me a bit more confidence that it's okay.

*not important, but, apparently this isn't the latest version? Apparently the latest version is 2.0 and is/was somewhere offsite?

(I'm ofc still curious about the other things I wrote in my big post re: opening maps and github 🙏)
 
If I disable JassHelper and enable Reforged Functions so that I can write in Lua, will the maps I save in YDWE PK still be openable by older World Editor versions?
Only the Reforged Editor can break compatibility with older patches. This is because Reforged changed some file types within the map. YDWE requires 1.26-1.27 to run, so the maps will always remain "old."
I think you can actually delete the file responsible for checking Jass syntax and then write in Lua, but I haven't tried it.
However, as I said above, your map will remain in the "old" form, which means that it will not have a file with a lua script, only ".j"
You can create a .lua file, but the map script will still be written in .j so you'll probably have to make more crutches than you think.
This could also theoretically affect the operation of Frames if they require any in-map files.

Took a while to locate, but I finally found the Google Drive link with your modified source. That's okay, but still not particularly useful for collaboration. The stuff I said about you releasing the source code was so that people could help you improve the project/keep it alive.

You have the source code, and if a miracle happens and someone wants to continue development, nothing stops you from doing everything conveniently via GitHub.
im-tired-boss-the-green-mile-v0-88a86m63iecg1.webp

Since the hash value of clijasshelper.exe matches the one from the original developers, I was more concerned about whether I can trust them, not so much you.
Anyway i don't believe that people who spent about 10 years creating and improving YDWE would bother with any viruses.
 
You can create a .lua file, but the map script will still be written in .j
How can people run maps that I add Lua to on older game versions like 1.27b that don't have Lua support? Is the Lua I write in YDWE PK automatically converted to Jass? Or do those older versions actually secretly support Lua but just not expose it in their editors, or...?

Basically, I'm looking for the ability to write triggers and stuff with Lua, but for it to still work on older game versions somehow (such as by being automatically converted to Jass).

Someone else acted like that was possible with YDWE PK. Is it?
 
How can people run maps that I add Lua to on older game versions like 1.27b that don't have Lua support? Is the Lua I write in YDWE PK automatically converted to Jass? Or do those older versions actually secretly support Lua but just not expose it in their editors, or...?

Basically, I'm looking for the ability to write triggers and stuff with Lua, but for it to still work on older game versions somehow (such as by being automatically converted to Jass).

Someone else acted like that was possible with YDWE PK. Is it?

If you write your triggers in Lua, it will not be possible to maintain compatibility with older versions even with YDWE PK.

Some people don't use YDWE PK because they think they won't be able to use Lua triggers in that editor. It is possible, but only if the reforged version of the game is used.
 
Im testing that plugin - so how do u activate it? On your Youtbue movie I see its already active but as long as I was following the instructions and unpack the files in my Warcraft 3 directory i dont see any changes from that plugin besides one. My normal Warcraft 3 editor is completely blocked and doesnt want to open now and to make it work again i must to remove those 2 files from Warcraft 3 game directory and turn on your editor so it will restart the game editor and make it work again. I noticed also in ur editor there is a Config option and i look into the Plugins tab but couldnt find that chinese version there. Maybe it depands from the game version. I am operating on 1.27b at the moment.
 
Last edited:
Im testing that plugin - so how do u activate it? On your Youtbue movie I see its already active but as long as I was following the instructions and unpack the files in my Warcraft 3 directory i dont see any changes from that plugin besides one. My normal Warcraft 3 editor is completely blocked and doesnt want to open now and to make it work again i must to remove those 2 files from Warcraft 3 game directory and turn on your editor so it will restart the game editor and make it work again. I noticed also in ur editor there is a Config option and i look into the Plugins tab but couldnt find that chinese version there. Maybe it depands from the game version. I am operating on 1.27b at the moment.
Okay, I get it, the author has decided to make the plugin paid. 100 Chinese yuan per month.
Considering that the YDWE authors did much more and didn't charge anything in return, and this person didn't even translate plugin into English, I recommend you don't donate to him, no matter what.
You know, I have nothing against supporting map or software authors, but I still think that this method was dirty. They could have simply created new versions with improved functionality and made them paid, but left the old versions at least as a demo version.

I'll also remove the video and any mention of this plugin, because if the author wants money for their plugin, then I have the right to ask for money for advertising their plugin.
In any case, he lost my respect.
 
Last edited:
Back
Top