Skip to content

L2Homage; Making L2 Modding Accessible

Featured Replies

  • Author

That's strange, 17008 and 17009 parsed just fine for me.

 

Yeah it's probably something weird on their end. I won't worry too much about it for now.

 

Regarding myself.sm, I haven't delved too far into AI yet, so I can't tell you that.

9 hours ago, sepultribe said:

btw anyone has any idea what the sm in myself.sm might refer to in AI? static/super member/method?

 

shared memory

 

It simply returns CreatureData object for given NPC

  • Author

Progress update:

 

Droplists are taking a bit longer than anticipated to complete. The parsing and exporting works completely, but I need to create a new structure for storing references between multi droplists and regular droplists. These references will be stored in plain .txt files as well in the /data folder.

 

The reason I'm doing it this way, is so each NPC references 4 droplists (normal, spoil, multi, extra multi). This allows droplists to be reused or reassigned to a new npc by editing one cell. Want an elpy to drop Antharas loot? Sure.

 

It is a little tricky figuring out how to generate the correct IDs for each droplist, as well as which references to store and copy, when cloning a droplist (or part of it). This is different from items, as an item is a whole object by itself. Droplists point in several directions, and the data has to be updated consistently across the board.

 

But I'm making good progress.

 

-B

 

 

Hi, Bumble!

 

I've stumbled upon your topic several days ago, and wanted to share my thoughts here! I'm more of a lurker on maxcheaters for half a year or so now, occasionally reading some topics, but your project has really interested and impressed me, so I decided to register and join the discussion :)

 

I think the idea behind L2Homage is awesome and it can easily become a very valuable tool for any person creating custom Lineage 2 server. And by Custom I really mean something new and unique - new concept of the game, new goals, new motivation for playing the game, new things to explore. I agree with your words in the first message, there are definitely ways to rebuild and reshape L2 world into something unseen before! I think in that way L2 can be seen as a "canvas", which can be shaped into something special and different than what the original game offers; we have pretty much a prepared and crafted world with an extremely wide variety of character/NPC/item models, ready interface, icons, animations, mechanics, etc. It is possible to manipulate all these things into a new concept, and I salute you for taking the initiative to create a tool to allow this to happen - it's amazing! 

 

I would really love to help with a project like this, however I don't have programming skills myself, unfortunately; even thouh I work in a gaming industry, I am involved more with game design, economy and balancing, live operations of games, QA, sometimes marketing and analytics, and other related to that areas. I am not sure if it is possible to create a completely unique server concept by modding files and without any programming involved (please tell me if it is!), but surely this tool would in any case help with a HUGE portion of work that would need to be done to make it happen. Over past 13 or so years, I played on some modded servers, like the Russian BSFG and several others that are more about the RvR idea (I guess BSFG was one of the first ones, it's beta was around 2006-2007 as far as I remember), and for them to make it happen, for sure they also had to put countless hours into modifying files. Streamlining and optimizing it, making it a lot more error-proof and user-friendly, is totally a noble effort, and I do hope it would help cool new projects to emerge :) I would love myself to also work on a new and unique server like this, more so with the help of L2Homage.

 

Even though I cannot help directly (but if I can do something, let me know, I would be glad to participate), I hope this small note of motivation can help with going forward with the project. Looking forward to reading future updates!

 

 

  • Author

Hey Weedy,

 

Thanks for the morale boost. These droplists are frustrating to work with, but it'll be worth the trouble when it's complete. After droplists are working and the NPC spawning system is in place, the entire item/npc system will be editable (except for in-depth AI editing).

 

I'm hoping to share a version for people to test withing a week or two, depending on my spare time. If you'd like to help out, I'd appreciate if you could help me test it at that point.

 

Quote

I am not sure if it is possible to create a completely unique server concept by modding files and without any programming involved (please tell me if it is!)

It is possible, but it will take significantly longer, and it will be prone to errors. L2H is meant to make it fast and reliable. What only takes a cell-change in L2H, would require manual editing of 4+ different files (server and client).

EDIT: It depends on what you mean by completely unique. If you're adding custom systems to the game, something that's not already in the game, then you need to program it. If you're re-using existing systems, then it's possible without programming.

 

