This commit is contained in:
lenheart
2025-03-27 20:21:11 +08:00
parent 9d84fe256d
commit 4d65103501
33 changed files with 2712 additions and 2069 deletions

View File

@@ -242,6 +242,14 @@ class User extends Base_C_Object {
Pack.Delete();
}
//发送自定义DPS包
function Send_DPS_Pack(Id, Jso) {
Jso.op <- 2147483646;
Jso.dps_id <- Id;
SendJso(Jso);
}
//发送消息包
function SendNotiPacket(Type1, Type2, Type3) {
Sq_CUser_SendNotiPacket(this.C_Object, Type1, Type2, Type3);
@@ -532,6 +540,126 @@ class User extends Base_C_Object {
if (Ret) return AccountCargo(Ret, this);
else return null;
}
//获取角色身上的显示时装
function GetAva() {
//获取背包对象
local InvenObj = this.GetInven();
if (!InvenObj) return;
local re = [];
local job = this.GetCharacJob();
//遍历身上的每一件装备
for (local u = 0; u <= 10; u++) {
local EquObj = InvenObj.GetSlot(Inven.INVENTORY_TYPE_BODY, u);
if (EquObj && !EquObj.IsEmpty) {
//先拿克隆id 如果这个值有 那说明带的克隆这个是被克隆的装备 直接用这个 但是如果这个人什么都没带 只带了克隆 会显示克隆的id 所以还得判断这个id是不是克隆时装
local clearId = Sq_CallFunc(S_Ptr("0x850d374"), "int", ["pointer", "int"], InvenObj.C_Object, u)
local EquObjId = EquObj.GetIndex();
//如果这个是克隆
if (clearId > 0) {
re.push(clearId);
} else { //不是克隆 直接把id放上去
re.push(EquObjId);
}
} else { //如果这个部位没东西 直接放默认时装上去
re.push(defaultJobItemIdMap[job].index[u]);
}
}
return re;
}
}
class defaultJobItemId {
/**
* 头发
*/
hat = 0;
/**
* 帽子
*/
hair = 0;
/**
*脸
*/
face = 0;
/**
* 披风
*/
breast = 0;
/**
* 上衣
*/
coat = 0;
/**
* 下装
*/
pants = 0;
/**
* 腰部
*/
waist = 0;
/**
* 鞋子
*/
shoes = 0;
/**
* 皮肤
*/
skin = 0;
index = null;
constructor(hat, hair, face, breast, coat, pants, waist, shoes, skin) {
index = [];
this.hat = hat;
this.hair = hair;
this.face = face;
this.breast = breast;
this.coat = coat;
this.pants = pants;
this.waist = waist;
this.shoes = shoes;
this.skin = skin;
index.push(hat);
index.push(hair);
index.push(face);
index.push(breast);
index.push(coat);
index.push(pants);
index.push(waist);
index.push(shoes);
index.push(skin);
index.push(0);
index.push(0);
}
}
//默认时装
if (!(getroottable().rawin("defaultJobItemIdMap"))) {
getroottable().defaultJobItemIdMap <- {};
defaultJobItemIdMap.rawset(0, defaultJobItemId(39278, 39400, 0, 0, 40600, 41000, 0, 41800, 42200));
defaultJobItemIdMap.rawset(1, defaultJobItemId(0, 43400, 0, 0, 44600, 45000, 0, 45800, 46200));
defaultJobItemIdMap.rawset(2, defaultJobItemId(0, 47400, 0, 48426, 48600, 49000, 0, 49800, 50200));
defaultJobItemIdMap.rawset(3, defaultJobItemId(51265, 51400, 0, 0, 52600, 53000, 0, 53800, 54200));
defaultJobItemIdMap.rawset(4, defaultJobItemId(0, 55400, 55820, 0, 56600, 57000, 0, 57800, 58200));
defaultJobItemIdMap.rawset(5, defaultJobItemId(1600000, 1610000, 0, 0, 1640000, 1650000, 0, 1670000, 1680000));
defaultJobItemIdMap.rawset(6, defaultJobItemId(1720000, 1730000, 0, 1750000, 1760000, 1770000, 0, 1790000, 1800000));
defaultJobItemIdMap.rawset(7, defaultJobItemId(0, 29201, 0, 0, 29202, 29203, 0, 29204, 29205));
defaultJobItemIdMap.rawset(8, defaultJobItemId(0, 2090000, 0, 0, 2120000, 2130000, 0, 2140000, 2150000));
defaultJobItemIdMap.rawset(9, defaultJobItemId(39278, 39400, 0, 0, 40600, 41000, 0, 41800, 42200));
defaultJobItemIdMap.rawset(10, defaultJobItemId(51265, 51400, 0, 0, 52600, 53000, 0, 53800, 54200));
}
//获取公会名称
@@ -604,4 +732,15 @@ function User::SendItemMail(UID, CID, ItemList, title, content) {
//道具是否被锁
function User::CheckItemLock(Type, Slot) {
return Sq_CallFunc(S_Ptr("0x8646942"), "int", ["pointer", "int", "int"], this.C_Object, Type, Slot);
}
//查询本日金币交易额度
function User::GetTradeGoldDaily() {
return Sq_CallFunc(S_Ptr("0x8696600"), "int", ["pointer"], this.C_Object);
}
//设置本日金币交易额度
function User::SetTradeGoldDaily(Value) {
return Sq_CallFunc(S_Ptr("0x84EC002"), "int", ["pointer", "int"], this.C_Object, Value);
}