Jump to content

DnR

VIP Member
  • Posts

    737
  • Credits

  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Everything posted by DnR

  1. Happy 2024! Our team wishes you a happy new year, full of success, love, and good health!
  2. Why bother with a relic of the past? On top of that, this game began to rot the moment that even guys with zero knowledge and lack of fantasy had the chance to setup their own emulated private servers. Let's not focus on this though and who's responsible, this story is more than 15 years old. Make this place a cheating forum for all games or else you'll be targetting dudes who have gotten into their 30s and choose to stick to the past. You have been relying on Lineage2 for too long, time to evolve further.
  3. Which may already be part of my past work. You're welcome.
  4. And if you need some helpful interface tweaks, check this one: When it comes to L2OFF, party window may need a limiter in server side, to make sure party window packet doesn't try to display more than 36 icons. I think client gets sensitive in such things.
  5. Project moved to gitlab once more. First post updated.
  6. That's indeed a strange behaviour. Among its issues, L2JFree's Gracia Final branch used to have a similar one in the past. Not sure if it was the same problem though. The team tried to solve it by adding this check inside 'moveToPawn' method: // if the target runs towards the character then don't force the actor to run over it if (pawn instanceof L2Creature && pawn.isMoving()) { double speed = ((L2Creature)pawn).getStat().getMoveSpeed() / GameTimeManager.TICKS_PER_SECOND; offset += speed * Math.cos(Math.toRadians(Util.getAngleDifference(_actor, pawn))); } Perhaps, this can give you a small hint on how to move on. Link: https://github.com/l2jfree/l2jfree-ct2.3/blob/master/l2jfree-core/src/main/java/com/l2jfree/gameserver/gameobjects/ai/AbstractAI.java
  7. This issue occurs due to missing client support for your custom ID. It's usually not recommended for NPCs but you can have a try with CreatureSay packet. You'll also avoid modifying client this way, since it accepts character name directly, instead of ID. If you still prefer doing it with NpcSay, try adding a new record for it in npcgrp.dat too (npmname would definitely not be enough).
  8. @Jon78 That's an answer to your new topic: https://maxcheaters.com/topic/231964-where-are-the-old-style-servers/?tab=comments#comment-2739798 These servers definitely bring back nostalgia (except for L2MxC which I never played into), but things have changed so unexpectedly in the passage of time. For instance, who would have thought back then that L2Elite would be the last server standing among them? After reading few posts in this thread, I was like "wtf? This server was no big deal back then". No offense to ppl playing there, but last time I spelled its name was around 2006 when I scolded a guy for donating there instead of L2Revenge. Also, there are definitely many greedy owners whose whereabouts I wouldn't wanna ever know again. Like JohnieWalker of L2U, Devoust of L2Tritan, or even Pyromaker of Vendetta who gave up much later. In the past, there've been many times I also considered using my files to open a 'more' old school server than the boring ones around, but the level of l2 community has been disappointing for years now. Well, maybe a reboot is going to help so let's ddos all live servers out there and let community start from scratch.
  9. After many requests, we are moving back to our old SVN repository. Its latest commit is 710 which is equal to GitLab's 711. If any issues occur in SVN sources due to updates, feel free to report them. Thank you all for your contribution to the project. BR, DnR
  10. You are welcome. I rarely perform a few minor client mods on this chronicle, in order to support admins who use my project. If you are interested, you can take a look at my latest buff window mod here:
  11. Hello everyone. This is an incomplete addition to my existing buff window patch for Chronicle 4 that increases slots, whose release was about a year ago. This one increases buff rows in PartyStatusWindow, PetStatusWindow, and SummonStatusWindow since client supports up to 2 (total of 20 effects or 24 for those who use my old patch). It consists of 2 files since there was an effect limit in PartySpelled packet. Using this patch will add extra slots to buff window, just like before, and will also increase party buff window slots from 24 to 36. Defects: In the case of PartyStatusWindow, debuffs will NOT be highlighted but will be displayed just like regular effects instead (that's why it's incomplete but you can blame my inability to complete it ). Download Links: 4Shared MEGA Have fun, DnR
  12. That may be a bit off-topic but I request that you reconsider your choice. The problem is actually those dozens of private servers being around. Those greedy of admins have already drained enough of free material for more than a decade now, especially from l2j community, and the majority of them still failed to develop a decent project. This proves 'that majority' consists of immature and irresponsible people nowadays. Private servers have to be reduced and only those worth of managing such projects should start one. If you wish to start something, don't let it be for free or it's gonna be wasted.
  13. Not happening. Unlike all later chronicles, C4 has everything hardcoded inside .dll files. Even if that was possible in theory, nobody would take such a job due to the amount of time and effort. If you are still looking for a way to use 3 bars in that chronicle, there once was a guy that created an external program: Since it's been 10 years and links are dead, you either have to search a lot for it or have someone make a similar one for you. BR, DnR
  14. If you really think the main reason of community being decreased is developers getting greedy, then you should carefully collect your thoughts once more. Anyway, it seems that it's once again all about Interlude. Except for his ungrounded reference to C4 that related projects have not developed a lot these past years, Tryskell might be right on the idea of choosing another chronicle. If by any chance I was too much used to Interlude and wanted to develop something, I would probably try a C5 project and especially now that there is a working patch. If you carefully think about it, despite being very similar, many complained about features that were Interlude - specific over the years (augmentation system, shadow weapons, dinos, etc). Also, its client is as customizable as IL due to the existence of interface files that are missing in older clients. The first step for this would be downgrading an IL project and adapting login server Init logic from a C4 project. Might be bad as a concept, just throwing one of my ideas on the table.
  15. Thank you too. Honored to be praised by one of the most skilled client devs. :)
  16. Hey all, I'm here to share the first (public at least) properly functional C5 patch. Few details about this. For couple of years now, all C5 patches have ceased to function and Windows 10 helped a lot on this crime. In order to connect, some people used to modify hosts file and started an apache server as a gameguard emulator locally. That is because of the complicated gameguard checks that would never let players connect otherwise (later chronicle clients usually had a trivial fix for this using a mere property). Actually, there is only a single system patch around that worked for C5. This patch (DisgraceC5FULLpatchV1) uses old Prelude authentication as a bypass and works like crap. An example of a drawback of this method is it sends credentials to server without any encryption. And that is what I meant by saying "properly functional". My share is my fix (a file) and a system folder along with it. It's a working system with C5 original authentication for protocol 709. Downloads: Fix 4Shared MEGA System 4Shared MEGA How to test if it works? In the case of l2j, there are no C5 forks around except for l2jserver old branch. L2JFree branch was really good, but it's long gone. However, C5 client can connect to L2J C4 login servers and that is enough for testing login. I hope someone somewhere finds this helpful. Lots of people were looking for this few years ago, but it's never too late. Special thanks to @Karakan and @DarthVader for pointing out and confirming the problem. Best regards, DnR
  17. Revision 701 - Added configurable login server support for chaotic throne clients. Depending on forks, some game servers may need modifications to connect to login server. For now, it's tested with Interlude client. - Fixed credentials issue. Thanks Joabi. - Removed unused settings in LoginServer.properties. - Fixed exception that occured when a client with a forbidden protocol version tried to connect. Also, protocol version validation attempts will only be logged in debug mode.
  18. Since revision 699, we are adding configurable login support for clients with completely killed GG. An unexpected benefit from this is that few of the last remaining working C5 patches can connect to our login server with 100% success. Might also add Interlude support to our login server in the future based on demand. BR, DnR
  19. I wish a Merry Christmas to MxC community and best wishes to everyone! Let's all enjoy these blessed days along with our beloved ones.
  20. Project has moved to GitLab. Link was added in first post. Thank you all for your support until now. BR, DnR
  21. Since revision 679, project is using Java 11. Current revision: 681 Best regards, DnR
  22. So here is the thing. There is a check for private sell stores that verifies if each of listed items has a corresponding item template. I checked most of projects out there and all had the same issue. Here is the code I refer to, nested in TradeList privateStoreBuy() method: // Check if requested item is available for manipulation L2ItemInstance oldItem = _owner.checkItemManipulation(item.getObjectId(), item.getCount(), "sell"); if (oldItem == null || !oldItem.isTradeable()) { // Private store sell invalid item - disable it lock(); return false; } final L2Item template = ItemTable.getInstance().getTemplate(item.getItemId()); if (template == null) { continue; } weight += item.getCount() * template.getWeight(); if (!template.isStackable()) { slots += item.getCount(); } else if (player.getInventory().getItemByItemId(item.getItemId()) == null) { slots++; } Object 'item', which happens to be an instance of ItemRequest class, is used for retrieving item template and checking whether there are items of the corresponding ID inside buyer's inventory, in the case of stackable items. What's really interesting is that this object has no Item ID. Private store sell listed items are usually distinct by Object ID instead. Here is another code I refer to, nested in RequestPrivateStoreBuy class: @Override protected void readImpl() { _storePlayerId = readD(); _count = readD(); if (_count < 0 || (_count * 12) > _buf.remaining() || _count > Config.MAX_ITEM_IN_PACKET) { _count = 0; } _items = new ItemRequest[_count]; for (int i = 0; i < _count; i++) { int objectId = readD(); long count = readD(); int price = readD(); if (objectId < 1 || count < 1 || count > Integer.MAX_VALUE || price < 0) { _items = null; return; } _items[i] = new ItemRequest(objectId, (int) count, price); } } And here is the conclusion. Private store sell never performs slot and weight checks at this point, since privateStoreBuy is searching for an item template using 0 as Item ID, therefore skipping rest of code inside loop. Finally, using L2ItemInstance oldItem object for doing those checks, instead of ItemRequest item would probably be enough to solve this issue. // Check if requested item is available for manipulation L2ItemInstance oldItem = _owner.checkItemManipulation(item.getObjectId(), item.getCount(), "sell"); if (oldItem == null || !oldItem.isTradeable()) { // Private store sell invalid item - disable it lock(); return false; } weight += item.getCount() * oldItem.getItem().getWeight(); if (!oldItem.isStackable()) { slots += item.getCount(); } else if (player.getInventory().getItemByItemId(oldItem.getItemId()) == null) { slots++; } Best regards, DnR
  23. Project shutdown was postponed, and we have been working on it since summer. Latest revision: 678.
  24. Hello folks. I have a really simple client patch for an interactive raid boss map demo which I decided to share. Map includes zoom, panning, and search control. It can also be adapted in a website using any size. Raid bosses are displayed as markers (blue for alive, red for dead) and users can hover those markers to see boss status and respawn time. It also uses gameserver-equivalent world dimensions, so there is no need for trying to set markers on map manually. I have included a small PHP script for local test purposes in order to retrieve data from database using an ajax request. Few screenshots Link 1 Link 2 Default functionality is for C4, but I have included map overlays for C5 and Interlude. Have fun, DnR
×
×
  • Create New...