Jump to content

Miracles

Members
  • Posts

    102
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Miracles

  1. Hi guys, i'm trying to make a restriction on aCis Scheme Buffer, so just VIP players can use it, I already installed the VIP system.

     

    I thiking add the check before html pop-up when players talk to npc.

     

    Example:

    If player is not a VIP player, don't open the window and say "Only VIP players can use SchemeBuffer" , but is player is vip just open the normal html window.

     

    I need to add this check inside this?

    public void onBypassFeedback(L2PcInstance player, String command) 

    Thanks for read and response me :)

  2. 		if  (activeChar.getLevel() == 1)
    		{
    			if (activeChar.isMageClass())
    			{
    			SkillTable.getInstance().getInfo(1204, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1085, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1035, 4).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1036, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1040, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1045, 6).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1389, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1303, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1059, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1259, 4).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(264, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(267, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(268, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(304, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(273, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(276, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1062, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1323, 1).getEffects(activeChar, activeChar);
    			}
    			else
    			{
    			SkillTable.getInstance().getInfo(1204, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1086, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1035, 4).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1268, 4).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1036, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1068, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1242, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1040, 3).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1045, 6).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1388, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1259, 4).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(264, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(267, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(268, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(269, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(304, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(271, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(274, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(275, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(310, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1062, 2).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(1323, 1).getEffects(activeChar, activeChar);
    			}
    		}
    

    Don't give buffs to player, no errors on console.

     

    Do something wrong?

  3. I think a little bit more :P

    		if  (activeChar.getLevel() == 1 && activeChar.isMageClass())
    			{
    			SkillTable.getInstance().getInfo(364, 1).getEffects(activeChar, activeChar);
    			SkillTable.getInstance().getInfo(364, 1).getEffects(activeChar, activeChar);
    			}
    		
    		if  (activeChar.getLevel() == 1 && !activeChar.isMageClass())
    		{
    		SkillTable.getInstance().getInfo(364, 1).getEffects(activeChar, activeChar);
    		SkillTable.getInstance().getInfo(364, 1).getEffects(activeChar, activeChar);
    		}
    
  4. Hi folks;

     

    I trying to edit the NPC Services (Author is Devlin, i think).

     

    NPC already give clan skills, but just on lvl 1. 

                        st.takeItems(clanLevelItemsId[2], clanLevelItemsCount[2]);
                        player.getClan().changeLevel(8);
                        player.getClan().addReputationScore(100000);
                        for (L2Skill cs : SkillTable.getClanSkills())
                        player.getClan().addNewSkill(cs);
                        player.getClan().broadcastClanStatus();
                        player.sendMessage("Your clan is now level " + player.getClan().getLevel() + ".");
                        player.sendMessage("Your reputation score is now " + player.getClan().getReputationScore() + ".");
                        player.sendMessage("Your clan has learned all clan skills.");
                        player.broadcastPacket(new MagicSkillUse(player, player, 5103, 1, 1000, 0));
    

    I try to do, this:  

    for (L2Skill cs : SkillTable.getClanSkills().getMaxLevel())
    

    But give me errors :P

     

    Any idea?

  5. I do some modifications on EffectCancelDebuff but can't make Cleanse don't remove malaria and flu.

     

    I try to change skills from DeBuff to Buff, but still removing it.

    /*
     * 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. 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 net.sf.l2j.gameserver.skills.effects;
    
    import net.sf.l2j.gameserver.model.L2Effect;
    import net.sf.l2j.gameserver.model.L2Skill;
    import net.sf.l2j.gameserver.model.actor.L2Character;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.skills.Env;
    import net.sf.l2j.gameserver.skills.Formulas;
    import net.sf.l2j.gameserver.templates.skills.L2EffectType;
    import net.sf.l2j.gameserver.templates.skills.L2SkillType;
    import net.sf.l2j.util.Rnd;
    
    /**
     * @author UnAfraid
     */
    public class EffectCancelDebuff extends L2Effect
    {
    	public EffectCancelDebuff(Env env, EffectTemplate template)
    	{
    		super(env, template);
    	}
    	
    	@Override
    	public L2EffectType getEffectType()
    	{
    		return L2EffectType.CANCEL_DEBUFF;
    	}
    	
    	@Override
    	public boolean onStart()
    	{
    		return cancel(getEffector(), getEffected(), getSkill(), getEffectTemplate().effectType);
    	}
    	
    	@Override
    	public boolean onActionTime()
    	{
    		return false;
    	}
    	
    	private static boolean cancel(L2Character caster, L2Character target, L2Skill skill, L2SkillType effectType)
    	{
    		if (!(target instanceof L2PcInstance) || target.isDead())
    			return false;
    		
    		final int cancelLvl = skill.getMagicLevel();
    		int count = skill.getMaxNegatedEffects();
    		double baseRate = Formulas.calcSkillVulnerability(caster, target, skill, effectType);
    		
    		L2Effect effect;
    		int lastCanceledSkillId = 0;
    		final L2Effect[] effects = target.getAllEffects();
    		for (int i = effects.length; --i >= 0;)
    		{
    			effect = effects[i];
    			if (effect == null)
    				continue;
    			
    			if (!effect.getSkill().isDebuff() || !effect.getSkill().canBeDispeled() || effect.getSkill().getId() != 4554 || effect.getSkill().getId() != 4553)
    			{
    				effects[i] = null;
    				continue;
    			}
    			
    			if (effect.getSkill().getId() == lastCanceledSkillId)
    			{
    				effect.exit(); // this skill already canceled
    				continue;
    			}
    			
    			if (!calcCancelSuccess(effect, cancelLvl, (int) baseRate))
    				continue;
    			
    			lastCanceledSkillId = effect.getSkill().getId();
    			effect.exit();
    			count--;
    			
    			if (count == 0)
    				break;
    		}
    		
    		if (count != 0)
    		{
    			lastCanceledSkillId = 0;
    			for (int i = effects.length; --i >= 0;)
    			{
    				effect = effects[i];
    				if (effect == null)
    					continue;
    				
    				if (!effect.getSkill().isDebuff() || !effect.getSkill().canBeDispeled() || effect.getSkill().getId() != 4554 || effect.getSkill().getId() != 4553)
    				{
    					effects[i] = null;
    					continue;
    				}
    				
    				if (effect.getSkill().getId() == lastCanceledSkillId)
    				{
    					effect.exit(); // this skill already canceled
    					continue;
    				}
    				
    				if (!calcCancelSuccess(effect, cancelLvl, (int) baseRate))
    					continue;
    				
    				lastCanceledSkillId = effect.getSkill().getId();
    				effect.exit();
    				count--;
    				
    				if (count == 0)
    					break;
    			}
    		}
    		return true;
    	}
    	
    	private static boolean calcCancelSuccess(L2Effect effect, int cancelLvl, int baseRate)
    	{
    		int rate = 2 * (cancelLvl - effect.getSkill().getMagicLevel());
    		rate += (effect.getPeriod() - effect.getTime()) / 1200;
    		rate *= baseRate;
    		
    		if (rate < 25)
    			rate = 25;
    		else if (rate > 75)
    			rate = 75;
    		
    		return Rnd.get(100) < rate;
    	}
    }
    
  6. Hi guys, i wanna remove this:

     

    precio%20wh.png

     

    I can delete the price for deposit, i can deposit items and don't need to pay adena. But can't delete the Fee from deposit window.

     

    WarehouseDepositList

    /*
     * 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. 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 net.sf.l2j.gameserver.network.serverpackets;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import net.sf.l2j.gameserver.model.item.instance.ItemInstance;
    import net.sf.l2j.gameserver.model.item.kind.Item;
    
    public final class WarehouseDepositList extends L2GameServerPacket
    {
        public static final int PRIVATE = 1;
        public static final int CLAN = 2;
        public static final int CASTLE = 3; // not sure
        public static final int FREIGHT = 4; // not sure
        
        private final int _playerAdena;
        private final List<ItemInstance> _items;
        private final int _whType;
        
        public WarehouseDepositList(L2PcInstance player, int type)
        {
            _whType = type;
            _playerAdena = player.getAdena();
            _items = new ArrayList<>();
            
            final boolean isPrivate = _whType == PRIVATE;
            for (ItemInstance temp : player.getInventory().getAvailableItems(true, isPrivate))
            {
                if (temp != null && temp.isDepositable(isPrivate))
                    _items.add(temp);
            }
        }
        
        @Override
        protected final void writeImpl()
        {
            writeC(0x41);
            writeH(_whType);
            writeD(_playerAdena);
            writeH(_items.size());
            
            for (ItemInstance temp : _items)
            {
                if (temp == null || temp.getItem() == null)
                    continue;
                
                Item item = temp.getItem();
                
                writeH(item.getType1());
                writeD(temp.getObjectId());
                writeD(temp.getItemId());
                writeD(temp.getCount());
                writeH(item.getType2());
                writeH(temp.getCustomType1());
                writeD(item.getBodyPart());
                writeH(temp.getEnchantLevel());
                writeH(temp.getCustomType2());
                writeH(0x00);
                writeD(temp.getObjectId());
                if (temp.isAugmented())
                {
                    writeD(0x0000FFFF & temp.getAugmentation().getAugmentationId());
                    writeD(temp.getAugmentation().getAugmentationId() >> 16);
                }
                else
                    writeQ(0x00);
            }
            _items.clear();
        }
    }
    
  7. Hi guys; 

     

    - I need olympiad system, don't match players of the same clan/ally or is friend (with config True/False)

    - Augmen't skills (Allowed or Not, with config (True for Allowed and False for Not)

     

    Datapack: aCis (last free rev)

     

    Write me here, or send me a PM with the price. Ofc i need a live test, before i buy it.

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock