Jump to content
  • 0

Allow dyes for all classes?


Question

Posted

Hello, could anyone please tell me how can I allow all classes to use all dyes?, I run a Hi5 multiskill server.

 

For example, I want a warrior to use a INT dye.

 

Thanks in advancae!

3 answers to this question

Recommended Posts

  • 0
Posted
10 hours ago, Shadin said:

Hello, could anyone please tell me how can I allow all classes to use all dyes?, I run a Hi5 multiskill server.

 

For example, I want a warrior to use a INT dye.

 

Thanks in advancae!

 

RequestHennaEquip.java

  • 0
Posted
On 7/10/2021 at 5:51 AM, Kara said:

 

RequestHennaEquip.java

Now I know a bit more, but still can't change it... would you mind telling me what change should I make?, I erased the fragment that says "AllowedClass" but with no success in-game...

 

/*
 * Copyright © 2004-2020 L2J Server
 * 
 * This file is part of L2J Server.
 * 
 * L2J Server 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.
 * 
 * L2J Server 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. See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
package com.l2jserver.gameserver.network.clientpackets;

import com.l2jserver.gameserver.data.xml.impl.HennaData;
import com.l2jserver.gameserver.model.PcCondOverride;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.items.L2Henna;
import com.l2jserver.gameserver.network.SystemMessageId;
import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate;
import com.l2jserver.gameserver.util.Util;

/**
 * @author Zoey76
 */
public final class RequestHennaEquip extends L2GameClientPacket {
    private static final String _C__6F_REQUESTHENNAEQUIP = "[C] 6F RequestHennaEquip";
    private int _symbolId;
    
    @Override
    protected void readImpl() {
        _symbolId = readD();
    }
    
    @Override
    protected void runImpl() {
        final L2PcInstance activeChar = getActiveChar();
        if (activeChar == null) {
            return;
        }
        
        if (!getClient().getFloodProtectors().getTransaction().tryPerformAction("HennaEquip")) {
            return;
        }
        
        if (activeChar.getHennaEmptySlots() == 0) {
            activeChar.sendPacket(SystemMessageId.SYMBOLS_FULL);
            sendActionFailed();
            return;
        }
        
        final L2Henna henna = HennaData.getInstance().getHenna(_symbolId);
        if (henna == null) {
            _log.warning(getClass().getName() + ": Invalid Henna Id: " + _symbolId + " from player " + activeChar);
            sendActionFailed();
            return;
        }
        
        final long _count = activeChar.getInventory().getInventoryItemCount(henna.getDyeItemId(), -1);
        if (henna.isAllowedClass(activeChar.getClassId()) && (_count >= henna.getWearCount()) && (activeChar.getAdena() >= henna.getWearFee()) && activeChar.addHenna(henna)) {
            activeChar.destroyItemByItemId("Henna", henna.getDyeItemId(), henna.getWearCount(), activeChar, true);
            activeChar.getInventory().reduceAdena("Henna", henna.getWearFee(), activeChar, activeChar.getLastFolkNPC());
            final InventoryUpdate iu = new InventoryUpdate();
            iu.addModifiedItem(activeChar.getInventory().getAdenaInstance());
            activeChar.sendPacket(iu);
            activeChar.sendPacket(SystemMessageId.SYMBOL_ADDED);
        } else {
            activeChar.sendPacket(SystemMessageId.CANT_DRAW_SYMBOL);
            if (!activeChar.canOverrideCond(PcCondOverride.ITEM_CONDITIONS) && !henna.isAllowedClass(activeChar.getClassId())) {
                Util.handleIllegalPlayerAction(activeChar, "Exploit attempt: Character " + activeChar.getName() + " of account " + activeChar.getAccountName() + " tried to add a forbidden henna.");
            }
            sendActionFailed();
        }
    }
    
    @Override
    public String getType() {
        return _C__6F_REQUESTHENNAEQUIP;
    }
}
 

  • 0
Posted

data/xml/henna.xml

    <henna symbol_id="1" dye_id="4445" price="37000" INT="0" STR="1" CON="-3" MEN="0" DEX="0" WIT="0" classes="1,4,7,11,15,19,22,26,29,32,35,39,42,45,47,50,54,56,"/>

 

if you want to make all classes be able use all hennas , you should add all classes id there

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...