Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


Bumble last won the day on January 19

Bumble had the most liked content!

Community Reputation

14 Good

About Bumble

  • Rank

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Progress update: Delete functionality is just too boring to focus on right now. I felt like I was falling asleep, and I thought "You know what? I don't have to do something this boring right now". So I moved on to the spawning system. I'm looking at the npcpos file now, figuring out the structure. I think I'll have some questions about a few of the variables. That's for later though. The Item/npc add/editing functionality works now, from what I can tell. It exports it correctly too, though I still need a server to test on. I'll get to that when I'm done with the spawning system. The initial spawning editor looks like this: The different lists will contain the following info: Maps: ID of each block in the world (for instance 20_21 for Cruma). I think I'll parse them with easier names to recognise instead of numbers, since there's not that many. Selecting a map loads spawn areas. Spawn areas: List of each spawn zone in the selected map. Selecting a spawn area will draw a polygon on the map, representing the area. NPCs: Shows which NPCs are set to spawn in the selected spawn area. Properties: Exposes the different variables for the selected NPC, for easy editing. Map 0 - Map 6: Sometimes each map has several layers - at most 7. There are no identifiers for the terrain zones, so if the polygon doesn't make any sense, switch to another map to see the overlay on another layer instead. Add Npc / Remove Npc: Self explanatory. I'm off for today! -B
  2. 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.
  3. 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.
  4. 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.
  5. #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.
  6. 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
  7. 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
  8. 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. 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
  9. 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
  10. 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.
  11. That makes sense, thank you sepultribe. I'll make a tooltip note of that and expose the whole [Privates] line for editing. I'll leave that one up to modders to write correctly. Quick update: Apart from 1 npc (id 31230), all npcs and droplists are exporting to the correct format. I'm going to stop for today, and I'll just exclude that npc from dynamically exporting. I don't know why its npc_ai has an extra semi-colon in it. If I have time tomorrow, I'll implement npc/droplist editing/cloning/deleting. Once that's done, I'll move on to spawning.
  12. Cool, thanks eressea! I'll remove those limits then :) Do you have more info on the [privates] npcdata thing? Still unsure of the structure there.
  13. Progress update: Almost finished parsing all NPC data. https://ibb.co/Yd1KrzY Finished parsing all droplist data: https://ibb.co/bsK7wkC https://ibb.co/PTH7dXn Droplists are separated into 6 different types: Normal Spoil Multi Multipart Extra Extrapart The two types 'Multi' and 'Extra' contain the group probability and the ID of the different droplists that can be triggered. The two types "Multipart' and "Extrapart' are similar to normal droplists, but are connected through the referenced multi/extra droplist they refer to. For now, I've added support for each npc to have up to 10 normal drops, 20 spoil drops, 50 multi droplists, 40 multiparts, 50 extra droplists, 40 extra parts. That means each enemy can theoretically drop 2000 different items through multi droplists, and 2000 more from extra droplists. I still need to test if this will mess anything up, but my testing rig is currently not working. Next step is to create the template IDs to store in the data folder, then work on exporting the data in the correct format. When the exports work, I'll move on to working on the spawn system.
  14. Thanks for the encouraging comments everyone, I'll keep working on this when I can. I appreciate it. As the development progresses, I'll most definitely have some questions. The previous question I had was regarding the L2 coordinates. I created a whole new thread for that question. I reconsidered that approach, and I don't want to do that, as I may end up cluttering this whole forum section. Instead, I'll ask any questions I have right here, in this thread. I'll try to explain my questions a bit in depth, in case someone else finds this interesting. Maybe we can teach each other some things. I hope you'll help me out with some answers, if you can. Two questions I need answered so far: Question 1: When parsing NPCdata from the server, I've come across some NPCs which have a different structure in the npc_ai variable. Usually, it's just: {[ai_id]}{ai_variables}. it looks like this: {[stone_giant];{[MoveAroundSocial]=116};{[MoveAroundSocial1]=116};{[MoveAroundSocial2]=116};{[DDMagicSlow]=@s_mega_storm_strike_for_slow1}} In this case, stone_giant is the id, movearoundsocial and ddmagicslow are the ai variables. The issues arise when the NPC has minions, I presume. Here's an example: {[varikan_brigand_ldr];{[MoveAroundSocial]=42};{[MoveAroundSocial1]=42};{[MoveAroundSocial2]=42};{[Privates]=[varikan_brigand:varikan_brigand:1:0;varikan_brigand:varikan_brigand:1:0;varikan_brigand:varikan_brigand:1:0;varikan_brigand:varikan_brigand:1:0]};{[ShoutMsg1]=[1000154]};{[ShoutMsg2]=[1000155]};{[ShoutMsg3]=[1000156]};{[ShoutMsg4]=[1000157]}} The initial structure is the same, ai_id and ai_variables. But then comes a whole new part, [Privates]. Privates are always structured this way: id:id:number:number My question is: I assume either the first or the second ID is the npc id. The other one must be the minion ai id. Does any of you know which is which? Or am I wrong? Also, what do the two numbers mean? Question 2: When parsing the droplists for each npc, they're always structured the same way. There are two different kinds of droplists, the single and the multi droplist. A single droplist is structured like this: [item_id] ; min_amount ; max_amount ; probability Here's an example: {{[suede];1;1;8.3081};{[stem];1;1;24.9244};{[charcoal];1;1;12.4622}} Killing this enemy has a 8.3% chance of dropping 1 suede, 24.9% chance of 1 stem and 12.46% chance of 1 charcoal. Since this is a single droplist, they all have a chance of dropping at the same time. Multi droplists work a bit differently. They follow this structure: {{[item_id] ; min_amount ; max_amount ; group_probability}{[item_id] ; min_amount ; max_amount ; group_probability} probability} Here's an example: {{{{[adena];67;91;100}};70};{{{[leather_shirt];1;1;38.4868};{[leather_pants];1;1;61.5132}};1.023};{{{[charcoal];1;1;50};{[suede];1;1;33.3333};{[rp_wooden_arrow];1;1;16.6667}};4.9082}} It's very similar, the difference being group_probability and probability. First, the probability is rolled, then the group probability. Multi droplists make sure that multiple items are available to find, but only one item per group is selected. Multiple groups can trigger per kill. In the example above, the first group consists of only adena, with a 70% drop chance. In that group, adena has a 100% chance to be selected. The second group has leather shirt and leather pants. There's a 1.023% chance of this droplist triggering. If it triggers, 38.48% of the time, a leather_shirt will drop. 61.52% of the time, the leather_pants will drop. My question is: There are Never more than 4 groups per multi droplist. Some have less, but there's never more than 4 groups out of the 9300+ NPCs. I imagine some developers would like to add more multi droplist groups per npc. Is this a hardcoded limit, or can I add more? EDIT: This is wrong. There are multiple cases of more than 4 groups per multi droplist. I found out just now, when parsing more data. It happens all the time for raid bosses, I wasn't looking there yet. I'd still like an answer to the rest of my question though. Apologies for wrongful information. Is there a limit to the amount of items that can be added to each group? Will a large amount of items available per kill have a negative impact on the server performance, or is it negligible? Some games (like Diablo, Path of Exile) follow an itemlevel system. Almost anything is available as a drop from a monster, it's all based on the monster's level. If it's possible to add 1000+ items as drops per npc, this entire drop system can be simulated in Lineage 2, should the server developers decide to. EDIT: Disregard what I just said about never being 4 droplists per multi droplists. This is wrong, I found out just now after parsing more data. Thanks, -B
  15. While this project isn't getting much interest, I'm still working on it while I can. I still think it could be cool. These past days I've begun working on version 2.0 - NPCs. I'm mostly done with parsing all NPC data from the server. I've loaded much of the data into a grid, just like I did with the items. It's all editable. NPC droplists were a challenge to parse and structure for. There are 4 separate types of droplists, but I've accounted for them all. Droplists will be on a separate sheet from NPCs, as they would take up too much space. When 2.0 is done, L2Homage is able to completely manipulate the item system and the npc system. I'm considering putting the AI on hold. AI is always intimidating, but I'll take a look at it when NPC data and the spawning system is fully functional.