Сб крадет сначала селф баф

VladaSs013

Единомышленник
Участник
Сообщения
45
Розыгрыши
0
Репутация
0
Реакции
6
Баллы
195
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
l2-scripts, open-team
Java:
public void useSkill(Creature activeChar, List<Creature> targets)
    {
        for(Creature target : targets)
            if(target != null)
            {
                //if(calcStealChance(target, activeChar))
                //{
                int stealCount = Rnd.get(1, _stealCount); // ToCheck
                if(!target.isPlayer())
                    continue;
                List<Effect> effectsList = target.getEffectList().getAllEffects();
                Collections.sort(effectsList, EffectsComparator.getInstance()); // ToFix: Comparator to HF
                Collections.reverse(effectsList);

                // Крутой изжоп для корявой системы эффектов, которую давно отправить в топку.
                IntObjectMap<List<Effect>> effectSkills = new TreeIntObjectMap<List<Effect>>();
                for(Effect e : effectsList)
                {
                    List<Effect> effects = effectSkills.get(e.getDisplayId());
                    if(effects == null)
                    {
                        effects = new ArrayList<Effect>();
                        effectSkills.put(e.getDisplayId(), effects);
                    }
                    effects.add(e);
                }

                int counter = 0;
                loop: for(List<Effect> effects : effectSkills.values())
                {
                    if(counter >= stealCount)
                        break;

                    if(effects.isEmpty())
                        continue;

                    for(Effect e : effects)
                    {
                        if(!canSteal(e))
                            continue loop;
                    }

                    for(Effect e : effects)
                    {
                        Effect stolenEffect = cloneEffect(activeChar, e);
                        if(stolenEffect != null)
                            activeChar.getEffectList().addEffect(stolenEffect);
                        e.exit();
                    }
                    counter++;
                }
       
                //}
                //else
                //{
                //    activeChar.sendPacket(new SystemMessage(SystemMessage.C1_HAS_RESISTED_YOUR_S2).addString(target.getName()).addSkillName(getId(), getLevel()));
                    //continue;
                //}
                useInstantEffects(activeChar, target, false);
                getEffects(activeChar, target, getActivateRate() > 0, false);
            }

        if(isSSPossible())
            activeChar.unChargeShots(isMagic());
    }

Это л2 скрипт, как сделать чтоб начинало с денс, сонг?


Java:
public void useSkill(L2Character activeChar, GArray<L2Character> targets)
    {
        for(L2Character target : targets)
            if(target != null)
            {
                if(!target.isPlayer())
                    continue;

                if(target.checkReflectSkill(activeChar, this))
                    target = activeChar;

                ConcurrentLinkedQueue<L2Skill> eff = target.getEffectList().getAllSkills(true);
                if(eff.size() == 0)
                    continue;

                boolean update = false;
                int counter = 0;

                double cancel_res_multiplier = target.calcStat(Stats.CANCEL_RECEPTIVE, 0, null, null); // constant resistance is applied for whole cycle of cancellation
                L2Skill[] a = eff.toArray(new L2Skill[eff.size()]);
                // Сначало крадем песни/танцы
                for(int i = 0; counter < _stealCount && i < a.length; i++)
                {
                    L2Skill e = a[a.length - i - 1];

                    if(e != null && e.isMusic() && e.isCancelable() && !e.isOffensive())
                    {
                        if(calcStealChance(target, activeChar, e, cancel_res_multiplier))
                        {
                            if(cloneEffect(activeChar, target, e))
                            {
                                update = true;
                                target.getEffectList().stopEffect(e.getId());
                            }
                        }
                        counter++;
                    }
                }
                // Потом остальное
                for(int i = 0; counter < _stealCount && i < a.length; i++)
                {
                    L2Skill e = a[a.length - i - 1];
                    if(e != null && !e.isMusic() && e.isCancelable() && !e.isToggle() && !e.isPassive() && (!e.isOffensive() || e.getId() == 368) && e.getAbnormalType() != SkillAbnormalType.vp_up && e.getId() != 1540)
                    {
                        if(calcStealChance(target, activeChar, e, cancel_res_multiplier))
                        {
                            if(cloneEffect(activeChar, target, e))
                            {
                                update = true;
                                target.getEffectList().stopEffect(e.getId());
                            }
                        }
                        counter++;
                    }
                }
                target.updateEffectIcons();
                if(update)
                {
                    activeChar.sendChanges();
                    activeChar.updateEffectIcons();
                }
            }

        if(isSSPossible())
            activeChar.unChargeShots(isMagic());
    }

Вот пример с л2 опен, тут сразу сонг денс, как адаптировать?
 
Последнее редактирование модератором:
Это последние скрипты которые в шаре исходы шарились или приватка покупная?
 

Вроде воровало рандом два бафа, если память не изменяет.
Там не втупую рандом. Помимо резистов и magic_lvl еще влияет базовое время бафа. Чем оно больше, тем больше шанс потерять бафф. Если сонги и денсы висят по 2 минуты, а селф 20 минут, то есть большой шанс что канцел проскочит сонги и денсы, и схавает селф.
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Там не втупую рандом. Помимо резистов и magic_lvl еще влияет базовое время бафа. Чем оно больше, тем больше шанс потерять бафф. Если сонги и денсы висят по 2 минуты, а селф 20 минут, то есть большой шанс что канцел проскочит сонги и денсы, и схавает селф.
Хмм то есть шанс своровать комбобафы будет выше?
 
Хмм то есть шанс своровать комбобафы будет выше?
Теоретически да, но нужно добраться к ним через 10-12 денсов/сонгов, у них шанс маленький, но все же.
Я думаю вам стоит просмотреть данный ролик:
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
да вы прикололись так заворачиваться тыкаться на мамонтовых хрониках? иди те на тестовый адвексов и смотрите что да как
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.

Похожие темы

Назад
Сверху Снизу