Jump to content

Recommended Posts

Posted (edited)

this guide will show you how to edit l2 textures and get you started with l2 client modding

 

things you will need -

unreal runtime

l2encdec

l2 file edit

photoshop

photoshop dds plugin (just incase)

umodel

----------------------------------------------------------------------------------

to start out, pick a texture you want to edit. i will be doing this on interlude.

navigate to your systextures folder, and select a texture. in this guide i will be using mfighter (textures of armor/hair face of human fighter male, ffighter for female, etc)

 

create a new folder, and extract umodel in that new folder (sdl dll, umodel exe)

create a bat script with the following code -

umodel -export -all MFighter.utx

after you did that paste (copy your file you want to edit and paste it in the folder with umodel)

57ecfabcdb.png

 

run the bat script and you will see all the extracted content is in your umodel export folder

navigate to umodel export -> mfighter -> texture

here you will see all the textures for human male fighter

 

now, to find the armor you want to edit, you need to know the id of it. this can be found through your l2j server or from finding it in your item name file. in this case, we will be using draconic leather armor (6379)

after you found the id through either method, open armorgrp and find the id of the item (6379)

7472846eef.png

8852d3b061.png

given this info, we know that draconic uses mfighter_m011_u/l for its mesh (animation, shape) and that the texture code for it is t89 (so all other pieces of this armor set is t89, making it easier to search)

 

search for 't89' in your extracted textures

ori = main textures

sp = lighting/specular mask

you usually want to edit only the _ori texture unless it doesnt exist in that case you can edit its _sp texture

 

let's start with the body piece, so open the _u_ori in photoshop (u is or upper, l is for lower, g is for gloves, b is for boots)

454bb721ed.jpg

 

we will start by making a selection around the skin (neck area) so the skin in game doesnt turn into some weird color

use the pen tool (press p or find that icon) to make a selection around it. i personally like using pen because it allows more accurate selections

908d58a9c0.png

d71fbb9c0f.png

the red dot is your starting point and ending point

the blue arrow shows where your next point should be (click+drag to curve)

the green point and arrow shows about where you should end and how you close it

e810beeab2.png

now do the same for the other part

 

when finished, right click and choose 'make selection' and press ok with the default settings

33f6a862a0.jpg

 

press ctrl+J to duplicate the selected parts and deselect your selection (ctrl+d)

6b6b41f785.png

 

 duplicate your background layer by selecting it and pressing ctrl+J

you should be working on the copy layer (select it in your layer panel) in case you mess up

9678606efe.png

 

you can edit your texture in many ways, but i will be showing a very simple way of recoloring your texture. we will be making it blue.

press ctrl+u to bring up the hue/saturation menu

789cdda13c.png

 

slide the hue around to see what different colors you get until you are satisfied. saturation and brightness is not necessary for most cases. editing the hue is more effective without precise selections because it effects the colors more than black/whites

d6d2d97147.jpg

d82f19a646.jpg

 

after you finished changing the hue, noticed that the little 'eyes' on the armor are kinda fucked. we will fix that the same way we did with taking out the skin using pen. after you make your selection, press DELETE and it should look like this

8105063105.jpg

 

finished? save it somewhere (desktop or whatever) as tga or dds (use settings below for dds and default for tga)

51ce4b67fe.png

 

after you saved it, find the _sp file for your armor and copy/paste it in the same area with your edited texture

 

 

