USE [SRO_VT_SHARDLOG] GO /****** Object: StoredProcedure [dbo].[_AddLogItem] Script Date: 10/30/2017 2:55:41 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
IF (@Operation = 41) BEGIN IF (@ItemRefID = 2128) -- Bandit den return scroll (ITEM_ETC_SCROLL_RETURN_THIEFDEN_01), will work only when MaxStack is 1 BEGIN /* * Get latest region of character */ DECLARE @IsBattleField BIT SELECT @IsBattleField = IsBattleField FROM [SRO_VT_SHARD].[dbo].[_Char] INNER JOIN [SRO_VT_SHARD].[dbo].[_RefRegion] ON [SRO_VT_SHARD].[dbo].[_Char].LatestRegion = [SRO_VT_SHARD].[dbo].[_RefRegion].wRegionID WHERE [SRO_VT_SHARD].[dbo].[_Char].CharID = @CharID /* * Scroll is used inside town */ IF (@IsBattleField = 0) BEGIN DECLARE @COSID BIGINT DECLARE @ReFCharID INT DECLARE @TypeID4 INT /* * Get any summoned COS by current character * * It's actually fine not to use CURSOR, so far I noticed that any summoned COS * won't set "OwnerCharID", except for transport COS. * But just to be sure, I put CURSOR in use. */ SET NOCOUNT ON; DECLARE CurCOS CURSOR FOR SELECT ID, RefCharID FROM [SRO_VT_SHARD].[dbo].[_CharCOS] WHERE OwnerCharID = @CharID ORDER BY ID ASC; OPEN CurCOS; FETCH NEXT FROM CurCOS INTO @COSID, @ReFCharID; WHILE @@FETCH_STATUS = 0 BEGIN SELECT @TypeID4 = TypeID4 FROM [SRO_VT_SHARD].[dbo].[_RefObjCommon] WHERE ID = @ReFCharID /* * If current COS is a transport COS, erase all items * TypeID4 = 2 = Transport COS */ IF (@TypeID4 = 2) BEGIN UPDATE [SRO_VT_SHARD].[dbo].[_InvCOS] SET ItemID = 0 WHERE COSID = @COSID END FETCH NEXT FROM CurCOS INTO @COSID, @ReFCharID; END; CLOSE CurCOS; DEALLOCATE CurCOS; END END END
if (@Operation = 35) begin insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64) values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial) end declare @CharName varchar(64) set @CharName = (select CharName16 from [SRO_VT_SHARD].dbo._Char where CharID = @CharID ) declare @CharType int set @CharType = (select RefObjID from [SRO_VT_SHARD].dbo._Char where CharID = @CharID )
/*Mod Switcher*/ IF @ItemRefID BETWEEN '63630' and '63641' AND @Operation = '41' BEGIN EXEC [SRO_VT_SHARDLOG].dbo._ModelSwitcher @CharId, @ItemRefID END
المشاركة الأصلية كتبت بواسطة Neoon
عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]
كود PHP:
USE [SRO_VT_SHARDLOG]
GO
/****** Object: StoredProcedure [dbo].[_AddLogItem] Script Date: 10/30/2017 2:55:41 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF (@Operation = 41)
BEGIN
IF (@ItemRefID = 2128) -- Bandit den return scroll (ITEM_ETC_SCROLL_RETURN_THIEFDEN_01), will work only when MaxStack is 1
BEGIN
/*
* Get latest region of character
*/
DECLARE @IsBattleField BIT
SELECT @IsBattleField = IsBattleField
FROM [SRO_VT_SHARD].[dbo].[_Char]
INNER JOIN [SRO_VT_SHARD].[dbo].[_RefRegion]
ON [SRO_VT_SHARD].[dbo].[_Char].LatestRegion = [SRO_VT_SHARD].[dbo].[_RefRegion].wRegionID
WHERE [SRO_VT_SHARD].[dbo].[_Char].CharID = @CharID
/*
* Scroll is used inside town
*/
IF (@IsBattleField = 0)
BEGIN
DECLARE @COSID BIGINT
DECLARE @ReFCharID INT
DECLARE @TypeID4 INT
/*
* Get any summoned COS by current character
*
* It's actually fine not to use CURSOR, so far I noticed that any summoned COS
* won't set "OwnerCharID", except for transport COS.
* But just to be sure, I put CURSOR in use.
*/
SET NOCOUNT ON;
DECLARE CurCOS CURSOR FOR SELECT ID, RefCharID FROM [SRO_VT_SHARD].[dbo].[_CharCOS] WHERE OwnerCharID = @CharID ORDER BY ID ASC;
OPEN CurCOS;
FETCH NEXT FROM CurCOS INTO @COSID, @ReFCharID;
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @TypeID4 = TypeID4 FROM [SRO_VT_SHARD].[dbo].[_RefObjCommon] WHERE ID = @ReFCharID
/*
* If current COS is a transport COS, erase all items
* TypeID4 = 2 = Transport COS
*/
IF (@TypeID4 = 2)
BEGIN
UPDATE [SRO_VT_SHARD].[dbo].[_InvCOS] SET ItemID = 0 WHERE COSID = @COSID
END
FETCH NEXT FROM CurCOS INTO @COSID, @ReFCharID;
END;
CLOSE CurCOS;
DEALLOCATE CurCOS;
END
END
END
if (@Operation = 35)
begin
insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64)
values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial)
end
declare @CharName varchar(64)
set @CharName = (select CharName16 from [SRO_VT_SHARD].dbo._Char where CharID = @CharID )
declare @CharType int
set @CharType = (select RefObjID from [SRO_VT_SHARD].dbo._Char where CharID = @CharID )
/*Mod Switcher*/
IF @ItemRefID BETWEEN '63630' and '63641' AND @Operation = '41'
BEGIN EXEC [SRO_VT_SHARDLOG].dbo._ModelSwitcher @CharId, @ItemRefID
END
بعد اذن حاضرتك معا احترامى ليك انت مديلوا برسيودر دى بصافة اية !!
ما هو ممكن يغير AddLogitem خالص وبعد ممكن يشغل حاجة و يوقف 10
حاضرتك فهموا قولى اية ينفع واية وينفعش بدلا ما يخربها خالص
بلاش ياجدعان الكوبى بيست دى
مهوا الكويري دا نفس الى حضرتك حاطه بس في واحد بيقول انه ممكن يبوظ حاجه انا بس عايز اتاكد لوعملته هيشغلهم ولا ايه لان الى حاطت الكويري قايل لو مشتغلش كلمني FB يعني ممكن ميشتغلوا فا انا خايف ميشتغلوا وحاجه تبوظ بس دا قصدي ..!
اولا حاضرتك شوف table بتاع حاضرتك اسمو اية لو كان model switcher غير اسم NOVA دى تانى حاجة دى مكانة فى _AddLogItem واعمل Execute تالت حاجة تغير id دى 43054 بال id الجديد عندك فى Refobjcommon
التعديل الأخير تم بواسطة Scrox ; 16-11-2017 الساعة 02:14 AM