Jump to content

Recommended Posts

Posted

Work but can't edit l2.ini  (work with glory days, lindvior but not work with Epeisodion , Valiance)

yes you can edit the l2.ini

 

btw if you want to play the official server with a custom l2.ini or user.ini etc..., you will need a patched l2.exe so you do not get an error.

 

You could also create a file with the extension .cmd, for example l2.cmd and add this

 

start L2.exe -INI=l2x.ini -USERINI=Userx.ini -ng

 

then create 2 files l2x.ini and Userx.ini (if you want infinite zoom and more stuff) and copy the information of the original files inside.

Finally rename the file l2.bin to l2.exe.

 

You can now edit the custom userx.ini l2x.ini with notepad and without modifying the original files (use the l2.cmd to run the game).

 

example with infinite zoom and CacheSizeMegs=128

Posted (edited)

Thank you very much :)

 

If you are interested to teach / explain how to make those DDF files I am interested !

 

I listed there the files missing / not updated yet :) 

 

AbilityPoint.dat

ActionName-e.dat (got a strange output, but working)

AdditionalJewelEquipEffect

AdditionalNpcGrpParts

AdditionalSoulshotEffect

Edited by ptitlaby
Posted

Thank you very much :)

 

If you are interested to teach / explain how to make those DDF files I am interested !

 

I listed there the files missing / not updated yet :)

 

AbilityPoint.dat

ActionName-e.dat (got a strange output, but working)

AdditionalJewelEquipEffect

AdditionalNpcGrpParts

AdditionalSoulshotEffect

 

Copy ActionName-e data in excel is better to edit, from FileEdit is a total mess.

 

AbilityPoint.dat, AdditionalJewelEquipEffect, AdditionalNpcGrpParts and AdditionalSoulshotEffect this files are new in valiance so i need to make them from 0, It's a little more difficult.

 

About how to fix a ddf. here some tips

 

1) you need to read the l2disarm manual inside L2FileEdit\data\l2asm-disasm fold (do not continue until you understand)

 

2) Generally from a chronic to another, the ddf structure changes little, they often remove or add extra fields only. I will not explain much here just pay attention to the error in the FileEdit out, for example:
    | File scan error:
| | Row: 0/7180
| | Field: 26/70 (name: m_HumnFigh)

So before the field 26 you need to figure out what is missing or what to delete in ddf...

 

anyway to make a ddf from 0 you can start with the structure we will see below. Make a ddf file with the name of the data file than you want, for example hairExName-e.ddf and copy this.

FS = "\t"; 
HEADER = 1; 
RECCNT = 1; 
MTXCNT_OUT = 1; 
MATCNT_OUT = 1; 
ORD_IGNORE = 0; 
{ 
   UINT ROWS_NUM;
   CHAR UNK[200]; // <--- you can edit this value (200) if you need more or less info
}

We will always focus on the first row. for this, we need to set the option RECCNT to 1 (set it back to -1 when we are done).

the output will be a series of numbers that will have no meaning. The first number has to be ignored, this number tells the FileEdit, how many rows has the data, and only appears when the option RECCNT is set with a value other than -1 (this number will bring us a lot of problems later).

Now your job is to look for patterns like those shown in the table below. Up to you, find out what type these numbers belong (INT, HEX, FLOAT, UNICODE, ASCF, etc..)

 

211rx1z.png

 

So an INT type, is formed by 4 CHAR so the tags id and id2 could be 

//(the U before INT, means it is a unsigned number)
UINT id; 
UINT id2; 

The tag  "Name" is easy to recognize as a unicode, the first 4 numbers (a INT = 30) are the header, so the next 30 numbers form words ("Devoted Macho A") So we will use this

UNICODE Name;

The tag "html_color" is not so easy to recognize becose the header is a CHAR number in this case 80. The first 80 numbers form words, usually ends with the number 0.

ASCF Html_Color;

our final ddf would have the following structure

FS = "\t"; 
HEADER = 1; 
RECCNT = -1; 
MTXCNT_OUT = 1; 
MATCNT_OUT = 1; 
ORD_IGNORE = 0; 
{ 
   UINT id;
   UINT id2;
   UNICODE Name;
   ASCF Html_Color;
}

this would be an easy example. But there are cases where ddf structure is very complicated and the information we obtain from the first row will not be enough.

For these cases we will try to get the basic structure, same way as we did above, then set RECCNT to 2 3 ... n until we find errors like

    | File scan error:
| | Row: 20/7180
| | Field: 26/70 (name: m_HumnFigh)

and so modify the dff with new information from these errors.

 

PD: I forgot to mention, how to evade value containing the row number, well I'll just say, it is necessary to use the function "ENBBY", if you learn to use this function, you can do anything (Manual).

Posted

Thank you very much for this little guide, there are far more information that what I ever find on the internet.

 

I will try my best so, if I post anything that will be because I mastered it :D

  • 4 weeks later...
Posted (edited)

yes you can edit the l2.ini

 