I'm happy to hear you're excited about this project. That's why I'm doing this. I can't wait to see what worlds people create.

 

I'm in a similar industry as you, doing both design and code. One thing I could use help with, and I'm sure you agree, is some guidelines for modders on approaching modding a game like Lineage 2 from the start. If someone sets out to create a whole world on the scale of the existing L2, they're bound to burn out. It's a huge world, with so many npcs and areas.

 

I think as a solo or small development team, it would be better to focus on a small part of the world first, and then expand outwards. I'll be implementing functionality to change the start spawnpoint for players to support this. Instead of different spawn points per race, I think most projects would benefit from a single spawnpoint for all races.

 

I also think it'd be beneficial for projects to lock max levels as modding progresses, depending on the point they allow players in. If modders set out to fully populate the world for players to explore all the way to level 85, they'll probably burn out too.

 

I'm sure more ideas like that will arise from actually using L2H down the line, but it's worth spending some time thinking about these issues. Building the tool is one thing, but helping modders understand how to use it efficiently, is another thing entirely.

 

I'll keep everyone updated as I progress.

 

-B

Edited by Bumble

  • Author

Progress update:

 

Been working on the droplists. So far, the normal and spoil droplist editing works. I'm currently focusing on multi droplists. I hope to complete it by tomorrow, but there are a lot of loose ends. I'm still aiming to share a test version by next weekend.

 

-B

17 hours ago, Bumble said:

Thanks for the morale boost. These droplists are frustrating to work with, but it'll be worth the trouble when it's complete. After droplists are working and the NPC spawning system is in place, the entire item/npc system will be editable (except for in-depth AI editing).

 

I'm hoping to share a version for people to test withing a week or two, depending on my spare time. If you'd like to help out, I'd appreciate if you could help me test it at that point.

 

 

True! Hopefully it will really help in saving many man-hours in the future for people working with it, this is the best that can happen. Those things would really help to provide some new depth or variety to gameplay. I am also super excited to see the future editing of skills and classes, since I think there are actually many cool things that can be done to make the game more dynamic and skill-based, for example, by playing with skill settings and establishing new unique classes and combos.

 

And yes, I would be very glad to take my time to help with the testing. But I would need some help with setting up the server environment myself (Eressea's latest extender and GF chronicles, as I understood), as I am not very familiar with that, but would really like to get into it.

 

17 hours ago, Bumble said:

 

EDIT: It depends on what you mean by completely unique. If you're adding custom systems to the game, something that's not already in the game, then you need to program it. If you're re-using existing systems, then it's possible without programming.

 

 

Yep, I mean something like, let's say a more common feature for modded servers, an RvR-system on the server, changing the concept of the game from focusing between interactions of clans and alliances to clashing races against each other. Or changing the way primary stats work, e.g. providing different bonus(es) from levelling your STR or WIT. Most likely those types of changes require more in-depth coding knowledge, but I am sure it can also be learnt as a developer skill. There are indeed many wide systems already that can be re-used and re-purposed (like droplists, monster locations, iteming, etc), making gameplay fresh and unique, and without which creating a modded server is not really possible - so L2Homage as a tool for that sounds like exactly just what the doctor order, tbh. :)

 

17 hours ago, Bumble said:

 

I'm in a similar industry as you, doing both design and code. One thing I could use help with, and I'm sure you agree, is some guidelines for modders on approaching modding a game like Lineage 2 from the start. If someone sets out to create a whole world on the scale of the existing L2, they're bound to burn out. It's a huge world, with so many npcs and areas.

 

Yeah, you are right. Any sorts of guidelines, prerequisites, possibly more documentation for setup and different features, especially as a free and/or open-source project is always something that people who would get into the modding would greatly appreciate. Understanding the scale of these projects and scalability is also maybe something that is better to be understood and considered on the first stages of modded L2 world/server development, to be able to estimate the effort and time needed to go into the project. And in turn, yeah, it helps to create the tools to shape such projects with. As I have been thinking more about it myself past several weeks, and now finding your topic, I can also try to think of some possibilities I could be of hopefully any help with these, if it can support the project, and see whether I can come up with something. Let me know if there are any specific things you have on your mind! :)

  • Author

