• Я зарабатываю 100 000 RUB / месяц на этом сайте!

    А знаешь как? Я всего-лишь публикую (создаю темы), а админ мне платит. Трачу деньги на мороженое, робуксы и сервера в Minecraft. А ещё на паль из Китая. 

    Хочешь так же? Пиши и узнавай условия: https://t.me/alex_redact
    Реклама: https://t.me/yougame_official

Исходник Абилки без кд в мини игре терновый трон

Пользователь
Пользователь
Статус
Оффлайн
Регистрация
26 Окт 2017
Сообщения
531
Реакции
96
Может кому то захочется потупитить без пота.
Пожалуйста, авторизуйтесь для просмотра ссылки.

xzqSn3w.jpeg


Нужные букавы тут
C++:
Expand Collapse Copy
typedef void(__fastcall* SurvivalSkill_t)(__int64 pAbility);
typedef bool(__fastcall* SurvivalSkill2_t)(__int64 pAbility);
typedef bool(__fastcall* ChangeAbilitys_t)(__int64 a1,bool a2);
  
cDetour<SurvivalSkill_t>* oSurvivalSkill_t;
cDetour<SurvivalSkill2_t>* oSurvivalSkill2_t;
cDetour<SurvivalSkill_t>* oSurvivalSkill3_t;
cDetour<ChangeAbilitys_t>* oChangeAbilitys_t;

void ChangeCount(__int64 a1)
{
    if (a1)
    {
        auto v4 = *(DWORD64*)(*(DWORD64*)(a1 + 0x318) + 0x190);
        if (v4)
        {
            *(int*)(v4 + 0x188) += 2;
        }
     }
}

void CooldownAbility(__int64 pAbility)
{
    if (pAbility)
        *(float*)(pAbility + 0x48) = 0.01f;
}

void __fastcall hkSurvivalSkill(__int64 pAbility)
{
    oSurvivalSkill_t->GetTrampoline()(pAbility);
    CooldownAbility(pAbility);
}

bool __fastcall hkChangeAbilitys(__int64 a1, bool a2)
{
    ChangeCount(a1);
    auto ret_val = oChangeAbilitys_t->GetTrampoline()(a1, a2);            
    return ret_val;
}
  

void __fastcall hkSurvivalSkill3(__int64 pAbility)
{
    oSurvivalSkill3_t->GetTrampoline()(pAbility);
    CooldownAbility(pAbility);
}

  

bool __fastcall hkSurvivalSkill2(__int64 pAbility)
{
    auto ret_val = oSurvivalSkill2_t->GetTrampoline()(pAbility);
    CooldownAbility(pAbility);
    return ret_val;
}

