誉名录
This commit is contained in:
@@ -188,7 +188,29 @@ class Rindro_BaseToolClass {
|
||||
return ani;
|
||||
}
|
||||
|
||||
|
||||
//高级绘制文字(带换行)
|
||||
function L_sq_DrawCode_ExRN(str, x, y, rgba, mb, jc) {
|
||||
local strarr = [];
|
||||
if (str.find("\\r\\n") == null) {
|
||||
L_sq_DrawCode(str, x, y, rgba, mb, jc);
|
||||
} else {
|
||||
local Bpos = 0;
|
||||
while (true) {
|
||||
local Npos = str.find("\\r\\n", Bpos);
|
||||
if (!Npos) {
|
||||
local strbuff = str.slice(Bpos, str.len());
|
||||
strarr.append(strbuff);
|
||||
break;
|
||||
}
|
||||
local strbuff = str.slice(Bpos, Npos);
|
||||
strarr.append(strbuff);
|
||||
Bpos = Npos + 4;
|
||||
}
|
||||
for (local z = 0; z< strarr.len(); z++) {
|
||||
L_sq_DrawCode(strarr[z], x, y + (z * 14), rgba, mb, jc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//初始化根表成员
|
||||
function InitClass(Name) {
|
||||
@@ -294,21 +316,28 @@ class Rindro_BaseToolClass {
|
||||
function GetRarityColor(rarity) {
|
||||
switch (rarity) {
|
||||
case 0:
|
||||
return sq_RGBA(255, 255, 255, 255);
|
||||
return 0xFFFFFFFF;
|
||||
case 1:
|
||||
return sq_RGBA(104, 213, 237, 255);
|
||||
return 0xFFEDD568;
|
||||
case 2:
|
||||
return sq_RGBA(179, 107, 254, 255);
|
||||
return 0xFFFF6BB3;
|
||||
case 3:
|
||||
return sq_RGBA(255, 0, 240, 255);
|
||||
return 0xFFF000FF;
|
||||
case 4:
|
||||
return sq_RGBA(255, 177, 0, 255);
|
||||
return 0xFF00B1FF;
|
||||
case 5:
|
||||
return sq_RGBA(255, 102, 102, 255);
|
||||
return 0xFF6666FF;
|
||||
case 6:
|
||||
return sq_RGBA(255, 50, 50, 255);
|
||||
return 0xFF0055FF;
|
||||
case 7:
|
||||
return 0xFF9314FF;
|
||||
case 8:
|
||||
return 0xFF1CBC0C;
|
||||
case 9:
|
||||
return 0xFFACFF08;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//获取文字绘制长度
|
||||
class LenheartTextClass {
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user