Welcome to MaxCheaters.com

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

Rootware

L2J Developer
  • Content Count

    1,296
  • Joined

  • Last visited

  • Days Won

    10
  • Feedback

    100%

Rootware last won the day on October 30 2020

Rootware had the most liked content!

Community Reputation

129 Excellent

10 Followers

About Rootware

  • Rank
    Count

Contact Methods

  • Website URL
    http://rootware.ru

Profile Information

  • Current Mood
    Busy
  • Gender
    Male
  • Country
    Russia
  • Location
    Russia
  • Interests
    Java, C#, PHP, Reverse Engineering

Recent Profile Visitors

6,244 profile views
  1. Not sure, but bypass string have limitation in 255 symbols. Isn't it? Maybe better to use WriteBBS command and have ability to input large texts?
  2. I think that pointles to make diff because not all parts of code completed. I meant the trigger for skipping spells.
  3. Your diff is outdated. Was added soulshot fix in Attack packet.
  4. Some time ago i helped someone with disabling shot spells. So, the next code it's more elegant solution than my previous guide. Example of course will for aCis but adapt for any other pack not a problem, i guess. For broadcasting all shot spells except soulshot uses broadcastPacketInRadius method into Creature.java. So, then we changing him. public void broadcastPacketInRadius(GameServerPacket packet, int radius) { if (radius < 0) radius = 600; // Check if packet is MagicSkillUse. final boolean isMagicSkillUse = (packet instanceof MagicSkillUse); for (
  5. All zone properties you can find into "zones" folder inside XML folder.
  6. http://rootware.ru/lineage-2-interlude-client/ http://rootware.ru/l2-file-edit-v-2/
  7. Assume, what this item isn't registered for this scroll or crystal type mismatches. Anyway you need debug isValid() method in EnchantScroll and AbstractEnchantItem classes. By the way. I didn't understood a logic in this validation. public boolean isValid(ItemInstance itemToEnchant, EnchantSupportItem supportItem) { if ((_items != null) && !_items.contains(itemToEnchant.getId())) { // If _items isn't null check registered Item Id. return false; } else if ((supportItem != null)) { if (_isBlessed) { return false; } else if (!supportItem.i
  8. Add debug messages into RequestExTryToPutEnchantTargetItem packet for known what missed. /* * This file is part of the L2J Mobius project. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  9. Check log files for searching errors with loading EnchantData. Maybe missed pathway or file corrupted.
  10. Try to use interface.xdat and interface.u from another client. For test you use even from lower chronicles this files.
  11. Check the conditions here. public class RequestExTryToPutEnchantTargetItem implements IClientIncomingPacket { private int _objectId; @Override public boolean read(GameClient client, PacketReader packet) { _objectId = packet.readD(); return true; } @Override public void run(GameClient client) { final PlayerInstance player = client.getPlayer(); if ((_objectId == 0) || (player == null)) { return; } if (player.isEnchanting()) { return; } final ItemInstance item = player.getInventory().getItemByObjectId(_objectId); final ItemInstance scroll =
  12. You can use as example AccessLevel pattern for you Premium system.
  13. Pointless, IMHO. final PremiumLevel premiumLevel = PremiumLevel.VALUES[levelId]; or final PremiumLevel premiumLevel = Enum.valueOf(PremiumLevel.class "GOLD"); or add into PremiumLevel enum one more method: public static PremiumLevel getPremiumLevel(int levelId) { for (PremiumLevel bit : VALUES) if (bit.getId() == levelId) return bit; return NONE; } and use final PremiumLevel premiumLevel = PremiumLevel.getPremiumLevel(levelId);