open unreal editor (found in where you installed your unreal runtime -> system folder

should look something like

80ebe500ad.jpg

 

go to file -> import

import your 2 files (the ori and the sp)

 

make your settings something like this

package = utx name

group = package within the utx (for organization)

name = name of the file (just leave it)

compression = usually dxt3

8f9ab04167.png

 

if the ori file has a alpha layer (which usually ori files tend to have) right click on it and select properties

4a0d106a4c.jpg

 

expand the surface options and make it alphaTexture=true

this will prevent in game bugs with being invis and teleporting

9fc717a21c.jpg

 

go to file -> new and make the settings similar to that

name = your shader name (i keep it like that to be organized, because that is very important)

notice in armorgrp it ends at _u instead of _u_ori or _u_sp because now you will combine the 2 files in a shader

77e08dc2ab.png

 

diffuse = main texture (usually ori)

opacity = alpha texture (usually ori)

specular = effect (usually a env map)

specular mask = (your _sp file)

self illumination = effect 2 (like a panner or something)

self illumination mask = mask for your 2nd effect (_si)

   * note that self illumination is a bit 'heavier' on the effect because it doesnt take out the blacks in it while specular does

 

fcc5a565ce.png

 

select your main texture in diffuse and press 'use'

repeat for opacity

for specular and specular mask, do the same but select your _sp file

output blend should always be ob_masked IF your shader uses a opacity layer! if you don't use opacity leaving it at normal is fine

twoSided should ALWAYS be true

ace519bab8.jpg

 

next, go to file -> new and here we will create your env map. make the name like env01 or effect or something and the group would be 'effect'. the materialClass should be TexEnvMap

b8087765da.png

 

right click on your empty envMap and select properties if you closed out the window or something. this is about the same as putting your textures into shaders. for the 'material' box, we will create a lighting texture for it to get that glossy effect in game

we will repeat the first few steps with extracting except for a file named cubemaps and goldcubes (found in systextures)

do the same and extract the contents of it

find s-07-1

35353ba93e.png

 

do the same with the hue editing and make it blue EXCEPT use colorize to do it

save file after and import it in your Effects group (use same settings, skip doing the alpha part)

use that as material for your envMap

12bc4aec73.png

 

8ac07e1f57.png

 

go back to your shader and use your envMap for your specular

1a917e0b94.jpg

 

save your file in the same folder you put l2encdec in

after, create a bat script like

l2encdec -e 121 MxcGuide.ukx 

run the bat

you will see enc-TextureName

move the enc- file somewhere else

delete the enc- part so its only TextureName

move it to systextures

 

lazy mans script (warning - badly coded but works) -

SET FILENAME=MxcGuide.utx

l2encdec -e 121 %FILENAME%
DEL /F /Q /A "C:\Program Files (x86)\Lineage II\Interlude\systextures\EXS Textures\%FILENAME%"
MOVE C:\Users\User\Desktop\Texturing\enc-%FILENAME% "C:\Program Files (x86)\Lineage II\Interlude\systextures\EXS Textures\"
cd C:\Program Files (x86)\Lineage II\Interlude\systextures\EXS Textures\
REN enc-%FILENAME% %FILENAME% 

use your own lineage path! this will quicken the process by a lot because it will automatically rename, move and delete the old file (i think path can be a variable but i dont know why it doesnt work maybe i fucked up and im not a bat or code expert but this works regardless)

 

 

OPTIONAL BUT USEFUL --

copy your system

open l2 ini with file edit

copy all the contents in a text file

edit this stuff (make it like this)

IsL2NetLogin=False
IsL2Console=False
..
IsUseCommand=False

save text as _l2.ini or whatever name

create a shortcut of l2.exe but add -INI=_l2.ini at the end of target

 

END OPTIONAL INSTRUCTIONS

 

open file edit and open armorgrp

find 6379

copy the lines for it and paste it at the end of your file and make the id something else (like 16379)

 

edit mfighter.mfighter_m011_t89_u and make it MxcGuide.mfighter_m011_t89_u

save after (encrypt as 413)

"C:\Program Files (x86)\Lineage II\Interlude\SystemDev\L2.exe" -INI=_l2.ini 

open your copy system shortcut (or your local server)

if you use pawnviewer, press tab and type pv to load items

navigate to the bottom to find your new armor

85a139596d.jpg7814c821ff.jpg

 

works! now repeat with legs and gloves and boots

 

resources -

l2decrypt

l2tool

 

-----------------

if needed i can make a video on this

Edited by Lucy Cat
  • Like 1
  • Upvote 1
  • 5 weeks later...
Posted (edited)

thank you for share!it would be great if you could make more guides about client editing!

Edited by aris96
  • 4 weeks later...
Posted

i got problem on this step: select your main texture in diffuse and press 'use'

i add this to diffuse  :Texture"MxcGuide.MFighter.MFighter_m011_t89_u_ori" and i press use and program stucks.I didnt change package or name i did like you

  • 1 month later...
  • 3 weeks later...
Posted

dude did u make video with this tutorial? cause everytime after i paint my armor i and i try to do ur tutorial on unreal i got error or better DC on the program and i rly wanna make all armor S grade on different color

  • 3 weeks later...
  • 2 months later...
Posted (edited)

Thank you for this handy guide Lucy, I'm new to these stuffs, is it possible to change an armor client side? or this Guide is for new .utx to use for new Custom Armors at a server?

 

Thank you again,

George

Edited by The Catalyst
Posted

Thank you for this handy guide Lucy, I'm new to these stuffs, is it possible to change an armor client side? or this Guide is for new .utx to use for new Custom Armors at a server?

 

Thank you again,

George

i dont get what you want to do

Posted

i dont get what you want to do

 

I was wondering If by this Guide you are able to create a new armor with new ID or you can replace the Draconic model (color etc) for the existing Draconic Leather Armor.

As I can see we created a .utx for a specific armor but Lineage2 got alltogether the armors in the FFighter.utx.

 

Can I add the specific utx we created for this specific armor Draconic Armor to replace the already existing Draconic Armor with this specific ID?

If yes I'll need some assistance with the editing of armorgrp so I'll be more than thankfull if you share with me any usefull topic within the forums!

 

I understand that this is a newbies question but I'm trying to learn and understand how the things are working.

 

Thank you for your patience with me,

George

Guest
This topic is now closed to further replies.


  • Posts

    • L2jBayev Chronicle 3: Rise of Darkness – AiEngine Edition In short: this is a C3 build with a full-fledged AI engine, live mercenaries, a built-in quiz, a “personal account” in the Community Board, and server logic neatly distributed across thread pools. The project is about a living world without lags : bots farm, communicate, gather parties, teleport along routes, and the server remains cold and stable.   What's inside (the most delicious) 1) Full-fledged AI engine for characters Behavior types: farming ( FarmAI ), combat ( CombatAI ), party logic ( PartyAI ), trading/walking ( TraderAI / WalkerAI ), support roles (healer, etc.). Class profiles: for mages/archers/daggers, etc., “smart” skill rotations, distance control, sleep/save skills, healing, loot pickup, etc. are implemented (see examples of classes like SpellSingerAI , NecromancerAI , etc.). Self-healing and teleports: when dying, the bot goes through a sequence of steps without sleep()- via AITaskSequence + AITeleportToLocTask , searches for the nearest gatekeeper and teleports via TeleportationManager with routes depending on the level. Auto-support: auto-nipples, arrows/bones, smart auto-proceduring of buffs and auto-banks CP/HP/MP with thresholds - all sewn into the auxiliary EtcPlayersAi . Chat context: ChatManagerAi processes mentions, makes responses with delays (anti-flood), supports party chat and “human” reaction. Understanding: ChatManagerAi system  processes the dialogue, bots remember your aggression and insults, they start to respond less often to modern users, stop accepting or inviting to a group (party) and when it goes beyond the peak they will simply merge you, and every time they see you on the PC, there is an opportunity to measure more often, communicate respectfully and beautifully, in general, a “human” reaction. Why a player/admin needs this: bots actually “live”, farm and interact, and don’t just stand on macros. This is a great background for online and PvE action.   2) Mercenaries (Mercenary system) Full-fledged companion character : L2MercenaryInstance with its own MercenaryAI (movement, attack, support, consumables, shots). Behavior modes: DEFENDER / SUPPORT / PASSIVE - switchable to suit your playing style. Progress and trust: the mercenary's trust/exp/level grows , skills are learned according to the MercenarySkillTree (conditions are based on the trust or level of the owner). Templates and equipment: via MercenaryTemplateTable and spawner - model/weapon/type are selected. Social: MercenarySpeechManager - a set of speeches; the mercenary "comes to life" in the chat. Premium Link: Premium account owners give the mercenary additional trust (faster progress). Why: This is not a dummy pet, but a playful companion with modes, training and “character”.   3) Quiz (event viktorina ) Rounds according to schedule: pre-launch with announcements (minutes/seconds before start), registration .reg, auto-opening of the window. Multiple choice questions: question + set of answer buttons; fair processing, timings, question change. Tops and history: results table, statistics, neat UI via HTML assembly. Flexible control: you can start immediately or set a delayed start (notification package 5/2/1 min, etc.). Why: regular activity for players, “social entertainment” module right in the build.   4) Personal account in Community Board KB managers: buff cabinet, teleports, clans/forums/mail/friends, tops (PK/PvP/wealth/players), character repair, viewing skill trees , etc. Premium logic: some services/mail are limited by premium; premium also affects the visual (nickname color) and bonuses (see effect on mercenary). Single sign-on: all in one place, no team chaos. Why: conveniently manage your character and services without going into the console or installing third-party mods.   Why is the system technically valuable? Minimum load and stability Separated thread pools: AI logic, hunting, teleports, chat - on separate onesScheduledExecutorService ( AI_THREAD_POOL , MONSTER_HUNT_POOL , TELEPORT_POOL , CHAT_POOL ). No "freezing": task sequencers (teleport/recovery) work through the scheduler, not Thread.sleep(). Bot limitation: protection against overload via thresholds/counters - “extra” bots do not start. One bot - one sequence: AITaskManager ensures that the character does not have parallel conflicting tasks. Smoothing out peaks: starting tasks with offsets so that there are no simultaneous “ticks” of hundreds of bots. Monitoring/logs: own loggers (separate files for info/errors/processes/chats), CPU load monitoring. Bottom line: the build is designed for “thick online” and mass activities without TPS failures .   Additional Features Auto-alliances for farming: party logic invites suitable players (checking level/equipment/clan flags), there are “human” responses to requests. Sub/class management: out of the box helpers for changing class/subclass, auto-learning of necessary skills and selection of equipment by level. Security/protection: secondary PIN/picture password support (used in KB/voiced commands; optional). Premium accounts: privileges in KB/mail/visual and synergy with mercenary progress. Ready-made services: tops, auctions/mail, teleports from KB, buff rooms, repairs, viewing skill trees, etc.   Who is this build for? Freeshare/project admins who want a living world “from the pack”: bots and mercenaries provide a constant background of activity. Players who value convenience: personal account, premium services, events and a mercenary companion. Developers who want a clean, predictable backend with thread pools and a neat task model without “magic”.   How it differs from standard assemblies Not macros - AI profiles with “brains”: rotations, positioning, healing, decision making. Not a decoration pet - a mercenary with his own modes, progress, skill tree and lines. Not a faceless gamemod - an event quiz with UI, schedule, tops. No chaos in flows - strict pools, planning and task managers designed for online and growth. No separate scripts - a single personal account in KB for most activities.   TL;DR (one paragraph for the project card) AiEngine C3 is a build with live AI, smart bots, mercenaries (modes/progress/skills), built-in quiz, premium logic and a convenient personal account in KB. Under the hood are distributed thread pools and task managers without sleep(), so even with a dense online the server remains stable and responsive.   Additionally add - there is still a lot of interesting things command .assassin or shift+target (order murder), shift+target for admins on AI characters for control, admin panel is completely rewritten, many additional functions, mercenaries change their appearance depending on trust, deepseek and chatGPT system is connected for communication of characters like real players, GPT - for newer java, there is still a very large list of fixes after the last versions, a lot has been fixed, including height coordinates (Z) geo-Squares, pathfinding, visibility through obstacles, fix pet summons, trade packages, shop packages, many effects, quests (including the original ones like nipples, etc.), Ai behavior of NPC and RB monsters, absolutely all epics have been transferred to AiLoader no longer in python scripts. Attention! The server is suitable for both classic mode and PvP format, as well as with various mods. Absolutely everything is configured in the configurations to suit your taste and purposes of use. It is recommended to launch the server through L2ServerControl (simplifies management and control of processes). Download Servers: Chronicle 3 Server Chronicle 4 Test Upgraded Server Full Desc & screens: Post & Screens c3 Post & Desc c4    
    • 🎃 HALLOWEEN EVENT 🎃   ‼️ Information and details: https://forum.l2harbor.com/threads/halloween-event-fall-harvest-30-10-07-11.8265/post-168620
    • looking for good price adena or account or other things from lu4 black contact me telegram: hankowens or discord: brasca_17563
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock