Code:
void __declspec(naked) ItemText()
{
_asm
{
CMP WORD PTR DS:[EDI],0x180F
JNZ NextItem1
PUSH 0x23E
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],EBX
MOV DWORD PTR DS:[0x7C18F18+EAX*4],EBX
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextItem1:
// ----
CMP WORD PTR DS:[EDI],ItemId(14,180) //Jewel of Level
JNZ NextItem2
PUSH 0xBB8 //Linea del text.bmd
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],0x00
MOV DWORD PTR DS:[0x7C18F18+EAX*4],0x00
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextItem2:
// ----
CMP WORD PTR DS:[EDI],ItemId(14,181) //Jewel of Luck
JNZ NextItem3
PUSH 0xBB9 //Linea del text.bmd
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],0x00
MOV DWORD PTR DS:[0x7C18F18+EAX*4],0x00
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextItem3:
// ----
CMP WORD PTR DS:[EDI],ItemId(14,182) //Jewel of Skill
JNZ NextItem4
PUSH 0xBBA //Linea del text.bmd
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],0x00
MOV DWORD PTR DS:[0x7C18F18+EAX*4],0x00
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextItem4:
// ----
CMP WORD PTR DS:[EDI],ItemId(14,183) //Jewel of Option
JNZ NextItem5
PUSH 0xBBB //Linea del text.bmd
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],0x00
MOV DWORD PTR DS:[0x7C18F18+EAX*4],0x00
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextItem5:
// ----
CMP WORD PTR DS:[EDI],ItemId(14,184) //Jewel of Excellent
JNZ NextLoad
PUSH 0xBBC //Linea del text.bmd
MOV ECX,0x07AB1E70
MOV ESI,0x00403FC0
CALL ESI
PUSH EAX
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
LEA EAX,[EAX+EAX*4]
LEA ECX,[EAX+EAX*4]
LEA EDX,[0x7BE8CB0+ECX*4]
PUSH EDX
MOV ESI,0x00862398
CALL ESI
MOV EAX,DWORD PTR DS:[0x7C1B6F4]
ADD ESP,0x8
MOV DWORD PTR DS:[0x7BE9E14+EAX*4],0x00
MOV DWORD PTR DS:[0x7C18F18+EAX*4],0x00
INC EAX
MOV DWORD PTR DS:[0x7C1B6F4],EAX
// ----
NextLoad:
MOV ESI,0x00595953
JMP ESI
}
}
void ItemTextInit()
{
SetRange((LPVOID)0x00595908, 60, ASM::NOP);
SetJmp((LPVOID)0x00595908, ItemText);
}
PS: All offsets for: 1.03o ENG Fully tested, I'm making a patch with complete things that you need on your client bro