btw if you want to play the official server with a custom l2.ini or user.ini etc..., you will need a patched l2.exe so you do not get an error.

 

You could also create a file with the extension .cmd, for example l2.cmd and add this

 

start L2.exe -INI=l2x.ini -USERINI=Userx.ini -ng

 

then create 2 files l2x.ini and Userx.ini (if you want infinite zoom and more stuff) and copy the information of the original files inside.

Finally rename the file l2.bin to l2.exe.

 

You can now edit the custom userx.ini l2x.ini with notepad and without modifying the original files (use the l2.cmd to run the game).

 

example with infinite zoom and CacheSizeMegs=128

 

 

that can work in l2.eu core server? i guess there is another way to do it because the only way to open the lineage 2 is via the website... have u ever tryed to do it there?

Edited by charliedvm
Posted (edited)

that can work in l2.eu core server? i guess there is another way to do it because the only way to open the lineage 2 is via the website... have u ever tryed to do it there?

for this to work you need to open the game from the l2.exe, and as you know, is not possible on l2.eu or at least I do not know how :)

Edited by Allengc
Posted

for this to work you need to open the game from the l2.exe, and as you know, is not possible on l2.eu or at least I do not know how :)

patched archives don't work in EU, it gives error when trying to open the L2 so it's impossible to patch and edit the archives, there is a way to edit them (add zoom etc) without patching it? so it will still work?...

  • 2 weeks later...
Posted (edited)

Hello allengc I don't see more online, where are you? anyway what about npcgrp.dat of God En? it can be opened, can you please check? here is npcgrp.dat of English Client Godess Of Destruction, ok thanks a lot for all your support and you have my msn, you can talk me there, thanks.

 

https://www.dropbox.com/s/aoif4aczd9rnhca/Npcgrp.dat

Edited by CriticalError
  • 1 month later...
Posted (edited)

Since few weeks I am having some troubles with the last Skillgrp.dat file from Valiance update  :

 


|   | L:\Lineage II\Tools\L2FileEdit\temp>"l:\lineage ii\tools\l2fileedit\data\l2asm-disasm\l2disasm.exe" -d skillgrp.ddf -e skillgrp-new.ddf dec-skillgrp.dat skillgrp.txt 
|   | 
|   | hL2disasm 1.4.1 by M.Soltys (aka DStuff).
|   | 
|   | File scan error:
|   |   row: 49531 / 89942
|   |   field: 17 / 23 (name: extra_eff)
|   | 
|-->--------------------

Here is the file I am using : http://l2.laby.fr/files/Skillgrp.dat . Does any of you found a solution ? Since It is not occuring on first row, I am not really sure on how this changed

Edited by ptitlaby
Posted

Since few weeks I am having some troubles with the last Skillgrp.dat file from Valiance update  :

 

Here is the file I am using : http://l2.laby.fr/files/Skillgrp.dat . Does any of you found a solution ? Since It is not occuring on first row, I am not really sure on how this changed

 

Since few weeks I am having some troubles with the last Skillgrp.dat file from Valiance update  :

 

Here is the file I am using : http://l2.laby.fr/files/Skillgrp.dat . Does any of you found a solution ? Since It is not occuring on first row, I am not really sure on how this changed

change the line INT newCounter2; to  UNICODE UNK_4; (link updated btw)

Posted (edited)

Since few weeks I am having some troubles with the last Skillgrp.dat file from Valiance update  :

 

Here is the file I am using : http://l2.laby.fr/files/Skillgrp.dat . Does any of you found a solution ? Since It is not occuring on first row, I am not really sure on how this changed

 

I'm using 010 editor to analyze the DAT structure, here is the template I wrote: (You have to make your own template for every DAT)

010 editor is very powerful on analyzing DAT file.

typedef struct {
    unsigned byte unknow;
    if(unknow & 0x40)
        unsigned byte unknow2;
    if(unknow != 0)
        if(unknow & 0xc0)
            wstring s;
        else
            string s;
} ASCF;

typedef struct {
    unsigned int size;
    if (size > 0)
        uchar s[size];
} UNICODE;

typedef struct {
    if(Count != 0){
    local int k;
for(k = 1; k<= Count; ++k)
    UNICODE items[Count];
}

} CNTRI;

typedef struct {
    unsigned int skill_id;
    unsigned int skill_level;
    unsigned int oper_type;
    unsigned int UNK_0;
    unsigned int mp_consume;
    unsigned int cast_style;
    signed int cast_range;
    unsigned int UNK_1;
    float hit_time[3];
    signed int is_magic;
    unsigned int UNK_2[3];
    unsigned int Count;
    UNICODE UNK_B;
        CNTRI ani_char_0;
	CNTRI desc;
    UNICODE icon_name;
    UNICODE icon_name2;
    unsigned int extra_eff;   
    unsigned int is_ench;
    unsigned int ench_skill_id;
    unsigned int hp_consume;
    ASCF nonetext2;
    signed int UNK_4[4];
    ASCF nonetext3;
 
} RECORD;