void MemesLoad()
{
    {
        auto ptrSurvivalChangeCountFn = occurence("client.dll", "40 55 53 48 8D 6C 24 ? 48 81 EC ? ? ? ? 48 8B D9 84 D2 74 15 E8 ? ? ? ? 84 C0 75 30 B0 01 48 81 C4 ? ? ? ? 5B 5D C3 48 8B 81 ? ? ? ? 48 8B 88 ? ? ? ? 8B 81 ? ? ? ? 85 C0 0F 8E ? ? ? ? FF C8 89 81 ? ? ? ? 48 8B 83");
        if (ptrSurvivalChangeCountFn)
        {
            Detour.ApplyDetour<ChangeAbilitys_t>((ChangeAbilitys_t)ptrSurvivalChangeCountFn, reinterpret_cast<ChangeAbilitys_t>(hkChangeAbilitys), &oChangeAbilitys_t);
        }
    }
    
    {
        auto ptrSurvivalFn = occurence("client.dll", "40 53 48 83 EC 20 48 8B 01 48 8B D9 FF 50 48 F3 0F 11 43 ? C6 43 4C 00 48 83 C4 20 5B C3");
        if (ptrSurvivalFn)
        {
            Detour.ApplyDetour<SurvivalSkill_t>((SurvivalSkill_t)ptrSurvivalFn, reinterpret_cast<SurvivalSkill_t>(hkSurvivalSkill), &oSurvivalSkill_t);
        }
    }

    {
        auto ptrSurvivalFn = occurence("client.dll", "48 8B C4 57 48 83 EC 50 48 83 79 ? ? 48 8B F9 0F 84 ? ? ? ? 48 83 79 ? ? 0F 84 ? ? ? ? 48 89 58 08 48 8D 50 C8 48 89 68 10 48 89 70 18 4C 89 70 F0 4C 89 78 E8 45 33 FF 4C 89 78 D0 4C 89 78 D8 44 89 78 C8 E8 ? ? ? ? 48 8B 74 24 ? 48 63 44 24 ? 48 8B DE 85 C0 41 0F 95 C6 48 8D 2C C6 48 3B F5 74 1B 0F 1F 80");
        if (ptrSurvivalFn)
        {
            Detour.ApplyDetour<SurvivalSkill2_t>((SurvivalSkill2_t)ptrSurvivalFn, reinterpret_cast<SurvivalSkill2_t>(hkSurvivalSkill2), &oSurvivalSkill2_t);
        }
    }

    {
        auto ptrSurvivalFn = occurence("client.dll", "48 8B C4 53 56 57 48 83 EC 60 F3 0F 10 41 ? 48 8D 50 10 0F 29 70 C8 48 8B F9 0F 29 78 B8 48 8D 48 08 0F 28 F9 48 89 68 18 F3 0F 5C C7 C7 40 ? ? ? ? ? 0F 57 F6 F3 0F 11 40 ? E8 ? ? ? ? 0F 2F F0 F3 0F 11 47 ? 72 51 80 7F 4C 00 75 4B 48 8B 07 48 8B CF FF 50 70 84 C0 74 3E 0F 2F 77 48 72 04 C6 47 4C 01 48 8B 07 48 8D 54 24 ? 48 8B 58 78 48 8B 47 08");
        if (ptrSurvivalFn)
        {
            Detour.ApplyDetour<SurvivalSkill_t>((SurvivalSkill_t)ptrSurvivalFn, reinterpret_cast<SurvivalSkill_t>(hkSurvivalSkill3), &oSurvivalSkill3_t);
        }
    }
}
void MemesUnload()
{
   if (oChangeAbilitys_t)
   {
        oChangeAbilitys_t->Remove();
    }
    if (oSurvivalSkill_t)
    {
        oSurvivalSkill_t->Remove();
    }

    if (oSurvivalSkill2_t)
    {
        oSurvivalSkill2_t->Remove();
    }

    if (oSurvivalSkill3_t)
    {
        oSurvivalSkill2_t->Remove();
    }
}
 
Последнее редактирование:
И что с этим делать?
 
Что это за игра? Дота 3??
 
cDetour<SurvivalSkill_t>* oSurvivalSkill_t;
хотел написать красиво

auto ptrSurvivalFn = occurence("client.dll", "48 8B C4 57 48 83 EC 50 48 83 79 ? ? 48 8B F9 0F 84 ? ? ? ? 48 83 79 ? ? 0F 84 ? ? ? ? 48 89 58 08 48 8D 50 C8 48 89 68 10 48 89 70 18 4C 89 70 F0 4C 89 78 E8 45 33 FF 4C 89 78 D0 4C 89 78 D8 44 89 78 C8 E8 ? ? ? ? 48 8B 74 24 ? 48 63 44 24 ? 48 8B DE 85 C0 41 0F 95 C6 48 8D 2C C6 48 3B F5 74 1B 0F 1F 80"); if (ptrSurvivalFn) { Detour.ApplyDetour<SurvivalSkill2_t>((SurvivalSkill2_t)ptrSurvivalFn, reinterpret_cast<SurvivalSkill2_t>(hkSurvivalSkill2), &oSurvivalSkill2_t); }
получилось как всегда


(SurvivalSkill2_t)ptrSurvivalFn
reinterpret_cast<SurvivalSkill2_t>
не определился какой же каст юзать
 
не там пытаешься умника включать парень....
я просто указываю на странный код. где-то c style касты, где-то reinterpret_cast добавил. ты уж определись. я без негатива пишу если что
 
я просто указываю на странный код. где-то c style касты, где-то reinterpret_cast добавил. ты уж определись. я без негатива пишу если что
мой код пишу как по кайфу жи есть
шляпу сделал ради прикола от делать нех
 
Назад
Сверху Снизу