Rindro-Plugins/Include/HookUi.hpp

187 lines
6.2 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#include "DNFTOOL.hpp"
void HookHudUi() {
////角色和PK经验条 提示标识(删除)
DNFTOOL::WriteInt(0x004B85EF, -5000);//角色经验条Y
DNFTOOL::WriteInt(5007000, 0); //识别区域宽度
BYTE M[] = { 0 };
DNFTOOL::WriteByteArr(5007018, M, 1); //识别区域高度
//////lv 等级贴图
//DNFTOOL::WriteInt(4953915, 1587);
//DNFTOOL::WriteInt(4953931, 1587);
//DNFTOOL::WriteInt(4953879, 44 + 170 + 172);
//////PK 等级贴图
//DNFTOOL::WriteInt(4954030, 44 + 170 + 172);
//DNFTOOL::WriteInt(4954109, 44 + 170 + 172);
//DNFTOOL::WriteInt(4954079, 1587);
//DNFTOOL::WriteInt(4954006, 1587);
////SP点坐标
DNFTOOL::WriteInt(5022550, 707);
DNFTOOL::WriteInt(5022555, 590);
////SP点 提示标识
DNFTOOL::WriteInt(5008949, 4294966586); //X轴 FFFFFD3A → lea ecx,[edi-000002C6]
DNFTOOL::WriteInt(5008960, 4294966711); //Y轴 FFFFFDB7 → lea edx,[esi-00000249]
BYTE H[] = { 0 };
DNFTOOL::WriteByteArr(5008955, H, 1); //识别区域宽度
BYTE I[] = { 0 };
DNFTOOL::WriteByteArr(5008966, I, 1); //识别区域高度
////疲劳条(删除)
DNFTOOL::WriteInt(4962645, -5150);
DNFTOOL::WriteInt(4962678, -5539 + 116);
DNFTOOL::WriteInt(4962768, -5539 + 116);
DNFTOOL::WriteInt(4962667, -5539 + 116);
DNFTOOL::WriteInt(4962582, -5539 + 116);
DNFTOOL::WriteInt(4962763, -5591);
DNFTOOL::WriteInt(4962673, -5591);
DNFTOOL::WriteInt(4962577, -5591);
DNFTOOL::WriteInt(5008389, -5413 + 305); //疲劳值文字标识 X轴
DNFTOOL::WriteInt(5008384, -5550 + 41); //疲劳值文字标识 Y轴
DNFTOOL::WriteInt(5008743, -5413 + 305); //疯狂阶段文字标识① X轴
DNFTOOL::WriteInt(5008738, -5550 + 41); //疯狂阶段文字标识① Y轴
DNFTOOL::WriteInt(5008868, -5413 + 305); //疯狂阶段文字标识② X轴
DNFTOOL::WriteInt(5008863, -5550 + 41); //疯狂阶段文字标识② Y轴
BYTE N[] = { 0 };
DNFTOOL::WriteByteArr(5008027, N, 1); //疲劳条识别区域宽度
BYTE O[] = { 0 };
DNFTOOL::WriteByteArr(5008045, O, 1); //疲劳条识别区域高度
DNFTOOL::WriteInt(5008021, 4294966650); //疲劳条识别区域 X轴 FFFFFEAF → lea edx,[edi-00000151]
DNFTOOL::WriteInt(5008039, 4294966706); //疲劳条识别区域 Y轴 FFFFFDDD → lea eax,[esi-00000223]
//////物品栏坐标
//BYTE WPL[] = { 31 };
//DNFTOOL::WriteByteArr(5037196, WPL, 1);
//DNFTOOL::WriteInt(5037103, 3);
//DNFTOOL::WriteInt(5037173, 569);
//DNFTOOL::WriteInt(5037202, 271);
//////扩展技能栏坐标
//BYTE SPL[] = { 31 };
//DNFTOOL::WriteByteArr(5037480, WPL, 1);
//DNFTOOL::WriteInt(5037374, 300);
//DNFTOOL::WriteInt(5037444, 534);
//DNFTOOL::WriteInt(5037486, 478);
//BYTE buf[] = { 194, 12, 0 };
//////干掉nut初始化基础技能栏坐标
//DNFTOOL::WriteByteArr(4928048, buf, 3);
//////基础技能栏坐标
//BYTE SSPL[] = { 31 };
//DNFTOOL::WriteByteArr(5037302, WPL, 1);
//DNFTOOL::WriteInt(5037209, 300);
//DNFTOOL::WriteInt(5037279, 565);
//DNFTOOL::WriteInt(5037308, 478);
////支援兵(删除)
DNFTOOL::WriteInt(7247082, 1679);
DNFTOOL::WriteInt(7247077, -5000);
////活动按钮图标
BYTE J[] = { 114 };
DNFTOOL::WriteByteArr(5105455, J, 1);
DNFTOOL::WriteInt(5105439, 96527);
//////buff图标及提示文字坐标
//BYTE K[] = { 0 };
//DNFTOOL::WriteByteArr(5016598, K, 1);
//DNFTOOL::WriteInt(5016565, 96528);
//DNFTOOL::WriteByteArr(4978018, K, 1);
//DNFTOOL::WriteInt(4978010, 96528);
////被动技能栏
DNFTOOL::WriteInt(5037996, 286);
DNFTOOL::WriteInt(5037991, 532);
//城镇右上角小地图X
DNFTOOL::WriteInt(0x01032274, 1059);
//副本右上角小地图X
DNFTOOL::WriteInt(0x01031D6C, 1059);
DNFTOOL::WriteInt(0x0102D605, 1059);
DNFTOOL::WriteInt(0x01031CAE, 1063);
DNFTOOL::WriteInt(0x01031D21, 1066);
DNFTOOL::WriteInt(0x01031D37, 1066);
DNFTOOL::WriteInt(0x01031C9F, 1066);
int offset = 250;
*(int*)0x008DEC6E = 348; //被伤害 字 Y轴
*(int*)0x008DECF4 = 348; //被伤害 数 Y轴
//评分系统总体Y轴
*(int*)0x008E3363 = -15; //有 志愿兵控件时
*(int*)0x008E3389 = -15; //没 志愿兵控件时
*(int*)0x004B802B = 0x01010101;//从左到右每个字节分别是 伤害点数 技巧 操作 被击数00关/01开
*(int*)0x008E3801 = 499; //被击数 总 Y轴
*(int*)0x008E3821 = 748 + offset; //被击数 字 X轴
*(int*)0x008E3876 = 728 + offset; //被击数 次 X轴
*(int*)0x008E38A2 = 728 + offset; //被击数 数 X轴
*(int*)0x008E39F3 = 439; //操作 总 Y轴
*(int*)0x008E3A13 = 756 + offset; //操作 总 X轴
DNFTOOL::WriteInt(0x008E3A69, 744 + offset);// X 符号
DNFTOOL::WriteInt(0x008E3A88, 743 + offset);//X 数字
*(int*)0x008E3BD1 = 439; //技巧 总 Y轴
*(int*)0x008E3BE3 = 756 + offset;//技巧 总 X轴
DNFTOOL::WriteInt(0x008E3C39, 744 + offset);
DNFTOOL::WriteInt(0x008E3C55, 743 + offset);
*(int*)0x008E34D1 = 761 + offset; //评分 字 X轴
*(int*)0x008E363C = 760 + offset; //评分 数 X轴
*(int*)0x008E34BF = 479;//评分 字 Y轴
*(int*)0x008E3663 = 479;//评分 数 Y轴
//打击效果评分系统坐标
*(int*)0x008DE969 = 718 + offset; //技巧 字 X轴
*(int*)0x008DE9D3 = 713 + offset; //技巧 字 X轴修正
*(int*)0x008DE9F8 = 368; //技巧 字 Y轴
*(int*)0x008DEA15 = 713 + offset; //技巧 数 X轴
*(int*)0x008DEA66 = 367; //技巧 数 Y轴
*(int*)0x008DEAA9 = 718 + offset; //操作 字 X轴
*(int*)0x008DEB13 = 713 + offset; //操作 字 X轴修正
*(int*)0x008DEB38 = 388; //操作 字 Y轴
*(int*)0x008DEB55 = 713 + offset; //操作 数 X轴
*(int*)0x008DEBA6 = 389; //操作 数 Y轴
memcpy((void*)0x008E3675, "\xE9\x14\x01\x00\x00\x90", 6);//关闭 伤害点数
DNFTOOL::WriteInt(0x008E33D1, 498);//被击伤害率Y
DNFTOOL::WriteInt(0x008E33E3, 725 + offset);//被击伤害率X
DNFTOOL::WriteInt(0x008E3439, 707 + offset);//符号
DNFTOOL::WriteInt(0x008E3473, 705 + offset);//数
//DNFTOOL::WriteInt(0x008E36E4, 558);//伤害点数Y
//DNFTOOL::WriteInt(0x008E3704, 726 + offset);//伤害点数X
DNFTOOL::WriteInt(0x00FC9662, 423);//频道界面版本号
DNFTOOL::WriteInt(0x006F469C, 423);//进游戏界面版本号
DNFTOOL::WriteInt(0x1004581, 1067);//NPC交互
DNFTOOL::WriteInt(0x8EA429, 1067);//NPC交互
DNFTOOL::WriteInt(0x6F45FB, 504);//载入界面转圈X轴
//DNFTOOL::WriteInt(0x6F45F6, 1067);//载入界面转圈Y轴
*(char*)(0x10F17FA) = (BYTE)235;//跳选择服务器
}