unsigned int number_of_record;
local int i;
for(i = 1; i<= number_of_record; ++i)
    RECORD r;

 Transformed to DDF:

//early version submitted by Allen (L2Sexi Server)
FS = "\t";
HEADER = 1;
RECCNT = OFF;
MTXCNT_OUT = 1;
MATCNT_OUT = 1;
ORD_IGNORE = 0;

{
	UINT skill_id;
	UINT skill_level;
	UINT oper_type;
	UINT UNK_0;
	UINT mp_consume;
	UINT cast_style;
	INT cast_range;
	UINT UNK_1;
	FLOAT hit_time[3];
	INT is_magic;
	UINT UNK_2[3];
        UINT cnt;
         UNICODE UNK_B;
	UNICODE ani_char[cnt];
	UNICODE desc[cnt];
	UNICODE icon_name;
	UNICODE icon_name2;
	UINT extra_eff;
	UINT is_ench;
	UINT ench_skill_id;
	UINT hp_consume;
	ASCF nonetext1;
	INT UNK_3[4];
	ASCF nonetext2;
}

Edited by syncia

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Posts

    • A lot of people say L2 is dead, and ACIS is still in development. But seriously, you’ve got the skills and knowledge why not make your own game with a clean brand new client from scratch? The only thing missing is client devs, and you can find plenty here or on freelance sites. Stop treating it like a hobby and turn it into something that can actually make money and people happy, you have the name just move forward, even AI can help you script quests, me first I would totally play any game you made similar to l2 anyway 🍪 have one i know you like them
    • Would it be possible to update the guide? The images are offline! 😞
    • In the fast-paced world of digital marketing, having the right tools makes all the difference. If you're searching for a reliable SMM panel Nigeria, GoUpSocial is here to take your online presence to the next level. Built for influencers, marketers, startups, and content creators, our platform is the ultimate solution for smart and scalable social media growth. With GoUpSocial, you get more than just numbers—you get engagement that drives real impact. As a trusted Nigerian SMM panel, we help you gain visibility across top platforms like Instagram, TikTok, YouTube, Facebook, and Twitter—all at the most competitive prices in the market. Experience the Power of the Best SMM Panel in Nigeria We understand that quality matters just as much as affordability. That’s why GoUpSocial has become the go-to platform for users seeking the best SMM panel in Nigeria. Here’s what makes us the preferred choice: 🚀 Real-Time Delivery: Get your orders processed and completed in minutes, not hours. 💼 All-in-One Dashboard: Manage all your campaigns with ease from a clean, simple interface. 💡 Effective Strategies: Our tools are tailored for organic-looking growth and high user engagement. 🧾 Transparent Pricing: No hidden fees—just straightforward, affordable packages. 👩‍💻 Expert Support: Our team is available 24/7 to guide you through every step of the process. Whether you need more followers, likes, views, or overall engagement, our SMM panel Nigeria services deliver measurable and meaningful results. Why We’re the Nigeria Fastest and Cheapest SMM Panel GoUpSocial isn’t just another provider—it’s the Nigeria fastest and cheapest SMM panel built with performance and value in mind. We combine automation, intelligent targeting, and local market understanding to help you scale effortlessly. Need to boost a campaign today? Our platform supports instant order processing, real-time tracking, and localized engagement strategies—making it ideal for any influencer or business operating in Nigeria. Plus, as the cheapest SMM panel in Nigeria, we make sure that even clients with limited budgets can access top-quality services without compromise. A Nigerian SMM Panel Built for 2025 and Beyond As social media algorithms evolve, traditional methods of gaining reach and engagement no longer work. That’s why we’ve built the SMM panel Nigeria 2025—a next-gen platform optimized for today’s challenges. From smart delivery settings to niche-specific targeting, GoUpSocial provides you with every advantage in a competitive digital world. Our system adapts to the latest platform changes, helping you stay relevant, visible, and in control. Looking for a localized service? Our SMM panel for Nigerian followers helps you connect directly with your audience—boosting both credibility and conversions. All-in-One Online Panel in Nigeria for Every Social Goal No matter your objective—brand awareness, follower growth, or engagement improvement—GoUpSocial is the online panel in Nigeria that offers it all. With flexible services, dynamic campaigns, and secure systems, we give you the tools to succeed in a crowded online space. And because we’re committed to your growth, our platform is continually updated to reflect the best practices of modern digital marketing. Take the Leap with the Best Nigerian SMM Panel Ready to grow smarter? With GoUpSocial, you don’t just gain social proof—you build real influence. As the cheapest Nigeria SMM panel, we combine speed, quality, and affordability in one seamless platform. Whether you're an aspiring influencer, a marketing agency, or a brand aiming for greater reach, GoUpSocial is the ultimate Nigerian SMM panel to help you reach your full potential. 👉 Sign up today and unlock the next level of social media growth with GoUpSocial.
    • Lineage2 : Website Download now our System Patch. Registration from 12:00 UTC Time.
  • 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