Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

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

Como definir coordenada char lvl 1


Apenasaprendiz
 Compartilhar

Pergunta

1 resposta a esta questão

Posts Recomendados

  • 0

Qual versão?

 

Se for 7.62 já tem isso na source, só procurar e alterar o valor.

 

Se for 7.56 tu pode fazer.

 

[spoiler=.]

__declspec(naked) void HookPatch::NKD_ProcessDBMessage_EnterGame()

{

__asm

{

MOV ECX, DWORD PTR SS : [EBP - 0x104C] // Pacote

LEA EAX, WORD PTR SS : [ECX + 0xE] // Y

PUSH EAX

LEA EDX, WORD PTR SS : [ECX + 0xC] // X

PUSH EDX

PUSH DWORD PTR SS : [EBP - 0xC] // ClientId

CALL HookImpl::enterGameSetPosition

TEST AL, AL

JE lblContinueNormal

PUSH 0x4A64F5

RETN

 

lblContinueNormal:

MOV EDX, DWORD PTR SS : [EBP - 0xC]

IMUL EDX, EDX, 0x6BC

PUSH 0x4A64AA

RETN

}

}

 

 

 

[spoiler=..]

 

bool HookImpl::enterGameSetPosition(const int32_t client, uint16_t* posX, uint16_t* posY)

{

auto mob = NativeFunctions::getMobFromIndex(client);

auto user = Functions::getUserFromIndex(client);

auto userData = &Global::userData[client];

 

auto setPosition = [&mob, posX, posY](uint16_t x, uint16_t y) {

*posX = x, *posY = y;

mob->LastPosX = x; mob->PosX = x;

mob->LastPosY = y; mob->PosY = y;

};

 

if (Functions::getPlayerClass(client) == Mortal)

{

if (mob->Mob.BaseStatus.Level < 39)

{

setPosition(2101 + rand() % 5, 2042 + rand() % 5); //Nasce na area de novatos

return true;

}

}

 

 

 

Skype - Vitor-touka

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 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.