Jump to content

Question

Posted

 Could any good soul adapt this mode to l2jfrozen?

package handlers.voicedcommandhandlers;

import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

/**
* @author Cobra
*/

public class autoloot implements IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS =
private static String[] _voicedCommands =
{
    "autolooton",
    "autolootoff"
};

public String[] getVoicedCommandList()
{
    return VOICED_COMMANDS;
}

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
    if (command.equalsIgnoreCase("autolooton"))
    {
        activeChar.setAutoLootEnabled(true);
        activeChar.sendMessage("Auto loot is now enabled.");
    }
    else if (command.equalsIgnoreCase("autolootoff"))
    {
        activeChar.setAutoLootEnabled(false);
        activeChar.sendMessage("Auto loot is now disabled.");
    }
    return true;
}
}

It is for l2jserver but it is missing the L2PCInstance file from setAutoLootEnabled

I even tried it but when I tested it it didn't run the code I created it was this

/** AutoLoot parameters*/
private boolean _autoLootEnabled = false;

public void setAutoLootEnabled(final boolean autoLootEnabled)
{
_autoLootEnabled = autoLootEnabled;

}

 

/**
* @param reference
* @return Returns the autoLootEnabled.
*/

public boolean isAutoLootEnabled(final L2Object reference)
{
return _autoLootEnabled && !(reference instanceof L2GrandBossInstance)
&& !(reference instanceof L2RaidBossInstance)
&& !(reference instanceof L2MinionInstance);

}

 

1 answer to this question

Recommended Posts

  • 0
Posted (edited)

If you sit down and study the code for several minutes you will understand how it work

and you won't need any help or copy paste the exact code.

 

This code:

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
    if (command.equalsIgnoreCase("autolooton"))
    {
        activeChar.setAutoLootEnabled(true);
        activeChar.sendMessage("Auto loot is now enabled.");
    }
    else if (command.equalsIgnoreCase("autolootoff"))
    {
        activeChar.setAutoLootEnabled(false);
        activeChar.sendMessage("Auto loot is now disabled.");
    }
    return true;
}

 

can turn into this:

@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
    activeChar.setIsAutoLoot(!activeChar.isAutoLoot());
    activeChar.sendMessage("Auto loot is now " + (isAutoLoot(null) ? "enabled." : "disabled"));
    return true;
}

You don't need the if statement since there are only 2 cases and the useVoicedCommand will only executed when 1 of these handler that are in String[] are called. 

 

And this code: 

private boolean _autoLootEnabled = false;

public void setAutoLootEnabled(final boolean autoLootEnabled)
{
_autoLootEnabled = autoLootEnabled;

}

 

/**
* @param reference
* @return Returns the autoLootEnabled.
*/

public boolean isAutoLootEnabled(final L2Object reference)
{
return _autoLootEnabled && !(reference instanceof L2GrandBossInstance)
&& !(reference instanceof L2RaidBossInstance)
&& !(reference instanceof L2MinionInstance);

}

Should be better:

private boolean _isAutoLoot;

public void setIsAutoLoot(final boolean val)
{
   _isAutoLoot = val;
}

public boolean isAutoLoot(final L2Character target)
{
   return Objects.nonNull(target) && target.isRaid() ? false : _isAutoLoot;
}

 

Edited by EdithFinch

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • First of all, let us get one thing straight. Nobody is forcing you or anyone else on this forum to deal with Kara or buy anything from him. Every single user here has a keyboard and access to the search bar. MaxCheaters has years of archives. All anyone has to do is type "Kara" into the search box, read the history, and make their own informed decision. It takes five seconds to do your own due diligence before opening your wallet.   Second, throwing random insults around and calling me an ass licker just because I do not join your personal witch hunt shows how weak your argument actually is. Staying objective or not taking your side does not mean backing a scammer. Throwing a tantrum and attacking everyone in sight does not make you a hero, it just makes you look desperate for attention.   You are sitting here dragging developers, clients, and forum staff through the mud, crying about admins and calling the forum dead, yet you are still here posting rage posts. If clients lost reputation or money, that is on them and their own business choices. Trying to pin other peoples decisions on me or anyone else who does not agree with you is plain stupid.   Bottom line, the search button exists for a reason. If you want to warn people, post your proof, state the facts, and let adults decide for themselves. But keep my name out of your toxic drama, because making personal attacks on me is not going to fix your problems.
    • 🔥 L2PRIDE — WE ARE LIVE! 🔥 The wait is finally over. L2Pride Interlude C6 officially opened today, September 25th, 2026 at 16:00 GMT+2! If you’ve been waiting for a stable, long-term Interlude server with the old-school feeling you love, but with fresh content and a few new twists — this is your time to join. ⚔️ Classic C6 Experience 🔥 New Content 🏰 Massive PvP & Sieges 💎 Balanced & Competitive Gameplay 🛡️ Built for a long-term community No shortcuts. No pay-to-win nonsense. No server that disappears after a few weeks. Just Lineage 2, the way you remember it. L2Pride is now LIVE. Come build your legacy. ⚔️🔥 DISCORD: https://discord.gg/JVdpESC5Ry
    • 🔥 Daily restock across all tools! Get your favorite AI subscriptions at unbeatable prices.
    • Hi @Akar0 !  I saw your H5 compiler. By any chance, do you still have the Interface.u that matches that compiler? If you do and could share it, I’d really appreciate it. Thanks!
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..