Jump to content

Recommended Posts

Posted (edited)

L2Homage

Customizing Lineage 2

 

 

Read more about the development process in the initial thread

Initial thread

 

Check out our Discord if you're interested in the project

Discord Channel

 

Download here:

L2Homage 6.1 (Recommended)

Map Files

System Folder (Based on L2Shrine's system folder. Should work well for new projects)

WIKI <-- A work in progress. Includes in-depth install guide, both for server software and tool.

 

Please feel free to post any questions you have in this thread. We also appreciate if you'll post screenshots of your work. We want to see what you make :)

 

Disclaimer and Credits

Spoiler

# Disclaimer
# L2Homage is in no way affiliated with NCSoft or any other company. L2Homage does not claim ownership of any files referred to in this project.
# L2Homage does not own any of the third party tools or images contained in the project.
# L2Homage simply reads and parses data, but provides no data of its own.
# All third party files included in this project are freely available online, and in no way belong to L2Homage or the developers.
# L2Homage and the developers take no responsibility on what you choose to use L2Homage for. You are free to use this project for whatever purpose you have, at your own discretion, except for selling it.
# L2Homage is meant to be completely free. Do not sell this to anyone.
# The user takes complete responsibility for their usage of L2Homage. Whatever you choose to do with this tool is up to you entirely.


# Credits
# Special thanks to the people who helped make L2Homage possible
# L2H wouldn't be here if it wasn't for:
- @eressea, for sharing an awesome extender and for answering a bunch of questions (with more to come, please don't block me on skype)
- @Weedy, for encouraging development, helping with tests and providing great feedback
- @sepultribe, for answering very specific questions and helping with the encryption/decryption setup
- L2Miko, for sharing encryption/decryption and assembling/disassembling tools (https://github.com/L2Miko/L2FileEdit)
- @Rootware, for inspiration for the spawn system and how to present territory data
- @PARADISE, for being the first to tell me this project had a future, as well as answering questions about the L2 coordinate system

- virusfreeturtlecat, for helping with npc fixed position issues

 

# Also thank you to everyone who liked, thanked or upvoted the initial L2H post.
# If you hadn't shown that you were interested, I'm not sure this project would have been continued.
# Thank you,
# -B

 

# Table of Contents:
# -----------------
# 1.0 What is L2Homage
# 2.0 Features
# 3.0 Installation
# 4.0 Usage
# 5.0 FAQs
# 6.0 Roadmap


# 1.0 What is L2Homage
L2Homage is a modding tool meant to make modding L2 OFF files easier. It doesn't do anything you can't do on your own, by editing a handful files.
L2H is an extensive editing tool for both client and server files for Lineage 2 Epilogue.
While still in development, the intention of this project is to provide users with a tool that’s capable of repurposing most of existing ingame content.
This will allow users to rethink and reshape the world of Lineage 2, providing the hordes of burnt out players with new, exciting content, without having to spend hours learning how to manipulate the data structure.
The hope is to see a bunch of unique, new game worlds appear, instead of relaunches of the same L2 experience we’ve all been through too many times to count.

With this tool, you can edit all weapons, armors, misc items (etcs), recipes, npcs, droplists and spawns. The list goes on, and expands as the project evolves.

L2H allows you to very easily edit, replicate or modify a huge of amount of Lineage 2 content - without having to worry about L2OFF data structures, file editors, encryption or decryption.

It's as simple as editing a spreadsheet.


# 2.0 Current Features
- Add, delete or modify weapons
- Add, delete or modify armors
- Add, delete or modify etc items
- Add, delete or modify sets
- Add, delete or modify spawn zones

- Add, delete or modify NPCs
- Add, delete or modify NPC spawns and parameters

- Add, delete or modify Skills

- Add, delete or modify recipes

- Add, delete or modify droplists

- Add, delete or modify shoplists (multisell)

- Modify any stats of any class

- Modify the starting equipment of any class

- Modify the starting location of all classes

- Modify when classes learn skills

- Modify what skills cost or require

- Modify NPC AI Properties (requires .nasc files in data/ai folder)

- Modify system text

- Modify class descriptions and titles

- Modify loading screen text

- Modify hunting areas

- Modify the EULA

- Modify the chat filter

- Modify zone names

- Modify raids list (accessible through in-game map)
- Export server and client files simultaneously, ready for use immediately


# 3.0 Installation

Spoiler

# 3.0 Installation

1. Install L2OFF epilogue server. That can be found here.
2. Grab the L2OFF epilogue script files and geodata (one working source is from the free advext bundle).
3. Install Lineage 2 Epilogue.
4. Download and unpack L2Homage.
5. Copy and paste all the client .dat files into Data/encrypted client files. Client files can be found in your L2 Epilogue System folder.
6. Copy and paste all server script .txt files into Data/server. Server files can be found in the Script folder of your server installation.
7. Download and place all 900x900 Radar map images in the Worldmap folder.

 

Follow the instructions on the WIKI .

 

# 4.0 Usage

Spoiler

# 4.0 Usage

# 4.1 Initializing
1. Open L2Homage.exe
2. Click Load All
3. Agree to decrypt
4. Wait till loading completes

 

# 4.2 Adding weapon, armor, sets, etcs or npcs
1. Find the row of the target you'd like to use as a template
2. Click on any cell in the row
3. Click the "Clone" button in the top
4. Entire row is now cloned, resulting in a new item
5. Edit any variables you want in the new row

 

# 4.3 Adding droplists
1. Click on the droplists tab
2. There are 6 types of droplists.

 

    - Normal
           List of items. Between 0 and all of the items will drop at once.

    - Spoil
           List of items. Between 0 and all of the items will drop at once.
    - Multi
           List of MultiParts. Between 0 and all of the connected MultiPart droplists will trigger.
           Each MultiPart droplist has a chance to trigger on NPC death.
           Writing in an empty cell next to the last MultiPart entry, will create a new multipart droplist with that name, connecting it immediately.
    - MultiPart
           List of items. Each item has a probability to be chosen when MultiPart is triggered.
           MultiPart droplists only drop 1 of the items listed. The items probabilities in a MultiPart droplist therefore has to equal 100%.
    - Extra
           Works like a second Multi droplist. This contains ExtraParts.
    - ExtraPart
           Works like MultiPart. This is where all the herbs are listed.


3. Find the row of the droplist you'd like to clone
4. Click on any cell in the row
5. Click "Clone" button in the top
6. Go to NPC tab, and edit the target droplist of any NPCs that will use your new droplist

 

# 4.4 Adding Spawns
# Spawns are currently limited in functionality. Adding bosses or raid spawns with this method, will probably not work. This will be implemented when L2H starts parsing AI.
# Any 'regular' enemies or npcs should still work completely
1. Select the map you'd like to add spawns to
2. Select the spawn area you'd like to add NPCs to
3. If a map has multiple layers, and the spawn area drawn on the map doesn't seem to fit, click on any of the "Map 0-6" buttons below the map image. You should be able to find the layer that fits
4. Either use the selected spawn area (if it already has an npc_ex_maker attached), or better yet, click "Clone Area" to create a guaranteed functional copy of the spawn area
5. Edit any properties of the spawn area you'd like in the top right corner
6. Click on any NPC in the NPCs list and edit NPC properties in the bottom right corner
7. You can add new NPCs by clicking the "Add Npc" button
8. You can remove existing NPCs by clicking the "Remove Npc" button

 

# 4.5 Adding Recipes

1. Find a recipe item you'd like to make a copy of in the etc list.

2. Clone that item in the etc list.

3. The recipe tied to the new recipe item will now appear in the recipes tab.

 

# 5.0 FAQs

Spoiler

# 5.0 FAQs

# How much will it cost?
L2H will be free, and eventually completely open source. This is not a project created for monetary gain, it’s solely meant to revitalize the stagnating server scene.
If you have paid for this product, someone is tricking you.

 

# 5.1 Which L2 version does it use and why?
L2H is meant to be free, so the server files should be as well.
The most complete, freely available L2OFF files are the Gracia Final/epilogues files, and with Eressea’s extender, it feels nearly bug free.
It’s a very strong, free base to build this project on. This tool would likely follow Eressea's extender.
If she decides to upgrade L2 version, L2H would most likely follow.

 

# 5.2 When will it be done?
This is a side project with a single developer attached.
It won’t be completed fast, but each milestone will be made available to the public, once tested and functional.
The development will be modular, with each version providing new options. If you're interested in helping out, let me know.

 

# 5.3 Which language is L2H developed in?
C#

 

# 5.4 How does L2H work?
Decrypted Lineage 2 client files and server script files are structured in a very specific way, one that can be parsed and edited.
When developers add or remove content to the L2OFF platform, they do this by hand. This often requires editing more files to add a single item.
For instance, if you were to add a single weapon, you would have to edit weapongrp(client), itemname-e(client), itemdata(server) and item_pch(server).
L2H does this for you with one input. There are a LOT of variables for items, most of which aren't relevant to the modder.
To give an example, if L2H exposed all variables for armors, there would be well over 700 columns of data to fill out, most of which just aren't relevant.
It's also very easy to mess up. One wrong space, and your server won't run, or your item won't work. Instead of adding new items from scratch, modders choose an item to use as a template.
When users clone the templated item, L2H copies all relevant information, and exposes variables that are interesting to edit in an easily accessible grid view.
When you're done editing, click export all to get the correctly formatted files.
L2H automatically decrypts, disassembles, encrypts and assembles any edited files, by using L2Miko's fileedit.
You can then copy the exported files directly into the server and client.

 

# 5.5 Can I add custom models and animations?
If you want to add custom models, you will have to do that the old fashioned way.
There is a lot more to adding new models to the game, compared to repurposing it.
Completely new content like that, however cool it may be, is not the goal of L2H.
That being said, once you’ve added the new content, you can use L2H to edit or copy it.

 

# 5.6 Why are you not planning to develop X?
If you have a feature request or suggestion, feel free to message me.
The planned features are those that are absolutely possible to deliver.
The limits of L2H is well known, and there won’t be an attempt to include features beyond those.
If your suggestion falls within the possibilities of L2H, it will most likely get added to the list.

 

# 5.7 When will the next version be available?
When it’s ready. This is an ongoing project, and while updates may be far apart, it’ll be finished one day.
The project uses no copyrighted info. It's all relying on reverse engineering the data structure.
It only reads the data you feed it. Development will continue until all values available for change have been exposed.
If I'm doing anything I shouldn't, please let me know. I have no intention of breaking the law.

 

# 5.8 Will you be running a server?
No. That is not my motivation. I look forward to playing on yours though.

 

# 5.9 Will it work for other versions of Lineage 2?
That’s not the focus of this project, so that’s not certain.
It will work with any version of Lineage 2 that uses the exact same data structure as Epilogue.
Should a newer version of L2OFF be made available, there’s a slim chance L2H will be updated to fit that data structure.

 

# 5.10 Will it mess up my files?
Remember to keep backups. There can be bugs.

 

# 5.11 Can I delete content?
You can only delete content you’ve created yourself.
If you start removing data from the client and the server, you’ll most likely run into issues.
If you delete an item that exists in the game world, you might run into issues as well.
It’s better to disable these from being acquired, nerf them to the ground or possibly remove them from players’ inventories through the database.

 

# 5.12 What does the column 'X' mean?
As L2H has progressed, most relevant variables have been exposed for editing. Each column represents one variable, most of which are self-explanatory.
The variables that I'm unsure of, have been exposed, just in case.
If you know what a variable does, and it's not self-explanatory, and it doesn't have a tooltop when hovering your mouse over it, please let me know.

 

# 5.13 How can I help?
Report bugs, write guides and tutorials for L2H usage, share your custom created content, help people setup a server.
I would appreciate if someone took the time to describe how to get a good server and test environment setup for faster development.
I've described how to create content in this post, but someone who took the time to go through it in more detail, could help a lot of people.

 

# 5.14 How can I share custom content I've created?
When you export your content, it can be found in the Export folder. Any custom content you create, will be found at the end of each file.
Either share it all, or find the data you'd like to share specifically. You'll need a file editor to grab any specific data you've created for client files.

 

# 5.15 Something went wrong, what do I do?
Try to figure out which entry is causing an issue. If you can't figure it out, you'll either need to load a backup, or start over.
Starting over means deleting everything inside the data/L2H folder, and re-importing all relevant client/server files.
Also, please report what went wrong, so we can try to fix it.
Please be aware of your input. If you start entering commas and brackets everywhere, the data will most likely break. Just be cautious.

 

# 6.0 Roadmap

Spoiler

# 6.0 Roadmap

Version 1.0 - Items
Adding, modifying or deleting weapons - Complete
Adding, modifying or deleting armors - Complete
Adding, modifying or deleting etc items - Complete
Adding, modifying or deleting sets - Complete
 
Version 2.0 - NPCs <-- Currently available version
Adding, modifying or deleting NPCs - Complete
Adding, modifying, deleting or assigning spawn points - Complete
Adding, modifying, deleting or assigning drop lists - Complete
 
Version 3.0 - Items Continued
Adding, modifying or deleting recipes - Complete

 

Version 4.0 - Core
Input server IP address - Complete
Modifying the base attributes, hp, mp, regen etc of each class and race per level - Complete
Modifying the XP requirement per level
Modifying race and occupation description - Complete
Adding, modifying or deleting loading help tips - Complete
Adding, modifying or deleting system messages (“You carefully nock an arrow”) - Complete
Modifying server name
Adding, modifying or deleting tattoos

 

Version 5.0 - Skills - Complete
Adding, modifying or deleting Skills - Complete
Modifying when and if classes learn different skills - Complete

 

Version 6.0 - World - Complete <-- We are here
Adding, modifying or deleting hunting zones (Won’t appear on map) - Complete
Adding, modifying or deleting zone names (Won’t appear on map) - Complete
 
Version 7.0 - Ingame Systems
Adding, modifying or deleting manor items
Adding, modifying or deleting fishing items

 

Version 8.0 AI
Adding, modifying, deleting or assigning multisell shop lists - Complete
Adding, modifying, deleting or assigning specific AI - Partially complete. AI can be assigned, and parameters edited.
 
Version 9.0 - Quests
Adding, modifying or deleting quests
Adding, modifying or deleting rewards
 
Version 10.0 - Raids
Adding, modifying or deleting Raid Bosses - Complete
Creating custom NPC behavior through interface
 
Version 11.0 - Pets
Modifying pet stats and attributes

 

Polishing (no priority)

Modifying item enchant success rate - only available with eressea's extender
Cell input options lists, to see which options you have per cell


 

 

Thank you,

-B

 

Edited by Bumble
July 29 2020: Updated to 6.1. Included some Quality of Life additions and a few fixes. Added a link to the WIKI.
  • Like 9
  • Thanks 4
Posted (edited)

Screenshots of L2Homage in action:

 

Save/Load/Export:

J6HynOZ.png

 

Weapons editing:

F2PgpwY.png

 

Armors editing:

IvX5HpI.png

 

Etc item editing:

2nhJ6WX.png

 

Sets editing:

hKdzSVO.png

 

Npc editing:

Fl84T7k.png

 

Droplists editing:

rAjUwHG.png

 

Spawn editing:

Lxv9Jxw.jpg

 

Recipe editing:

syAK3bX.png

 

Edited by Bumble
  • Thanks 1
Posted

Thanks, I've put a lot of work into this. I hope to see people create something cool.

 

@Narzor, I like this uploader. It's served me well so far. If you don't like it, feel free to share this on other platforms, I don't mind.

 

Progress update:

I split decryption/encryption into separate files, allowing for easier upgrades. Previously, all files would decrypt/encrypt at once, possibly overwriting data. This new method allows for separate calls.

 

I'm about 25% done with the crafting/recipe system.

  • Upvote 1
Posted (edited)

Progress update:

Crafting/Recipe system is now complete, moving on to tattoos tomorrow.

 

I've thought about it, and I think I'll re prioritize these features:

Quote

Modifying item enchant success rate - only available with eressea's extender
Cell input options lists, to see which options you have per cell

Item enchant success rate is simple to edit in it's current form, and cell input options are really just polish. I'd rather add more features.

 

When tattoos are done, I'll work on milestone 4. I'll update the roadmap accordingly after this post. Also adding recipe editing screenshot to my comment above.

 

EDIT: Looking into tattoos and dyes, it actually makes sense to complete milestone 4 before tattoos. Tattoos reference different classes, so I'll need to parse class data first anyway. I'll start on milestone 4 tomorrow instead of tattoos.

 

That means milestone 3 is technically finished, so I'll release that when a few more tests have been done.

With milestone 3 finished, the crafting system is now completely open and editable.

Edited by Bumble
Posted

Progress update:

I haven't been able to test the recipe update yet, but if anyone would like to help out, it can be found on discord (or pm me). I'd prefer not to post test versions in this thread. From what I can gather, it should work correctly, but you never know.

 

If anyone here is using this tool for a project, I'd like to know. It keeps me motivated knowing that my effort is put to good use. I'll still develop L2H regardless, as it's kind of become a hobby, but I'd like to know.

 

I've also been thinking on the target chronicle. Right now, it's targeting Epilogue, mainly because Eressea did such good work with her extender. I _could_ change L2H to target interlude, but I feel like that would be a step back, even though it's more popular. Instead, I plan on switching to H5 when/if a good server pack becomes available for free. It's been roughly 9 years since H5 released, and with L2's declining popularity, it could happen.

 

When I know the recipe system works correctly, I'll implement the following:

 

- Start gear per class

- Start position per class

- Attributes per class

 

Thanks,

-B

  • 3 weeks later...
Posted

I haven't had any reports of huge bugs in the newest test version, so I've included the link in the original post above. It's also available on Discord.

 

Weedy caught a significant NPC export error, which is fixed in the new version. If you're making custom new npcs, you'll need to download this.

 

I'm looking into AI for the time being.

  • 2 months later...
Posted

I've been on vacation, but I'm back now!

 

I'll see when I have time to continue the work, but I have no intentions of stopping now. I just have some catching up to do!

 

Thanks xeL, I know you've done a lot of parsing yourself! I'm sure you know the hassle :)

  • 2 weeks later...
Posted
On 6/13/2019 at 12:06 AM, Bumble said:

I've been on vacation, but I'm back now!

 

I'll see when I have time to continue the work, but I have no intentions of stopping now. I just have some catching up to do!

 

Thanks xeL, I know you've done a lot of parsing yourself! I'm sure you know the hassle :)

Indeed I do. 

Posted (edited)

Updated to version 3.2.

 

- Fixed incorrect name on newly created exported NPCs.

- Added multisell list editing: t2eHplE.png

3y8rCWt.png

 

- Added direct download link to worldmap files.

- Added direct download link to working base system folder. This will make it easier to start modding. It's based off of L2Shrine's system folder, so thanks Emca once again.

 

Development has been slow due to a sudden case of leukemia (lucky me). I'll continue working on L2H when I can.

Please let me know if/when you find any bugs.

 

-B

 

Edited by Bumble
  • Thanks 1
  • Upvote 1

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.


×
×
  • Create New...