Rindro-Sqr/Base/CallBack/DrawMain.nut

150 lines
3.8 KiB
Plaintext

/*
文件名:DrawMain.nut
路径:Base/CallBack/DrawMain.nut
创建日期:2024-08-06 18:58
文件用途:绘制回调
*/
//在DrawMain后面调用
function L_drawMainCustomUI_All() {
local obj = sq_getMyCharacter();
if (!obj) return;
local RootTab = getroottable();
//获取与上一帧的dt
if (!(RootTab.rawin("Rindro_DurationFlag"))) {
Rindro_DurationFlag <- L_Getmicroseconds();
Rindro_Duration <- 0;
} else {
local NowM = L_Getmicroseconds();
Rindro_Duration = (NowM - Rindro_DurationFlag) / 2;
Rindro_DurationFlag = NowM;
}
//下帧执行任务事件
if (RootTab.rawin("LenheartNextFrameFuncTab")) {
foreach(Func in RootTab["LenheartNextFrameFuncTab"]) {
Func();
}
RootTab["LenheartNextFrameFuncTab"] = [];
} else {
RootTab.LenheartNextFrameFuncTab <- [];
}
//重载逻辑
Sq_ReloadLogic();
//初始化活动图标
Lenheart_EventList_Fun(obj);
//加载注册Base函数窗口
if (RootTab.rawin("LenheartBaseFuncTab")) {
local LenheartFunc = RootTab["LenheartBaseFuncTab"];
foreach(Func in LenheartFunc) {
Func(obj);
}
}
//加载注册Ex函数窗口
if (RootTab.rawin("LenheartFuncTab")) {
local LenheartFunc = RootTab["LenheartFuncTab"];
foreach(Func in LenheartFunc) {
Func(obj);
}
}
//所有插件初始化完毕
if (!getroottable().rawin("LenheartPluginsInitFlag")) {
local T = {
op = 25001021,
}
Rindro_BaseToolClass.SendPackEx(T);
getroottable().LenheartPluginsInitFlag <- true;
}
}
// L_NewWindows("Lenheart", 56, 0x1);
// L_Sq_CallFunc(0xE6E070, "int", FFI_THISCALL, ["int", "int", "int", "int"], 0x01ADE090, 56, 0, 0);
// getroottable().Lsnzz <- Clock();
// dofile("sqr/Base/_Tool/Json.nut");
// print(T);
// Register_DPS_Pack(1, function(Jso) {
// printT(Jso);
// });
// local asos = sq_CreateAICharacter(900);
// asos.setCurrentPos(sq_getMyCharacter().getXPos() + 100, sq_getMyCharacter().getYPos(), 0);
// sq_AddObject(sq_getMyCharacter(), asos, OBJECTTYPE_VIRTUALCHARACTER, false);
// sq_ChangeDrawLayer(asos, ENUM_DRAWLAYER_CLOSEBACK);
// L_sq_GoDungeon(1504);
CargoType <- 0;
Sq_GetExeStr_Map[21910] <- function(Index) {
CargoType = 0;
return 21910;
}
Sq_GetExeStr_Map[21911] <- function(Index) {
CargoType = 1;
return 21911;
}
Rindro_Haker.LoadHook(0xE67800, ["int", "int"],
function(args) {
//点击了仓库转移物品
if (args[0] == 0x2B) {
if (CargoType == 0) {
printf("点击个人仓库转移物品");
local T = {
op = 21091001,
type = 0,
}
Rindro_BaseToolClass.SendPackEx(T);
return [0];
}
if (CargoType == 1) {
printf("点击账号仓库转移物品");
local T = {
op = 21091001,
type = 1,
}
Rindro_BaseToolClass.SendPackEx(T);
return [0];
}
}
return null;
},
function(args) {
// print(666);
// print(format("%02x", args.pop()));
// TTTAni <- args.pop();
return null;
});
// function onAttack_Swordman(obj, damager, boundingBox, isStuck)
// {
// local Mon = sq_GetCNRDObjectToActiveObject(damager);
// Mon.setHp(0, null, true);
// }
// function getCurrentModuleDamageRate(obj) {
// local LLJob = sq_getJob(obj);
// local LLGrowT = sq_getGrowType(obj);
// if (LLJob == 0 && LLGrowT == 2)
// return 2100000000.0;
// return 1.0;
// }
// function onStartDungeon_Swordman(obj) {
// print(666);
// obj.setEnableDamageBox(false);
// }