誉名录

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

@@ -89,12 +89,13 @@ function L_drawMainCustomUI_All() {
// Rindro_BaseToolClass.DrawNineBox(0, 0, 200, 200, "interface/lenheartwindowcommon.img", 213);
// print(sq_GetObjectId(obj))
// print(Clock());
// Rindro_Image_GlobalMap["interface/newstyle/windows/popup/popup.img"].DrawExPng(138, 205, 0, 0, sq_RGBA(255, 255, 255, 250), 13.0, 13.0);
}
// for (local i = 0; i < 42; i++) {
// local Value = MemoryTool.DecodeMemoryData(0x394e8c00+0x1050 + (i * 4));
// if(Value == 151)print("Value :" + i * 4);
@@ -139,6 +140,39 @@ function L_drawMainCustomUI_All() {
// function drawAppend_VirtualCharacter(a, b, c, d, e, f) {
// local obj = sq_GetMyMasterCharacter();
// // print(Clock());
// // Sout("a: %L",a);
// // Sout("b: %L",b);
// // Sout("c: %L",c);
// // Sout("d: %L",d);
// // Sout("e: %L",e);
// // Sout("f: %L",f);
// // print(a);
// // print(b);
// // print(c);
// // print(d);
// // print(e);
// // print(f);
// // print(c);
// // print(d);
// // L_sq_DrawImg("newtitle/nangua.img", 0, c - 132, d - 360);
// // Rindro_BaseToolClass.DrawAniEx(c - 140, d, "etc/rindro/newtitle/ani/chn_2021_chivarly_system3/chivalry_s3_bottom_00.ani");
// Rindro_BaseToolClass.DrawAniEx(c, d, "etc/rindro/newtitle/ani/jolin/180607_title_jolin_tsai_normal.ani");
// // Rindro_BaseToolClass.DrawAniEx(c, d, "etc/rindro/newtitle/ani/jolin/180607_title_jolin_tsai_dodge.ani");
// // if (!e) {
// // BasicsDrawTool.T_DrawDynamicAni(obj, "Character/Common/Animation/Aura/chn_2021_chivarly_system3/Chivalry_S3_Bottom_00.ani", c, d, "Server_AuctionSystemTimeP22");
// // BasicsDrawTool.T_DrawDynamicAni(obj, "Character/Common/Animation/Aura/chn_2021_chivarly_system3_2/Chivalry_S3_Text.ani", c, d, "Server_AuctionSystemTimeP");
// // BasicsDrawTool.T_DrawDynamicAni(obj, "Character/Common/Animation/Aura/chn_2021_chivarly_system3/Chivalry_S3_Text.ani", c, d - 50, "Server_AuctionSystemTimeP2");
// // BasicsDrawTool.T_DrawDynamicAni(obj, "Character/Common/Animation/Aura/chn_2021_chivarly_system3_3/Chivalry_S3_Text.ani", c, d - 100, "Server_AuctionSystemTimeP3");
// // }
// }
// local asos = sq_CreateAICharacter(900);

View File

@@ -1094,7 +1094,8 @@ class LenheartNewUI_BaseInput extends LenheartNewUI_CommonUi {
}
function SetStr(Value) {
L_sq_SetInputBoxStr(InputController, Value);
str = Value;
// L_sq_SetInputBoxStr(InputController, Value);
}
}

View File

@@ -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 {

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)