Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Hook Casas Decimal*/
- JMP_NEAR(0x041D1B4, HookNaked::NKD_ItemPrice_FormatDecimal_03, 1);
- JMP_NEAR(0x041CFD8, HookNaked::NKD_ItemPrice_FormatDecimal_02, 1);
- JMP_NEAR(0x0421356, HookNaked::NKD_ItemPrice_FormatDecimal);
- ////////////////////////////////////////////////////////////////////////
- __declspec(naked) void HookNaked::NKD_ItemPrice_FormatDecimal_03()
- {
- __asm
- {
- MOV EDX, DWORD PTR SS : [EBP - 011F4h]
- PUSH EDX
- LEA EAX, DWORD PTR SS : [EBP - 01278h]
- PUSH EAX
- CALL HKD_ItemPrice_FormatDecimal_03
- ADD ESP, 08h
- MOV EAX, 0x041D1CF
- JMP EAX
- }
- }
- __declspec(naked) void HookNaked::NKD_ItemPrice_FormatDecimal_02()
- {
- {
- static int retn = 0;
- __asm
- {
- LEA EAX, DWORD PTR SS : [EBP - 1278]
- PUSH EAX
- MOV EDX, DWORD PTR SS : [EBP - 01154h]
- ADD EDX, EAX
- PUSH EDX
- LEA EAX, DWORD PTR SS : [EBP - 011D4h]
- PUSH EAX
- CALL HKD_ItemPrice_FormatDecimal_02
- ADD ESP, 08h
- MOV EAX, 0x041CFF5
- JMP EAX
- }
- }
- }
- __declspec(naked) void HookNaked::NKD_ItemPrice_FormatDecimal()
- {
- __asm
- {
- MOV EAX, DWORD PTR SS : [EBP - 08Ch]
- MOV ECX, DWORD PTR DS : [EAX + 058Ch]
- PUSH ECX
- MOV EAX, DWORD PTR SS : [EBP + 08h]
- PUSH EAX
- CALL HKD_ItemPrice_FormatDecimal_AutoTrade
- ADD ESP, 08h
- MOV EAX, 0x04213DA
- JMP EAX
- }
- }
- /////////////////////////////////////////////////////////////////////////
- void HKD_ItemPrice_FormatDecimal_AutoTrade(char* gold, int value)
- {
- if (value <= 1000)
- {
- sprintf(gold, "Item em modo demonstração");
- return;
- }
- char st[32];
- char result[32];
- memset(result, 0, sizeof result);
- _itoa(value, st, 10);
- int len = strlen(st);
- int sum = ((len - 1) / 3);
- for (int i = (len - 1), count = 0, index = (len - 1) + sum; i >= 0; i--, count++)
- {
- if (!(count % 3) && count != 0)
- {
- result[index] = ',';
- index--;
- }
- result[index] = st[i];
- count++;
- index--;
- }
- sprintf(gold, "%s Gold", result);
- }
- void HKD_ItemPrice_FormatDecimal_02(char* pointer, int gold)
- {
- if (gold <= 0)
- {
- sprintf(pointer, "Item Gratuito");
- return;
- }
- char st[32];
- char result[32];
- memset(result, 0, sizeof result);
- _itoa(gold, st, 10);
- int len = strlen(st);
- int sum = ((len - 1) / 3);
- for (int i = (len - 1), count = 0, index = (len - 1) + sum; i >= 0; i--, count++)
- {
- if (!(count % 3) && count != 0)
- {
- result[index] = ',';
- index--;
- }
- result[index] = st[i];
- count++;
- index--;
- }
- sprintf(pointer, "Preço: %s", result);
- }
- void HKD_ItemPrice_FormatDecimal_03(char* pointer, int gold)
- {
- if (gold <= 0)
- {
- sprintf(pointer, "Item Gratuito");
- return;
- }
- char st[32];
- char result[32];
- memset(result, 0, sizeof result);
- _itoa(gold, st, 10);
- int len = strlen(st);
- int sum = ((len - 1) / 3);
- for (int i = (len - 1), count = 0, index = (len - 1) + sum; i >= 0; i--, count++)
- {
- if (!(count % 3) && count != 0)
- {
- result[index] = ',';
- index--;
- }
- result[index] = st[index];
- count++;
- index--;
- }
- sprintf(pointer, "Preço de venda: %s", result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement