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

    • hello everyone! I am wanting to save the files (Ini. - Data - ) of the EP5 Client: Salvation... But they generate the error "corrupt files"... I tried several versions of L2FileEditor without good results. I need help! Thank you!
    • Opening December 6th at 19:00 (GMT +3)! Open Beta Test from November 30th!   https://l2soe.com/   🌟 Introducing L2 Saga of Eternia: A Revolution in Lineage 2 High Five! 🌟   Dear Lineage 2 enthusiasts, Prepare to witness the future of private servers! L2 Saga of Eternia is not just another High Five project—it’s a game-changing experience designed to compete with the giants of the Lineage 2 private server scene. Built for the community, by the community, we’re here to raise the bar in quality, innovation, and longevity. What Sets Us Apart? 💎 No Wipes, Ever Say goodbye to the fear of losing your progress. Our server is built to last and will never close. Stability and consistency are our promises to you. ⚔️ Weekly New Content Our dedicated development team ensures fresh challenges, events, and updates every week. From custom quests to exclusive features, there will always be something exciting to explore. 💰 No Pay-to-Win Skill and strategy matter most here. Enjoy a balanced gameplay environment where your achievements come from effort, not your wallet. 🌍 A Massive Community With 2000+ players expected, join a vibrant and active community of like-minded adventurers ready to conquer the world of Aden. 🏆 Fair and Competitive Gameplay Our systems are designed to promote healthy competition while avoiding abusive mechanics and exploits. 🔧 Professional Development From advanced bug fixes to carefully curated content, we pride ourselves on smooth performance, no lag, and unparalleled server quality. Key Features Chronicle: High Five with unique interface Rate: Dynamic x10 rates Class Balance: Carefully fine-tuned for a fair experience PvP Focused: PvP Ranking & aura display effect for 3 Top PvPers every week Custom Events: Seasonal and permanent events to keep you engaged Additional Features:   Custom Endgame Content: Introduce unique dungeons, raids, or zones unavailable in other servers. Player-Driven Economy: Implement a strong market system and avoid overinflated drops or rewards. Epic Siege Battles: Announce special large-scale sieges and PvP events. Incentives for Streamers and Clans: Attract influencers and big clans to boost server publicity. Roadmap Transparency: Share a public roadmap of planned updates to build trust and excitemen   Here you can read all the features: https://l2soe.com/features   Video preview: Join the Revolution! This is your chance to be part of something legendary. L2 Saga of Eternia is not just a server; it’s a movement to redefine what Lineage 2 can be. Whether you’re a seasoned veteran or a newcomer to the world of Aden, we invite you to experience Lineage 2 at its finest.   Official Launch Date: December 6th 2024 Website: https://l2soe.com/ Facebook: https://www.facebook.com/l2soe Discord: https://discord.com/invite/l2eternia   Let’s build the ultimate Lineage 2 experience together. See you in-game! 🎮
    • That's like a tutorial on how to run l2 on MacOS Xd but good job for the investigation. 
    • small update: dc robe set sold   wts adena 1kk = 1.5$ 
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt
  • Topics

×
×
  • Create New...