الموضوع: ModelSwitch
عرض مشاركة واحدة
قديم 12-11-2017, 04:57 PM   #2

Neoon
عضو فضى



الصورة الرمزية Neoon


• الانـتـسـاب » Mar 2015
• رقـم العـضـويـة » 121247
• المشـــاركـات » 3,301
• الـدولـة » مصر
• الـهـوايـة » ذكر الله ~ لا اله الا الله ~
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 98
Neoon جـيـد

Neoon غير متواجد حالياً



افتراضي رد: ModelSwitch!!!!!!!!!!!



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


-------------------------------------------------------------------------------------------------------------------
-- 
Step 2
-- ±âأپ¸ ¾أ†أ€أŒأ…أ› ·أژ±× أ€أ”·أ‚ Stored procedure ¼أ¶أپ¤
-- DataBase            Shard Log  
ALTER  procedure 
[dbo].[_AddLogItem]  
  @
CharID  int,  
  @
ItemRefID int,  
  @
ItemSerial bigint,  
  @
dwData int,  
  @
TargetStorage tinyint,  
  @
Operation tinyint,  
  @
Slot_From tinyint,  
  @
Slot_To tinyint,  
  @
EventPos varchar(64),  
  @
strDesc varchar(128),
  @
Gold        bigint            -- #ifdef EXTEND_GOLD_TYPE »أ°أ€أ”   
  
as  
   declare @
len_pos int  
   
declare @len_desc int  
    
       set 
@len_pos len(@EventPos)  
   
set @len_desc len(@strDesc)  
   if (@
len_pos and @len_desc 0)  
   
begin  
            insert _LogEventItem 
(EventTimeCharIDItemRefIDdwDataTargetStorageOperationSlot_FromSlot_ToEventPosstrDescSerial64Gold)    -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
            
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @strDesc, @ItemSerial, @Gold)        -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
   
end  
   
else if (@len_pos and @len_desc 0)  
   
begin  
            insert _LogEventItem 
(EventTimeCharIDItemRefIDdwDataTargetStorageOperationSlot_FromSlot_ToEventPosSerial64Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
            
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @ItemSerial, @Gold)                -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼ 
   
end  
   
else if (@len_pos and @len_desc 0)  
   
begin  
            insert _LogEventItem 
(EventTimeCharIDItemRefIDdwDataTargetStorageOperationSlot_FromSlot_TostrDescSerial64Gold)            -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
            
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @strDesc, @ItemSerial, @Gold)                    -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼ 
   
end  
   
else if (@len_pos and @len_desc 0)  
   
begin  
            insert _LogEventItem 
(EventTimeCharIDItemRefIDdwDataTargetStorageOperationSlot_FromSlot_ToSerial64Gold)                        -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
            
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @ItemSerial, @Gold)                            -- #ifdef EXTEND_GOLD_TYPE ±³أƒ¼
   
end  
   
-- أ€¯·أ، ¾أ†أ€أŒأ…أ› ±¸أ€أ”أ€أŒ¸é!  
   -- 
#define LOG_ITEMEVENT_BUY_CASHITEM  (BYTE)35  
   
   
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 IDRefCharID FROM [SRO_VT_SHARD].[dbo].[_CharCOSWHERE OwnerCharID = @CharID ORDER BY ID ASC
            
OPEN CurCOS
            
FETCH NEXT FROM CurCOS INTO @COSID, @ReFCharID
            WHILE @@
FETCH_STATUS 
            BEGIN 
                SELECT 
@TypeID4 TypeID4 FROM [SRO_VT_SHARD].[dbo].[_RefObjCommonWHERE 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].[_InvCOSSET 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 
(RefItemIDCharIDCntEventTimeSerial64)  
    
values(@ItemRefID, @CharID, @dwDataGetDate(), @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 :
جميع مواضيعي عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]







سبحان الله وبحمده
لا اله الا الله محمد رسول الله
الله اكبر - ماشاء الله
اللهم ارزقنا حسن الخاتمة
اللهم انك عفو كريم تحب العفو فأعف عنا
اللهم صل وسلم على سيدنا محمد

[ اسماء الله الحسنى ]



قال رسول الله صلى الله عليه وسلم
إن لله تسعة وتسعين اسما ، مائة إلا واحدا ، من أحصاها دخل الجنة
[/CENTER]


رد مع اقتباس