Jump to content

DnR

VIP Member
  • Posts

    737
  • Credits

  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Posts posted by DnR

  1. 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.

    • Upvote 1
  2. On 1/26/2022 at 11:16 PM, Hypest said:

    if you search retail stuff about c4 you can test stuff on www.esl2.org its x1 retail , i also have pts files on www.l2revengeserver.com , anything you need pm me and we can test it to apply it on your project 🙂

    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.

  3. 3 hours ago, Killernicim said:

    Hey guys,

    so my doubt is possible to change the slots of the interlude buff bar on the interface.

    By default it comes 2x12 totaling 24 buffs.

    1862122789_buffinterlude.png.274ababaa934a538b8f8c9e6c9d49ad8.png

    I wanted to switch to 2x10 for a total of 20 buffs (c4 default).

    1450755099_buffc4.png.e9375a6908c95654533b53c721360530.png

    Ps. The amount of buff is already changed on my server by 20.

    Can someone help me?

    Why would you do that?

  4. 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

    • Thanks 1
  5. 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).

    • Thanks 1
  6. @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. :troll:

  7. 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.

     

    buffs10.jpg

     

     

    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 :thinking:).

     

     

    Download Links:

    4Shared

    MEGA

     

     

    Have fun,
    DnR

  8. 14 hours ago, xFranky said:

    The idea of "saving the community" was because I remember myself when I started l2 developing, while I had no knowledge of coding. I was able to search the forum to find what I was looking for and simply figure out how to make simple changes without harming anything else. The majority of the code was available to the public, and it gave me the opportunity of learning code. Nowadays, this has been reduced, and in order to get a feature, as simple as a PvP and PK colour (I just gave an example to justify what I mean as simple code) you have to pay someone between 20€ to 100€, even though it is just 20 max lines of code. I just wanted to encourage developers to be more open minded, and give away simple things, since they could earn the trust of the community, create a good reputation, potentially increase of their customers, improve their code and coding style as they will be getting suggestions of how they could improve in the future and helping the L2 development community to grow up again. This can give them a nice feeling for contributing and helping hundreds of people.

     

    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.

  9. 3 hours ago, DukeAwesome said:

    Hey there !

    I am looking for an interface for C4 with 3 skill bar or more , Auto mp,hp,mp potions

    Pm me here if you have something like that !

    Thank you for your time !

    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

  10. On 1/15/2020 at 2:09 AM, xFranky said:

    Hello everyone.

     

    I feel like the community of L2 has decreased in the past few years. Nowadays developers are looking more how to make money, rather than doing something for the community too. Therefore, I decided to come up with an idea that could help the community, from all the developers that are willing to contribute for everyone, and set the bar higher.

     

    Anyway, I decided to see if developers want to develop with me a well needed mode of feature for aCis that will have unique features. The code changes will be available for the public and everyone could commit to help this idea grow.

     

    What feature in your opinion could me make? Finally pm me if you want to help on this unique move

     

    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.

  11. 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

     

     

    • Like 1
    • Upvote 3
  12. 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.

  13. 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

  14. 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

    img210.jpg
    img110.jpg

     

    Link 1

    Link 2

     

    Default functionality is for C4, but I have included map overlays for C5 and Interlude.

     

     

    Have fun,

    DnR

    • Like 2
×
×
  • Create New...