الموضوع: طلب
عرض مشاركة واحدة
قديم 11-10-2014, 12:06 AM   #7

Dark_Legend
عضو مميز



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


• الانـتـسـاب » Jul 2012
• رقـم العـضـويـة » 102339
• المشـــاركـات » 715
• الـدولـة » مصر
• الـهـوايـة » البرمجه
• اسـم الـسـيـرفـر » No Server
• الـجـنـس » Male
• نقـاط التقييم » 15
Dark_Legend صـاعـد

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


إرسال رسالة عبر Yahoo إلى Dark_Legend

افتراضي



كود:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewCOS]    Script Date: 02/10/2012 11:32:15 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_AddNewCOS]
    @OwnerCharID    int,
    @RefObjID    int,
    @Level        int,
    @HP        int,
    @MP        int,
    @HGP        int,
    @KeeperNPC    int,
    @State        int,
    @InventorySize  int,
    @itemID        int,
    @PickItemConfig tinyint,
    @RentEndTime     smalldatetime
as

begin tran

    declare @COS_ID    int
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (أƒأ–¼±أˆ£)        
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    declare @MaxInventorySize tinyint
    select @MaxInventorySize = InventorySize
    from _RefObjCommon, _RefObjChar
    where _RefObjCommon.ID = @RefObjID and _RefObjCommon.Link = _RefObjChar.ID
    
    if( @@rowcount = 0 or @MaxInventorySize < @InventorySize )
    begin
        rollback tran
        return -5
    end

    insert into _CharCOS values (@OwnerCharID, @RefObjID, @HP, @MP, @KeeperNPC, @State, NULL, @Level, 0, @HGP, @PickItemConfig, @RentEndTime)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    set @COS_ID = @@identity
    if (@COS_ID = 0 OR @@error <> 0)
    begin
        rollback tran
        return -1
    end

--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (أƒأ–¼±أˆ£)        
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    if (@MaxInventorySize > 0)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    begin
        declare @Slot  int
        set @Slot = 0
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--        pet_skill_item (أƒأ–¼±أˆ£)        
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        while (@Slot < @MaxInventorySize)
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
--@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        begin
            insert into _InvCOS values(@COS_ID, @Slot, 0)
            if (@@error <> 0)
            begin
                -- أ€أژآ؛¥أ…أ¤¸® »أ½¼آ؛ ½أ‡أ†أگ!
                rollback tran
                return -2
            end    
        
            set @Slot = @Slot + 1
        end
    end
    
/*    --´أµ أ€أŒ»أ³ أ€أŒ أ„أƒ·³آ؟آ،´أ‚ µ¥أ€أŒأ…أچ¸¦ ³أ–أپأ¶ ¾أٹ´أ‚´أ™!
    UPDATE _Char SET EngagedCOS = @COS_ID WHERE CharID = @OwnerCharID
    IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)
    BEGIN
        ROLLBACK TRANSACTION
        RETURN -3
    END
*/
    if( @itemID <> 0 )
    begin
        update _Items set Data = @COS_ID where ID64 = @itemID
        if( @@error <> 0 or @@rowcount = 0 )
        begin
            rollback transaction
            return -4
        end
        
        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS
        declare @Serial64 bigint
        select @Serial64 = Serial64 from _Items where Data = @COS_ID
        exec _AddTimedJobForPet @COS_ID,5,22926,1992999999,1111708465,1,112,0,0,0,0,0,@Serial64
        --BEGIN ADDITIONAL 112 SLOT IN GRAB PETS FOR 7684 DAYS
        
    end

    commit tran

return @COS_ID
اتفضل