DnR

VIP Member
  • Content Count

    723
  • Joined

  • Last visited

  • Days Won

    3
  • Feedback

    0%

DnR last won the day on December 25 2019

DnR had the most liked content!

Community Reputation

24 Excellent

About DnR

  • Rank
    Baron

Contact Methods

  • Website URL
    /

Profile Information

  • Current Mood
    Busy
  • Gender
    Male
  • Country
    Greece

Recent Profile Visitors

1,300 profile views
  1. 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.
  2. Thank you too. Honored to be praised by one of the most skilled client devs. :)
  3. 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
  4. 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.
  5. 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
  6. 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.
  7. Project has moved to GitLab. Link was added in first post. Thank you all for your support until now. BR, DnR
  8. Since revision 679, project is using Java 11. Current revision: 681 Best regards, DnR
  9. 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
  10. Project shutdown was postponed, and we have been working on it since summer. Latest revision: 678.
  11. 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
  12. I think you misunderstood the whole thing. The issue isn't just game brightness. The issue is that brightness is increased across whole OS UI, as long as client is running. I do not prefer decreasing client brightness, so that does not help.
  13. Is there any way to get rid of screen brightness issue when L2 client is minimized? I know there is a way to fix this using an external program, but what about client editing?
  14. This is a simple yet nice-looking gatekeeper that was already shared by its original author Cronia/LamprosJr in this forum for acis Interlude. I adapted it to my own project and already shared it with my people. It can also be adapted in Frozen-like projects. My work: - Converted XML data to sql. Data is stored in custom tables. - Added quotes to all HTML attribute values. - Added missing font closing tags. In addition to Interlude, C4 HTML window renders unclosed tags as plain text. - Calculated and improved width on certain elements. - Removed useless align and colspan attributes. - Fixed widths that were greater than 300. - Title has become clickable and redirects to main page. - Changed button backgrounds to "down" instead of "hover". - Removed C5-IL teleports. - Tested all teleports one by one. They are fully functional. Link 1 Link 2 I hope you find it useful. *EDITED: Corrected wrong query in custom_npc file.
  15. Dear members, Project has made a lot of progress since Revision 599 of 2018 which was thought to be the final version, and it hasn't been so active since 2015. Now, it's time that I personally halt my activities for the next few months since lots of things are going on and I have to put certain priorities. It's out of the question that troubleshooting is still a priority and fatal bug reports will be dealt with. We all put a lot of effort and I think we should all take some summer rest for start. I want to thank you all for your efforts, and for being a part of this up until now. :) Also, it would please me if I saw any new server projects sprout. I hope I do. Either way, I have also been suggested for a mid rate server, but I haven't given a final answer yet. I hope you enjoy the rest of summer relaxing, like I'll do and we'll be in contact again in the future. *Previous post updated. Current commit is 657. Best regards, DnR