Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Совместимость Rguard И Lindvior
#21
Код:
/**
     * Бафает один бафф, снимает плату за бафф, отображает диалог с кнопкой возврата к списку бафов
     * @param args массив строк: элемент 0 - id скида, элемент 1 - уровень скила
     */
    public void doBuff(String[] args)
    {
        Player player = (Player) getSelf();
        Summon pet = player.getSummonList().getPet();
        NpcInstance npc = getNpc();

        if(!checkCondition(player, npc))
            return;

        if(player.getAdena() < Config.SERVICES_BUFFER_PRICE)
        {
            player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
            return;
        }

        try
        {
            int skill_id = Integer.valueOf(args[0]);
            int skill_lvl = Integer.valueOf(args[1]);
            
            
            if(!contains(skill_id, skill_lvl))
            {
                // По желанию сообщение что игрок изменил байпас.
                return;
            }
            
            int select_id = Integer.valueOf(args[2]);
            Skill skill = SkillTable.getInstance().getInfo(skill_id, skill_lvl);
            if(select_id == 0)
                ThreadPoolManager.getInstance().schedule(new BeginBuff(getNpc(), skill, player), 0);
            if(select_id == 1)
            {
                if(pet == null)
                    return;

                ThreadPoolManager.getInstance().schedule(new BeginPetBuff(getNpc(), skill, pet), 0);
            }
            player.reduceAdena(Config.SERVICES_BUFFER_PRICE, true);
        }
        catch(Exception e)
        {
            player.sendMessage("Такого баффа у меня нет!");
        }
            show("scripts/services/Buffer/buffschar1.htm", player);
    }
    
    pulic boolean contains(int skillId, int skillLevel)
    {
        for(int[] skill : buffs)
            if(skill[0] == skillId && skill[0] == skillLevel)    
                return true;
        return false;
    }

примерно так.
Ответ
#22
Krasavella Написал:Именно так и делают) Как можно добавить проверку на возможность бафнуться только skill_id, которые указаны в скрипте?

Пробегайтесь по списку ваших скилов перед бафом, если id нет в списке - не бафать.
Fortuna - non penis, in manus non recipe.
Ответ
#23
Mifesto Написал:
Код:
            if(!contains(skill_id, skill_lvl))
            {
                // По желанию сообщение что игрок изменил байпас.
                return;
            }
            
    
    pulic boolean contains(int skillId, int skillLevel)
    {
        for(int[] skill : buffs)
            if(skill[0] == skillId && skill[0] == skillLevel)    
                return true;
        return false;
    }

примерно так.

Спасибо, сейчас проверю))
[Изображение: Z.png][Изображение: S.gif]
Ответ
#24
Krasavella Написал:Спасибо, сейчас проверю))

Mifesto Написал:[SRC="java"]pulic boolean contains(int skillId, int skillLevel)
{
for(int[] skill : buffs)
if(skill[0] == skillId && skill[1] == skillLevel)
return true;
return false;
}[/SRC]

Только условие исправьте Smile
Fortuna - non penis, in manus non recipe.
Ответ
#25
Ashe Написал:Только условие исправьте Smile

Да, заметила skill_lvl))

P.S. Что скажите по защите на крипте Rabbit - http://ru.wikipedia.org/wiki/Rabbit?

Rabbit Cryptografy System 1.5 Gbps Lineage 2

Добавлено через 5 минут
if(!contains(skill_id, skill_lvl)) помогло!!!))
[Изображение: Z.png][Изображение: S.gif]
Ответ
#26
Примеров крипта очень мало, удалось найти нормально работающий на С и Ява, однако крипты С и Ява не совместимы, поэтому пришлось делать нативку для явки.

П.С. Скорость Кролика намного больше всяких RC4 и BlowFish.
Ответ
#27
лутшее решение таких бед придуманно уже в 2004
когда отсылаем игроку хтмл код, запоминаем все линки которые там были
если от игрока приходит линк несуществующий
то посылаем игрока к некой бабушке
Ответ
#28
ну, линк может быть и динамическим, например запрос на имя или еще что-то типа того.
ну хотя конечно можно как-то помечать что такие-то виды ссылок запоминать/проверять не требуется, хотя бы банально по наличию в исходной ссылке названия переменной, которая имеется в форме, наличествующей в хтмлке.
Ответ
#29
Клиент удалось хукнуть, но теперь проблема в:

Код:
if ((addr = GetProcAddress(hEngine, "?DrawTextTTFToCanvas@UCanvas@@QAEHHHPB_WPBVFontDrawInfo@@EHHPBV?$TArray@PAVFontDrawInfoSection@@@@@Z")) == 0)
        return false;

    true_DrawTextTTFToCanvas = (_DrawTextTTFToCanvas) addr;

Завтра буду искать решение =)
[Изображение: Z.png][Изображение: S.gif]
Ответ
#30
Krasavella Написал:Клиент удалось хукнуть, но теперь проблема в:

Код:
if ((addr = GetProcAddress(hEngine, "?DrawTextTTFToCanvas@UCanvas@@QAEHHHPB_WPBVFontDrawInfo@@EHHPBV?$TArray@PAVFontDrawInfoSection@@@@@Z")) == 0)
        return false;

    true_DrawTextTTFToCanvas = (_DrawTextTTFToCanvas) addr;

Завтра буду искать решение =)

Хотите сказать у вас заработал ргвард на линдвиоре? 0_о
[Изображение: 61b684.png]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Проблема с rguard\ftguard iDarkEmpire 13 5,860 07-22-2020, 11:31 PM
Последний пост: CTAJIIH
  Kamael(GF,HF,Lindvior) клиент на сборке CT0 Vangant monami 1 1,558 03-18-2018, 09:27 PM
Последний пост: lordofdest
  Lindvior и Win 10 -> 40% ЦП Main 18 4,843 02-22-2018, 08:12 PM
Последний пост: smeli
  [share] lin][info 2.3 [Lindvior] Gaikotsu 0 1,825 09-22-2017, 08:40 PM
Последний пост: Gaikotsu
  Структура пакета SystemMsg (531 Lindvior) Alay 0 1,268 02-12-2017, 11:24 AM
Последний пост: Alay
  rguard\ftguard Отправка покета на Авто бан farax 0 1,176 12-25-2015, 03:26 PM
Последний пост: farax
  Rguard 4arli 5 2,539 09-06-2014, 09:13 AM
Последний пост: lin2me
  Шара L2WT Lindvior Dolwin 12 4,789 08-22-2014, 07:18 PM
Последний пост: SouthBridge
  Декомпилированный Engine.dll Lindvior WoWan-SM 11 4,400 07-23-2014, 10:42 AM
Последний пост: Daan Raven
  Неизвестные пакеты Lindvior WoWan-SM 4 2,024 07-22-2014, 12:29 PM
Последний пост: WoWan-SM

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)