寒服更新
This commit is contained in:
@@ -24,7 +24,6 @@ class Script {
|
||||
getroottable()._Script_Data_Init_ = true;
|
||||
}
|
||||
|
||||
|
||||
function GetFileInfo(Path) {
|
||||
local size = Asset_GetPvfFileSize(C_Object, Path);
|
||||
if (size) {
|
||||
|
||||
@@ -272,4 +272,30 @@ class World {
|
||||
Sq_Delete_Point(end);
|
||||
return PlayerArr;
|
||||
}
|
||||
|
||||
//获取区域
|
||||
function GetArea(TownId, AreaId) {
|
||||
local GameWorld = Sq_CallFunc(S_Ptr("0x080DA3A7"), "pointer", []);
|
||||
local Town = Sq_CallFunc(S_Ptr("0x086D1764"), "pointer", ["pointer", "int"], GameWorld, TownId);
|
||||
local Area = Sq_CallFunc(S_Ptr("0x086C3BA2"), "pointer", ["pointer", "int"], Town, AreaId);
|
||||
return Area;
|
||||
}
|
||||
|
||||
//获取区域的玩家列表
|
||||
function GetAreaUserList(Area) {
|
||||
local List = [];
|
||||
local VectorM = Memory.alloc(4 * 3);
|
||||
Sq_CallFunc(S_Ptr("0x08168420"), "int", ["pointer"], VectorM.C_Object);
|
||||
local Flag = Sq_CallFunc(S_Ptr("0x086C305E"), "bool", ["pointer", "pointer"], Area, VectorM.C_Object);
|
||||
local start = VectorM.readPointer();
|
||||
local finish = VectorM.add(4).readPointer();
|
||||
local Size = Sq_Ptr2Int(Sq_PointerOperationPointer(finish, start, "-")) / 2;
|
||||
for (local i = 0; i< Size; i++) {
|
||||
local UserId = NativePointer(start).add(i * 2).readUShort();
|
||||
local SUser = GetUserBySession(UserId);
|
||||
if (SUser) List.push(SUser);
|
||||
}
|
||||
return List.len() > 0 ? List : null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,15 +6,24 @@
|
||||
*/
|
||||
if (!("Cb_Use_Item_Sp_Func" in getroottable())) Cb_Use_Item_Sp_Func <- {};
|
||||
|
||||
// function Cb_use_item_sp(C_User, ItemId) {
|
||||
// if (ItemId in Cb_Use_Item_Sp_Func) {
|
||||
// local SUser = User(C_User);
|
||||
// if (SUser) {
|
||||
// local Ret = Cb_Use_Item_Sp_Func[ItemId](SUser, ItemId);
|
||||
// if (Ret == false) return false;
|
||||
// }
|
||||
// }
|
||||
// return true;
|
||||
// }
|
||||
|
||||
|
||||
function Cb_use_item_sp(C_User, ItemId) {
|
||||
if (ItemId in Cb_Use_Item_Sp_Func) {
|
||||
local SUser = User(C_User);
|
||||
if (SUser) {
|
||||
local Ret = Cb_Use_Item_Sp_Func[ItemId](SUser, ItemId);
|
||||
if (Ret == false) return false;
|
||||
Cb_History_ItemDown_Func["UseSharedEffectItem"] <- function(SUser, Data) {
|
||||
if (Data[18] == "3") {
|
||||
local ItemId = Data[15].tointeger();
|
||||
if (ItemId in Cb_Use_Item_Sp_Func) {
|
||||
if (SUser) {
|
||||
Cb_Use_Item_Sp_Func[ItemId](SUser, ItemId);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user