誉名录

This commit is contained in:
2026-02-02 13:30:28 +08:00
parent e8f9aa171b
commit 21d18deac6
6 changed files with 844 additions and 12 deletions

View File

@@ -101,6 +101,15 @@ class R_Utils {
return null;
}
//获取APC编号的文件路径
function GetApcPath(ApcIndex) {
local ApcPathAddress = L_Sq_CallFunc(0x1219E80, "int", FFI_THISCALL, ["int", "int"], 0x1D90B60, ApcIndex);
if (ApcPathAddress) {
return NativePointer(ApcPathAddress).readUnicodeString();
}
return null;
}
//获取Lst文件的返回Array
function GetLstArr(Path, Header) {
local Arr = [];
@@ -382,6 +391,31 @@ Rindro_Haker.LoadHook(0x7B64BA, ["int", "int", "bool"],
});
getroottable().WorldDrawVirtualCharacterCallBackFunc <- {};
Rindro_Haker.LoadHook(0x80CE30, ["int", "int", "int", "int", "int", "int", "int"],
function(args) {
local Layer = args[0];
local XPos = args[1];
local YPos = args[2];
local InfoAddress = NativePointer(Rindro_Haker.CpuContext.ecx).add(0x208).readInt();
local WorldId = NativePointer(InfoAddress).add(0x4).readUShort();
local NameAddress = NativePointer(InfoAddress).add(0x10).readInt();
local Name = NativePointer(NameAddress).readUnicodeString();
foreach(Func in WorldDrawVirtualCharacterCallBackFunc) {
Func(Layer, XPos, YPos, WorldId, Name);
}
// if (Layer == 0 && WorldId == 6)
//注意 这里的坐标如果出现负数 说明 在角色在屏幕外 不需要绘制 同理 超过 卷轴最大值也是 (不过性能影响不大直接绘制就行 避免称谓比角色大 突然显示)
// printf("绘制层级: " + Layer + " XPos: " + XPos + " YPos: " + YPos + " 角色名: " + Name + " 世界ID: " + WorldId);
return null;
},
function(args) {
return null;
});
// Rindro_Haker.LoadHook(0x7FFA80, ["int", "int", "int", "int", "int", "int", "int", "int", "int", "int", "int", "void"],
// function(args) {
// if(args[0] == 0xA){
@@ -413,5 +447,4 @@ Rindro_Haker.LoadHook(0x7B64BA, ["int", "int", "bool"],
// NativePointer(0x8266F5).writeShort(0x9090)
// NativePointer(0x78FD37).writeShort(0x9090)
// NativePointer(0x78FD3B).writeShort(0x9090)
// NativePointer(0x78FD3B).writeShort(0x9090)