This commit is contained in:
lenheart
2024-10-02 21:00:21 +08:00
parent 7f547f5fd4
commit 2d6e633410
16 changed files with 736 additions and 36 deletions

View File

@@ -532,4 +532,71 @@ class User extends Base_C_Object {
if (Ret) return AccountCargo(Ret, this);
else return null;
}
}
//获取公会名称
function User::GetGuildName() {
return Sq_CallFunc(S_Ptr("0x869742a"), "string", ["pointer"], this.C_Object);
}
//获取副职业对象指针
function User::GetCurCharacExpertJob() {
return Sq_CallFunc(S_Ptr("0x822f8d4"), "pointer", ["pointer"], this.C_Object);
}
//获得角色副职业
function User::GetCurCharacExpertJobType() {
return Sq_CallFunc(S_Ptr("0x822f894"), "int", ["pointer"], this.C_Object);
}
//调用分解机
function User::DisPatcher_DisJointItem_disjoint(Slot, ...) {
local UseIdx = 239;
local UsePtr = this.C_Object;
if (vargv.len() > 1) {
UseIdx = vargv[0];
UsePtr = vargv[1];
}
return Sq_CallFunc(S_Ptr("0x81f92ca"), "int", ["pointer", "int", "int", "int", "pointer", "int"], this.C_Object, Slot, 0, UseIdx, UsePtr, 0xFFFF);
}
//发送Item邮件 Pubilc
function User::SendItemMail(UID, CID, ItemList, title, content) {
local SUser = World.GetUserByUid(UID);
local sql = "select letter_id from taiwan_cain_2nd.postal order by letter_id DESC";
local column_type_list = ["int"];
local SqlObj = MysqlPool.GetInstance().GetConnect();
local result = SqlObj.Select(sql, column_type_list);
local sl = 1;
if (result.len() > 0) {
sl = result[0][0] + 1;
}
local time = date();
local timeStr = time["year"] + "-" + (time["month"] + 1) + "-" + time["day"] + " " + time["hour"] + ":" + time["min"] + ":" + time["sec"];
foreach(value in ItemList) {
local sql1 = "insert into taiwan_cain_2nd.postal (occ_time,send_charac_name,receive_charac_no,amplify_option,amplify_value,seperate_upgrade,seal_flag,item_id,add_info,upgrade,gold,letter_id,avata_flag,creature_flag) values ('" + timeStr + "','" + title + "'," + CID + ",0,0,0,0," + value.item + "," + value.num + ",0,0," + sl + ",'0','0')";
SqlObj.Select(sql1, []);
}
local sql2 = "insert into taiwan_cain_2nd.letter (letter_id,charac_no,send_charac_name,letter_text,reg_date,stat) values ('" + sl + "'," + CID + ",'" + title + "','" + content + "','" + timeStr + "','1')";
SqlObj.Select(sql2, []);
MysqlPool.GetInstance().PutConnect(SqlObj);
if (SUser) {
local Pack = Packet();
Pack.Put_Header(0, 9);
local MailBox = Sq_CallFunc(S_Ptr("0x0823020C"), "int", ["pointer"], SUser.C_Object);
Sq_CallFunc(S_Ptr("0x0823455A"), "int", ["int"], MailBox);
local Not_Count = Sq_CallFunc(S_Ptr("0x084ED330"), "int", ["int"], MailBox);
Pack.Put_Short(Not_Count);
Pack.Finalize(true);
SUser.Send(Pack);
Pack.Delete();
}
}