Noticias:

SMF - Just Installed!

Menú principal

FIX VISUAL SKILL , BUG SKILL

Publicado por Dakosmu, Oct 07, 2024, 06:10 AM

Tema anterior - Siguiente tema

Dakosmu


FIX VISUAL SKILL , BUG SKILL


Hola a todos, estoy experimentando con agilidad ilimitada (agi) utilizando habilidades de todas las clases.

He realizado cambios en Maininfo:

Copiar
DWMaxAttackSpeed = 670000
DKMaxAttackSpeed = 670000
FEMaxAttackSpeed = 670000
MGMaxAttackSpeed = 670000
DLMaxAttackSpeed = 670000
SUMaxAttackSpeed = 670000
RFMaxAttackSpeed = 670000
Utiliza el siguiente código; ahora puedes usar agilidad ilimitada para todas las clases.

Archivo Fix.h
Copiar
#pragma once

[okay]void InitAttackSpeed();
Archivo Fix.cpp[/okay]


#include "stdafx.h"
#include "Fix.h"
#include "User.h"
#include "Defines.h"
#include "Object.h"
#include "Util.h"
#include "TMemory.h"

static DWORD ATTACK_RET = 0x00550A16;
static WORD CLASS = 0;
static WORD STR_SPEED = 0;
static WORD MAG_SPEED = 0;

__declspec(naked) void FixAttackSpeed()
{
   _asm
   {
      MOV EAX,DWORD PTR DS:[0x8128AC8]
      MOVZX ECX,WORD PTR DS:[EAX+0xB]
      MOV CLASS,CX
      MOVZX ECX,WORD PTR DS:[EAX+0x54]
      MOV STR_SPEED,CX
      MOVZX ECX,WORD PTR DS:[EAX+0x60]
      MOV MAG_SPEED,CX
   }
   // --------------------------------------------

   gObjUser.MagickAttack = gObjUser.GetActiveSkill();

   // -> Elfo
   if (CLASS == Elf || CLASS == MuseElf || CLASS == HightElf)
   {  
      if (gObjUser.MagickAttack == 52 ||  
          gObjUser.MagickAttack == 51 ||
          gObjUser.MagickAttack == 424 ||
          gObjUser.MagickAttack == 416)
      {
         if (STR_SPEED > 400)
         {
            STR_SPEED = 400;
         }
      }

      if (gObjUser.MagickAttack == 24 ||   // Corregir habilidad Triple Disparo
          gObjUser.MagickAttack == 414)
      {
         if (STR_SPEED > 600)
         {
            STR_SPEED = 600;
         }
      }
   }
   // -> Gladiador Mágico

   if (gObjUser.MagickAttack == 55 || gObjUser.MagickAttack == 490)
   {
      if (STR_SPEED > 1368)
      {
         STR_SPEED = 1368;
      }
   }

   if (gObjUser.MagickAttack == 56 || gObjUser.MagickAttack == 482)
   {
      if (STR_SPEED > 801)
      {
         STR_SPEED = 801;
      }
   }

   if (gObjUser.MagickAttack == 262 || gObjUser.MagickAttack == 558 ||
       gObjUser.MagickAttack == 264 || gObjUser.MagickAttack == 560)
   {
      if (STR_SPEED > 5002)
      {
         STR_SPEED = 5002;
      }
   }

   if (gObjUser.MagickAttack == 265)
   {
      if (STR_SPEED > 4502)
      {
         STR_SPEED = 4502;
      }
   }

   // --------------------------------------------
   _asm
   {
      MOVZX ECX,WORD PTR DS:[STR_SPEED]
      MOV DWORD PTR SS:[EBP-0x28],ECX
      FILD DWORD PTR SS:[EBP-0x28]
      FMUL QWORD PTR DS:[0x0D27C88]              ; FLOAT 0.0010007200189989805
      FSTP DWORD PTR SS:[EBP-0x10]
      MOVZX EAX,WORD PTR DS:[MAG_SPEED]
      MOV DWORD PTR SS:[EBP-0x2C],EAX
      FILD DWORD PTR SS:[EBP-0x2C]
      FMUL QWORD PTR DS:[0x0D27C88]              ; FLOAT 0.0010007200189989805
      FSTP DWORD PTR SS:[EBP-0x0C]
      MOVZX EDX,WORD PTR DS:[MAG_SPEED]
      MOV DWORD PTR SS:[EBP-0x30],EDX
      FILD DWORD PTR SS:[EBP-0x30]
      FMUL QWORD PTR DS:[0x0D281C0]              ; FLOAT 0.002000000094994903
      FSTP DWORD PTR SS:[EBP-0x4]
      FLD DWORD PTR SS:[EBP-0x10]

      JMP ATTACK_RET
   }
}
// --------------------------------------------------------------------------------------------  
static DWORD RETURN_attack2 = 0x0055157D;

__declspec(naked) void FixAttackSpeed2()
{
   _asm
   {
      MOVZX EDX,WORD PTR DS:[STR_SPEED]
      JMP RETURN_attack2
   }
}

void InitAttackSpeed()
{
   SetByte(0x00649E24 + 3, 14);   //-> Test 1
   SetByte(0x00556C32 + 6, 2);    //-> Test 2
   SetOp((LPVOID)0x005509CE, (LPVOID)FixAttackSpeed, ASM::JMP);
   SetOp((LPVOID)0x00551573, (LPVOID)FixAttackSpeed2, ASM::JMP);
}

Archivo Main.cpp
Copiar
InitAttackSpeed(); //-- Corregir Agilidad

Creditos
thanhbinhqht



Bon Dia

🡱 🡳