This tool began as a small app for working with L2 client quest files and has evolved into a full-fledged .dat editor with additional functionality. L2w_tool is written in Rust and does not depend on any other common L2 software, such as l2encdec or ACME tools. However, it does rely on OpenSSL development libraries, making compilation for Windows a hassle. (There are plans to replace OpenSSL with a pure Rust solution.)
The main idea behind this software is to consolidate .dat files and work with the final game entities, rather than managing multiple files simultaneously, as in L2DatEditor.
Define path to system folder in settings
Optionally define path to quest scripts folder
Press Entity Catalog top menu button to open entity catalog
- Skill (skillsoundsource,msconditiondata, skillname, skillgrp, skillsoundgrp )
- Npc (npcgrp, additionalnpcgrpparts, npcname-ru, mobskillanimgrp)
- Quest (questname)
- Recipe (recipe)
- Items (additionalitemgrp, itemstatdata, item_baseinfo, itemname)
- Weapon (weapongrp)
- Armor (armorgrp)
- Etc (etcitemgrp)
- Item Set (setitemgrp)
- Hunting Zone (huntingzone)
- Weapon Enchant Effect
- Armor Enchant Effect
- Ensoul
- Instant Zone
- Daily Missions (onedayreward)
- Map Regions (zonename, minimapregion)
- Raid Info (raiddata)
- Lifestone Options
- Animation Combo (animationcombo)
- Residence (castlename)
- .dat enc/dec, ser/de
- Autosave opened tabs (to .asave file, Bincode format)
- Import/Export for Entities (in Ron format)
- Search by:
- IDs
- ID ranges (r:START-END, r:START)
- Custom fields (mesh:String, texture:String, effect:String, rb: u32(RaidId) )
- String dats editor
- Npc Strings (npstring)
- System Strings (sysstring)
- System Message (systemmsg)
- Server Name (servername)
- Graph based quest step editor
- Modified status for opened Entities
- Delete Entity
- Modified/deleted status in catalogs
- In app logs
- Search history
- Quest script template generation + editor
- Dump all entities to .ron
- Scripts (rhai lang)
This software displays NPC spawns on the game map. The spawn data is parsed from XML files that follow the common L2J schema.
<!ELEMENT list (spawn|territory)*>
<!ELEMENT spawn (debug|territory|npc|point|territoryName)*>
<!ATTLIST spawn
group CDATA #IMPLIED
respawn CDATA #IMPLIED
count CDATA #IMPLIED
respawn_random CDATA #IMPLIED
period_of_day CDATA #IMPLIED
maker CDATA #IMPLIED>
<!ELEMENT debug (#PCDATA)>
<!ATTLIST debug
name CDATA #IMPLIED
val CDATA #IMPLIED>
<!ELEMENT territory (banned_territory|add)*>
<!ATTLIST territory
name CDATA #IMPLIED
name_debug CDATA #IMPLIED
superPoint CDATA #IMPLIED>
<!ELEMENT territoryName (#PCDATA)>
<!ATTLIST territoryName
name CDATA #IMPLIED>
<!ELEMENT banned_territory (add)*>
<!ELEMENT add (#PCDATA)>
<!ATTLIST add
x CDATA #REQUIRED
y CDATA #REQUIRED
zmin CDATA #REQUIRED
zmax CDATA #REQUIRED>
<!ELEMENT npc (set)*>
<!ATTLIST npc
id CDATA #REQUIRED
max CDATA #IMPLIED>
<!ELEMENT set (#PCDATA)>
<!ATTLIST set
name CDATA #REQUIRED
value CDATA #REQUIRED>
<!ELEMENT point (#PCDATA)>
<!ATTLIST point
x CDATA #REQUIRED
y CDATA #REQUIRED
z CDATA #REQUIRED
h CDATA #IMPLIED
superPoint CDATA #IMPLIED>
Define path to folder with spawn files in settings
Press Spawn Viewer top menu button to open spawn viewer window
- Show spawns for NpcId
- Show spawns in selected region
- Draw polygon and display in:
- Spawn format
- Zone format
- Custom format
- Draw multiple polygons
- Show spawn walk paths
- Map layers (for dungeons/towers)
- Z coord from geodata
- Parallel save to .dat
- Add confirmation at skill enchant deletion
- Get rid of openssl dependency