1.3基础

This commit is contained in:
Lenheart 2026-02-27 15:40:20 +08:00
parent 616a254c31
commit b2881499c6
9 changed files with 121 additions and 27 deletions

View File

@ -1,8 +1,10 @@
function sqr_main() {
GameManager.OpenHotFix("/dp_s/OfficialConfig");
GameManager.OpenHotFix("/dp_s/OfficialProject");
GameManager.OpenHotFix("/dp_s/_DPS_/_Core");
GameManager.OpenHotFix("/dp_s/_DPS_/_BuiltProject");
GameManager.OpenHotFix("/dp_s/MyProject");
GameManager.SetGameMaxLevel(86);
// GameManager.SetGameMaxLevel(86);
// Cb_History_MileageSet_Func["TW_reach_game_world"] <- function(SUser, Data) {
// //第一次上线
// if (SUser.GetCharacLevel() > 70) {

View File

@ -22,6 +22,8 @@ Gm_InputFunc_Handle["给"] <- function(SUser, CmdString) {
}
}
Gm_InputFunc_Handle["转职"] <- function(SUser, CmdString) {
local count = -1;
local pos = 0;
@ -69,6 +71,8 @@ Gm_InputFunc_Handle["完成任务"] <- function(SUser, CmdString) {
SUser.ClearQuest_Gm(221);
}
Gm_InputFunc_Handle["升级"] <- function(SUser, CmdString) {
local count = -1;
local pos = 0;
@ -109,20 +113,19 @@ Gm_InputFunc_Handle["点券"] <- function(SUser, CmdString) {
}
}
Gm_InputFunc_Handle["test"] <- function(SUser, CmdString) {
Sq_CallFunc(S_Ptr("0x0866C46A"), "void", ["pointer"], SUser.C_Object);
}
Timer.SetTimeOut(function() {
// _Dps_Equ2AvaJewel_Main_()
// local Pack = Packet();
// print("包位置: " + Pack.GetPos());
// Pack.Put_Int(666);
// print("包位置: " + Pack.GetPos());
// // Sq_Rsa_GenerateKey();
// local str = format("%08x010101010101010101010101010101010101010101010101010101010101010155914510010403030101", 1);
// local Byte = Sq_Rsa_Private_Encrypt(str);
@ -141,6 +144,7 @@ Timer.SetTimeOut(function() {
}, 1);
// // //玩家新增道具时
// Cb_wdzsdfge_Enter_Func <- {};
// Cb_wdzsdfge_Leave_Func <- {};
@ -158,3 +162,13 @@ Timer.SetTimeOut(function() {
// NativePointer(args[2]).Output(512);
// }
Gm_InputFunc_Handle["我要升级"] <- function(SUser, CmdString) {
SUser.SetCharacLevel(85);
}
Gm_InputFunc_Handle["南瓜村"] <- function(SUser, CmdString) {
getroottable()._NewTitle_.AddTitle(SUser, 1);
}

View File

@ -122,7 +122,6 @@ class _DPS_Login_Gateway_ {
function GetAccountByName(account) {
local sql = format("select UID , accountname, password from d_taiwan.accounts where accountname='%s'", account);
local Ret = MysqlObject.Select(sql, ["int", "string", "string"]);
print(Ret);
if (!Ret || Ret.len() == 0) {
return null;
}
@ -144,7 +143,6 @@ class _DPS_Login_Gateway_ {
}
if (!Jso) return;
print(Jso);
PackHandleMap[Header.path](SocketObject, Header, Jso);
} else {

View File

@ -18,6 +18,7 @@ _Hook_Register_Currency_Func_("0x08894782", ["pointer", "int", "pointer"], Cb_It
class EquipmentExpandC {
MysqlObject = null;
@ -28,7 +29,7 @@ class EquipmentExpandC {
local check_table_sql = "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'equip_only_id';"
local Ret = MysqlObject.Select(check_table_sql, ["int"]);
if (Ret.len() == 0 || Ret[0][0] == null) {
if (Ret.len() == 0 || Ret[0][0] == 0) {
local sql = "CREATE TABLE equip_only_id (id INT(11) NOT NULL AUTO_INCREMENT COMMENT '32位自增唯一ID初始值10000', PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT '纯自增ID表' AUTO_INCREMENT=10000;";
MysqlObject.Exec_Sql(sql);
}
@ -36,7 +37,7 @@ class EquipmentExpandC {
//HOOKServerId生成uuid
Cb_ItemGloballyUniqueIdentifier_t_SetServerId_Enter_Func["_装备拓展_"] <- function(args) {
args[1] = GenerateUUID();
print("赋予唯一id " + args[1]);
// print("赋予唯一id " + args[1]);
return args;
}.bindenv(this);
@ -54,17 +55,17 @@ class EquipmentExpandC {
// // Pack.Put_BinaryEx(DB_JewelSocketData.C_Object, 30);
// }.bindenv(this);
// //额外数据包,发送装备数据给本地处理
// Cb_InterfacePacketBuf_put_packet_Leave_Func["_装备拓展_"] <- function(args) {
// local Inven_Item = NativePointer(args[1]);
// if (Inven_Item.add(1).readU8() == 1) {
// local Uuid = Inven_Item.add(21).readInt();
// print("uuid: " + Uuid);
// local Pack = Packet(args[0]);
// print("包位置: " + Pack.GetPos());
// // Pack.Put_BinaryEx(JewelSocketData.C_Object, 30);
// }
// }.bindenv(this);
//额外数据包,发送装备数据给本地处理
Cb_InterfacePacketBuf_put_packet_Leave_Func["_装备拓展_"] <- function(args) {
local Inven_Item = NativePointer(args[1]);
if (Inven_Item.add(1).readU8() == 1) {
local Uuid = Inven_Item.add(21).readInt();
if (Uuid< 10000) {
local uuid = GenerateUUID();
Inven_Item.add(21).writeInt(uuid);
}
}
}.bindenv(this);
}
function GenerateUUID() {
@ -86,7 +87,6 @@ class EquipmentExpandC {
}
Timer.SetTimeOut(function() {
getroottable()._EquipmentExpand_ <- EquipmentExpandC();

View File

@ -0,0 +1,81 @@
class HM_InheritC {
constructor() {
//注册客户端收包
RegisterClient();
}
function RegisterClient() {
ClientSocketPackFuncMap.rawset(21013001, function(SUser, Jso) {
//获取背包
local InvenObj = SUser.GetInven();
local Equip1 = InvenObj.GetSlot(Inven.INVENTORY_TYPE_ITEM, 9 + Jso.item.Pos);
local Equip2 = InvenObj.GetSlot(Inven.INVENTORY_TYPE_ITEM, 9 + Jso.item2.Pos);
local Level1 = PvfItem.GetPvfItemById(Equip1.GetIndex()).GetUsableLevel();
local Level2 = PvfItem.GetPvfItemById(Equip2.GetIndex()).GetUsableLevel();
if (Level1< 50 || Level2< 50) {
SUser.SendNotiBox(" 继承失败 装备等级不可低于50", 1);
return;
}
local Rarity1 = PvfItem.GetPvfItemById(Equip1.GetIndex()).GetRarity();
local Rarity2 = PvfItem.GetPvfItemById(Equip2.GetIndex()).GetRarity();
if (Rarity1< 4 || Rarity2< 4) {
SUser.SendNotiBox(" 继承失败 装备品级不可低于史诗", 1);
return;
}
if (Equip1.GetIndex() != Jso.item.ItemId || Equip2.GetIndex() != Jso.item2.ItemId) {
SUser.SendNotiBox(" 继承失败 继承时请不要操作背包", 1);
return;
}
local itemType1 = NativePointer(PvfItem.GetPvfItemById(Jso.item.ItemId).C_Object).add(141 * 4).readU32();
local itemType2 = NativePointer(PvfItem.GetPvfItemById(Jso.item2.ItemId).C_Object).add(141 * 4).readU32();
if (itemType1 != itemType2) {
SUser.SendNotiBox(" 继承失败 继承时需要同类型装备", 1);
return;
}
local forging = Equip1.GetForging(); //锻造
local upgrade = Equip1.GetUpgrade(); //强化
local amplification = Equip1.GetAmplification(); //增幅
local enchanting = Equip1.GetEnchanting(); //附魔
local Jewel = NativePointer(Equip1.C_Object).add(25).readU32(); //镶嵌
Equip2.SetForging(forging);
Equip2.SetUpgrade(upgrade);
Equip2.SetAmplification(amplification);
Equip2.SetEnchanting(enchanting);
Equip2.Flush();
NativePointer(Equip2.C_Object).add(25).writeU32(Jewel);
Equip1.Delete();
SUser.SendUpdateItemList(1, 0, 9 + Jso.item.Pos);
SUser.SendUpdateItemList(1, 0, 9 + Jso.item2.Pos);
SUser.GiveItem(Jso.item.ItemId, 1);
SUser.SendNotiBox(" 继承成功", 1);
SUser.SendJso({
op = 21013002
});
}.bindenv(this));
}
}
Timer.SetTimeOut(function() {
getroottable()._HM_InheritC_ <- HM_InheritC();
print("双端插件·毁梦定制继承系统 - 已加载");
}, 1);

View File

@ -5,7 +5,6 @@ function InitPluginInfo() {
try {
local Io = IO("/java_plugin/Restart", "r");
Io.Close();
Sq_CreatCConnectPool(2, 4, "127.0.0.1", 3306, "game", "uu5!^%jg");
Sq_CreatSocketConnect("127.0.0.1", "65109");
} catch (exception) {
}

BIN
lib/libAurora.so Executable file → Normal file

Binary file not shown.

BIN
lib/libAurora.so.bak Executable file → Normal file

Binary file not shown.

0
lib/strip_other_funcs_unix.sh Executable file → Normal file
View File