Progress update:

Droplist editing is almost completed. It took a lot longer than expected. There are so many things that a user can do to break the droplist, so I had to implement a lot of errorproofing. It's still possible to mess it up though, but not as innocently.

I still need to implement delete functionality and hooking it up to the specific NPC, but I'm getting close to being done with NPCs/Droplists/Items. Again, when that's completed, I'll move to spawning and then prepare a test version.

 

#weedy

RvR systems are probably hand-made for those servers. They're most often available on L2j servers, which (as people in here would probably agree with) just isn't as enjoyable as L2Off files. Because of L2j's java core, it's a lot easier to modify. I'm sure people can figure out how to implement it on L2Off as well though, but I imagine it'll take quite some effort. If anyone knows otherwiser, please let me know.

 

The examples you give with changing how primary stats work will be possible through L2H. I've planned for that, so if you want to do your own calculations, go ahead. It should be available in version 7.0 (which is some time away though). After 2.0, development will be fast though. Droplists are some of the heaviest tasks (except for items and AI), because of all the variables. The next versions should be easier to develop.

 

As for the guidelines for using the project, I think that's something we'll have to figure out once we can actually play with it a bit. We'll just take it as it comes.

 

If you're interested in setting up a test-station, there are a few good guides on here. You'll want eressea's extender and the Gracia Epilogue files. I'm a little too busy to even setup my own test platform right now, so it'll have to wait :) I managed to test the item system before my server broke, so I know that works. I can tell NPCs/droplists should work similarly, but only time will tell.

 

Edit: If someone has an extra server I can use to test on, that'd be awesome. Otherwise, it'll take a bit longer to release a test version. I'll only be uploading stuff to the scripts folder for now. Later, I'll be uploading split AI files as well.

 

Edit2: Also looking for a discord or similar, where I can talk with people with similar L2 interests

 

-B

Edited by Bumble

7 hours ago, Bumble said:

Edit2: Also looking for a discord or similar, where I can talk with people with similar L2 interests

 

We usually use Skype for chatting (at least me and people I communicate with)

  • Author

#Eressea

Unfortunately, I can't use skype in my current setting. I understand why that would be a convenient option though.

 

#Sepultribe

That's a good idea. I might just do that. That would be a convenient place to report bugs as well.

  • Author

Progress update:

 

Npc cloning and editing working now. Exports to both server and client files.

Droplists cloning and editing _seems_ to be working now. I wouldn't be surprised if it doesn't. My first tests are successful though.

 

When adding new multi droplists, the droplist parts are automatically created, ready for input. Custom droplist are stored locally to protect them from being overwritten when an NPC droplist reference is changed.

 

I only need to implement the Delete functionality for NPCs and Droplists, and then I can move on to spawning.

 

I considered making a Discord channel, where people can talk about mods, report bugs, get help from other modders and request features. I don't have time to moderate it though, so I'd need help with that (assuming anyone wants to join).

 

I'm going to work on the delete functionality now.

 

Edit: Droplists broken again. Great. Gotta focus on that instead.

 

Edit2: Droplists seem to be working now. Delete functionality tomorrow, then spawn.

Edited by Bumble

Agreed, Discord channel for such discussions would be cool! Or maybe Slack, depending on what is easier to set up/maintain.

 

And cool progress, Bumble! Any screenshots to share? :) 

  • Author

Alright thanks, I'll try to get a discord up later today.

 

I don't have any new screenshots to show, as I've been focusing on droplists for now. It's all data structure, storage and exporting.

 

I'll share the look of the initial spawn functionality when I get to that, I think it'll be pretty neat.

 

  • Author

Progress update:

I've been working on droplists again again again again (cont.). There are so many cross references, every time I edited a cell, something got lost somewhere. I think I've squashed the bugs for now, but there could be more. I'm finally ready to move on to delete functionality though. Hopefully that won't take as long!

 

I also created a discord channel. If you feel like joining, here's the discord invite link:

https://discord.gg/97yAsCA

 

Let's see if it takes off, I'm open to suggestions. Also, I'd like some help maintaining the discord. I really don't care too much about people misbehaving, unless it starts taking over the channel.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.