Ir para conteúdo
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

Server Full PvP 7556


NandoF
 Compartilhar

Posts Recomendados

Liberação dos Itens quests  para Arch.. 


hooks.setHook(eHookType::JMP, 0x47B9A9, hooks.getAddress(&HookPatch::NKD_LiberaçãoItemQuest));
 hooks.setHook(eHookType::JMP, 0x47BB5D, hooks.getAddress(&HookPatch::NKD_LiberaçãoItemQuest2));
hooks.setHook(eHookType::JMP, 0x47BB46, hooks.getAddress(&HookPatch::NKD_LiberaçãoItemQuest4));

 

__declspec(naked) void HookPatch::NKD_LiberaçãoItemQuest2()
{
    _asm
    {
        CMP EAX, 1
        JNA True
        PUSH 0x47BAF9
        RETN

        True :
        PUSH 0x47BB63
            RETN
    }
}

__declspec(naked) void HookPatch::NKD_LiberaçãoItemQuest()
{
    _asm
    {

        CMP EAX, 1
        JNA True
        PUSH 0x8B32C4
        MOV ECX, DWORD PTR SS : [EBP + 0x8]
        PUSH 0x47B9B5
        RETN

        True:
        PUSH 0x47BA06
        RETN
    }
}

 

__declspec(naked) void HookPatch::NKD_LiberaçãoItemQuest4()
{
    // DWORD PTR SS:[EBP+8]
    _asm
    {
        MOV ECX, DWORD PTR SS : [EBP - 0x206C]
        PUSH ECX
        CALL HookImpl::CheckItemQuest
        TEST AL, AL
        JNE continua
        MOV EAX, 0x47BAF9
        JMP EAX

        continua:
        MOV ECX, DWORD PTR SS : [EBP - 0x206C]
        IMUL ECX, ECX, 0x6BC
        PUSH 0x47BB52
        RETN
    }
}

 

 

bool HookImpl::CheckItemQuest(int clientId)
{
    if (clientId <= 0 || clientId >= 1000)
        return false;

    auto mob = Native::GetMobFromIndex(clientId);
    if (Func::GetClassType(clientId) == God)
    {
        if (mob->Mob.CurrentStatus.Level == 354 && mob->Info.DestraveArch == 0) // Travamento Arch 355
            return false;
        else if (mob->Mob.CurrentStatus.Level == 369 && mob->Info.DestraveArch == 1) // Travamento Arch 370
            return false;

        return true;
    }
}

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.