Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: ItemTitleColor (1.05D de MU EMU y 1.05X+)  (Visto 2887 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline Nemesis Posteado: December 08, 2017, 08:49:43 PM | Modificado: December 10, 2017, 06:36:00 PM by Nemesis

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 170
  • Gracias recibida: 6497
  • ar
Bueno lo prometido es deuda, siempre es así. como lo dije antes en el Chat del foro, acá esta mi código (casi el mas actual que tengo), super re-contra testeado y funcional en un: 100% adaptado para main.exe: 1.05D de MU EMU, para cambiar los colores de los nombres de cualquier item, basado en un Hook a la función de color del: Jewel of Soul, en este caso... aunque podría haber sido cualquier otro item, pero con el Soul, es facil hacerlo.

Archivo .cpp:
Code: [Select]
// -> Item Title Color (1.05.30 MU EMU)
#define oItemTitleColor_Hook 0x00586189
#define oItemTitleColor_Next 0x00586193
#define oItemTitleColor_Stack 0x005862BB

WORD wItemTitleColor_Pointer;
DWORD dwItemTitleColor_Set;
BOOL bItemTitleColor_Switcher;

DWORD dwItemTitleColor_Stack = oItemTitleColor_Stack;
DWORD dwItemTitleColor_Next = oItemTitleColor_Next;

namespace ItemColor
{
enum T
{
White = 0x00,
Blue = 0x01,
Red = 0x02,
Gold = 0x03,
Green = 0x04,
WhiteRed = 0x05,
Violet = 0x06,
WhiteBlue = 0x07,
WhiteBeige = 0x08,
GreenBlue = 0x09,
Gray = 0x0A,
DarkViolet = 0x0B,
};
};

void __declspec(naked) ItemTitleColor()
{
bItemTitleColor_Switcher = FALSE;
dwItemTitleColor_Set = ItemColor::White;
// ----
_asm
{
MOV wItemTitleColor_Pointer,AX
}
// ----
if(wItemTitleColor_Pointer == ItemId(14,14)) // Jewel of Soul
{
bItemTitleColor_Switcher = TRUE;
dwItemTitleColor_Set = ItemColor::Gold;
}
// ----
if(bItemTitleColor_Switcher == TRUE)
{
_asm
{
JE ColorSet
JMP dwItemTitleColor_Next
// ----
ColorSet:
// ----
MOV EDI,dwItemTitleColor_Set
MOV DWORD PTR SS:[ESP+0x24],EDI
// ----
JMP dwItemTitleColor_Stack
}
}
else if(bItemTitleColor_Switcher == FALSE)
{
_asm
{
JMP dwItemTitleColor_Next
}
}
}

void InitItemTitleColor()
{
gToolKit.SetRange((LPVOID)oItemTitleColor_Hook,10,ASM::NOP);
gToolKit.SetJmp((LPVOID)oItemTitleColor_Hook,ItemTitleColor);
}

Archivo .h:
Code: [Select]
#ifndef __ITEM_H__
#define __ITEM_H__

void ItemTitleColor();
void InitItemTitleColor();

#endif    // __ITEM_H__

Code: [Select]
Offsets para Main.exe versión: 1.05X+ Korea

#define oItemTitleColor_Hook 0x005891F9
#define oItemTitleColor_Next 0x00589203
#define oItemTitleColor_Stack 0x0058932B

Imágenes de mis Tests en: 1.05X+ Korea:




PD: Este código funciona para cualquier Item del Juego, no tiene bugs (testeado en: 1.05X+), y lo mas importante es que los colores de los nombres de los items seteados en la función, se mantienen... aun si el Item es: Excellent o esta: +1,+2,+3,etc.


Créditos:
Webzen
Nemesis

Gracias:


Offline Nemesis #1 Posteado: December 08, 2017, 08:59:06 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 170
  • Gracias recibida: 6497
  • ar
A pedido de Deilan, aca mi clase: ToolKit, para los que no tengan estas funciones de Hook.

contraseña: tuservermu.com.ve

https://mega.nz/#!HAph2BLS!mT3qJPpNRXdSqRGMIKvGameFq42r43zx2oXZRaLiJKI

Gracias:


Offline Nemesis #2 Posteado: December 10, 2017, 06:40:27 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 170
  • Gracias recibida: 6497
  • ar
Tema actualizado 10-12-17: Agregados los offsets para funcionar con main.exe 1.05X+ de Korea, el código en general es exactamente igual (por la similitud de versiones entre el: 1.05.30 y el: 1.05.50) y como lo dije en el post principal también, cualquier item puede ser agregado a esta función sin problemas, no tiene bugs de ninguna clase (testeado). y la función fue pensada y diseñada de manera tal, que los colores de los nombres de los items seteados en ella, no varíen inclusive si es que el Item cambiase de Estado (Normal <-> Excellent) o bien si es que el Item estuviese subido de Nivel (+1,+2,+3,etc). Sin nada mas que decir, que la disfruten.

Gracias:


Offline csestebancs #3 Posteado: December 10, 2017, 07:03:23 PM

  • 0 puntos por ventas
  • *
  • Rank: Usuario activo
  • Posts: 62
  • Gracias recibida: 581
  • ve
Hola @Nemesis  saludos quisiera saber que repuesta tienes para esto http://tuservermu.com.ve/index.php?topic=8926.msg43325;topicseen#new , y disculpa  por quitar un poco de tu tiempo gracias.

Venezuela Real asta la muerte.

Offline DeilanSasame #4 Posteado: December 10, 2017, 07:33:42 PM

  • 3D Maker
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 310
  • Gracias recibida: 1409
  • ar
@Nemesis
ya ecnontre una falla, o bug, con las alas, al Subirlas a +7 , el color queda en Gold,


Offline Nemesis #5 Posteado: December 10, 2017, 07:39:54 PM

  • C++ Coder
  • 0 puntos por ventas
  • *
  • *
  • Rank: Heroe
  • Posts: 170
  • Gracias recibida: 6497
  • ar
Deilan, eso siempre fue asi T_T


Offline DeilanSasame #6 Posteado: December 10, 2017, 07:53:52 PM

  • 3D Maker
  • 0 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 310
  • Gracias recibida: 1409
  • ar
Deilan, eso siempre fue asi T_T

mm no tanto, me acuerdo que tene un cliente 1.04E, con los Item Title Color, y en la wings avian solucionado eso,
pero como nunca se publico el codigo fuente y se perdio el cliente ese , no me acuerdo como era


Offline longvn #7 Posteado: December 12, 2017, 02:06:22 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 1
  • Gracias recibida: 0
  • vn
can you share offset main 1.04D ?


Offline pandarox #8 Posteado: January 29, 2018, 10:32:15 AM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 4
  • Gracias recibida: 1
  • br
@Nemesis when I use this custom code, all items in npc shop receive the white background.

You know how i can fix that?

Check out:


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate