1.3基础
This commit is contained in:
parent
616a254c31
commit
b2881499c6
4
Main.nut
4
Main.nut
|
|
@ -1,8 +1,10 @@
|
||||||
function sqr_main() {
|
function sqr_main() {
|
||||||
GameManager.OpenHotFix("/dp_s/OfficialConfig");
|
GameManager.OpenHotFix("/dp_s/OfficialConfig");
|
||||||
|
GameManager.OpenHotFix("/dp_s/OfficialProject");
|
||||||
GameManager.OpenHotFix("/dp_s/_DPS_/_Core");
|
GameManager.OpenHotFix("/dp_s/_DPS_/_Core");
|
||||||
|
GameManager.OpenHotFix("/dp_s/_DPS_/_BuiltProject");
|
||||||
GameManager.OpenHotFix("/dp_s/MyProject");
|
GameManager.OpenHotFix("/dp_s/MyProject");
|
||||||
GameManager.SetGameMaxLevel(86);
|
// GameManager.SetGameMaxLevel(86);
|
||||||
// Cb_History_MileageSet_Func["TW_reach_game_world"] <- function(SUser, Data) {
|
// Cb_History_MileageSet_Func["TW_reach_game_world"] <- function(SUser, Data) {
|
||||||
// //第一次上线
|
// //第一次上线
|
||||||
// if (SUser.GetCharacLevel() > 70) {
|
// if (SUser.GetCharacLevel() > 70) {
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ Gm_InputFunc_Handle["给"] <- function(SUser, CmdString) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gm_InputFunc_Handle["转职"] <- function(SUser, CmdString) {
|
Gm_InputFunc_Handle["转职"] <- function(SUser, CmdString) {
|
||||||
local count = -1;
|
local count = -1;
|
||||||
local pos = 0;
|
local pos = 0;
|
||||||
|
|
@ -69,6 +71,8 @@ Gm_InputFunc_Handle["完成任务"] <- function(SUser, CmdString) {
|
||||||
SUser.ClearQuest_Gm(221);
|
SUser.ClearQuest_Gm(221);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gm_InputFunc_Handle["升级"] <- function(SUser, CmdString) {
|
Gm_InputFunc_Handle["升级"] <- function(SUser, CmdString) {
|
||||||
local count = -1;
|
local count = -1;
|
||||||
local pos = 0;
|
local pos = 0;
|
||||||
|
|
@ -109,20 +113,19 @@ Gm_InputFunc_Handle["点券"] <- function(SUser, CmdString) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gm_InputFunc_Handle["test"] <- function(SUser, CmdString) {
|
Gm_InputFunc_Handle["test"] <- function(SUser, CmdString) {
|
||||||
|
Sq_CallFunc(S_Ptr("0x0866C46A"), "void", ["pointer"], SUser.C_Object);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Timer.SetTimeOut(function() {
|
Timer.SetTimeOut(function() {
|
||||||
|
// _Dps_Equ2AvaJewel_Main_()
|
||||||
|
// local Pack = Packet();
|
||||||
|
// print("包位置: " + Pack.GetPos());
|
||||||
|
// Pack.Put_Int(666);
|
||||||
|
// print("包位置: " + Pack.GetPos());
|
||||||
// // Sq_Rsa_GenerateKey();
|
// // Sq_Rsa_GenerateKey();
|
||||||
// local str = format("%08x010101010101010101010101010101010101010101010101010101010101010155914510010403030101", 1);
|
// local str = format("%08x010101010101010101010101010101010101010101010101010101010101010155914510010403030101", 1);
|
||||||
// local Byte = Sq_Rsa_Private_Encrypt(str);
|
// local Byte = Sq_Rsa_Private_Encrypt(str);
|
||||||
|
|
@ -141,6 +144,7 @@ Timer.SetTimeOut(function() {
|
||||||
}, 1);
|
}, 1);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// // //玩家新增道具时
|
// // //玩家新增道具时
|
||||||
// Cb_wdzsdfge_Enter_Func <- {};
|
// Cb_wdzsdfge_Enter_Func <- {};
|
||||||
// Cb_wdzsdfge_Leave_Func <- {};
|
// Cb_wdzsdfge_Leave_Func <- {};
|
||||||
|
|
@ -158,3 +162,13 @@ Timer.SetTimeOut(function() {
|
||||||
// NativePointer(args[2]).Output(512);
|
// 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,6 @@ class _DPS_Login_Gateway_ {
|
||||||
function GetAccountByName(account) {
|
function GetAccountByName(account) {
|
||||||
local sql = format("select UID , accountname, password from d_taiwan.accounts where accountname='%s'", account);
|
local sql = format("select UID , accountname, password from d_taiwan.accounts where accountname='%s'", account);
|
||||||
local Ret = MysqlObject.Select(sql, ["int", "string", "string"]);
|
local Ret = MysqlObject.Select(sql, ["int", "string", "string"]);
|
||||||
print(Ret);
|
|
||||||
if (!Ret || Ret.len() == 0) {
|
if (!Ret || Ret.len() == 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -144,7 +143,6 @@ class _DPS_Login_Gateway_ {
|
||||||
|
|
||||||
}
|
}
|
||||||
if (!Jso) return;
|
if (!Jso) return;
|
||||||
print(Jso);
|
|
||||||
PackHandleMap[Header.path](SocketObject, Header, Jso);
|
PackHandleMap[Header.path](SocketObject, Header, Jso);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ _Hook_Register_Currency_Func_("0x08894782", ["pointer", "int", "pointer"], Cb_It
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class EquipmentExpandC {
|
class EquipmentExpandC {
|
||||||
|
|
||||||
MysqlObject = null;
|
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 check_table_sql = "SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'equip_only_id';"
|
||||||
local Ret = MysqlObject.Select(check_table_sql, ["int"]);
|
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;";
|
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);
|
MysqlObject.Exec_Sql(sql);
|
||||||
}
|
}
|
||||||
|
|
@ -36,7 +37,7 @@ class EquipmentExpandC {
|
||||||
//HOOKServerId生成uuid
|
//HOOKServerId生成uuid
|
||||||
Cb_ItemGloballyUniqueIdentifier_t_SetServerId_Enter_Func["_装备拓展_"] <- function(args) {
|
Cb_ItemGloballyUniqueIdentifier_t_SetServerId_Enter_Func["_装备拓展_"] <- function(args) {
|
||||||
args[1] = GenerateUUID();
|
args[1] = GenerateUUID();
|
||||||
print("赋予唯一id: " + args[1]);
|
// print("赋予唯一id: " + args[1]);
|
||||||
return args;
|
return args;
|
||||||
}.bindenv(this);
|
}.bindenv(this);
|
||||||
|
|
||||||
|
|
@ -54,17 +55,17 @@ class EquipmentExpandC {
|
||||||
// // Pack.Put_BinaryEx(DB_JewelSocketData.C_Object, 30);
|
// // Pack.Put_BinaryEx(DB_JewelSocketData.C_Object, 30);
|
||||||
// }.bindenv(this);
|
// }.bindenv(this);
|
||||||
|
|
||||||
// //额外数据包,发送装备数据给本地处理
|
//额外数据包,发送装备数据给本地处理
|
||||||
// Cb_InterfacePacketBuf_put_packet_Leave_Func["_装备拓展_"] <- function(args) {
|
Cb_InterfacePacketBuf_put_packet_Leave_Func["_装备拓展_"] <- function(args) {
|
||||||
// local Inven_Item = NativePointer(args[1]);
|
local Inven_Item = NativePointer(args[1]);
|
||||||
// if (Inven_Item.add(1).readU8() == 1) {
|
if (Inven_Item.add(1).readU8() == 1) {
|
||||||
// local Uuid = Inven_Item.add(21).readInt();
|
local Uuid = Inven_Item.add(21).readInt();
|
||||||
// print("uuid: " + Uuid);
|
if (Uuid< 10000) {
|
||||||
// local Pack = Packet(args[0]);
|
local uuid = GenerateUUID();
|
||||||
// print("包位置: " + Pack.GetPos());
|
Inven_Item.add(21).writeInt(uuid);
|
||||||
// // Pack.Put_BinaryEx(JewelSocketData.C_Object, 30);
|
}
|
||||||
// }
|
}
|
||||||
// }.bindenv(this);
|
}.bindenv(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
function GenerateUUID() {
|
function GenerateUUID() {
|
||||||
|
|
@ -86,7 +87,6 @@ class EquipmentExpandC {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Timer.SetTimeOut(function() {
|
Timer.SetTimeOut(function() {
|
||||||
|
|
||||||
getroottable()._EquipmentExpand_ <- EquipmentExpandC();
|
getroottable()._EquipmentExpand_ <- EquipmentExpandC();
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
@ -5,7 +5,6 @@ function InitPluginInfo() {
|
||||||
try {
|
try {
|
||||||
local Io = IO("/java_plugin/Restart", "r");
|
local Io = IO("/java_plugin/Restart", "r");
|
||||||
Io.Close();
|
Io.Close();
|
||||||
Sq_CreatCConnectPool(2, 4, "127.0.0.1", 3306, "game", "uu5!^%jg");
|
|
||||||
Sq_CreatSocketConnect("127.0.0.1", "65109");
|
Sq_CreatSocketConnect("127.0.0.1", "65109");
|
||||||
} catch (exception) {
|
} catch (exception) {
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue